* origin/main:
Fix font styles on web (#3162)
Fix `aria-label` on the Share button (#3159)
Fix RSS URLs treated as internal (#3156)
Poll Statsig for config changes (#3158)
Fix missing check for invite code (#3157)
Adjustments to ALF prompt buttons (Dialogs Pt. 2) (#3144)
Make ALF prompt scrollable for accessibility (#3150)
Fix reactivity of dialogs (Dialogs Pt. 1) (#3146)
Refactor `PostDropdownBtn` to use new `Menu` (#3112)
* create dedicated hashtag "search" screen
clarify loading component name
more adjustments
rework `ViewHeader` to keep chevron centered w/ first line
adjustments
adjustments
use `author` instead of `handle` in route
add web route for url
add web route for url
Add desktop list header
support web
keep header lowercase
add optional subtitle to view header
correct isFetching logic
oops
use `isFetching` for clarity in footer
combine logic
update bskyweb
finish screen
style, add footer, add spinner, etc
add list
add header, params
create a screen
* add variable to server path
* localize `By`
* add empty state
* more adjustments
* sanitize author
* fix web
* add custom message for hashtag not found error
* ellipsis in middle
* fix
* fix trans
* account for multiple #
* encode #
* replaceall
* Use sanitized tag
* don't call function in lingui
* add share button
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Add bare minimum hashtags support (#2804)
* Add bare minimum hashtags support
As atproto/api already parses hashtags, this is as simple as hooking it
up like link segments.
This is "bare minimum" because:
- Opening hashtag "#foo" is actually just a search for "foo" right now
to work around #2491.
- There is no integration in the composer. This hasn't stopped people
from using hashtags already, and can be added later.
- This change itself only had to hook things up - thank you for having
already put the hashtag parsing in place.
* Remove workaround for hash search not working now that it's fixed
* Add RichTextTag and TagMenu
* Sketch
* Remove hackfix
* Some cleanup
* Sketch web
* Mobile design
* Mobile handling of tags search
* Web only
* Fix navigation woes
* Use new callback
* Hook it up
* Integrate muted tags
* Fix dropdown styles
* Type error
* Use close callback
* Fix styles
* Cleanup, install latest sdk
* Quick muted words screen
* Targets
* Dir structure
* Icons, list view
* Move to dialog
* Add removal confirmation
* Swap copy
* Improve checkboxees
* Update matching, add tests
* Moderate embeds
* Create global dialogs concept again to prevent flashing
* Add access from moderation screen
* Highlight tags on native
* Add web highlighting
* Add close to web modal
* Adjust close color
* Rename toggles and adjust logic
* Icon update
* Load states
* Improve regex
* Improve regex
* Improve regex
* Revert link test
* Hyphenated words
* Improve matching
* Enhance
* Some tweaks
* Muted words modal changes
* Handle invalid handles, handle long tags
* Remove main regex
* Better test
* Space/punct check drop to includes
* Lowercase post text before comparison
* Add better real world test case
---------
Co-authored-by: Kisaragi Hiu <mail@kisaragi-hiu.com>
* origin/main: (69 commits)
Update .po files
use `showControls` to show/hide live text icon on ios (#2982)
Fix dim mode unread notif color
Make dim theme dim (#2966)
Add handle validation to create account UI (#2959)
Normalize relative day (#2874)
increase timeout to 15s (#2958)
use `useOpenLink` hook for links in ALF (#2975)
Rename Home Feed Prefs to Following Feed Prefs (#2965)
Refactor feed header components (#2964)
patch react-navigation to fix history bug (#2955)
Use EAS managed build number, run build/submit on GH Actions (#2841)
Fix `numberOfLines` not updating on iOS 15 (#2956)
Fix UITextView line height adjustment for DynamicType, always use the max width for the view (#2916)
Navigate back from a deleted post's route (#2948)
Add optional close callback to Dialog (#2947)
Fix flash when pressing into just-created post (#2945)
Last usage (#2944)
Update blogpost URL in ExportCarDialog.tsx (#2939)
Prefer full posts for post thread placeholder (#2943)
...
* Add theme-color meta tag and apply selection of theme
* update logic for retrieving current theme color
* add ts-ignore
* fix ts error
---------
Co-authored-by: Hailey <me@haileyok.com>
* origin/main: (33 commits)
Improved server selector during account creation and signin (#2840)
remove line height from text input for composer on ios (#2844)
Add follow button to highlighted post (#2828)
Cleaning up old codes pt_BR (#2809)
Fix wrong translations in zh-CN localization (#2812)
Adjust Japanese translation (#2814)
Update ja messages.po (#2821)
change follow to follow all when !== 20 (#2831)
ios adult content link fix 🤦 (#2845)
improves build.md completeness (#2835)
increase stroke width for active hashtag icon (#2829)
Update `blueskyweb.xyz` links to `bsky.social` (#2830)
eas nightlies (#2826)
Always show post dropdown button at the bottom of the post, add share button to highlighted post (#2646)
Measure header layout reliably (#2817)
Round line height (#2824)
Design system tweaks (#2822)
Fix layout calculations (#2816)
Fix flashes and jumps when opening profile (#2815)
Show text cursor on web bio (#2813)
...
* Update blogpost link to bsky.social and remove unnecessary localisation params at end of Play Store URL in README.md
* Update privacy policy link to bsky.social in PrivacyPolicy.tsx
* Update TOS link to bsky.social in TermsOfService.tsx
* Update links to bsky.social in Links.tsx
* Update links to bsky.social in SplashScreen.web.tsx
* Update link to bsky.social in base.html
* Update links to bsky.social in HomeLoggedOutCTA.tsx
* Update links to bsky.social in RightNav.tsx
* Update links to bsky.social in Drawer.tsx
* Update DMCA link to bsky.social in Modal.tsx
* Update link to copyright policy on bsky.social in CopyrightPolicy.tsx
* Update link to bsky.social in CommunityGuidelines.tsx
* Update links to bsky.social in Settings.tsx
* Update to bsky.social in Typography.tsx
* add dark theme selection to settings/schema
* use `useThemePrefs` where needed
* adjust theme providers to support various themes
* update storybook
* handle web themes
* better themeing for web
* dont show dark theme prefs when color mode is light
* drop the inverted text change on oled theme
* get the color mode inside of `useColorModeTheme`
* use `ThemeName` type everywhere
* typo
* use dim/dark instead of dark/oled
* prevent any fickers on web
* fix styles
* use `dim` for dark default
* more cleanup
* 🤔
* set system background color
* ts
* Rip out virtualization on the web
* Screw around with layout
* onEndReached
* scrollToOffset
* Fix background
* onScroll
* Shell bars
* More scroll
* Fixes
* position: sticky
* Clean up 1
* Clean up 2
* Undo PagerWithHeader changes and fork it
* Trim down both versions
* Cleanup 3
* Memoize, lint
* Don't scroll away modal or lightbox
* Add content-visibility for rows
* Fix composer
* Fix types
* Fix borked scroll animation
* Fixes to layout
* More FlatList parity
* Layout fixes
* Fix more layout
* More layout
* More layouts
* Fix profile layout
* Remove onScroll
* Display: none inactive pages
* Add an intermediate List component
* Fix type
* Add onScrolledDownChange
* Port pager to use onScrolledDownChange
* Fix on mobile
* Don't pass down onScroll (replacement TBD)
* Remove resetMainScroll
* Replace onMainScroll with MainScrollProvider
* Hook ScrollProvider to pager
* Fix the remaining special case
* Optimize a bit
* Enforce that onScroll cannot be passed
* Keep value updated even if no handler
* Also memo it
* Move the fork to List.web
* Add scroll handler
* Consolidate List props a bit
* More stuff
* Rm unused
* Simplify
* Make isScrolledDown work
* Oops
* Fixes
* Hook up context scroll handlers
* Scroll restore for tabs
* Route scroll restoration POC
* Fix some issues with restoration
* Remove bad idea
* Fix pager scroll restoration
* Undo accidental locale changes
* onContentSizeChange
* Scroll to post
* Better positioning
* Layout fixes
* Factor out navigation stuff
* Cleanup
* Oops
* Cleanup
* Fixes and types
* Naming etc
* Fix crash
* Match FL semantics
* Snap the header scroll on the web
* Add body scroll lock
* Scroll to top on search
* Fix types
* Typos
* Fix Safari overflow
* Fix search positioning
* Add border
* Patch react navigation
* Revert "Patch react navigation"
This reverts commit 62516ed9c2.
* fixes
* scroll
* scrollbar
* cleanup unrelated
* undo unrel
* flatter
* Fix css
* twk
* Install on native as well
* Add button and link components
* Comments
* Use new prop
* Add some form elements
* Add labels to input
* Fix line height, add suffix
* Date inputs
* Autofill styles
* Clean up InputDate types
* Improve types for InputText, value handling
* Enforce a11y props on buttons
* Add Dialog, Portal
* Dialog contents
* Native dialog
* Clean up
* Fix animations
* Improvements to web modal, exiting still broken
* Clean up dialog types
* Add Prompt, Dialog refinement, mobile refinement
* Integrate new design tokens, reorg storybook
* Button colors
* Dim mode
* Reorg
* Some styles
* Toggles
* Improve a11y
* Autosize dialog, handle max height, Dialog.ScrolLView not working
* Try to use BottomSheet's own APIs
* Scrollable dialogs
* Add web shadow
* Handle overscroll
* Styles
* Dialog text input
* Shadows
* Button focus states
* Button pressed states
* Gradient poc
* Gradient colors and hovers
* Add hrefAttrs to Link
* Some more a11y
* Toggle invalid states
* Update dialog descriptions for demo
* Icons
* WIP Toggle cleanup
* Refactor toggle to not rely on immediate children
* Make Toggle controlled
* Clean up Toggles storybook
* ToggleButton styles
* Improve a11y labels
* ToggleButton hover darkmode
* Some i18n
* Refactor input
* Allow extension of input
* Remove old input
* Improve icons, add CalendarDays
* Refactor DateField, web done
* Add label example
* Clean up old InputDate, DateField android, text area example
* Consistent imports
* Button context, icons
* Add todo
* Add closeAllDialogs control
* Alignment
* Expand color palette
* Hitslops, add shortcut to Storybook in dev
* Fix multiline on ios
* Mark dialog close button as unused
* add apple music embed
* add vimeo embed
* add logic for tenor and giphy embeds
* keep it simple, use playerUri for images too
* add gif embed player
* lint, fix tests
* remove links that can't produce a thumb
* Revert "remove links that can't produce a thumb"
This reverts commit 985b92b4e6.
* Revert "Revert "remove links that can't produce a thumb""
This reverts commit 4895ded8b5.
* Revert "Revert "Revert "remove links that can't produce a thumb"""
This reverts commit 36d04b517b.
* properly obtain giphy metadata regardless of used url
* test fixes
* adjust gif player
* add all twitch embed types
* support m.youtube links
* few logic adjustments
* adjust spotify player height
* prefetch gif before showing
* use memory-disk cache policy on gifs
* use `disk` cachePolicy on ios - can't start/stop animation
* support pause/play on web
* onLoad fix
* remove extra pressable, add accessibility, fix scale issues
* improve size of embed
* add settings
* fix(?) settings
* add source to embed player params
* update tests
* better naming and settings options
* consent modal
* fix test id
* why is webstorm adding .tsx
* web modal
* simplify types
* adjust snap points
* remove unnecessary yt embed library. just use the webview always
* remove now useless WebGifStill 😭
* more type cleanup
* more type cleanup
* combine parse and prefs check in one memo
* improve dimensions of youtube shorts
* oops didn't commit the test 🫥
* add shorts as separate embed type
* fix up schema
* shorts modal
* hide gif details
* support localized spotify embeds
* more cleanup
* improve look and accessibility of gif embeds
* Update routing for the external embeds settings page
* Update and simplify the external embed preferences screen
* Update copy in embedconsent modal and add 'allow all' button
---------
Co-authored-by: Hailey <me@haileyok.com>
* rss: full URL in RSS link; use request Host in URLs
Full URL syntax on request from third parties.
Using the actual request host should fix issues with non-bsky-production
deployments. It is HTTPS-only, so doesn't work perfectly for local dev.
* rss: make /profile/{handle}/rss an HTTP redirect
Motivation is easier discoverability of RSS feed.
* web: initial implementation of profile RSS feed
* re-work RSS feed to use DID in URL, not handle
Shouldn't have RSS feeds break when folks change handle.
* rss: tweak XML
- handle missing content (PWI opt-out) better
- use opengraph "article" and "profile" types, not just website for everything
- fix timestamps, and used indexed at not created at
* bskyweb: update deps to current indigo
* bskyweb: refactor handles to flatten control flow, and update to current indigo
* go Makefile: remove --debug (not working)
* bskyweb: default to public appview API instance
* make: do internationalization build as part of build-web
* Don't create embeds of profiles/posts from users who ask not to be shown in public views
* Formatting cleanup
* Bump workflow file to build an image for this branch