* add ffmpeg-kit-react-native
* get select video button + compression working
* up res to 1080p
* add progress component
* move logic out of compressVideo
* (WIP) add lonestar compression
* rework web compression a bit
* mess around with adding a thumbnail
* 3mbps
* replace
* use 3mbps
* add expo-video
* remove unnecessary try/catch
* rm ToastAndroid
* fix web
* wrap lazy component in suspense
* gate video select button
* rm web compression
* flip sign
* remove expo-video from web
* review nits
* add video picker permissions + rm temp buttons
* add ffmpeg-kit-react-native
* replace
* hls-capable player
* start trying to hoist up video player instance
* hoist video player and move things around
* always show native controls
* fix controls on expo video android
* gate temp video player in feed
* rm IS_DEV, doesn't do what I thought it did
* use __DEV__ instead
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
* use appropriate icons for toasts
* use info for session expiry
* tweak size
* message -> safeMessage
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* Add the animated checkmark svg
* Add progress guide list and task components
* Add ProgressGuide Toast component
* Implement progress-guide controller
* Add 7 follows to the progress guide
* Wire up action captures
* Wire up progress-guide persistence
* Trigger progress guide on account creation
* Clear the progress guide from storage on complete
* Add progress guide interstitial, put behind gate
* Fix: read progress guide state from prefs
* Some defensive type checks
* Create separate toast for completion
* List tweaks
* Only show on Discover
* Spacing and progress tweaks
* Completely hide when complete
* Capture the progress guide in local state, and only render toasts while guide is active
* Fix: ensure persisted hydrates into local state
* Gate
---------
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add home guided tour (WIP)
* Add web handling of the tour
* Switch to our fork of rn-tourguide
* Bump guided-tour
* Fix alignment on android
* Implement home page tour trigger after account creation
* Add new_user_guided_tour gate
* Add a title line to the tour tooltips
* A11y improvements: proper labels, focus capture, scroll capture
* Silence type error
* Native a11y
* Use FocusScope
* Switch to useWebBodyScrollLock()
---------
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Split utils into files
* Move reducer to another file
* Write types explicitly
* Remove unnnecessary check
* Move things around a bit
* Move more stuff into agent factories
* Move more stuff into agent
* Fix gates await
* Clarify comments
* Enforce more via types
* Nit
* initSession -> resumeSession
* Protect against races
* Make agent opaque to reducer
* Check using plain condition
* Add global event bus for messages logs
* Add rev to state
* Better handle error
* Clean up polling, add backgrounding
* Add trailConvo method
* Extend polling until we're ready for this
* Move ThemeProvider to the top
* Move RootSiblingParent above the remounted part
* Move ToastContainer outside the remounted part
* Remove setTimeout around toasts
* Consistently handle dropped session
* Move types to another file
Co-authored-by: dan <dan.abramov@gmail.com>
* Move utilities out
Co-authored-by: dan <dan.abramov@gmail.com>
* Move PUBLIC_BSKY_AGENT
Co-authored-by: dan <dan.abramov@gmail.com>
* Move createPersistSessionHandler inline
Co-authored-by: dan <dan.abramov@gmail.com>
* Call configureModeration when clearing account too
This ensures that the app labelers get reset in a test environment.
Co-authored-by: dan <dan.abramov@gmail.com>
* Make guest configureModeration sync, non-guest async
* Extract isSessionExpired
Co-authored-by: dan <dan.abramov@gmail.com>
* Flip isSessionExpired condition
Co-authored-by: dan <dan.abramov@gmail.com>
* Extract agentToSessionAccount
Co-authored-by: dan <dan.abramov@gmail.com>
* Extract createAgent*
Co-authored-by: dan <dan.abramov@gmail.com>
* Simplify isSessionExpired
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Move QueryProvider inside the key
* Pull useQueryClient-dependent code down in App.native
* Remove useQueryClient dependency from session provider
* Scope query client per DID
* Add modservice screen and profile-header-card
* Drop the guidelines for now
* Remove ununsed constants
* Add label & label group descriptions
* Not found state
* Reorg, add icon
* Subheader
* Header
* Complete header
* Clean up
* Add all groups
* Fix scroll view
* Dialogs side quest
* Remove log
* Add (WIP) debug mod page
* Dialog solution
* Add note
* Clean up and reorganize localized moderation strings
* Memoize
* Add example
* Add first ReportDialog screen
* Report dialog step 2
* Submit
* Integrate updates
* Move moderation screen
* Migrate buttons
* Migrate everything
* Rough sketch
* Fix types
* Update atoms values
* Abstract ModerationServiceCard
* Hook up data to settings page
* Handle subscription
* Rough enablement
* Rough enablement
* Some validation, fixes
* More work on the mod debug screen
* Hook up data
* Update invalidation
* Hook up data to ReportDialog
* Fix native error
* Refactor/rewrite the entire moderation-application system
* Fix toggles
* Add copyright and other option to report
* Handle reports on profile vs content
* Little cleanup
* Get post hiding back in gear
* Better loading flow on Mod screen
* Clean up Mod screen
* Clean up ProfileMod screen
* Handle muting correctly
* Update enablement on ProfileMod screen
* Improve Moderation screen and dialog
* Styling, handle disabled labelers
* Rework list of labels on own content
* Use moderateNotification()
* ReportDialog updates
* Fix button overflow
* Simplify the ProfileModerationService ui
* Mod screen design
* Move moderation card from the profile header to a tab
* Small tweaks to the moderation screen
* Enable toggle on mod page
* Add notifs to debugmod and dont filter notifs from followed users
* Add moderator-service profile view
* Wire up more of the modservice data to profiles
* A bunch of speculative non-working UI
* Cleanup: delete old code
* Update ModerationDetailsDialog
* Update ReportDialog
* Update LabelsOnMe dialog
* Handle ReportDialog load better
* Rename LabelsOnMeDialog, fix close
* Experiment to put labeling under a tab of a normal profile
* Moderator variation of profile
* Remove dead code and start moving toward latest modsdk
* Remove a bunch of now-dead label strings
* Update ModDebug to be a bit more intuitive and support custom labels
* Minor ui tweaks
* Improve consistency of display name blurring
* Fix profile-card warning rendering
* More debugmod UI tuning
* Update to use new labeler semantics
* Delete some dead code and do some refactoring
* Update profile to pull from labeler definition
* Implement new label config controls (wip)
* Tweak ui
* Implement preference controls on labelers
* Rework label pref ui
* Get moderation screen working
* Add asyncstorage query persistence
* Implement label handling
* Small cleanup
* Implement Likes dialog
* Fix: remove text outside of text element
* Cleanup
* Fix likes dialog on mobile
* Implement the label appeal flow
* Get report flow working again with temporarily fixed report options
* Update onboarding
* Enforce limit of ten labeler subscriptions
* Fix type errors
* Fix lint errors
* Improve types of RQ
* Some work on Likes dialog, needs discussion
* Bit of ReportDialog cleanup
* Replace non-single-path SVG
* Update nudity descriptions
* Update to use new sdk updates
* Add adult-content-enabled behavior to label config
* Use the default setting of custom labels
* Handle global moderation label prefs with the global settings
* Fix missing postAuthor
* Fix empty moderation page
* Add mutewords control back to Mod screen
* Tweak adult setting styles
* Remove deprecated global labels
* Handle underage users on mod screen
* Adjust font sizes
* Swap in RichText
* Like button improvements
* Tweaks to Labeler profile
* Design tweaks for mod pref dialog
* Add tertiary button color
* Switch moderation UIs to tertiary color
* Update mutewords and hiddenposts to use the new sdk
* Add test-environment mod authority
* Switch 'gore' to 'graphic-media'
* Move nudity out of the adult content control
* Remove focus styles from buttons - let the browser behavior handle it
* Fixes to the adult content age-gating in moderaiton
* Ditch tertiary button color, lighten secondary button
* Fix some colors
* Remove focused overrides from toggles
* Liked by screen
* Rework the moderationlabelpref
* Fix optimistic like
* Cleanup
* Change how onboarding handles adult content enabled/disabled
* Add special handling of the mod authorities
* Tweaks
* Update the default labeler avatar to a shield
* Add route to go server
* Avoid dups due to bad config
* Fix attrs
* Fix: dont try to detect link/label mismatches on post meta
* Correctly show the label behavior when adult content is disabled
* Readd the local hiddenPosts handling
* WIP
* Fix bad merge
* Conten hider design tweaks
* Fix text string breakage
* Adjust source text in ContentHider
* Fix link bug
* Design tweaks to ContentHider and ModDetailsDialog
* Adjust spacing of inform badges
* Adjust spacing of embeds in posts
* Style tweaks to post/profile alerts
* Labels on me and dialog
* Remove bad focus styles from post dropdown
* Better spacing solution
* Tune moderation UIs
* Moderation UI tweaks for mobile
* Move labelers query on Mod screen
* Update to use new SDK appLabelers semantics
* Implement report submission
* Replace the report modal entirely with the report dialog
* Add @ to mod details dialog handle
* Bump SDK package
* Remove silly type
* Add to AWS build CI
* Fix ToggleButton overflow
* Clean up ModServiceCard, rename to LabelingServiceCard
* Hackfix to translate gore labels to graphic-media
* Tune content hider sizing on web desktop
* Handle self labels
* Fix spacing below text-only posts
* Fix: send appeals to the right labeler
* Give mod page links interactive states
* Fix references
* Remove focus handling
* Remove remnant
* Remove the like count from the subscribed labeler listing
* Bump @atproto/api@0.11.1
* Remove extra @
* Fix: persist labels to local storage to reduce coverage gaps
* update dipendencies
* revert dipendencies
* Add some explainers on how blocking affects labelers
* Tweak copy
* Fix underline color in header
* Fix profile menu
* Handle card overflow
* Remove metrics from header
* Mute 'account' not 'user'
* Show metrics if self
* Show the labels tab on logged out view
* Fix bad merge
* Use purple theming on labelers
* Tighten space on LabelerCard
* Set staleTime to 6hrs for labeler details
* Memoize the memoizers
* Drop staleTime to 60s
* Move label defs into a context to reduce recomputes
* Submit view tweaks
* Move labeler fetch below auth
* Mitigation: hardcode the bluesky moderation labeler name
* Bump sdk
* Add missing translated string
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Add missing translated string
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Hailey's fix for incorrect profile tabs
Co-authored-by: Hailey <me@haileyok.com>
* Feedback
* Fix borders, add bottom space
* Hailey's fix pt 2
Co-authored-by: Hailey <me@haileyok.com>
* Fix post tabs
* Integrate feedback pt 1
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 2
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 3
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 4
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 5
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 6
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 7
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Integrate feedback pt 8
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
* Format
* Integrate new bday modal
* Use public agent for getServices
* Update casing
---------
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
* Add statsig dependency
* Add SDK provider
* Move to separate file, add tier and hashing
* Disable local storage for now
* Add initial gate testing fixture
* Fork for web just in case
* More WIP
* wip
* Rm test gate
* Add shim on native
* Clarify
* Handle URL params
* Add resources
* Add other params
* refactor for scope
* modify the pr to support intents rather than utm
remove linebreak
remove linebreak
handle web
adjust path check to work on web
add a short delay for opening the composer
setup compose intent, move to `intents` directory
fix intent logic
ignore incoming intents in the navigation router
* refactor
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* 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
* 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
* Initial library setup
* Add docblocks
* Some cleanup
* New storybook
* Playing around
* Remove silly test, use for...in
* Memo
* Memo
* Add hooks example
* Tweak colors, bit of cleanup
* Improve macro handling
* Add some more examples
* Rename for better diff
* Cleanup
* Add nested context example
* Add todo
* Less break more perf
* Buttons, you get the idea
* Fix test
* Remove temp colors
* Add a few more common macros
* Docs
* Perf improvements
* Alf go brrrr
* Update breakpoint handling
* I think it'll work
* Better naming, better code
* Fix typo
* Some renaming
* More complete pass at Tailwind naming
* Build out storybook
* Playing around with curves
* Revert "Playing around with curves"
This reverts commit 6b0e0e5c9d842a2d9af31b53affe2f6291c3fa0d.
* Smooth brain
* Remove outdated docs
* Some docs, fix line-height values, export tokens
* Remove listenSessionLoaded from analytics
* Move analytics init call to navigation ready
* Remove zod dependency from analytics
* Mirror changes on the web
* Delete listenSessionLoaded
* Only set up listeners once
* Vendor createNativeStackNavigator for further tweaks
* Completely disable withAuthRequired
* Render LoggedOut for protected routes
* Move web shell into the navigator
* Simplify the logic
* Add login modal
* Delete withAuthRequired
* Reset app state on session change
* Move TS suppression
* get basic hindi support to work
* get web app language switcher in
* Refactor i18n implementation and remove unused
code
* add missing strings
* add dropdowns and modals missing strings
* complete all hindi translations
* fix merge conflicts
* fix legeacy persisted state
* fix data in RecommendedFeeds
* fix lint
* Update login page to use service query
* Update modal to use session instead of store
* Move image sizes cache off store
* Update settings to no longer use store
* Update link-meta fetch to use agent instead of rootstore
* Remove deprecated resolveName()
* Delete deprecated link-metas cache
* Delete deprecated posts cache
* Delete all remaining mobx models, including the root store
* Strip out unused mobx observer wrappers
* Move tick-every-minute into a hook/context
* Move soft-reset event out of the shell model
* Update soft-reset listener on new search page
* Implement session-loaded and session-dropped events
* Update analytics and push-notifications to use new session system