* 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>
* use eas version code
* test
* try sync
* try sync
* use eas to manage the version code
* apply build numbers to dist
* test script
* set this to production or now
* revert to schedule
* testing on 1.69
* autosubmit
* autosubmit, remove cheat
* finished!!!!!
try again
try again
try again
try again
add same for android
maybe now
omg wow i messed that up?
once again
once again
again
error?
add caching
add caching
try again again again again
try again again again
try again again
try again
try this a different way
another test
testing this again
* hack
* write environment variables
* ready to go
* final test
* Revert "final test"
This reverts commit 6580c5c0974db25a3704b683673c41471a6ad0cf.
* add comment to config
* add ios build num bump script
* remove bak
* add bump script for android
* github action
* add comment to config
* testing
* testing attempt 2
* add app id
* ok add the app id the right way
* Apply automatic changes
* test the commit message
* test the commit message again
* Nightly iOS Build Bump
* finished
---------
Co-authored-by: haileyok <haileyok@users.noreply.github.com>
* 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
* Reduce calls to getFeedGenerator by the mergefeed
* Dont run end-of-follows mergefeed requests until actually at the end of the feed
* build AWS container
---------
Co-authored-by: Jake Gold <jake@blueskyweb.xyz>
* Install lingui eslint plugin, ignore compiled files
* Add lingui step to Lint workflow
* Run check in other job
* Add compile step to web build
* Temp: add a new string to test with
* Add message
* Revert "Temp: add a new string to test with"
This reverts commit ef5459d00c3ea9798279e000a5ac43effc117486.
* Un-track compiled files
* Add check scripts to package.json, build step
* Make sure to compile translations prior to test/typecheck
* Rename scripts
* bskyweb: Makefile and dev env
This matches the setup for local dev testing in atproto and indigo
repos.
* gitignore: don't ignore self and .github/
* CI: golang build+test and lint actions
* bskyweb: better use of godotenv
A recent change from indigo.
* prettier: ignore top-level app.json
* CI: bump from golang 1.19 to 1.20
* bskyweb: update to golang 1.20
* Update to RN 71.1.0 (#100)
* Update to RN 71
* Adds missing lint plugin
* Add missing native changes
* Bump @atproto/api@0.0.7 (#112)
* Image not loading on swipe (#114)
* Adds prefetching to images
* Adds image prefetch
* bugfix for images not showing on swipe
* Fixes prefetch bug
* Update src/view/com/util/PostEmbeds.tsx
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Fixes to session management (#117)
* Update session-management to solve incorrectly dropped sessions
* Reset the nav on account switch
* Reset the feed on me.load()
* Update tests to reflect new account-switching behavior
* Increase max image resolutions and sizes (#118)
* Slightly increase the hitslop for post controls
* Fix character counter color in dark mode
* Update login to use new session.create api, which enables email login (close#93) (#119)
* Replaces the alert with dropdown for profile image and banner (#123)
* replaces the alert with dropdown for profile image and banner
* lint
* Fix to ordering of images in the embed grid (#121)
* Add explicit link-embed controls to the composer (#120)
* Add explicit link-embed controls
* Update the target rez/size of link embed thumbs
* Remove the alert before publishing without a link card
* [Draft] Fixes image failing on reupload issue (#128)
* Fixes image failing on reupload issue
* Use tmp folder instead of documents
* lint
* Image performance improvements (#126)
* Switch out most images for FastImage
* Add image loading placeholders
* Fix tests
* Collection of fixes to list rendering (#127)
* Fix bug that caused endless spinners in profile feeds
* Bundle fetches of suggested actors into one update
* Fixes to suggested follow rendering
* Fix missing replacement of flex:1 to height:100
* Fixes to navigation swipes (#129)
* Nav swipe: increase the distance traveled in response to gesture movement.
This causes swipes to feel faster and more responsive.
* Fix: fully clamp the swipe against the edge
* Improve the performance of swipes by skipping the interaction manager
* Adds dark mode to the edit screen (#130)
* Adds dark mode to edit screen
* lint
* lint
* lint
* Reduce render cost of post controls and improve perceived responsiveness (#132)
* Move post control animations into conditional render and increase perceived responsiveness
* Remove log
* Adds dark mode to the dropdown (#131)
* Adds dark mode to the bottom sheet
* Make background button lighter (like before)
* lint
* Fix bug in lightbox rendering (#133)
* Fix layout in onboarding to not overflow the footer
* Configure feed FlatList (removeClippedSubviews=true) to improve scroll performance (#136)
* Disable like/repost animations to see if theyre causing #135 (#137)
* Composer: mention tagging now works in middle of text (close#105) (#139)
* Implement account deletion (#141)
* Fix photo & camera permission management (#140)
* Check photo & camera perms and alert the user if not available (close#64)
- Adds perms checks with a prompt to update settings if needed
- Moves initial access of photos in the composer so that the initial prompt
occurs at an intuitive time.
* Add react-native-permissions test mock
* Fix issue causing multiple access requests
* Use longer var names
* Update podfile.lock
* Lint fix
* Move photo perm request in composer to the gallery btn instead of when the carousel is opened
* Adds more tracking all around the app (#142)
* Adds more tracking all around the app
* more events
* lint
* using better analytics naming
* missed file
* more fixes
* Calculate image aspect ratio on load (#146)
* Calculate image aspect ratio on load
* Move aspect ratio bounds to constants
* Adds detox testing and instructions (#147)
* Adds detox testing and instructions
* lint
* lint
* Error cleanup (close#79) (#148)
* Avoid surfacing errors to the user when it's not critical
* Remove now-unused GetAssertionsView
* Apply cleanError() consistently
* Give a better error message for Upstream Failures (http status 502)
* Hide errors in notifications because they're not useful
* More e2e tests (create account) (#150)
* Adds respots under the 'post' tab under profile (#158)
* Adds dark mode to delete account screen (#159)
* 87 dark mode edit profile (#162)
* Adds dark mode to delete account screen
* Adds one more missed darkmode
* more fixes
* Remove fallback gradient on external links without thumbs (#164)
* Remove fallback gradient on external links without thumbs
* Remove fallback gradient on external links without thumbs in the composer preview
* Fix refresh behavior around a series of models (repost, graph, vote) (#163)
* Fix refresh behavior around a series of models (repost, graph, vote)
* Fix cursor behavior in reposted-by view
* Fixes issue where retrying on image upload fails (#166)
* Fixes issue where retrying on image upload fails
* Lint, longer test time
* Longer waitfor time in tests
* even longer timeout
* longer timeout
* missed file
* Update src/view/com/composer/ComposePost.tsx
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Update src/view/com/composer/ComposePost.tsx
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* 154 cached image profile (#167)
* Fixes issue where retrying on image upload fails
* Lint, longer test time
* Longer waitfor time in tests
* even longer timeout
* longer timeout
* missed file
* Fixes image cache error on second try for profile screen
* lint
* lint
* lint
* Refactor session management to use a new "Agent" API (#165)
* Add the atp-agent implementation (temporarily in this repo)
* Rewrite all session & API management to use the new atp-agent
* Update tests for the atp-agent refactor
* Refactor management of session-related state. Includes:
- More careful management of when state is cleared or fetched
- Debug logging to help trace future issues
- Clearer APIs overall
* Bubble session-expiration events to the user and display a toast to explain
* Switch to the new @atproto/api@0.1.0
* Minor aesthetic cleanup in SessionModel
* Wire up ReportAccount and ReportPost (#168)
* Fixes embeds for youtube channels (#169)
* Bump app ios version to 1.1 (needed after app store submission)
* Fix potential issues with promise guards when an error occurs (#170)
* Refactor models to use bundleAsync and lock regions (#171)
* Fix to an edge case with feed re-ordering for threads (#172)
* 151 fix youtube channel embed (#173)
* Fixes embeds for youtube channels
* Tests for youtube extract meta
* lint
* Add 'doesnt use non-exempt encryption' to ios config
* Rework the search UI and add (#174)
* Add search tab and move icon to footer
* Remove subtitles from view header
* Remove unused code
* Clean up UI of search screen
* Search: give better user feedback to UI state and add a cancel button
* Add WhoToFollow section to search
* Add a temporary SuggestedPosts solution using the patented 'bsky team algo'
* Trigger reload of suggested content in search on open
* Wait five min between reloading discovery content
* Reduce weight of solid search icon in footer
* Fix lint
* Fix tests
* 151 feat youtube embed iframe (#176)
* youtube embed iframe temp commit
* Fixes styling and code cleanup
* lint
* Now clicking between the pause and settings button doesn't trigger the parent
* use modest branding (less yt logos)
* Stop playing the video once there's a navigation event
* Make sure the iframe is unmounted on any navigation event
* fixes tests
* lint
* Add scroll-to-top for all screens (#177)
* Adds hardcoded suggested list (#178)
* Adds hardcoded suggested list
* Update suggested-actors-view to support page sizes smaller than the hardcoded list
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* more robust centering of the play button (#181)
Co-authored-by: Aryan Goharzad <arrygoo@gmail.com>
* Bundle of UI modifications (#175)
* Adjust visual balance of SuggestedPosts and WhoToFollow
* Fix bug in the discovery load trigger
* Adjust search header aesthetic and have it scroll away
* More visual balance tweaks on the search page
* Even more visual balance tweaks on the search page
* Hide the footer on scroll in search
* Ditch the composer prompt buttons in the home feed
* Center the view header title
* Hide header on scroll on the home feed
* Fix e2e tests
* Fix home feed positioning (closes#189) (#195)
* Fix home feed positioning for floating header
* Fix positioning of errors in home feed
* Fix lint
* Don't show new-content notification for reposts (close#179) (#197)
* Show the splash screen during session resumption (close#186) (#199)
* Fix to suggested follows: chunk the hardcoded fetches to 25 at a time (close#196) (#198)
* UI updates to the floating action button (#201)
* Update FAB to use a plus icon and not drop shadow
* Update FAB positioning to be more consistent in different shell modes
* Animate the FAB's repositioning
* Remove the 'loading' placeholder from images as it degraded feed perf (#202)
* Remove the 'loading' placeholder from images as it degraded feed perf
* Remove references
* Fix RN bug that causes home feed not to load more; also fix home feed load view. (#208)
RN has a bug where rendering a flatlist with an empty array appears to break its
virtual list windowing behaviors. See https://stackoverflow.com/a/67873596
* Only give the loading spinner on the home feed during PTR (#207)
(cherry picked from commit b7a5da12fdfacef74873b5cf6d75f20d259bde0e)
* Implement our own lifecycle tracking to ensure it never fires while the app is backgrounded (close#193) (#211)
* Push notification fixes (#210)
* Fix to when screen analytics events are firing
* Fix: dont trigger update state when backgrounded
* Small fix to notifee API usage
* Fix: properly load notification info for push card
* Add feedback link to main menu (close#191) (#212)
* Add "follows you" information and sync follow state between views (#215)
* Bump @atproto/api@0.1.2 and update API usage
* Add 'follows you' pill to profile header (close#110)
* Add 'follows you' to followers and follows (close#103)
* Update reposted-by and liked-by views to use the same components as followers and following
* Create a local follows cache MyFollowsModel to keep views in sync (close#205)
* Add incremental hydration to the MyFollows model
* Fix tests
* Update deps
* Fix lint
* Fix to paginated fetches
* Fix reference
* Fix potential state-desync issue
* Fixes to notifications (#216)
* Improve push-notification for follows
* Refresh notifications on screen open (close#214)
* Avoid showing loader more than needed in post threads
* Refactor notification polling to handle view-state more effectively
* Delete a bunch of tests taht werent adding value
* Remove the accounts integration test; we'll use the e2e test instead
* Load latest in notifications when the screen is open rather than full refresh
* Randomize hard-coded suggested follows (#226)
* Ensure follows are loaded before filtering hardcoded suggestions
* Randomize hard-coded suggested profiles (close#219)
* Sanitizes posts on publish and render (#217)
* Sanatizes posts on publish and render
* lint
* lint and added sanitize to thread view as well
* adjusts indices based on replaced text
* Woops, fixes a bug
* bugfix + cleanup
* comment
* lint
* move sanitize text to later in the flow
* undo changes to compose post
* Add RichText library building upon the sanitizePost library method
* Add lodash.clonedeep dep
* Switch to RichText processing on record load & render
* Fix lint
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* A group of notifications fixes (#227)
* Fix: don't group together notifications that can't visually be grouped (close#221)
* Mark all notifications read on PTR
* Small optimization: useCallback and useMemo in posts feed
* Add loading spinner to footer of notifications (close#222)
* Fix to scrolling to posts within a thread (#228)
* Fix: render the entire thread at start so that scrollToIndex works always (close#270)
* Visual fixes to thread 'load more'
* A few small perf improvements to thread rendering
* Fix lint
* 1.2
* Remove unused logger lib
* Remove state-mock
* Type fixes
* Reorganize the folder structure for lib and switch to typescript path aliases
* Move build-flags into lib
* Move to the state path alias
* Add view path alias
* Fix lint
* iOS build fixes
* Wrap analytics in native/web splitter and re-enable in all view code
* Add web version of react-native-webview
* Add web split for version number
* Fix BlurView import for web
* Add web split for fastimage
* Create web split for permissions lib
* Fix for web high priority images
---------
Co-authored-by: Aryan Goharzad <arrygoo@gmail.com>
* Rework 'navIdx' variables from number arrays to strings to avoid equality-check failures in react hooks
* Resolve all remaining lint issues
* Fix tests
* Use node v18 in gh action test
* Adding action for linting
* Configuring eslint
* Update lint.yml
* Update lint.yml
* Update lint.yml
* adds yarn jest to package.json
* test report
* debugging tests
* trying force exit
* force exit
* test1
* forceexit
* using another reporter
* jest debugging
* separated lints & tests
* test
* Cleanup
* Add /src/third-party, /ios, and /android to ignore list