* WIP
* Clean up growthbook code, integrate into init and sessions
* Move everything out of React
* Add metrics client
* Move to separate file
* Shared metadata cache
* Ensure we update metadata when session ID changes
* Ensure userMetadata is cleared when logging out
* WIP revamp
* Integrate feature gates into analytics context
* Clean up old code
* Fix useMeta util
* Some comments and cleanup
* Add logger to base analytics context
* Refactor current route handling
* Rip out LogEvent from navigation
* Update tracking endpoint
* Migrate toClout
* Clear out statsig client
* Add todo, reset logger readme
* Ope fix statsig noop
* Refactor logging in feed-feedback, add debug logging to metrics client
* Remove LogEvents alias for Metrics
* Prefer root package export
* Remove Metrics alias from logger
* [APP-1782] Migrate to new analytics APIs (#9735)
* Migrate logEvent to useAnalytics
* Migrate logger.metric to useAnalytics
* Migrate tricky spot, fix types
* Migrate remaining tricky spot
* Missed one
* Remove metric() from logger
* Migrate useGate to useAnalytics
* Remove all other StatSig mentions
* Update event payload
* Update logger tests
* Mock expo method
* Fix session ID bug
* Add session ID test
* Add test for metrics client
* Clarify intent
* Clean up core analytics file
* Clean up the call once utils
* Fix TODO
* Fix TODO
* Fix TODO
* Fix TODO
* Fix TODO
* Remove debug code
* Fix navigation context
* OK nav context is not working, todo
* Checkpoint: works but feels hacky
* Fix navigation context issue
* Improve feature API
* Improve metric logging
* Update logger tests
* Adds welcome modal to logged-out homepage
* Adds metrics and feature gate for welcome modal
* Slightly smaller text for mobile screens to avoid wrapping
* Remove unused SVG
* Adds text gradient and "X" close button
* Fix color on "Already have an account?" text
* tweak hooks, react import
* rm stylesheet
* use hardcoded colors
* add focus guards and scope
* no such thing as /home
* reduce spacign
* use css animations
* use session storage
* fix animation fill mode
* add a11y props
* Fix link/button color mismatch, reduce gap between buttons, show modal until user dismisses it
* Fix "Already have an account?" line left-aligning in small window sizes
* Adds "dismissed" and "presented" metric events
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Working overlay, WIP
* Ok working with no overlay and global gesture handler
* Ok pretty good on native
* Cleanup
* Cleanup
* add animation
* add transform origin to animation
* Some a11y
* Improve colors
* Explicitly wrap gesture handler
* Add easier abstraction
* Web
* Fix animation
* Cleanup and remove provider
* Include demo for now
* Ok diff interface to avoid collapsed views
* Use dimensions hook
* Adjust overlap, clarify intent of consts
* Revert testing edits
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Direct port of embeds to new arch
(cherry picked from commit cc3fa1f6cea396dd9222486c633a508bfee1ecd6)
* Re-org
* Split out ListEmbed and FeedEmbed
* Split out ImageEmbed
* DRY up a bit
* Port over ExternalLinkEmbed
* Port over Player and Gif embeds
* Migrate ComposerReplyTo
* Replace other usages of old post-embeds
* Migrate view contexts
* Copy pasta VideoEmbed
* Copy pasta GifEmbed
* Swap in new file location
* Clean up
* Fix up native
* Add back in correct moderation on List and Feed embeds
* Format
* Prettier
* delete old video utils
* move bandwidth-estimate.ts
* Remove log
* Add LazyQuoteEmbed for composer use
* Clean up unused things
* Remove remaining items
* Prettier
* Fix imports
* Handle nested quotes same as prod
* Add back silenced error handling
* Fix lint
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* 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>
* 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>
* 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
* Add Greek language support to the application
* Add support for Greek language in date handling and tests
* Update Greek locale file with translator and team information
* Add support for Greek language in date handling and tests
* Add support for Greek language in app configuration, and updated translation from the reviewers' comments
* Update src/locale/i18n.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Update src/locale/i18n.ts
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* Rework discover-feed trending interstitial to take one row
* Fix loading state
* Try putting it at the top
* Color consistency
* Tweak some spacing
* Show trending when progress guide is there
* Order tweak in lingui.config.js
* Add new languages to `CFBundleLocalizations` key
* Order tweak in dates.ts
* hyphen to en-dash
* change two `zh` tags to use script rather than region
* `zh_HK` ➡️ `yue-Hant`
* `pt` ➡️ `pt-BR`
* Add "ast" locale support
* Add "ast" locale support
* Add "ast" locale support
* Add "ast" locale support
* Add "ast" locale support
* Add "ast" locale support
* Add "ast" translations
This commit adds preliminary translation support for "ast" locale. Around 20% is translated.
* Update "ast" locale translations
* Update "ast" translations
Fixes minor spelling mistakes and translates many strings more
* Update messages.po
With this commit we reach the 55% of strings translated after the last code sync
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Update languages.ts
added galician language
* Update i18n.web.ts
added import of galician translations file
* Update i18n.ts
added galician language
* Update helpers.ts
added galician to sanitizeLanguage function
* galician messages
First commit
* Second commit
* Third commit
* fourth commit
* fifth commit
* Update lingui.config.js
change to make available Galician language
* galician translation by Carlos Vieito and Alexandre Espinosa
---------
Co-authored-by: Alexandre Espinosa Menor <aemenor@gmail.com>
* Initial polish translation sweep
* rewrite feeds page flavor text
* bring up to date with dev branch, revisit some strings
* redoing some more...
* bring up to date
* rm dead strings, try out a different phrasing for threaded mode str
prev translation was nonsensical - we're already calling threads "wątki". let's try "recursive tree" instead to describe what threaded mode does
* tweaks here and there
* more tweaks. sign translation file
TL note: trying a new space-saving translation for send via direct message, old one made the context menu stretch
* space-saving translations for profile tabs
* up to date
* tl latest changes
* some small fixes
* few more tweaks around profile editing strings
* i dislike gendered languages
* yet more tweaks
* Update dates.ts
* Review suggestions (1)
* tiny fixes
* Review suggestions (2)
* Review suggestions (3)
* Review suggestions (4)
* "Anuluj wyciszenie"
* A few new strings
* Remove dead strings again
* Review suggestions (5)
* te -> to
---------
Co-authored-by: Frudrax Cheng <i@cynosura.one>