Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ops: promote 6.2 #3850

Merged
merged 340 commits into from
Aug 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
2061316
docket-proxy: mitm docket to inject custom headers
Fang- Jul 31, 2024
94564e7
native: add ability to edit gallery and notebook posts
patosullivan Jul 31, 2024
94d0651
Avoid passing channelType around
patosullivan Jul 31, 2024
1b8e638
Update packages/shared/src/store/sync.ts
latter-bolden Jul 31, 2024
89cf394
Merge pull request #3808 from tloncorp/lb/start-sync-fixes
latter-bolden Jul 31, 2024
13a4238
update glob: [skip actions]
invalid-email-address Jul 31, 2024
0323536
add basic manual bug reporter
latter-bolden Jul 31, 2024
f727bf9
native: move from in-app context/drilled props to GroupOptionsContext…
jamesacklin Jul 31, 2024
61c9dcb
native: potentially return null from GroupOptionsProvider (to handle …
jamesacklin Jul 31, 2024
9ba3b13
native: conditionally wrap channel screen in GroupOptionsProvider, im…
jamesacklin Jul 31, 2024
52e193f
add battery & network state logging to crash reports, add debug bread…
latter-bolden Jul 31, 2024
7124284
native: always wrap in a provider, allow to return null, and let cons…
jamesacklin Jul 31, 2024
30ebf23
dependency inject to fix test compilation
latter-bolden Jul 31, 2024
67e0454
dependency inject to fix test compilation
latter-bolden Jul 31, 2024
fe74b06
Add Tlon to new app group
davidisaaclee Jul 18, 2024
6356c63
Create NSE target
davidisaaclee Jul 18, 2024
ee87aea
Add Notifications target to app group
davidisaaclee Jul 18, 2024
9b584da
Embed Notifications target in Tlon preview
davidisaaclee Jul 18, 2024
14ce915
Add Tlon preview to (same) app group
davidisaaclee Jul 18, 2024
80d54ff
Reorder build phases to avoid false circular dependency detection
davidisaaclee Jul 18, 2024
b9db7ab
Remove unnecessary nil coalesce
davidisaaclee Jul 19, 2024
021e0ae
Autofix
davidisaaclee Jul 19, 2024
e46d27c
Move login storage logic out of UrbitModule
davidisaaclee Jul 19, 2024
6010380
Stop PocketAPI being static singleton
davidisaaclee Jul 19, 2024
7760267
[wip] Split file along dependency boundary
davidisaaclee Jul 24, 2024
78553f7
Assign files to Notifications target; add necessary SPM packages
davidisaaclee Jul 24, 2024
157cdbe
Give Landscape-preview a unique SWIFT_MODULE_NAME
davidisaaclee Jul 24, 2024
1d16e01
Dyanmically import Swift->ObjC header based on Swift module
davidisaaclee Jul 24, 2024
db5c312
[fixup] Add SimpleKeychain dep to Landscape target
davidisaaclee Jul 24, 2024
3b8520f
Create separate target for Notifications-preview
davidisaaclee Jul 24, 2024
daa8cc0
Override UserDefaults.standard to access app group store
davidisaaclee Jul 24, 2024
69f250f
[fixup] Create separate target for Notifications-preview
davidisaaclee Jul 24, 2024
82ffe62
[fixup] Override UserDefaults.standard to access app group store
davidisaaclee Jul 24, 2024
3b5af15
Remove unused import
davidisaaclee Jul 24, 2024
6774469
Add file to NSE targets
davidisaaclee Jul 26, 2024
cdf07f6
Factor out notification helpers for reuse
davidisaaclee Jul 26, 2024
fa2ad17
Fetch and format alert using NSE
davidisaaclee Jul 26, 2024
47905e8
Get NSE notification payload correctly when tapping
davidisaaclee Jul 26, 2024
9ef07f2
Move all multi-target source files to `Shared` group
davidisaaclee Jul 26, 2024
ab472e2
Add and use separate preview app group
davidisaaclee Jul 26, 2024
1b98cef
Rename file to match contents
davidisaaclee Jul 26, 2024
f6acdae
Fix typo in TlonDefaultUserDefaults setting
davidisaaclee Jul 29, 2024
204fe80
Remove authCookie from storage
davidisaaclee Jul 29, 2024
0418a6c
Access cookies from app group cookie storage when using Alamofire
davidisaaclee Jul 31, 2024
e50c02a
Change TlonDefaultUserDefaultsSuiteName -> TlonDefaultAppGroup
davidisaaclee Jul 31, 2024
04ab610
Use config to set HTTPCookieStorage per target
davidisaaclee Jul 31, 2024
b05b9ed
Forward changes to HTTPCookieStorage.shared from host to app group store
davidisaaclee Jul 31, 2024
335564d
Rename UserDefaults.appGroup -> forDefaultAppGroup for consistency
davidisaaclee Jul 31, 2024
50125fc
Use active interruptionLevel instead of timeSensitive
davidisaaclee Jul 31, 2024
e1fd893
Update Podfile.lock
davidisaaclee Jul 31, 2024
3322c84
Remove SimpleKeychain dependency
davidisaaclee Jul 31, 2024
1e6a508
Add simple implementation of logWithDomain
davidisaaclee Jul 31, 2024
ee4f2a3
Remove template code
davidisaaclee Jul 31, 2024
de96cbb
Avoid cycle in Landscape target build
davidisaaclee Aug 1, 2024
b54dc92
Revert SWIFT_MODULE_NAME to be Landscape for both app targets
davidisaaclee Aug 1, 2024
7ae81d5
add crumbs for post/reply sending, message delivery, image uploads, a…
latter-bolden Aug 1, 2024
3794397
make but report input/button remain visible when keyboard open
latter-bolden Aug 1, 2024
142a962
Merge pull request #3812 from tloncorp/ja/group-options-provider
jamesacklin Aug 1, 2024
5cbab43
downgrade battery dep
latter-bolden Aug 1, 2024
7b53429
respect arcane mysteries i guess?
latter-bolden Aug 1, 2024
1da7e5c
podfile
latter-bolden Aug 1, 2024
05f193d
Merge branch 'develop' into lb/bug-reports
latter-bolden Aug 1, 2024
1b2429b
android fixes
latter-bolden Aug 1, 2024
dca0694
remove bad compiled includes
latter-bolden Aug 1, 2024
4a5f865
remove stray log, no need to pass nav logger differently
latter-bolden Aug 1, 2024
a13441c
size not fontSize silly
latter-bolden Aug 1, 2024
f8a3b7e
Merge pull request #3814 from tloncorp/lb/bug-reports
latter-bolden Aug 1, 2024
78e16ce
update glob: [skip actions]
invalid-email-address Aug 1, 2024
450cb39
Merge pull request #3811 from tloncorp/po/tlon-2429-and-tlon-2430-edi…
latter-bolden Aug 1, 2024
fe46ef9
Merge pull request #3813 from tloncorp/dil/notif-ext
latter-bolden Aug 1, 2024
2d6c5e2
update glob: [skip actions]
invalid-email-address Aug 1, 2024
f657fb5
Revert UrbitModule.setUrbit signature to original to match Android
davidisaaclee Aug 1, 2024
0d5e237
Merge pull request #3815 from tloncorp/dil/fix-urbitmodule-inconsiste…
davidisaaclee Aug 1, 2024
a2abb53
join-requests: adding in activity and members screen
arthyn Aug 1, 2024
7347b8d
Point Landscape-preview scheme to correct extension dependency
davidisaaclee Aug 1, 2024
a7cc2d7
Merge pull request #3817 from tloncorp/dil/point-preview-to-correct-e…
davidisaaclee Aug 1, 2024
26429e2
add favorite group editing
latter-bolden Aug 2, 2024
5199fd3
make tsc happy
latter-bolden Aug 2, 2024
fe2c8d5
a little cleanup
latter-bolden Aug 2, 2024
0c94fc6
add user profile screen
latter-bolden Aug 2, 2024
c704f10
fix for empty profs
latter-bolden Aug 2, 2024
181c430
fixture
latter-bolden Aug 2, 2024
c0cb43c
storage-actions: add required header for digital ocean
arthyn Aug 2, 2024
2ef6de1
Merge pull request #3821 from tloncorp/hm/fix-digital-ocean-uploads
arthyn Aug 2, 2024
57cde52
fix pending channel behavior, wire up message button from profile page
latter-bolden Aug 3, 2024
cca044b
wire up block
latter-bolden Aug 3, 2024
b489620
add user ID copying and safe area bottom inset
latter-bolden Aug 5, 2024
75ef19b
various: support "restoring" from egg-any backups
Fang- Aug 5, 2024
35c252a
Merge branch 'develop' into hm/fix-join-requests
arthyn Aug 5, 2024
6210546
ops: podfile lock update
arthyn Aug 5, 2024
b19ff93
make sure we grab metadata previews for profile favorite groups
latter-bolden Aug 5, 2024
47d63f8
groups: properly join self-hosted groups
Fang- Aug 5, 2024
7504823
various: remove REVIEW comments
Fang- Aug 5, 2024
ca11e00
activity: dont use now.bowl when reading
arthyn Aug 5, 2024
3580947
move to sheet
latter-bolden Aug 6, 2024
f04c2e3
wip stash
latter-bolden Aug 6, 2024
ca8107f
secondary fave groups styling
latter-bolden Aug 6, 2024
c894f07
remove favorite groups edit screen
latter-bolden Aug 6, 2024
0d094f3
better nav routing when clicking profile message button
latter-bolden Aug 6, 2024
cbe14dc
more cleanup
latter-bolden Aug 6, 2024
cfcb178
Merge branch 'develop' into lb/neo-prof
latter-bolden Aug 6, 2024
42db611
renaming
latter-bolden Aug 6, 2024
6071ccf
more rename
latter-bolden Aug 6, 2024
bfb5239
disable loggers, consolidate utils
latter-bolden Aug 6, 2024
9f3cc73
use theme colors
latter-bolden Aug 6, 2024
9faeea6
oops remove sortUtils export
latter-bolden Aug 6, 2024
df7c84d
groups: fixing auto add after knock
arthyn Aug 6, 2024
18809e1
join-requests: making sure live updates happen, bell and dots triggered
arthyn Aug 6, 2024
5b9814f
reuse enabled while still ensuring pending chans dont show as loading
latter-bolden Aug 6, 2024
58b48e4
hide last post info in favorite display
latter-bolden Aug 6, 2024
64028aa
native: render optimization (#3820)
dnbrwstr Aug 6, 2024
88c8d51
group-join: fix blank route issue
arthyn Aug 6, 2024
90d1bb0
unreads: update tests
arthyn Aug 6, 2024
825dfd4
Merge branch 'develop' into lb/neo-prof
latter-bolden Aug 6, 2024
ab02063
ops: turn off loggers
arthyn Aug 6, 2024
0e3559f
Merge pull request #3819 from tloncorp/lb/neo-prof
latter-bolden Aug 6, 2024
6b1b6ea
Merge pull request #3810 from tloncorp/m/docket-proxy
Fang- Aug 6, 2024
0f050c7
update glob: [skip actions]
invalid-email-address Aug 6, 2024
168f940
notification: fix paths for notebooks and galleries
arthyn Aug 6, 2024
2fa95ea
activity: fix issue with latest time not in events and bumping
arthyn Aug 6, 2024
1274e6c
Merge branch 'develop' into lb/notif-sheet
latter-bolden Aug 7, 2024
09e4501
revert to web volume setting
latter-bolden Aug 7, 2024
668bb6f
handle base volume in sync and sub events
latter-bolden Aug 7, 2024
c45f99c
get basic sheet working
latter-bolden Aug 7, 2024
b118033
types
latter-bolden Aug 7, 2024
0b1fb85
Merge branch 'develop' into hm/fix-join-requests
arthyn Aug 7, 2024
dba4c97
ops: fixing imports
arthyn Aug 7, 2024
b65483f
ops: reverting swift changes
arthyn Aug 7, 2024
fecd2bd
queries: be defensive about empty arrays
arthyn Aug 7, 2024
e1b0f0a
activity-screen: collapse gotogroup
arthyn Aug 7, 2024
45d6a5c
activity-summary: reuse header across types
arthyn Aug 7, 2024
04d6461
notification: remove errant console log
arthyn Aug 7, 2024
4fd039a
group-members: clarify handler
arthyn Aug 7, 2024
c5e9838
Merge pull request #3823 from tloncorp/hm/dont-bump-when-reading
arthyn Aug 7, 2024
752efe9
groups: use join-all values
arthyn Aug 7, 2024
3eed41f
Merge pull request #3816 from tloncorp/hm/fix-join-requests
arthyn Aug 7, 2024
ab95618
update glob: [skip actions]
invalid-email-address Aug 7, 2024
fe103b3
activity: safer list handling
arthyn Aug 7, 2024
67654ea
activity: better referencing
arthyn Aug 7, 2024
4857c58
Merge pull request #3824 from tloncorp/hm/fix-notification-paths
arthyn Aug 7, 2024
8b94696
update glob: [skip actions]
invalid-email-address Aug 7, 2024
20e9bf1
various: update import logic
Fang- Aug 7, 2024
6f7b378
negotiate: pluck self out of egg-any imports
Fang- Aug 7, 2024
b0a3d30
notify: only handle authenticated http requests
Fang- Aug 7, 2024
7940aea
external-resources: add crossorigin anonymous to everything dynamically
arthyn Aug 7, 2024
9fed599
Merge pull request #3826 from tloncorp/m/notify-security
Fang- Aug 8, 2024
62f50f8
Merge pull request #3827 from tloncorp/hm/new-cors-handling
arthyn Aug 8, 2024
67cae10
update glob: [skip actions]
invalid-email-address Aug 8, 2024
e78b4fc
Use package.json-blessed core entry point for sigil-js
davidisaaclee Aug 8, 2024
2dc6496
ops: reverting COEP changes
arthyn Aug 8, 2024
efe1731
Merge pull request #3828 from tloncorp/hm/rip-out-coep
arthyn Aug 8, 2024
c222909
update glob: [skip actions]
invalid-email-address Aug 8, 2024
faeb812
channels: don't crash during "double join"
Fang- Aug 8, 2024
1eff924
activity: ensure base index is _always_ there
Fang- Aug 8, 2024
c553670
native: fix issue with notebook input being obscured
patosullivan Aug 8, 2024
2a489d2
groups: use groups data from import
Fang- Aug 8, 2024
d684bce
Merge pull request #3829 from tloncorp/po/tlon-2525-fix-notebook-input
patosullivan Aug 9, 2024
f29bcda
Add new app package skeleton
patosullivan Aug 9, 2024
4f679f6
native: hide menu button on detail views
patosullivan Aug 9, 2024
71436bf
Merge pull request #3831 from tloncorp/po/native-hide-menu-button-on-…
patosullivan Aug 9, 2024
a7f9e30
imports: ensure imports happen in explicit order
Fang- Aug 9, 2024
4b0f780
channels: proper state migration
Fang- Aug 9, 2024
659be42
get ChatListScreen working in app package, for mobile
patosullivan Aug 9, 2024
4ef013b
switch to demonstrating with ActivityScreen and Controller rather tha…
patosullivan Aug 9, 2024
975914b
Add test script to app package, remove from tlon-mobile package for now
patosullivan Aug 9, 2024
950435f
chkpt
davidisaaclee Aug 9, 2024
773159d
groups: prod members for re-join post-import
Fang- Aug 12, 2024
2f64195
native: chat options sheets + screens (#3832)
dnbrwstr Aug 12, 2024
0d481ab
update glob: [skip actions]
invalid-email-address Aug 12, 2024
aed1fbd
native: fix for retries sent as notices
patosullivan Aug 12, 2024
dcf7020
Match react-native-safe-area-context dependency spec to ui package
davidisaaclee Aug 12, 2024
c67f014
Merge branch 'develop' into po/tlon-2238-desktop-app
patosullivan Aug 12, 2024
595f359
fix type issues
patosullivan Aug 12, 2024
53ba5de
Enable Metro resolver.unstable_enablePackageExports
davidisaaclee Aug 12, 2024
2eb6d7b
Merge pull request #3834 from tloncorp/po/tlon-2488-retries-sent-as-n…
patosullivan Aug 12, 2024
b4268d6
Remove workaround for importing react-tweet/api
davidisaaclee Aug 12, 2024
c3e7e6e
channels-server: send wake alert after import
Fang- Aug 12, 2024
61989e0
Merge branch 'develop' into m/import-support
Fang- Aug 12, 2024
9df1629
Move ChatListScreen to app package
patosullivan Aug 12, 2024
e1732f8
Allow passing properties to posthog.trackError
davidisaaclee Aug 12, 2024
fa73ab5
Move ChannelScreen and ChannelSearchScreen to app package
patosullivan Aug 12, 2024
2165879
Prevent crash on missing notification payload
davidisaaclee Aug 12, 2024
3015b08
Move ProfileScreen over to app package, make sure NavBarView always h…
patosullivan Aug 12, 2024
481a8f5
Move PostScreen and GroupChannelsScreen over to app package
patosullivan Aug 12, 2024
6e8eadd
Merge pull request #3833 from tloncorp/po/tlon-2238-desktop-app
patosullivan Aug 12, 2024
bde3c81
Only post notification data if isTlonEmployee
davidisaaclee Aug 12, 2024
15f692e
Merge remote-tracking branch 'origin/develop' into dil/missing-notif-…
davidisaaclee Aug 12, 2024
c94d7f1
Merge pull request #3835 from tloncorp/dil/missing-notif-payload-quic…
davidisaaclee Aug 12, 2024
28d070d
pending-chats: split out from current chats to fetch less
arthyn Aug 12, 2024
a772e45
pinned: switch to pins only query and clean up invalidation
arthyn Aug 13, 2024
6181d28
activity: import indices also
Fang- Aug 13, 2024
6b7a2c2
storage: use de-sigged patp since that was previously used
arthyn Aug 13, 2024
ffabf76
channels: update comment
Fang- Aug 13, 2024
101e27f
Correctly pass font size and context down to ContentRenderer, Content…
jamesacklin Aug 13, 2024
4d44e5b
Left-align Activity text in screen header
jamesacklin Aug 13, 2024
9307bb4
Clean up Activity layout elements, restore light-blue background for …
jamesacklin Aug 13, 2024
979d653
Forgot a chance to GroupActivitySummary for the background color
jamesacklin Aug 13, 2024
f5f4639
Merge branch 'develop' into native-group-volume
patosullivan Aug 13, 2024
ea04c27
Disable PostHog in tests
davidisaaclee Aug 13, 2024
ad1d10c
Clean comment
davidisaaclee Aug 13, 2024
945792e
Add test IDs for login text inputs
davidisaaclee Aug 13, 2024
e234809
group context: allow disabling background fetching
arthyn Aug 13, 2024
694ec5a
query: remove incorrect check
arthyn Aug 13, 2024
ed355c5
Add simple Jest config
davidisaaclee Aug 13, 2024
8baf568
Add minimal set of mocks for App test
davidisaaclee Aug 13, 2024
de356fb
Add minimal single-component UI test
davidisaaclee Aug 13, 2024
09ae3bc
Add App login UI test
davidisaaclee Aug 13, 2024
1993dae
Update pnpm lockfile (sorry)
davidisaaclee Aug 13, 2024
5a129eb
Merge remote-tracking branch 'origin/develop' into dil/ui-tests
davidisaaclee Aug 13, 2024
547457f
Prevent tests creating DB file when run
davidisaaclee Aug 13, 2024
645ac93
Remove unused import
davidisaaclee Aug 13, 2024
c88393f
Use `moduleResolution: bundler` for ui package
davidisaaclee Aug 13, 2024
c012a17
Remove off-spec tsconfig entry
davidisaaclee Aug 13, 2024
d32be68
Import Jest helpers explicitly
davidisaaclee Aug 13, 2024
00e9312
Remove obsolete paths mapping
davidisaaclee Aug 13, 2024
94ecdcb
Stop lying about name of better-sqlite3 connection
davidisaaclee Aug 13, 2024
3d8f914
Add comments
davidisaaclee Aug 13, 2024
268c722
Move test dependencies to be devDependencies
davidisaaclee Aug 13, 2024
167f42e
Merge pull request #3838 from tloncorp/ja/activity-visual-tweaks
jamesacklin Aug 14, 2024
99635fa
Merge pull request #3830 from tloncorp/m/import-support
Fang- Aug 14, 2024
6378d69
Merge pull request #3836 from tloncorp/hm/use-historical-s3-path
arthyn Aug 14, 2024
0a5315f
Merge branch 'develop' into hm/reduce-overfetching
arthyn Aug 14, 2024
26166c2
Conditionally disable Tamagui optimizing compiler for tests
davidisaaclee Aug 14, 2024
3c44cb0
Revert "Conditionally disable Tamagui optimizing compiler for tests"
davidisaaclee Aug 14, 2024
98c07ce
Merge pull request #3841 from tloncorp/dil/ui-tests
davidisaaclee Aug 14, 2024
444aa8d
vite: reference assets correctly
arthyn Aug 14, 2024
c46aec3
ops: pr cleanup
arthyn Aug 14, 2024
da7034d
Merge pull request #3840 from tloncorp/hm/reduce-overfetching
arthyn Aug 14, 2024
28d92fa
update glob: [skip actions]
invalid-email-address Aug 14, 2024
736bf57
basic exception handling for top level notif setting
latter-bolden Aug 14, 2024
ac6381b
Merge pull request #3842 from tloncorp/hm/fix-favicon-urls
arthyn Aug 15, 2024
adbedef
update glob: [skip actions]
invalid-email-address Aug 15, 2024
53a2494
fix bugs
latter-bolden Aug 15, 2024
b47a628
Merge branch 'develop' into native-group-volume
latter-bolden Aug 15, 2024
b1ee178
cleanup
latter-bolden Aug 15, 2024
05f7a61
remove radio group
latter-bolden Aug 15, 2024
9c13ec1
fix bugged empty channel placeholder, fix channel perm insertion
latter-bolden Aug 15, 2024
1a6ce1a
require channels to be hush to be considered muted
latter-bolden Aug 15, 2024
435f2d4
Merge pull request #3844 from tloncorp/lb/chan-perm-fix
latter-bolden Aug 15, 2024
f0d98ec
update glob: [skip actions]
invalid-email-address Aug 15, 2024
ce4e39e
Merge pull request #3825 from tloncorp/native-group-volume
latter-bolden Aug 15, 2024
260646e
update glob: [skip actions]
invalid-email-address Aug 15, 2024
2ab9f8b
native: update action sheets for consistency (#3839)
dnbrwstr Aug 16, 2024
7f49611
add getChats relation dep, remove screen blur freezing
latter-bolden Aug 16, 2024
ef78f2d
Merge pull request #3845 from tloncorp/lb/unread-fix
latter-bolden Aug 16, 2024
a7b100a
update glob: [skip actions]
invalid-email-address Aug 16, 2024
07bff09
Enable subscribing to changes in feature flag values
davidisaaclee Aug 19, 2024
bee9204
Merge pull request #3848 from tloncorp/dil/feature-flags-zustand
davidisaaclee Aug 19, 2024
63097ff
activity: fix type error
arthyn Aug 20, 2024
72e503c
ops: version bump
arthyn Aug 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 20 additions & 8 deletions apps/tlon-mobile/.env.sample
Original file line number Diff line number Diff line change
@@ -1,18 +1,30 @@
# Should only need these two to get started
# running locally
NOTIFY_PROVIDER=wannec-dozzod-marnus
NOTIFY_SERVICE=groups-native-dev
NOTIFY_SERVICE=tlon-preview-debug

# Prefills auth flow for quicker logins
DEFAULT_TLON_LOGIN_EMAIL=
DEFAULT_TLON_LOGIN_PASSWORD=
DEFAULT_SHIP_LOGIN_URL=
DEFAULT_SHIP_LOGIN_ACCESS_CODE=

# If you have to run against the hosting test cluster, use
# these (should leave blank in most cases)
API_URL=https://test.tlon.systems
SHIP_URL_PATTERN=https://{shipId}.test.tlon.systems

# Other env vars that are set in production, use as needed
# for local testing
POST_HOG_API_KEY=
API_AUTH_USERNAME=
API_AUTH_PASSWORD=
API_URL=https://test.tlon.systems
SHIP_URL_PATTERN=https://{shipId}.test.tlon.systems
DEFAULT_LURE=
DEFAULT_PRIORITY_TOKEN=
RECAPTCHA_SITE_KEY_ANDROID=
RECAPTCHA_SITE_KEY_IOS=
DEFAULT_TLON_LOGIN_EMAIL=
DEFAULT_TLON_LOGIN_PASSWORD=
DEFAULT_SHIP_LOGIN_URL=
DEFAULT_SHIP_LOGIN_ACCESS_CODE=
ENABLED_LOGGERS=query,sync
IGNORE_COSMOS=false
TLON_EMPLOYEE_GROUP=
TLON_EMPLOYEE_GROUP=
BRANCH_KEY=
BRANCH_DOMAIN=
18 changes: 16 additions & 2 deletions apps/tlon-mobile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ sdk.dir = /Users/<user>/Library/Android/sdk
Create a keystore file for Android

```sh
cd android/app
cd apps/tlon-mobile/android/app
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
```

Expand Down Expand Up @@ -88,6 +88,20 @@ If your Metro bundler is running the `io.tlon.groups` package instead, you can e
pnpm bundler --dev-client --scheme io.tlon.groups.preview
```

#### Troubleshooting

If you see this while trying to run on an Android device

```
INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package io.tlon.groups signatures do not match the previously installed version; ignoring!
```

you first need to uninstall the existing app from the device using `adb`:

```sh
adb uninstall io.tlon.groups
```

## Debugging

### Dev tools
Expand All @@ -114,7 +128,7 @@ See `.env.sample` for other configurable env variables.
Update environment variables to use one of the following debug notify services for testing push notifications when building to devices:

```
# Preview Debug
# Preview Debug (preferred for now)
NOTIFY_PROVIDER=wannec-dozzod-marnus
NOTIFY_SERVICE=tlon-preview-debug
```
Expand Down
3 changes: 3 additions & 0 deletions apps/tlon-mobile/__mocks__/@dev-plugins/async-storage.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { jest } from '@jest/globals';

export const useAsyncStorageDevTools = jest.fn();
3 changes: 3 additions & 0 deletions apps/tlon-mobile/__mocks__/@dev-plugins/react-navigation.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { jest } from '@jest/globals';

export const useReactNavigationDevTools = jest.fn();
3 changes: 3 additions & 0 deletions apps/tlon-mobile/__mocks__/@dev-plugins/react-query.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { jest } from '@jest/globals';

export const useReactQueryDevTools = jest.fn();
12 changes: 12 additions & 0 deletions apps/tlon-mobile/__mocks__/@op-engineering/op-sqlite.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { jest } from '@jest/globals';
// Mock OPSQLite modules to use better-sqlite3 instead.
import Database from 'better-sqlite3';

module.exports = {
// Disregard requested database name; use an in-memory database
open: () => new Database(),

// https://github.com/OP-Engineering/op-sqlite/issues/98#issuecomment-2122820151
isSQLCipher: jest.fn(),
moveAssetsDatabase: jest.fn(),
};
33 changes: 33 additions & 0 deletions apps/tlon-mobile/__mocks__/@react-native-community/netinfo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import {
NetInfoState,
NetInfoStateType,
} from '@react-native-community/netinfo';

type Fetch = (requestedInterface?: string) => Promise<NetInfoState>;

export const fetch: Fetch = async (_requestedInterface) => {
return {
type: NetInfoStateType.wifi,
isConnected: true,
isInternetReachable: true,
details: {
ssid: null,
bssid: null,
strength: null,
ipAddress: null,
subnet: null,
frequency: null,
linkSpeed: null,
rxLinkSpeed: null,
txLinkSpeed: null,
isConnectionExpensive: false,
},
};
};

export const addEventListener = jest.fn(() => {
const unsubscribe = () => {};
return unsubscribe;
});

export default { addEventListener };
9 changes: 9 additions & 0 deletions apps/tlon-mobile/__mocks__/react-native-branch.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { jest } from '@jest/globals';

export default {
subscribe: jest.fn(() => {
// return an unsubscribe mock
return jest.fn();
}),
disableTracking: jest.fn(),
};
15 changes: 15 additions & 0 deletions apps/tlon-mobile/__mocks__/react-native-screens.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { jest } from '@jest/globals';
import { View } from 'react-native';

export const enableScreens = jest.fn();
export const ScreenContainer = View;
export const Screen = View;
export const NativeScreen = View;
export const NativeScreenContainer = View;
export const ScreenStack = View;
export const ScreenStackHeaderConfig = View;
export const ScreenStackHeaderSubview = View;
export const ScreenStackHeaderRightView = View;
export const ScreenStackHeaderLeftView = View;
export const ScreenStackHeaderTitleView = View;
export const ScreenStackHeaderCenterView = View;
7 changes: 7 additions & 0 deletions apps/tlon-mobile/__mocks__/react-native-webview.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// https://github.com/react-native-webview/react-native-webview/issues/2959#issuecomment-1695757917
import React from 'react';
import { View } from 'react-native';

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const WebView = (props: any) => <View {...props} />;
export default WebView;
24 changes: 24 additions & 0 deletions apps/tlon-mobile/__mocks__/react-native.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { jest } from '@jest/globals';

// eslint-disable-next-line @typescript-eslint/no-explicit-any
const originalModule = jest.requireActual('react-native') as any;

originalModule.NativeModules.SettingsManager = {
settings: {
AppleLocale: 'en-US',
AppleLanguages: ['fr-FR', 'en-US'],
},
};

originalModule.NativeModules.UrbitModule = {
clearUrbit: jest.fn(),
setUrbit: jest.fn(),
};

Object.defineProperty(originalModule, 'Settings', {
get: jest.fn(() => {
return { get: jest.fn(), set: jest.fn(), watchKeys: jest.fn() };
}),
});

module.exports = originalModule;
2 changes: 2 additions & 0 deletions apps/tlon-mobile/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
enabledLoggers: process.env.ENABLED_LOGGERS,
ignoreCosmos: process.env.IGNORE_COSMOS,
TlonEmployeeGroup: process.env.TLON_EMPLOYEE_GROUP,
branchKey: process.env.BRANCH_KEY,
branchDomain: process.env.BRANCH_DOMAIN,
},
ios: {
runtimeVersion: '4.0.1',
Expand Down
4 changes: 2 additions & 2 deletions apps/tlon-mobile/babel.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
presets: [['babel-preset-expo', { jsxRuntime: 'automatic' }]],
plugins: [
// Allow sql imports so that we can bundle drizzle migrations.
[
Expand All @@ -14,9 +14,9 @@ module.exports = function (api) {
[
'@tamagui/babel-plugin',
{
exclude: /node_modules/,
config: './tamagui.config.ts',
components: ['@tloncorp/ui', 'tamagui'],
experimentalFlattenThemesOnNative: true,
},
],
],
Expand Down
Loading