about summary refs log tree commit diff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* [🐴] Report message dialog (#3941)Samuel Newman2024-05-101-0/+14
| | | | | | | | | | | | | | | * message report dialog * report chat prompt * typo * 100% height sheet on android * messages-specific report options * restore unwanted sexual content * chat -> conversation
* [🐴] Adjust messages list styles (#3945)Hailey2024-05-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * some initial tweaks * tweaks * more tweaks * tweak chat header * properly align placeholders * tweak web header * one more... * remove extra loading states from chat * limit line count for display name * Tweaks styles (#3949) * Adjust sizing * Consistent font size * Adjust header * oops * fix accessibility in list * don't use `identifier` for notifications, use `dates` instead --------- Co-authored-by: Eric Bailey <git@esb.lol>
* [🐴] Rich text in messages (#3926)Samuel Newman2024-05-091-0/+1
| | | | | | | | | | | | | | | | | * add facets to message * richtext messages * undo richtexttag changes * whoops, don't redetect facets * dont set color directly * shorten links and filter invalid facets * fix link shortening * pass in underline style
* Handle push notifications for DMs (#3895)Hailey2024-05-094-76/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add some better handling for notifications prep merge move `useNotificationsListener` into shell progress better structure only show messages notifications while using app if it is the current account progress only emit on native current chat emitter only show alerts for the current chat type add logs setup handlers * remove event emitter * just needs cleanup * oops * remove unnecessary `queryClient` param * few fixes * cleanup * nit * remove folds * remove comment * simplify if * add back invalidate * comment out other navigations for now * rename type * handle various navigation cases * push to conversation from notification * update badge in all cases except `chat-message` * ensure no duplicate notifications * rm unused `animationOnReplace` * revert to using `goBack` in the conversation header * add todo comment
* Add gate, a:a swap onboarding state (#3930)Eric Bailey2024-05-091-0/+1
|
* [Session] Code cleanup (#3854)dan2024-05-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* [GIFs] Restore default alt text (#3893)Samuel Newman2024-05-071-0/+36
| | | | | | | | | | | | | | | | | | | | | | | * restore default alt text * factor out gif alt logic + enable require alt text setting * rm console.log * don't prefill input + esc handling * typo * Nits * shorten user alt prefix * Remove unnecessary condition, rename for clarity * Add comment --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* fix bad bool check in action (#3885)Hailey2024-05-061-2/+1
| | | | | | | * fix bad bool check in action * add `fetch-depth` so we can get the commit hash * `.env` should be in `.easignore` 🙃
* Replace pluralize by plural by @tkusano (#3882)Paul Frazee2024-05-061-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Replace pluralize with plural or Plural * Replace all pluralize (defined by src/lib/strings/helpers.ts) with plural or Plural (defined by @lingui/macro) to make some UI elements translatable. * Delete pluralize() and related test. * Import @formatjs polyfill libraries for plural on ios and android - ios and andorid: import `@formtjs/intl-locale` and `@formatjs/intl-pluralrules` to polyfill `Intl.Locale` and `Intl.PluralRules` which are used in `plural()` and '<Plural />'. - update `plural` use in notification messages for better translation. * Rewrite to pass lint * Add Catalan plural polyfill * more replacement * import zh plural data for zh-CN * Refactor feed header components (#2964) * Move home-related files to view/com/home * Add HomeHeader in front of FeedTabBar * Move isDekstop check outside FeedsTabBar * Remove PWI logic from tabbar * Separate platform-specific layout from shared logic * Rename Home Feed Prefs to Following Feed Prefs (#2965) * use `useOpenLink` hook for links in ALF (#2975) * use `useOpenLink` hook for links in ALF * web only for `outline` * increase timeout to 15s (#2958) * Normalize relative day (#2874) * fix: normalize relative date * chore: add comments * refactor: skip flooring normalized diff * refactor: let -> const * fix: get own copy of date to prevent mutating * refactor: rounding does the same trick * Add handle validation to create account UI (#2959) * show uiState errors in the box as well simplify copy update ui for only letters and numbers add ui validation to handle selection * simplify names * Fix accidental text-node render --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com> * Make dim theme dim (#2966) * Make dim color scheme dim * Tweaks * Overall tweaks * We have to go darker * Tweak saturation of blues in dim * Increase contrast on dark-dark mode * adjust dim --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Paul Frazee <pfrazee@gmail.com> Co-authored-by: Hailey <me@haileyok.com> * Fix dim mode unread notif color * use `showControls` to show/hide live text icon on ios (#2982) * Update .po files * fix reversed icons in validator 🤦 (#2991) * Adjust `windowSize` on `PostThread` `FlatList` (#2989) * adjust window size, cells batching period * rm batching period change * Pluralize 'follow(s)' * Include a space between the msgid count and "follower(s)/following(s)" so the translator can adjust the translated count line to fit within the Drawer. * pluralie '# following' * Fix & Update * Rewrite to use Plural * rmeove unused import * When commiting changes, disable 'simple-import-sort' plugin in .eslintrc.js to sync with bluesky-social:main * Revert simple-import-sort/imports related changes * Move ProfileHoverCard web to plural util * Followings -> following * Add plural following to hovercard * Followings -> Following --------- Co-authored-by: Takayuki KUSANO <kusano@tkusano.jp> Co-authored-by: Takayuki KUSANO <65759+tkusano@users.noreply.github.com> Co-authored-by: dan <dan.abramov@gmail.com> Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Mary <148872143+mary-ext@users.noreply.github.com> Co-authored-by: Eric Bailey <git@esb.lol>
* Dont leave promise unresolvedPaul Frazee2024-05-061-1/+3
|
* Merge branch 'fix-banner-cropper' of ↵Paul Frazee2024-05-062-5/+9
|\ | | | | | | https://github.com/piotrpalek/social-app into piotrpalek-fix-banner-cropper
| * allow for custom cropper aspect ration based on imagePiotr P2024-04-271-0/+4
| |
| * Fix cropper crashing after clicking cancelPiotr P2024-04-271-3/+1
| |
| * eslint autofixesPiotr P2024-04-272-2/+4
| |
* | remove `hide_vertical_scrollbars` test (#3855)Hailey2024-05-061-1/+0
| |
* | fix typo in `app-info` (#3863)Hailey2024-05-042-2/+4
| |
* | add bundle identifiers to app-info (#3861)Hailey2024-05-042-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | [Session] Align state and global agent switchpoints (#3845)dan2024-05-031-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * Adopt synced accounts unconditionally * Remove try/catch around resuming session * Move to login form on resume failure * Restructure code flow for easier reading --------- Co-authored-by: Eric Bailey <git@esb.lol>
* | Don't clear toasts when changing users (#3843)dan2024-05-031-6/+1
| | | | | | | | | | | | | | | | | | | | | | * 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
* | Improve account switcher pending state (#3827)dan2024-05-021-6/+16
| | | | | | | | | | | | | | | | | | * Protect against races * Reduce UI jank when switching accounts * Add pending state to selected account * Disable presses while pending
* | Only run "disable min shell on foregrounding" behaviour if on the home ↵Samuel Newman2024-05-021-1/+1
| | | | | | | | | | | | | | screen (#3825) * change useEffect to useFocusEffect * v2 -> v3
* | rename "MessagesList" to "Messages" (#3826)Samuel Newman2024-05-023-4/+7
| |
* | [Session] Extract selectAccount out (#3812)dan2024-05-021-5/+11
| |
* | Performance improvements: structural sharing & moderation opts context (#3785)Paul Frazee2024-04-301-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | * Fix: correctly apply structural sharing to preferences object * Move moderation opts into a context * Fix import * Remove log * Pass userdid directly * Pass moderationPrefs directly
* | Session fixes, pt. 1 (#3762)dan2024-04-301-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update persisted schema for new source of truth, implement in existing session (cherry picked from commit b1e5f12baee932721d66c60dd51c981b46b0c274) * Improve toasts, log caught error, during switch account (cherry picked from commit fe0d1507063d2e532b7b1a447670b689292d1dc3) * Handle thrown errors from initSession during login (cherry picked from commit 2c85c045917e923901284b9ba310a82e28f37b5c) --------- Co-authored-by: Eric Bailey <git@esb.lol>
* | Send Bluesky feeds and suggested follows more data (#3695)Eric Bailey2024-04-294-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * WIP * Fix constructors * Clean up * Tweak * Rm extra assignment * Narrow down the argument --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* | Account for momentum when hiding minimal shell (#3740)dan2024-04-281-1/+4
| | | | | | | | | | | | | | | | | | * Add optional momentum events to scroll context * If there is a velocity, don't snap until momentum end * Don't show bar on scroll down * Rm onMomentumBegin
* | YouTube Music as supported player (#3736)Mary2024-04-271-1/+2
|/
* [Clipclops] New routes with placeholder screens (#3725)Samuel Newman2024-04-275-2/+17
| | | | | | | | | | | * add new routes with placeholder screens * gate content * add filled envelope style * swap filled state * switch to `useAgent`
* Special-case bsky.app/download to open share sheet or copy to clipboard (#3710)Samuel Newman2024-04-272-6/+15
| | | | | | | | | | | * special-case bsky.app/download to share * Address feedback * Improve detection --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into notifications handlers (#3705)Eric Bailey2024-04-251-1/+4
| | | | | | | | | | | * Drill into notifications handlers (cherry picked from commit 7ac9e500866732e1f2e205bbe96e70db331e5ffb) * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Drill `getAgent` into feed APIs (#3701)Eric Bailey2024-04-257-49/+172
| | | | | | | | | | | * Update to desired post-feed usage * Drill agent into feed apis * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* [Session] Base (#3541)Eric Bailey2024-04-251-0/+1
| | | | | * Add readLastActiveAccount to use accounts[] as source of truth * Add public service constant, use
* Cleanup files after each iteration of compression and downloading (#3599)Hailey2024-04-252-29/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | * delete image on each iteration of compression * replace a few other instances of `unlink()` * ensure that moving to the permanent path will succeed * use `cacheDirectory` * missing file extension? * assert * Remove extra . * Extract safeDeleteAsync, fix normalization * Normalize everywhere * Use safeDeleteAsync in more places * Delete .bin too --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Ignore image responses on non-200 status (#3693)dan2024-04-241-5/+11
| | | | | * Ignore image responses on non-200 status * Fix tests
* Remove old Suggested Follows logic (#3689)dan2024-04-241-1/+0
|
* Remove old old onboarding (#3674)Eric Bailey2024-04-231-1/+0
|
* use mp4 over webm (#3666)Hailey2024-04-231-2/+11
| | | | | | | * use mp4 over webm * tinymp4 * safari only
* [Statsig] Add test gates and events (#3659)dan2024-04-232-0/+12
| | | | | * [Statsig] Add test gates and events * Better types
* GIF Viewer (#3605)Hailey2024-04-232-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ios player autoplay after recycle remove all items from AVPlayer queue recurururururursion use managers in the view add prefetch make sure player items stay in order add controller and item managers start of the view create module, ios * android player smoother basic caching prep cache somewhat works backup other files android impl blegh lets go touchup add prefetch to js use caching * bogus testing commit * add dims to type * save * add the dimensions to the embed info * add a new case * add a new case * limit this case to giphy * use gate * Revert "bogus testing commit" This reverts commit b3c8751b71f7108de9aa843b22ded4e0249fa854. * add web player base * flip mp4/webp * basic mp4 player for web * move some stuff into `ExternalLinkEmbed` instead * use a class component for web * remove extra component * add `onPlayerStateChange` event type on web * layer properly * fix tests * add new test * about ready. native portions done, a few touch ups on web needed show placeholder on ios fix type rm log display thumbnail until video is ready to play add oncanplay, playsinline remove unused method add `isLoaded` change event release player when finished apply gc to the view cleanup logs android gc rm log automatic gc for assets make `nativeRef` private remove unnecessary `await` cleanup rev log only play on prepare whenever needed rm unused perfperfperf rm var comment + android width native height calculations rm pressable add event dispatcher on android add event dispatcher on ios * ready to test ios fix autoplay ios clean oops * autoplay on web * normalize across all platforms add check for `ALT:` separate gif embed logic to another file handle permissions requests flatten web styles normalize styles normalize styles prefetch functions pause animatable on foreground android nits one more oops idk where that code went lint rethink the usage wrap up android clear bg update gradle more android rename dir update android namespace web ios add deps use webp rm unused update types use webp on mobile * rm gate from types * remove unused event param * only start placeholder op if doesn't exist in disk cache * fix gifs animating on app resume android * remove comment * add `isLoaded` for ios * add `isLoaded` to Android * onload for web * add visual loading state * rm a log * implement isloaded for android * dialogs * replace `webpSource` with `source` * update prop name * Move to Tenor for GIFs (#3654) * update some urls * right order for dimensions * add GIF coder for ios * remove giphy check * rewrite tenor urls * remove all the unnecessary stuff for consent * rm print * rm log * check if id and filename are strings * full size playback controls * pass tests * add accessibility to gifs * use `onPlay` and `onPause` * rm unused logic for description * add accessibility label to the controls * add gif into to external embed in composer * make it optional * gif dimensions * make the jsx look nicer --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com> Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Ungate profile scroll fix (#3655)dan2024-04-231-1/+0
|
* [GIFs] Replace GIPHY with Tenor (#3651)Samuel Newman2024-04-221-8/+6
| | | | | | | | | * replace GIPHY with Tenor * remove "directly" wording * replace GIPHY wording * remove log
* properly close the switch account dialog (#3558)Hailey2024-04-221-14/+4
| | | | | | | | | | | | | | | | | | | * properly close the switch account dialog * use it for switch account as well * ensure dialog is closed on unmount Revert "properly check if the ref is null" This reverts commit 8f563808a5d39389b0bc47a31e73cd147d1e7e8b. properly check if the ref is null ensure dialog is closed on unmount * Revert "ensure dialog is closed on unmount" This reverts commit a48548fd8ed53ae3eb08a0e05bb89f641c112b95.
* remove gate from updates (#3646)Hailey2024-04-222-4/+1
|
* Player improvement pre-reqs (#3618)Hailey2024-04-192-5/+24
| | | | | | | | | | | | | | | | | | | | | * add dims to type * save * add the dimensions to the embed info * add a new case * add a new case * limit this case to giphy * use gate * flip mp4/webp * fix tests * add new test
* Add disable autoplay preference and group related settings into a dedicated ↵Samuel Newman2024-04-191-0/+1
| | | | | | | | | | | | | | | page (#3626) * add autoplay preference * group accessibility settings into a dedicated page * fix gray background on web * Put a11y first --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Ungate Top/Latest search (#3627)dan2024-04-191-1/+0
|
* [Statsig] Send locale info (#3621)dan2024-04-191-0/+6
|
* [Statsig] Update experiments (#3617)dan2024-04-191-5/+5
|
* Add GIF select to composer (#3600)Samuel Newman2024-04-192-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * create dialog with flatlist in it * use alf for composer photos/camera/gif buttons * add gif icons * focus textinput on gif dialog close * add giphy API + gif grid * web support * add consent confirmation * track gif select * desktop web consent styles * use InlineLinkText instead of Link * add error/loading state * hide sideborders on web * disable composer buttons where necessary * skip cardyb and set thumbnail directly * switch legacy analytics to statsig * remove autoplay prop * disable photo/gif buttons if external media is present * memoize listmaybeplaceholder * fix pagination * don't set `value` of TextInput, clear via ref * remove console.log * close modal if press escape * pass alt text in the description * Fix typo * Rm dialog --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>