* 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
* Upgrade ESLint to v9 with flat config
- Upgrade eslint from v8 to v9.18.0
- Migrate from .eslintrc.js to eslint.config.mjs (flat config)
- Upgrade typescript-eslint to v8.20.0 (unified package)
- Replace eslint-plugin-import with eslint-plugin-import-x for flat config support
- Add globals package for environment globals
- Update eslint-plugin-bsky-internal with proper meta objects for ESLint v9
- Fix deprecated context.getScope() API usage
- Update bskyembed to use flat config
- Remove deprecated --ext flag from lint scripts
- Configure rules to maintain previous behavior while using new ESLint version
* Fix varsIgnorePattern to require character after underscore
Restore the original pattern `^_.+` instead of `^_` so that lingui's
`const { _ } = useLingui()` will still be flagged when unused.
* Update ESLint rule tests for flat config format
- Update RuleTester to use flat config languageOptions instead of
eslintrc parser format
- Remove duplicate test case that ESLint v9 now detects
- Add Jest globals for test files
* update eslint package versions
* lint android a11y
* enable typechecked rules, switch them to warn
* fix yarn lock ci
* Fix CI failure
* Remove unused globals?
* Organize a bit, add quiet to main lint command
* Allow ternary
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* prevent flash of wrong theme on startup
* move bg color to #root
* Update and use existing system
* Darken slightly, better contrast
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* fix: make logo show in qr code by absolutely positioning svg on top of it
* fix: remove log and add explanation comment
* fix: only apply qrcode fix to web
Co-authored-by: Elijah Seed-Arita <elijaharita@gmail.com>
* Add cashtag support for stock ticker discussions
Display cashtags ($TICKER format) as clickable links with dedicated menu actions and search feed, alongside hashtags. Includes composer highlighting and proper formatting.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* Fix cashtag search query to use # prefix
Cashtags need to be searched as "#$BTC" rather than just "$BTC" to work
with the search API.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Update @atproto/api to 0.18.14 with cashtag support
The updated package includes native CASHTAG_REGEX detection for stock
ticker symbols like $AAPL and $BTC.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fix todo, remove redundant validation
---------
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>