Commit Graph

645 Commits

Author SHA1 Message Date
Eric Bailey 3be9dde92d New reporting flow (#7832)
* Add option to align web dialogs to top

* Add new wait util

* Pipe through feed view to feed components

* Reset unneeded change to main

* Copy over fresh report dialog based on old

* Hack in temp testing data

* Swap in new dialog in all cases but chat

* Cleanup

* Add load and initial error state

* Fill in states

* Add copyright link

* Handle single labeler case

* Comment out debug code

* Improve centering of type in circles

* Open details if Other is selected

* Remove debug code

* Tweak colors

* Bump SDK

* Tweak Admonition for better x-platform styles

* Add retry button

* Add close button

* Remove todo not covered in this PR

* Translate Retry
2025-02-28 17:14:02 -06:00
Eric Bailey 7c36ea1158 Logger improvements (#7729)
* Remove enablement

* Refactor context and filtering

* Fix imports, simplify transports config

* Migrate usages of debug context

* Re-org, add colors and grouping to console logging

* Remove temp default context

* Remove manual prefix

* Move colorizing out of console transport body

* Reduce reuse

* Pass through context

* Ensure bitdrift is enabled in dev

* Enable Sentry on web only

* Clean up types

* Docs

* Format

* Update tests

* Clean up tests

* No positional args

* Revert Sentry changes

* Clean up context, use it, pass metadata through to Bitdrift

* Fix up debugging

* Clean up metadata before passing to Bitdrift

* Correct transports

* Reserve context prop on metadata and include in transports

* Update tests
2025-02-28 12:09:36 -06:00
Hailey a2b71e3a4b tweak link handling (#7857) 2025-02-27 13:18:30 -08:00
Minseo Lee ec75cbc01f Modify hosting provider text for better localization (#7847)
* Update HostingProvider.tsx

* Update src/components/forms/HostingProvider.tsx

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2025-02-26 07:36:31 -08:00
Samuel Newman 7dc8ba8e4e label pref alignment (#7844) 2025-02-25 19:50:01 -06:00
surfdude29 595a894551 translate hosting provider text (#7834) 2025-02-25 09:54:20 -08:00
Samuel Newman cc8369e868 Better tablet layout (#7656)
* better tablet layout

* adjust left nav spacing

* add right nav to pwi

* clearer logic

* fix a couple screens that don't need the tablet layout

* fix horiz scroll bar

* fix double trending

* fix ts-ignore

* fix labeller screen

* don't offset things within dialogs

* fix load latest button (and add scale animation)

* center loader on home screen

* adjust break points

* adjust left nav spacing

* fix load latest btn (again)

* add lang select to right nav if left nav is minimal

* fix double scrollbar on tiny screens

* fix scrollbar

* fix type errors
2025-02-25 09:20:37 -08:00
Eric Bailey 0437838649 Fix max height of dialog flatlists (#7839)
* Fix max height of dialog flatlists

* Remove unneeded wrapper to fix Close positioning

* Add wrapper back and fix with position static
2025-02-25 11:12:56 -06:00
Samuel Newman 9c5d92088d Constrain dropdown height to fit in the screen (#7730)
* constrain dropdown height with css variable

* fix duplicated dependency

* fix pendantic lockfile
2025-02-25 08:08:30 -08:00
Samuel Newman 6254cf020a Dedupe profile labels (#7833)
* dedupe labels

* apply to postalerts
2025-02-24 14:17:59 -08:00
surfdude29 3f879f0315 Tweak prompt title text when removing a feed (#7824) 2025-02-24 13:04:01 -08:00
surfdude29 9c739912a3 Tweak accessibility strings (#7822) 2025-02-24 12:59:55 -08:00
Samuel Newman f9392d4a96 Fix optimistic rendering of profile page (#7830)
* don't hold up rendering on starter packs

* add tab based on profile.associated

* move query into component, fix pending states
2025-02-24 11:50:52 -08:00
Samuel Newman ca7116ec3b connect inputs together in signup (#7809) 2025-02-21 11:25:42 -08:00
Samuel Newman e6bfeb1bab Fix android datepicker height (#7804)
* fix datepicker height

* fix suffixtext clipping
2025-02-21 11:10:51 -08:00
Samuel Newman fff625167f set minimum birthday to 13 years ago (#7808) 2025-02-21 10:59:27 -08:00
Samuel Newman 5d30111b78 Get sheet padding working consistently (#7798)
* tweak height/padding of iOS

* tweak android ratio calculation

* add a bit of extra padding to full height iOS to account for the bit below the safe area
2025-02-21 10:59:08 -08:00
Eric Bailey da45c42b6f [APP-1049] show label expiration in frontend (#7738)
* Add support for label exp to LabelsOnMeDialog

* Add exp to PostAlerts, align with LabelsOnMe UI

* Bump weight

* Improve translations

* Expiry should round up

* Add a little visual alignment hack
2025-02-18 09:45:46 -06:00
Eric Bailey 63ba0a436b [APP-1054] Add option to align web dialogs to top (#7760)
* Add option to align web dialogs to top

* Format

* Align all dialogs to top, with relative spacing on larger screens for better balance
2025-02-18 09:45:37 -06:00
Eric Bailey a51fc8e434 @atproto/api@next integration (#7344)
* Bump SDK

* Use consistent type in profile query

* Omit  from constraint for profile shadow

* Replace isRecord with isValidRecord in QuoteEmbed

* Omit type from constraint for old ProfileCard

* Omit type from constraint in profile queries where appropriate

* Use correct type for update profile mutation

* Conslidate and fix check for isValidRecord in Post.tsx

* Replace isRecord with isValidRecord in PostThreadItem

* Remove redundant cast in PostThreadFollowBtn

* Ignore errors in DebugMod screen

* Use matching type in ProfileFollows screen

* Use matching type in ProfileFollowers screen

* Migrate to isValidRecord in PostFeedItem

* Use matching type if PostRepostedBy

* Omit type from constraint in avatar props

* Use matching types in NotificationFeedItem

* Todo

* Use isValidRecord in NotfyFeedItem

* Improve MediaPreview types

* Migrate another isValidRecord in NotificationFeedItem

* Migrate to isValidView in queries/util

* Migrate to isValidRecord in threadgate/util

* Fix types in threadgates

* Fix up types in starter-packs queries

* Todo

* Specify exact types in search-posts

* Use internal type util to align types

* Ditto last

* Migrate postgate/index

* Specify exact types in post-thread

* Use correct type in post-quotes

* FIX potential bug in post-thread

* Use correct type in post-feed

* Add correct type guards to notifications/feed

* Migrate a guard in notifications/util

* Migrate guard in Wizard/State

* [@next] Profile handling, migrate `ProfileCard` (#7347)

* Introduce new utils for profiles, migrate old ProfileCard

* Rename, reorg

* Add parseEmbed utils

* Expand AnyProfileView to include chat profile view, update post shadow to reflect this

* Cast for perf reasons

* Tighten up types now that we have AnyProfileView

* Add fastIsType util

* Use `assertDid`

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>

* Use util types

* Comment

* Use fastIsType where no validation was happening before

* suggestions (#7382)

* suggestions

* Revert unneeded changes

---------

Co-authored-by: Eric Bailey <git@esb.lol>

* Use new util

* Rename to dangerousIsType

* Convert object shape

* Use dangerous util

* Use dangerous util

* Use dangerous util, we can trust post records

* Use dangerous util

* Use AnyProfileVIew

* Convert object shape

* Clean up handling

* Patch moderateProfile to accept known profile views, to discuss

* Add AnyStarterPackView and related, implement in first usage

* Remove validation, fix type, fix ref

* Migrate over list-conversations

* Clarify intent behind precacheProfile and its unstable query cache

* Clean up unstable profile cache

* Fix types during label creation in PwiOptOut (#7346)

* Tighten types in queries/list

* Chat: use correct profile views

* Chat: fix log type check

* Chat: construct lexically correct shape, even though it's only internal usage

* Chat: use correct profile types

* Chat: fix type check in logs

* Starter: use correct profile types

* Starter: use correct profile types

* Starter: tighten types to match lex

* Any profile type will work in blocked-and-muted

* Use dangerous util

* Use dangerousIsType

* Update new ProfileCard to use AnyProfileView

* Use dangerousIsType

* Remove outdated todo

* Use correct profile type

* Use correct profile types

* Tighten up types

* Use dangerousIsType

* Chat: more type fixes

* Remove unused file

* Add a few  utils

* Remove unused file

* Ignore feedPost.__source

* Clean up types, leave validation in critical path

* Use dangerousIstype

* Use ANyProfileView

* Use isValidRecord

* Use dangerousIsType

* Fix types in ListCard

* Fix FeedInterstitials types

* Fix types in FeedCard

* Fix types in dms ReportDialog

* Fix types in SearchablePeopleList

* Fix bad type in composer opts

* Starter: ok these need to be loose too

* Clarify docs

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>

* Less code

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>

* Use package exports

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>

* Use package exports

* Bump sdk, update $Typed imports

* Format

* Format

* Fix weird TS error

* Remove patch

* Beter name

* It's memo, can validate

* Tighten up parseEmbed, dogfood

* Bump sdk

* Use asPredicate

* Loosen types a bit

* use asPredicate

* Fix types

* Use asPredicate

* Use asPredicate

* Use asPredicate

* Clean up upsertProfile types

* Use asPredicate

* Use Un util

* Fix types

* Use new AnyProfileView

* Use dangerousIsType

* Use asPredicate

* Use asPredicate

* Add fallback content-type to pass typecheck

* Clean up upsertProfile types

* Align types

* Use dangerousIsType

* Use dangerousIsType

* Use asPredicate

* Align types

* Convert findLast

* Align types

* Just ignore type errors and use findLast

* Rename atproto -> bsky

* Add validate util

* Fix type error

* Loosen types

* Export post

* rename atp bsky

* Remove unused code

* minor changes

* Bump deps

* Fix types

* Tighten back up loose check

* Tighten back up loose check

* Fix small bug

* Update comment

* Revert change

---------

Co-authored-by: Matthieu Sieben <matthieusieben@users.noreply.github.com>
Co-authored-by: Matthieu Sieben <matthieu.sieben@gmail.com>
2025-02-18 08:54:25 -06:00
Minseo Lee d805dec08f Fix "log in", "log out" to "sign in", "sign out" (#7739)
* log to sign

* logged to signed
2025-02-17 10:52:06 -06:00
Minseo Lee f45f9afab7 Update PostInteractionSettingsDialog.tsx (#7726) 2025-02-13 14:48:44 -06:00
Samuel Newman a3f79cc714 Revert "fix quote & feed padding not being pressable (#7694)" (#7733)
This reverts commit 521a764d4f.
2025-02-13 14:56:12 +00:00
Samuel Newman db25f95c33 Improved search language select (#7591)
* replace with Menu

* new icon for native

* hackfix radix dropdown height

* fix jsx

* reduce language names with lots of variants to what firefox returns from Intl.DisplayNames

* more language label simplifications

* add collision padding

* adjust spacing around and left align title
2025-02-13 00:00:45 +00:00
Samuel Newman b37199a5a0 Improved search page (#7590)
* search input revamp

* fix web

* rm "useThemeNew"

* fix overlap during transition

* animate header properly

* reduce gap

* animate cancel button in

* don't move search bar when focused

* remove cancel button animation
2025-02-12 22:48:29 +00:00
Samuel Newman 66f5e3a833 Special treatment for recommended starter packs (#7706)
* special treatment for recommended starter packs

* update subtitle when SPs in recommended

* fix item height
2025-02-12 21:34:21 +00:00
Samuel Newman ff2a82d358 Animate dropdown menus (#7704)
* animate dropdowns

* rm unused animation
2025-02-12 21:20:08 +00:00
Samuel Newman 5d3e2e1467 Better animations for dialogs, animate web composer (#7703)
* animation atoms, use for modals

* respect reduced motion

* simplify animtions

* fix atoms
2025-02-12 21:18:26 +00:00
Samuel Newman 521a764d4f fix quote & feed padding not being pressable (#7694) 2025-02-12 19:17:58 +00:00
Eric Bailey 459611ca7a [APP-1031] Add new followerRule to threadgate settings (#7681)
* Add new followerRule to threadgate settings

* Handle WhoCanReply copy

* Handle follow case

* fix ci

* Revert "Handle follow case"

This reverts commit bc454dad89.

* Hide Follow button if followedBy rule enabled

* Revert "Revert "Handle follow case""

This reverts commit cadc46d2dc.

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2025-02-11 14:07:10 -08:00
Minseo Lee b1cc4a5e9f Refine accessibilityHint (#7554)
* `accessibilityHint`

* accessibilityHint

* Update

Co-Authored-By: jason-me <mail@jason-hester.me>

* Update LoginForm.tsx

---------

Co-authored-by: jason-me <mail@jason-hester.me>
2025-02-11 13:07:00 -08:00
Paul Frazee eabe3ed231 Add language: Interlingua (#7715)
* Add language: Interlingua

* Add ia entry in dates
2025-02-11 12:51:19 -08:00
Samuel Newman 98b7e95b46 Fix unknown threadgates causing crashes (#7692)
* fix unknown threadgates

* don't fuck with the styles
2025-02-07 22:56:37 +00:00
Hailey be1285ea36 simplify ui (#7670) 2025-02-06 12:40:16 -06:00
Eric Bailey 9cd4f92027 [APP-1013] Configure and apply default post interaction settings from user preferences (#7664)
* Add interaction settings screen

* Move header out of interaction settings form

* WIP hook it up

* Thread through default settings into composer

* Update copy pasta

* Handle edited state

* Copy feedback

* Sentence case

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* Update copy

* Bump SDK

* Fix new type error

* Less in your face

* Remove new dep

* Add slot

* Copy edit

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
2025-02-06 11:51:40 -06:00
Samuel Newman 083a5c9667 Fix slow Hosting Provider dialog (#7594)
* avoid portal perf pitfall

* add dep array
2025-02-03 22:50:21 +00:00
Samuel Newman 24a4ab2b0f make convo menu lazy (#7604) 2025-02-03 22:50:02 +00:00
Samuel Newman 32b28d6662 Fix convo header loading state (#7603)
* get initial convo state from cache

* undo useConvoQuery changes

* fix shadowing situation with new hook
2025-02-03 22:37:24 +00:00
Samuel Newman 23e62b18de Date input improvements (#7639)
* add max date, use modern field for birthday input

* rm legacy date input

* handle simplifying to simpleDateString internally

* update jsdoc
2025-02-03 20:27:58 +00:00
surfdude29 1ec0d11727 Typo fix (#7637)
* Update ReportDialog.tsx

* Update fr/messages.po

* Update it/messages.po

* Update ja/messages.po

* Update ko/messages.po

* Update zh-CN/messages.po

* Update zh-HK/messages.po

* Update zh-TW/messages.po
2025-02-03 13:06:37 +00:00
Hailey ebb6d5cc0f env var tweaks (#7457)
* add new events

* Discard changes to package.json

* Discard changes to src/lib/constants.ts

* Discard changes to src/state/feed-feedback.tsx

* Discard changes to yarn.lock

* remove unused event
2025-01-26 15:40:02 -08:00
Christian Schmidt 68c4737b82 Add Danish localization (#7220)
* Add Danish localization

* Fix

* Update src/locale/locales/da/messages.po

Co-authored-by: Frudrax Cheng <i@cynosura.one>

* Typo

* Inconsistent translation of "draft"

* Do not use "post" as verb

* Change "post"/"repost" to "opslag"/"videredeling"

* Fix "About"

* Fix

* Add to iOS config

* Sort alphabetically

* Typo fixes by @kseistrup

* Fix gender of "opslag"

* Plural

* "videredeling" > "deling"

* Be specific that ÆØÅ is not allowed

* Add new strings from main

---------

Co-authored-by: Frudrax Cheng <i@cynosura.one>
2025-01-24 11:55:25 -08:00
nilaallj 9cb3b59963 Add Swedish localization (#7232)
* Adding Swedish translation

* Fixes and improvements

* Fixes and improvements

* Fixed inconsistencies + some other improvements

* Made some improvements, added missing translations and added Swedish to app.config.js

* Force push to resolve conflicts in messages.po
2025-01-24 11:54:45 -08:00
REALSOULMAN 24afc9c89a Add Basque language ('eu') (#7479)
* Add Basque language

* Contributor's changes
2025-01-24 11:40:20 -08:00
Samuel Newman f1d120d416 Takendown state + in-app takedown appeals (#7566)
* takendown screen

* add form, move button inline

* expect type error

* display error

* disable submit if too long

* move around all the ctas

* typos, rm layoutanimation, fix link

* use REASONAPPEAL
2025-01-23 22:33:28 +00:00
Frudrax Cheng 53d4854ee6 Fix typo (#7553) 2025-01-22 22:25:35 +00:00
Samuel Newman 74bb65714b Post-report menu (#7446)
* post-report block/delete dialog

* fix

* default checked

* web styles

* add icon to send button

* wire everything up

* optimisically leave convo

* hide pending-leave convos

* Capitalize action labels

* Code style

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2025-01-22 21:03:31 +00:00
Eric Bailey 9df5caf3c5 Update hashtag menu to use Menu, convert to native link for additional a11y and click handling (#7529)
* Make tag a normal link on web

* Replace old TagMenu with new RichTextTag component, expand and improve click utils

* Clarify intents

* Ensure we're passing down hint

* ope

* DRY
2025-01-21 21:56:01 +00:00
Samuel Newman f0cc83154b move indicatorStyle to List (#7526) 2025-01-21 21:36:09 +00:00
Hailey 34582edf3e yolo (#7499)
* tweaks to constants (#7478)

* add did

* use correct did

* typo

* tweak

* Prevent Drawer gesture conflicting with Suggestions scroll (#7468)

* Extract BlockDrawerGeesture

* Block drawer when scrolling interstitials

(cherry picked from commit 9e3f2f4374)

* yolo interstitial

* yolo mode

* right swipe

* fix nav gesture

* vibe controls

* collapsible post text

* rm blurview, cover for tall videos

* smarter video source handling

* use thumbnails, improve perf significantly

* better android loading

* improve aspect ratio

* optimize source changes

* rm spinner on ios

* whoops, remove debug `false`

* FIX WRONG VIDEOS SHOWING UP

* don't spring on way down

* release video players when leaving screen

* remove jank animation

* Add grid

* improve contract, fix double tap

* Filter out posts without videos

* Only do grid on native

* Pipe through feedSourceUri and link to feed

* Handle passed through params

* Partial revert, just filter posts to start at index

* Clean up cards, remove entry interstitial

* Tweak handle

* Change constant name

* Rename some things

* Make types legit

* Clean up more naming

* Add placeholder for grid view

* Handle web, set up new organization

* Begin work on Header

* Replace types

* Squashed commit of the following:

commit 3d1be4c0f1
Author: Samuel Newman <mozzius@protonmail.com>
Date:   Fri Jan 17 01:08:05 2025 +0000

    extend animation

commit c9f199413b
Author: Samuel Newman <mozzius@protonmail.com>
Date:   Fri Jan 17 01:01:24 2025 +0000

    fix gap

commit 22e520795f
Author: Samuel Newman <mozzius@protonmail.com>
Date:   Fri Jan 17 00:50:16 2025 +0000

    thinner bar, format time

commit c32427f214
Author: Samuel Newman <mozzius@protonmail.com>
Date:   Fri Jan 17 00:47:57 2025 +0000

    fix 2 in 3 screens

commit cbf84c08d6
Author: Samuel Newman <mozzius@protonmail.com>
Date:   Fri Jan 17 00:45:46 2025 +0000

    rm unneeded var

commit 7e0e100177
Author: Samuel Newman <mozzius@protonmail.com>
Date:   Fri Jan 17 00:41:18 2025 +0000

    scrubberrrrr

* use white with opacity rather than gray

* Simultaneous gesture

* cleanup attempt

* fix jank

* link to profile on press

* fix jitter fr this time

* mostly fix android flicker

* Maybe fix row generation

* Add content hider to video card

* emoji in post text

* reduce update rate

* fix type error

* Fix grid layout trailing single item

* Add Discover interstitial, settings, includes pin for now

* Explore interstitial, handle dimissal, pinning, compact card

* Only use grid placeholder on native

* Update events

* Add feature gate

* android nav bar fixes + lower update speed

* fix interval + decel rate on interstitials

* attempt to fix broken scrub on android (not working)

* follow button

* Part out the interstitials for perf, add view more

* Remove prod web route

* Wrap interstitials with BlockDrawerGesture

* Bring video cropping in line with images (#7462)

* Mimic image cropping for videos on web

* Same on native

* Rename variables for clarity

* Fix Android scrubbing

* Add FeedFeedbackProvider

* Remove swipe gesture

* fix light status bar behaviour

* bump

* feedback

* Copy pasta to new location

* Copy pasta part deux

* Filter only videos

* Make whole text clickable to expand

(cherry picked from commit 4cf31120779f4e06eb4c296b3d4b53814d432b07)

* move scrubber to own file

* end card

* add icon to end card

* add min view time to viewability config

* play haptic on like

* tweak feedback

* tweak feedback again

* Moderation

(cherry picked from commit 6b6b471cfb363031284b3e7a1f6e0ade3ac4ae47)

* remove bad check

* fix feedback for new video grid

* change prop name to items as well

* Simplify logic

* Fix mod footer

* Give scrubber more space on android

* Add subtle track behind scrubber, adjust opacity

* wire in feed context again...

* Add better a11y desc to card

* Fix key issue

* Update a11y copy

* Fix scrubber height

* improve scrubber animation

* Make follow button more obvious

* Make header back button more clear

* Disable interactions with actual video el

* keep content away from the bottom safe area

* fix blur

* fix moderation issue

* improve contrast on mod screen

* Make moderation static per item

* Memoize rows

* Optimizations

* Take video moderation into account

* Only blur titles for list blur

* Change copy

* Bump blur radius

* animate text in both directions

* Rm unused field

* Filter by root early

* Refactor for clarity

* add compose prompt to scrubber

* rm log

* tweak gradient

* Bump SDK, use contentMode to power video feed

* Ensure ProfileFeed view also supports video feed

* improve scrubber on android

* rm border from footer

* Update prod video feed did

* Separate caches

* Add lil hover to View More

* Fix undefined logic, remove header for interstitial

* Ungate

* Fix stuckness

* remove extra useless map

* Fix effect cleanup

* Send seen without cleanup

* Simplify react stuff

* Earlier early return to avoid loading flash

* remove scrubber placeholder

* Remove opacity hack

* Render useEvent conditionally

* Fix Android flash

---------

Co-authored-by: dan <dan.abramov@gmail.com>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2025-01-19 17:17:41 -08:00