* show composer error if draft over char limit
* adjust cancel discarding if over the limit
* use richtext for validation
* don't allow saving a draft that can't actually be saved
* account for 1k chars
* update discard sheet
* show composer error if draft over char limit
* adjust cancel discarding if over the limit
* use richtext for validation
* don't allow saving a draft that can't actually be saved
* account for 1k chars
* update discard sheet
* pr comment fixes
* pluralization
* Age Assurance V2
* Tighten up test
* Add todos for sdk migration
* Align RQ versions
* Use useEffect for side effect
* Improve effects, memoize
* Standarize on birthdate
* Copy feedback
* Copilot
* Add support link
* Reove double ..
* Cleanup
* Remove redirect dialog
* Cleanup todos, add comments
* Update splash in main template too
* Mock some stuff
* Exhaustive checks
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Exhaustive checks
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Small fix to bday handling
* Add comment
* onboarding style tweak
sneaking this in sorry!
* rm unreachable breaks
* Put useIntentHandler back on web
* Remove misleading success set
* Align on birthdate
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Integrate Sonner for toasts
* Fix animation on iOS
* Refactor API
* Update e2e file
* [APP-1318] Post composer: combine image & video buttons (#8710)
* add: select media btn
* udpate: compose post with combined image and video support
* add: video combine button with edge cases
* add select media btn
* test: select media btn
* add: media button update
* remove unused files and update toast on android
* update: make strings shorter
* add: ValidatedVideoAsset type
* update link comments and add toast support for native and web
* rebase latest toast and update toast structure
* remove unused prop
* fix types
* undo changes to yarn.lock
* remove: support for mkv files
* update: eslint and prettier
(cherry picked from commit f69779ee130f07e1c49219b53117e3bdd1a9f81b)
* Add missing props to launchImageLibraryAsync
(cherry picked from commit 2e80ae561fd66850f787cac0aae0fa5a6980f8f5)
* Rough out new approach
(cherry picked from commit 9add225160e7e407befc73e9cdd9743a30cdf1cd)
* Comments and cleanup
(cherry picked from commit e69bd186e7335372f440c446ae6643ed0fb15db9)
* Handle native case
(cherry picked from commit 74e38acdfd9181d0557426691fcbcbf0800481ca)
* Refactor
(cherry picked from commit 68aea496db8df54dba5f58da267ad962c28ef995)
* Rename
(cherry picked from commit 8609e59ad14219e7378ee6cb9514d633ce7efc27)
* Cleanup, comments
(cherry picked from commit 6c9c98648e37257285a9c8caeb1eadcc56c81402)
* Rename
(cherry picked from commit 66e3db539d5baa41436c9e49af06e87a78e9e7e1)
* Handle selectionLimit on Android
(cherry picked from commit 251f06dd5e65a7083b810bad3d81114b2fe9ab39)
* create composer images in parallel
(cherry picked from commit 70ea79d9d76d99e9c99a7d2296caed84c718650e)
* Update toast API usage
(cherry picked from commit e370018b8ed8cdfd7675c9634058c72cb59d39de)
* Ensure once one type of media is selected, you can only select more of that type
(cherry picked from commit 1a9e6e0cdb5234667f08e3dd9107ae598941fc23)
* Remove TODO and debug code
* Add more descriptive a11y label to button
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Add back post success toast
* Include mimeType in toast error
* Remove unneeded toast
* Clarify hint
* Typo
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* allow gifs on native, just treat as images
* disable haptic toast
* allow gifs on native, treat as videos
* only do keyboard dismiss on native
* tweak pasting logic
* hide web scrubber in certain situations
* Update MaxImages translation
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Add plural formatting to a11y hint translation
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* fix suggestion
* Protect against no valid assets selected
* Handle conversion of too-big assets on web
* Reorder
* Bump expo-image-picker to include bug/perf improvements
See https://github.com/expo/expo/blob/main/packages/expo-image-picker/CHANGELOG.md#1700--2025-08-13
* Handle edge case validations
* Ok actually bump expo-image-picker
* Comment
* HEIC support Android
* Fix handling for new picker version, improve size validation
* Remove getVideoMetadata handling, no longer needed
* Handle web video duration
* Update src/view/com/composer/SelectMediaButton.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
---------
Co-authored-by: Anastasiya Uraleva <anastasiyauraleva@gmail.com>
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* check handle as you type
* metrics
* add metric types
* fix overflow
* only check reserved handles for bsky.social, fix test
* change validation check name
* tweak input
* move ghosttext component to textfield
* tweak styles to try and match latest
* add suggestions
* improvements, metrics
* share logic between typeahead and next button
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* update checks, disable button if unavailable
* convert to lowercase
* fix bug with checkHandleAvailability
* add gate
* move files around to make clearer
* fix bad import
* Fix flashing next button
* Enable for TF
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* WIP
* Alignment with icon
* Add create/remove prompts
* Fill out check dialog a bit
* Reorg
* Handle was verified state
* Add warning to edit profile
* Add warning to handle dialog
* Decent alignment in posts on all platforms
* Refactor alignment for posts, chatlist, hover card
* Disable on profile
* Convo header
* Compute simple verification state
* Add other icon, rename, integrate
* Swap in simple state for profile edits
* Clean up utility hooks
* Add verifications UI to dialog
* Add edu nux
* Revert change
* Fix wrapping of check on profile
* Rename
* Fix gap under PostMeta
* Update check dialogs
* Handle takendown verifiers in check dialog
* alf composer reply to
* Refactor verification state
* Add create/remove mutations, non-functional for now
* Fix up post-rebase
* Add check to first author noty
* Do cache updates after mutations
* DRY up hook, add to profile updates too
* Add to drawer
* Update account list
* Adapt to new types
* Hook up mutations
* Use profile shadow in feeds
* Add to settings
* Shadow currentAccountProfile
* Add invalid state to verifications
* Fix alignment and overflow in Settings and Drawer
* Re-integrate post rebase
* Remove debug code
* Update copy
* Add unverified notification support
* Remove link
* Make sure dialog closes
* Update URL
* Add settings screen
* Integrate new setting into verification states
* Add metrics, bump package, fix bad import
* NUX fixes
* Update copy
* Fixes
* Update types
* fix search autocomplete
* fix lint
* add display name warning to new dialog
* update default prefs
* Add parsing support for notifications
* Bump pkg
* Tweak noty styles
* Adjust check alignment
* Tweak check alignment
* Fix badge for verifier
* Modify copy
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* update package
* wire up APIs
* get reactions to display
* allow removing emoji
* handle limits better
* listen to reactions in log
* update convo list with reactions
* tweaks to reaction display
* Handle empty message fallback case
* update package
* shift reacts up by 2px
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* takendown screen
* add form, move button inline
* expect type error
* display error
* disable submit if too long
* move around all the ctas
* typos, rm layoutanimation, fix link
* use REASONAPPEAL
* tweaks to constants (#7478)
* add did
* use correct did
* typo
* tweak
* Prevent Drawer gesture conflicting with Suggestions scroll (#7468)
* Extract BlockDrawerGeesture
* Block drawer when scrolling interstitials
(cherry picked from commit 9e3f2f4374)
* yolo interstitial
* yolo mode
* right swipe
* fix nav gesture
* vibe controls
* collapsible post text
* rm blurview, cover for tall videos
* smarter video source handling
* use thumbnails, improve perf significantly
* better android loading
* improve aspect ratio
* optimize source changes
* rm spinner on ios
* whoops, remove debug `false`
* FIX WRONG VIDEOS SHOWING UP
* don't spring on way down
* release video players when leaving screen
* remove jank animation
* Add grid
* improve contract, fix double tap
* Filter out posts without videos
* Only do grid on native
* Pipe through feedSourceUri and link to feed
* Handle passed through params
* Partial revert, just filter posts to start at index
* Clean up cards, remove entry interstitial
* Tweak handle
* Change constant name
* Rename some things
* Make types legit
* Clean up more naming
* Add placeholder for grid view
* Handle web, set up new organization
* Begin work on Header
* Replace types
* Squashed commit of the following:
commit 3d1be4c0f1
Author: Samuel Newman <mozzius@protonmail.com>
Date: Fri Jan 17 01:08:05 2025 +0000
extend animation
commit c9f199413b
Author: Samuel Newman <mozzius@protonmail.com>
Date: Fri Jan 17 01:01:24 2025 +0000
fix gap
commit 22e520795f
Author: Samuel Newman <mozzius@protonmail.com>
Date: Fri Jan 17 00:50:16 2025 +0000
thinner bar, format time
commit c32427f214
Author: Samuel Newman <mozzius@protonmail.com>
Date: Fri Jan 17 00:47:57 2025 +0000
fix 2 in 3 screens
commit cbf84c08d6
Author: Samuel Newman <mozzius@protonmail.com>
Date: Fri Jan 17 00:45:46 2025 +0000
rm unneeded var
commit 7e0e100177
Author: Samuel Newman <mozzius@protonmail.com>
Date: Fri Jan 17 00:41:18 2025 +0000
scrubberrrrr
* use white with opacity rather than gray
* Simultaneous gesture
* cleanup attempt
* fix jank
* link to profile on press
* fix jitter fr this time
* mostly fix android flicker
* Maybe fix row generation
* Add content hider to video card
* emoji in post text
* reduce update rate
* fix type error
* Fix grid layout trailing single item
* Add Discover interstitial, settings, includes pin for now
* Explore interstitial, handle dimissal, pinning, compact card
* Only use grid placeholder on native
* Update events
* Add feature gate
* android nav bar fixes + lower update speed
* fix interval + decel rate on interstitials
* attempt to fix broken scrub on android (not working)
* follow button
* Part out the interstitials for perf, add view more
* Remove prod web route
* Wrap interstitials with BlockDrawerGesture
* Bring video cropping in line with images (#7462)
* Mimic image cropping for videos on web
* Same on native
* Rename variables for clarity
* Fix Android scrubbing
* Add FeedFeedbackProvider
* Remove swipe gesture
* fix light status bar behaviour
* bump
* feedback
* Copy pasta to new location
* Copy pasta part deux
* Filter only videos
* Make whole text clickable to expand
(cherry picked from commit 4cf31120779f4e06eb4c296b3d4b53814d432b07)
* move scrubber to own file
* end card
* add icon to end card
* add min view time to viewability config
* play haptic on like
* tweak feedback
* tweak feedback again
* Moderation
(cherry picked from commit 6b6b471cfb363031284b3e7a1f6e0ade3ac4ae47)
* remove bad check
* fix feedback for new video grid
* change prop name to items as well
* Simplify logic
* Fix mod footer
* Give scrubber more space on android
* Add subtle track behind scrubber, adjust opacity
* wire in feed context again...
* Add better a11y desc to card
* Fix key issue
* Update a11y copy
* Fix scrubber height
* improve scrubber animation
* Make follow button more obvious
* Make header back button more clear
* Disable interactions with actual video el
* keep content away from the bottom safe area
* fix blur
* fix moderation issue
* improve contrast on mod screen
* Make moderation static per item
* Memoize rows
* Optimizations
* Take video moderation into account
* Only blur titles for list blur
* Change copy
* Bump blur radius
* animate text in both directions
* Rm unused field
* Filter by root early
* Refactor for clarity
* add compose prompt to scrubber
* rm log
* tweak gradient
* Bump SDK, use contentMode to power video feed
* Ensure ProfileFeed view also supports video feed
* improve scrubber on android
* rm border from footer
* Update prod video feed did
* Separate caches
* Add lil hover to View More
* Fix undefined logic, remove header for interstitial
* Ungate
* Fix stuckness
* remove extra useless map
* Fix effect cleanup
* Send seen without cleanup
* Simplify react stuff
* Earlier early return to avoid loading flash
* remove scrubber placeholder
* Remove opacity hack
* Render useEvent conditionally
* Fix Android flash
---------
Co-authored-by: dan <dan.abramov@gmail.com>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* Basic adding of posts
* Switch active post on focus
* Conditionally show plus button
* Insert posts midthread
* Track active/inactive post
* Delete posts in a thread
* Focus after deletion
* Tweak empty post detection
* Mix height for active only
* Move toolbar with post on web
* Fix footer positioning
* Post All button
* Fix reply to positioning
* Improve memoization
* Improve memoization for clearVideo
* Remove unnecessary argument
* Add some manual memoization to fix re-renders
* Scroll to bottom on add new
* Fix opacity on Android
* Add backdrop
* Fix videos
* Check alt for video too
* Clear pending publish on error
* Fork alt message by type
* Separate placeholder for next posts
* Limit hitslop to avoid clashes
* Add alt text limit to image dialog
* GIF alt text too
* Fix
* tweaks, save alt on dialog dismiss
* simplify close behavior
* use state in gif alt
* state
---------
Co-authored-by: Hailey <me@haileyok.com>
* DRY up video service auth code
* throw error if over upload limits
* use token
* xmark on toast
* errors with nice translatable error messages
* Update src/state/queries/video/video.ts
---------
Co-authored-by: Hailey <me@haileyok.com>