* use custom github action for fingerprinting
* update pr workflow
* update names of workflows
* make a native change (testing)
* adjust the action
* Revert "make a native change (testing)"
This reverts commit 8db98357330c24b4ac89b795dc73e3d84a29d9af.
* update bundle-deploy script
* test a prod build
* crazy depth
* manually set
* use prod default
* force prod
* revert test changes
* save cache after deploy
* revert testing
* use env variables through docker args
* remove quotes
* use an output instead
* try that again
* write the variables to .env
* rm unused
* use short sha
* remove test branch
* add bundle identifiers to `app-info`
* add them to the `.env.example`
* add environment variables for docker build
* add environment variables for native builds and bundles
* also include the hour in bundle date
* organize app info better in settings
* skeleton of embedr service, based on bskyweb
* embedr container setup
* builds on this branch
* actual routes
* fix embedr go:embed
* tweak embedr dockerfile
* progress on embedr
* fix path params
* tweaks to build process
* try to get embedr dockerfile to install embed deps
* build this branch
* updates to match sam's output HTML
* try to unbreak embedr dockerfile
* small embedr tweak
* docker hack
* get embed.js copied over to embedr
* don't x-frame-options for embed.bsky.app
* bskyembed: remove a console.log
* use html/template for golang snippet generation
* simplify embedr API fetches
* missing file
* Rm console.log fully
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* simplify list logic further
more simplification
simplify by removing `isEmpty`
use `isFetchingNextPage` everywhere for clarity
change `isFetching` to `isFetchingNextPage` for clarity
remove some useless `useMemo`s
move `renderItem` and `keyExtractor` out of component
* clean bundle size check
* update deploy
* adjust
* adjust
* one test
* try now
* test it
* done
try that again 9
try that again 8
try that again 7
try that again 6
try that again 5
try that again 4
try that again 3
try that again 2
try that again
merge base 3
merge base 2
merge base
use latest main commit rather than tag
webpack diff analyzer
use cache v4
use cache
again...
blegh
blegh
try cache again
cache
try again
one more adjutment
adjust
okay again maybe
maybe now?
maybe now
oops again
oops
add diff comments
add open analyzer script
add webpack analyzer
* run bundle/deploy on main pushes
* don't fetch from origin if not necessary
* fix false-postive for secret in outputs
rm test
test 'false'
rm test
use in both places
workaround "secret" string
add a manual testflight deployment option for android
add a manual testflight deployment option for android
add a manual testflight deployment option for android
* rm test code
* some progress
another adjustment, testing
another adjustment, testing
fix again
fix again
set default runtime version
fix
test this script
test this script
test this script
add build numbers to the deployment url
clean
give script access to build number
add `useBuildNumberEnv` without a bump
new line
fix missing async
add channel name to deployment url
add updates check on launch for testflight users
ver bump
init updates on launch for native
add `testflight` as default in build submit
add is_testflight check
* disable inline predictions to prevent ios composer jank
* temp bump
* Revert "temp bump"
This reverts commit 44c51134a35d817c73edb1e635495597c95117b3.
* adjustments
version bump
adjust
fixes
test
* cleanup and finalize
drop check down to every 15 minutes
adjustments
change to 15 mins
use jq to get version if necessary
rm test on push
figured it out
remove nightly testflight releases
test again again again again again AGAIN ONCE MORE
test again again again again again AGAIN
test again again again again again AGAIN
test again again again again again
test again again again again
test again again again
test again again
test again
test
test
test
run deploy if necessary
run deploy if necessary
run deploy if necessary
run deploy if necessary
run deploy if necessary
remove test message
fix environment
oops
cleanup
merge in changes
* remove unnecessary `workflow_call`
* remove changes that have been merged into main now
* finalize android
update git ignore
rm test stuff from the bundle action
remove test message
test message
fix
test message
test message
few android fixes
few android fixes
fix jq
add a test message
fix slack webhook
create android deployments test 2
create android deployments
add `testflight-android` profile to eas.json
more cleanup
some more cleanup
simplify some logic
remove unnecessary channel
rename to `useOTAUpdates`
* rm test portion
* 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>