| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* WIP
* Sorting working
* Rough handling of hidden/muted
* Better muted/hidden sorting and handling
* Clarify some naming
* Fix parents
* Handle first reply under highlighted/composer
* WIP RaW
* WIP optimistic
* Optimistic WIP
* Little cleanup, inserting dupes
* Re-org
* Add in new optimistic insert logic
* Update types
* Sorta working linear view optimistic state
* Simple working version, no pref for OP
* Working optimistic reply insertions, preference for OP
* Ensure deletes are coming through
* WIP scroll handling
* WIP scroll tweaks
* Clean up scrolling
* Clean up onPostSuccess
* Add annotations
* Fix highlighted post calc
* WIP kill me
* Update APIs
* Nvm don't kill me
* Fix optimistic insert
* Handle read more cases in tree view
* Basically working read more
* Handle linear view
* Reorg
* More reorg
* Split up thread post components
* New reply tree layout
* Fix up traversal metadata
* Tighten some spacing
* Use indent ya idiot
* Some linear mode cleanup
* Fix lines on read more items
* Vibe coding to success
* Almost there with read mores
* Update APIs
* Bump sdk
* Update import
* Checkpoint new traversal
* Checkpoint cleanup
* Checkpoint, need to fix blocked posts
* Checkpoint: think we're good, needs more cleanup
* Clean it up
* Two passes only
* Set to default params, update comment
* Fix render bug on native
* Checkpoint parent rendering, can opt for slower handling here
* Clean up parent handling, reply handling
* Fix read more extra space
* Fix read more in linear view
* Fix hidden reply handling, seen count, before/after calc
* Update naming
* Rename Slice to ThreadItem
* Add basic post and anchor skeletons
* Refactor client-side hidden
* WIP hidden fetching
* Update types
* Clean up query a bit
* Scrolling still broken
* Ok maybe fix scrolling
* Checkpoint move state into meta query
* Don't load remote hidden items unless needed
* skeleton view
* Reset hidden items when params change
* Split up traversal and avoid multiple passes
* Clean up
* Checkpoint: handling exhausted replies
* Clean up traversal functions further
* Clean up pagination
* Limit optimistic reply depth
* Handle optimistic insert in hidden replies
* Share root query key for easier cache extraction
* Make blurred posts not look like ass
* Fix double deleted item
* Make optimistic deleted state not look like crap in tree view
* Fix parents traversal 4 real
* Rename tree post
* Make optimistic deletions of linear posts not look bad
* Rename linear post components
* Handle tombstone views
* Rename read more component
* Add moreParents handling
* Align interaction states of read more
* Fix read more on FF
* Tree view skeleton
* Reply composer skele
* Remove hack for showing more replies
* Checkpoint: sort change scrolling fixed
* Checkpoint: learned new things, reset to base
* Feature gate
* Rename
* Replace show more
* Update settings screen
* Update pkg and endpoint
* Remove console
* Eureka
* Cleanup last commit
* No tests atm
* Remove scroll provider
* Clean up callbacks, better error state
* Remove todo
* Remove todo
* Remove todos
* Format
* Ok I think scrolling is solid
* Add back mobile compose input
* Ok need to compute headerHeight every time
* Update comments
* Ok button up web too
* Threads v2 tweaks (#8467)
* fix error screen collapsing
* use personx icon for blocked posts
* Remove height/width
* Revert unused Header change
* Clarify code
* Relate consts to theme values
* Remove debug code
* Typo
* Fix debounce of threads prefs
* Update metadata comments, dev mode
* Missed a spot
* Clean up todo
* Fix up no-unauthenticated posts
* Truncate parents if no-unauth
* Update getBranch docs
* Remove debug code
* Expand fetching in some cases
* Clear scroll need for root post to fix jump bug
* Fix reply composer skeleton state
* Remove uneeded initialized value
* Add profile shadow cache
* Some metrics
* prettier tweak
* eslint ignore
* Fix optimistic insertion
* Typo
* Rename, comment
* Remove wait
* Counter naming
* Replies seen counter for moderated sub-trees
* Remove borders on skeleton
* Align tombstone with optimistic deletion state
* Fix optimistic deletion for thread
* Add tree view icon
* Rename
* Cleanup
* Update settings copy
* Header menu open metric
* Bump package
* Better reply prompt (#8474)
* restyle reply prompt
* hide bottom bar border for cleaner look
* use new border hiding hook in DMs
* create `transparentifyColor` function
* adjust padding
* fix padding in immersive lpayer
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Integrate post-source
(cherry picked from commit fe053e9b38395a4fcb30a4367bc800f64ea84fe9)
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* keep all radix deps aligned by using single package
* import directly from `radix-ui` or `radix-ui/internal`
* prevent radix leaking into native build
|
|
|
|
|
|
|
|
|
| |
* animation atoms, use for modals
* respect reduced motion
* simplify animtions
* fix atoms
|
|
|
|
|
|
|
| |
* fix android 15 composer padding
* while I'm here, alf some bits and pieces
* add comments
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Only portal the emoji picker where needed
* Add optional portal prop to emoji picker
* Use FocusScope to our advantage
* Pare back, add guards, fix focus trap
* Don't return focus to emoji button
* Set DM input position on emoji insert
* Let the caller determine next focus node
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add common gutter styles as hook
* Add computed scrollbar gutter CSS vars
* Add new layout components
* Replace layout components in settings screens
* Remove old back button
* Invert web border logic for easier migration
* Clean up Slot API
* Port over FF handling of scrollbar offset
* Trade boilerplate for ease of use
* Limit to one line
* Allow two lines, fix wrapping
* Fix alignment
* sticky headers
* set max with on header and center
* [Layout] Notifications Header (#6910)
* Replace notifications screen header
* fix cropped indicator
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Replace Hashtag header (#6928)
* [Layout] ChatList header (#6929)
* Replace ChatList header
* update chat settings as well
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Add web borders to Chat settings
* Remove unused var
* Move ChatList header outside center
* Replace empty chat layout
* fix breakpoints
* [Layout] Scrollbar gutters (#6908)
* Fix sidebar alignment
* Make sure scrollbars don't hide
* Gift left nav more space
* Use stable one-edge, update logic in RightNav
* Ope
* Increase width
* Reset
* Add transform to sidebars
* Remove bg in sidebars
* Handle shifts in layout components
* Replace scroll-removal handling
* Make react-remove-scroll an explicit dep
* Remove unused script
* use correct scroll insets (#6950)
* [Layout] Feeds headers (#6913)
* Replace ViewHeader internals, duplicate old ViewHeader
* Replace Feeds header
* Replace SavedFeeds header
* Visual alignment
* Uglier but clear
* Use old ViewHeader for SavedFeeds
* use Layout.Center instead of Layout.Content
* use left-aligned header for feed edit
* delete unused old view header
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* [Layout] Every other screen (#6953)
* attempt to fix double borders on every other screen
* delete ListHeaderDesktop
* delete `SimpleViewHeader` and fix screens (#6956)
* Make Layout.Center not full height
* Refactor List to use Layout.Center, remove built-in borders
* Fix Home screen
* Refactor PagerWithHeader to use Layout components
* Replace components in ProfileFeed and ProfileList
* Borders on Profile
* Search screen replacements
* use new header for profile subpage header (#6958)
* Search AutocompleteResults
* use new header for starter pack wizard (#6957)
* Fix post thread
* Enable borders by default
* Moderation muted and blocked accounts
* Fix scrollbar offset on Labeler
* Remove ScrollView from Moderation
* Remove ScrollView from Deactivated
* Remove ScrollView from onboarding
* Remove ScrollView from SignupQueued
* Mark deprecations
* fix lint
* Fix double borders on profile load
* Remove unneeded CenteredView from noty Feed
* Remove double Center layout on Notifications screen
* Remove double Center layout on ChatList screen
* Handle scrollbar offset in chat
* Use new atom for other scrollbar offsets
* Remove borders from old views
* Better doc
* Remove temp migration prop
* Fix new atom usage on native
* Clean up Hashtag screen
* Layout docs
* Clarify usage in Pager
* Handle nested offset contexts
* Clean up Layout
* fix feeds page
* asymmetric header on native (#6969)
* Reusable header const
* Fix up home header
* Add back button to convo
* Add hitslop to header buttons
* Comment
* Better handling on native for new atom
* Format
* Fix nested flatlist on mod screens
* Use react-remove-scroll-bar directly
* Fix notification count overflow on web
* Clarify doc
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use Redix FocusTrap (#5638)
* Use Redix FocusTrap
* force resolutions on radix libs
* add focus guards
* use @radix-ui/dismissable-layer for escape handling
* fix banner menu keypress by using `Pressable`
* add menu in dialog example to storybook
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* use DismissableLayer/FocusScope for composer
* fix storybook dialog
* thread Portal through Prompt and avatar/banner
* fix dialog style regression
* remove tamagui
---------
Co-authored-by: Eric Bailey <git@esb.lol>
|
| |
|
|
|
|
|
| |
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Adrov Igor <nucleartux@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* show quote posts
* fix filter
* fix keyExtractor
* move likedby and repostedby to new file structure
* use modern list component
* remove relative imports
* update quotes count after quoting
* call `onPost` after updating quote count
* Revert "update quotes count after quoting"
This reverts commit 1f1887730a210c57c1e5a0eb0f47c42c42cf1b4b.
* implement
* update like count in quotes list
* only add `onPostReply` where needed
* Filter quotes with detached embeds
* Bump SDK
* Don't show error for no results
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
Co-authored-by: Eric Bailey <git@esb.lol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* revert to old modal on android
* close alf dialogs before closing composer
* Try to fix white area
* Use hook
* Fix Back button
* oops
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* keep trying to open keyboard until it's open
* limit number of retries
* keep the original 50ms one as well
* Proper fix!
* disable autoFocus if not visible
* Reset derived state
* Revert "Reset derived state"
This reverts commit 71f57391ae78bac717282e699d1b83cbd87771eb.
* Use derived state pattern
* Rename for clarity
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
|
|
|
|
|
|
|
| |
* reduce side gap + add overflow hidden
also remove the animations since they don't appear in prod, and are kinda broken
* removed fixed height to fix alt text
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add native ios code outside of ios project
* helper script
* going to be a lot of these commits to squash...backing up
* save
* start of an expo plugin
* create info.plist
* copy the view controller
* maybe working
* working
* wait working now
* working plugin
* use current scheme
* update intent path
* use better params
* support text in uri
* build
* use better encoding
* handle images
* cleanup ios plugin
* android
* move bash script to /scripts
* handle cases where loaded data is uiimage rather than uri
* remove unnecessary logic, allow more than 4 images and just take first 4
* android build plugin
* limit images to four on android
* use js for plugins, no need to build
* revert changes to app config
* use correct scheme on android
* android readme
* move ios extension to /modules
* remove unnecessary event
* revert typo
* plugin readme
* scripts readme
* add configurable scheme to .env, default to `bluesky`
* remove debug
* revert .gitignore change
* add comment about updating .env to app.config.js for those modifying scheme
* modify .env
* update android module to use the proper url
* update ios extension
* remove comment
* parse and validate incoming image uris
* fix types
* rm oops
* fix a few typos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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 62516ed9c20410d166e1582b43b656c819495ddc.
* fixes
* scroll
* scrollbar
* cleanup unrelated
* undo unrel
* flatter
* Fix css
* twk
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rework emoji picker
* dynamic position
* always prefer the left if it will fit
* add accessibility label
* Update EmojiPicker.web.tsx
oops. remove accessibility from fake button
|
|
|
|
|
| |
* Fix invite code translations (plural api not availabe in ios)
* Speed up the composer animation a smidge
|
|
|
|
|
|
|
| |
* add reanimated layout animations to modals
* reorder imports
* pass context to scroll handler patches
|
|
|
|
|
|
|
|
|
| |
* Move composer state to a context
* Rework composer to use RQ
---------
Co-authored-by: Eric Bailey <git@esb.lol>
|
|
|
|
|
|
|
| |
* handle android back button in composer
* improve backHandler error handling
* simplify composer onClose functionality
|
|
|
|
|
|
|
|
|
| |
* Consider observer(...) as components
* Add display names to MobX observers
* Temporarily suppress nested components
* Suppress new false positives for react/prop-types
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* update to expo 49
* update expo-camera to fix console erorrs
* run doctor again
* fix ts errors
* patch @sentry/react-native
Getting `cannot read property 'ignoreLogs' of undefined` in this file.
Ironically, this may be a cyclical imports problem. LogBox isn't enabled
in production, so this patch should only affect dev/test.
* fix type error
* reinstall newer reanimated
* pin expo-dev-client to fix reanimated dev-build issue
* fix type errors, fix bad conflict res
* Fix to notifications badge z-index on desktop
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move most responsive queries to the hook
* Fix invalid CSS value
* Fixes to tablet render of post thread
* Fix overflow issues on web
* Fix search header on tablet
* Fix QP margin in web composer
* Fix: only apply double gutter once to flatlist (close #1368)
* Fix styles on discover feeds header
* Fix double discover links in multifeed
|
| |
|
|
|
|
|
| |
* setup `initMention` for mobile
* setup creating post with profile tagged on web
|
|
|
|
|
| |
* remove hardcoded height for bottom bar
* prevent overflow of tab bar on mobile web
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* React Native accessibility
* First round of changes
* Latest update
* Checkpoint
* Wrap up
* Lint
* Remove unhelpful image hints
* Fix navigation
* Fix rebase and lint
* Mitigate an known issue with the password entry in login
* Fix composer dismiss
* Remove focus on input elements for web
* Remove i and npm
* pls work
* Remove stray declaration
* Regenerate yarn.lock
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
etc (#519)
* Switch android to use slide left/right animations on navigation
* Bump the repost icon down by a pixel
* Tune theme colors for contrast and darker bg on darkmode
* Move back handler to a point in the init flow that leads to more consistent capture of events
* Fix image share flow on android
* Fix lint
* Add todo about sharing not available
* Drop the android slide animation because it's too slow
* Fix 'flashes of white' in dark mode android
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* WIP
* WIP
* Fix header offset on web
* Remove debug
* Fix web mobile feed and FAB layout
* Fix modals on mobile web
* Remove dead code
* Remove ios config that shouldnt be committed now
* Move bottom bar into its own folder
* Fix web drawer navigation and state behaviors
* Remove dark mode toggle from web drawer for now
* Fix search on mobile web
* Fix the logged out splash screen on mobile web
* Fixes to detox simulator
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
|
| |
|
| |
|
|
* WIP - adding expo
* WIP - adding expo 2
* Fix tsc
* Finish adding expo
* Disable the 'require cycle' warning
* Tweak plist
* Modify some dependency versions to make expo happy
* Fix icon fill
* Get Web compiling for expo
* 1.7
* Switch to react-navigation in expo2 (#287)
* WIP Switch to react-navigation
* WIP Switch to react-navigation 2
* WIP Switch to react-navigation 3
* Convert all screens to react navigation
* Update BottomBar for react navigation
* Update mobile menu to be react-native drawer
* Fixes to drawer and bottombar
* Factor out some helpers
* Replace the navigation model with react-navigation
* Restructure the shell folder and fix the header positioning
* Restore the error boundary
* Fix tsc
* Implement not-found page
* Remove react-native-gesture-handler (no longer used)
* Handle notifee card presses
* Handle all navigations from the state layer
* Fix drawer behaviors
* Fix two linking issues
* Switch to our react-native-progress fork to fix an svg rendering issue
* Get Web working with react-navigation
* Refactor routes and navigation for a bit more clarity
* Remove dead code
* Rework Web shell to left/right nav to make this easier
* Fix ViewHeader for desktop web
* Hide profileheader back btn on desktop web
* Move the compose button to the left nav
* Implement reply prompt in threads for desktop web
* Composer refactors
* Factor out all platform-specific text input behaviors from the composer
* Small fix
* Update the web build to use tiptap for the composer
* Tune up the mention autocomplete dropdown
* Simplify the default avatar and banner
* Fixes to link cards in web composer
* Fix dropdowns on web
* Tweak load latest on desktop
* Add web beta message and feedback link
* Fix up links in desktop web
|