Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
404 commits
Select commit Hold shift + click to select a range
4c487d5
feat(ui): add a shared Accordion and collapse the sharing sections in…
alichherawalla Jul 31, 2026
a98a976
fix(pro): fill the Pro screen once you have paid, and drop the icon t…
alichherawalla Jul 31, 2026
2d1ffeb
refactor(chat): render peer previews from the shared projection
alichherawalla Jul 31, 2026
7710991
fix(ui): keep the model-loading bar moving while the model loads
alichherawalla Jul 31, 2026
72e6488
fix(chat): a reload-model tap that fails now says so
alichherawalla Jul 31, 2026
20442fd
fix(chat): do not offer a model reload when no model is selected
alichherawalla Jul 31, 2026
5157aa5
feat(models): one resolver for which text model is selected
alichherawalla Jul 31, 2026
53b2348
refactor(chat): read the active text model from one hook, not a priva…
alichherawalla Jul 31, 2026
6790a16
fix(models): the picker's spinner follows the service, not the tap
alichherawalla Jul 31, 2026
09382f0
fix(models): one owner for which text model to load
alichherawalla Jul 31, 2026
2ad00f9
refactor(chats): take the list preview line from shared
alichherawalla Jul 31, 2026
42c083c
docs: record what landed today and what is left
alichherawalla Jul 31, 2026
18c1238
feat(sync): Android screenshot capture and MediaStore downloads
alichherawalla Jul 31, 2026
487499f
chore: point at today's pro sync work
alichherawalla Jul 31, 2026
8d34f57
test(chat): teach the ChatScreen stub the model-selection seam
alichherawalla Jul 31, 2026
40ec0a5
test(models): one place defines the model-selection stub
alichherawalla Jul 31, 2026
64ea5d7
chore: merge pro main (CI core-ref fix, TTS load-anyway, voice attach…
alichherawalla Jul 31, 2026
b48ef72
refactor(chat): move the tool-call surfaces out of ChatMessage
alichherawalla Jul 31, 2026
0c69e3d
refactor(settings): bring SettingsScreen inside the caps
alichherawalla Jul 31, 2026
ab891ef
feat(ui): one screen header, matching Settings and Model Settings
alichherawalla Jul 31, 2026
cd26d0f
feat(sync): send and restore the tools a turn was offered
alichherawalla Jul 31, 2026
978c038
feat(projects): paste text straight into a knowledge base
alichherawalla Jul 31, 2026
d226ff1
fix(sync): Android does not offer a LAN route it cannot dial
alichherawalla Jul 31, 2026
024aa56
docs: hand off the mesh session with what is verified and what is not
alichherawalla Jul 31, 2026
6f7111b
docs: Android to macOS over LAN is verified on device
alichherawalla Jul 31, 2026
b5ca2d8
downloads: share what is actually in the folder, and fix the Pro lice…
alichherawalla Jul 31, 2026
1586c0a
screenshots: read every new row, not just the newest one
alichherawalla Jul 31, 2026
4248d93
knowledge base: call it Text
alichherawalla Jul 31, 2026
c9ff4dd
tests: the Downloads card and the model a phone can send
alichherawalla Jul 31, 2026
f588f19
chore: bump pro to the model transfer, home card and screenshot work
alichherawalla Jul 31, 2026
7d2359c
sync: native file hashing and a notification coalescer
alichherawalla Jul 31, 2026
d1425f8
tests: follow the pairing flow and the pro gate as they are now
alichherawalla Aug 1, 2026
305dbfa
tests: point the moved licensing tests at pro, and fix a stub that ar…
alichherawalla Aug 1, 2026
298ce82
docs: a line-by-line sync test sheet for this build
alichherawalla Aug 2, 2026
6a6c4b3
docs: quote the sync checklist row whose expected result contains a c…
alichherawalla Aug 2, 2026
36eb7c2
chat: local wall-clock times, and tool results above the answer
alichherawalla Aug 2, 2026
40060f6
chore: bump pro to the model transfer job owner
alichherawalla Aug 3, 2026
4e25e04
tests: the transfer sheet needs a navigation container now that it li…
alichherawalla Aug 3, 2026
68ad9be
sync: the phones move a payload natively, sealed frame by frame
alichherawalla Aug 3, 2026
ca127d3
sync: the phones can stop a payload they are still sending
alichherawalla Aug 3, 2026
1c65b55
test: two devices can pair in the harness, so a transfer can be teste…
alichherawalla Aug 3, 2026
8682c54
chore: lint the physical-sync scripts, drop a flag nothing read, and …
alichherawalla Aug 3, 2026
fc9287e
sync: both phones resume a payload instead of starting it again
alichherawalla Aug 3, 2026
3ac770b
chat: messages read in the order they were written
alichherawalla Aug 3, 2026
4215191
test(sync): follow the mesh for licence capacity, and record that For…
alichherawalla Aug 4, 2026
178091a
test(sync): licence capacity follows the mesh, and freeing a seat is …
alichherawalla Aug 4, 2026
69caf26
test(sync): the status line is one word, and a peer is announced only…
alichherawalla Aug 4, 2026
eb09cd5
test(sync): an advertised peer announces a LAN address, because loopb…
alichherawalla Aug 4, 2026
64c2639
test(sync): one place sets up a licensed phone, and a paired peer hol…
alichherawalla Aug 4, 2026
5bec84b
test(sync): the model transfer journey runs end to end again
alichherawalla Aug 4, 2026
64994a3
test(sync): the saved-device journeys run again, and a pairing that l…
alichherawalla Aug 4, 2026
416e906
test(sync): a paired peer holds an installation, and the pairing that…
alichherawalla Aug 4, 2026
8789715
test(sync): a device joining a licence registers itself, and the stat…
alichherawalla Aug 4, 2026
e45faf6
test(sync): the ambient sharing journey follows the approval to Notif…
alichherawalla Aug 4, 2026
905b130
test(sync): the clipboard journeys run again, and the phone registers…
alichherawalla Aug 4, 2026
0ec3ea0
test(sync): two of the three persistence journeys run again
alichherawalla Aug 4, 2026
e129744
test(sync): the knowledge-document journey pairs without an accept step
alichherawalla Aug 4, 2026
264d0b2
test(sync): the RN transport pairing test uses a real code and a real…
alichherawalla Aug 4, 2026
ac89aa0
test(sync): cover the two branches today's eviction fix added
alichherawalla Aug 4, 2026
0ed23fa
test(pro): the Pro detail suite runs again, and says why four of it s…
alichherawalla Aug 4, 2026
e77ccb8
docs: the eviction ordering is the normal flow, not a rare race
alichherawalla Aug 4, 2026
bb71bb5
test(sync): the eviction transaction is covered to the line
alichherawalla Aug 4, 2026
b28d664
test(sync): cover the eviction's local half to the line, and say why …
alichherawalla Aug 4, 2026
de72124
test(sync): cover the identity migration and the repair decision
alichherawalla Aug 4, 2026
282f98a
test(sync): cover the remembered roster, the file the user picked, an…
alichherawalla Aug 4, 2026
70e82d9
test(sync): cover making a transferred file appear where the user exp…
alichherawalla Aug 4, 2026
8f6636d
test(sync): two phones talking with no network between them
alichherawalla Aug 4, 2026
ae8b76c
test(sync): the two roads to a checksum must meet, and what the phone…
alichherawalla Aug 4, 2026
6fd437d
test(sync): the fast path a large file takes, end to end
alichherawalla Aug 4, 2026
61d8062
test(sync): sharing a folder on the platform that will not let you sh…
alichherawalla Aug 4, 2026
0501d16
test(knowledge): pasting a page you copied straight into a knowledge …
alichherawalla Aug 4, 2026
ee3b460
test(sync): what this device calls itself, and what it must not decide
alichherawalla Aug 4, 2026
3d2e74b
test(sync): type the remote-stream fixture against the shared preview
alichherawalla Aug 4, 2026
4432686
test(sync): check the stream fixture against the shared type at its s…
alichherawalla Aug 4, 2026
c38be4d
test(sync): a screenshot reaching your other devices as you take it
alichherawalla Aug 4, 2026
927d7ff
test(sync): a saved device seen but not dialable has to say so
alichherawalla Aug 4, 2026
b7d7f45
test(pro): entering a licence key is a transaction, and it has to be …
alichherawalla Aug 4, 2026
2f13841
test(harness): let a test free a seat the way another device does
alichherawalla Aug 4, 2026
105330f
test(sync): what this phone accepts, and its record of what arrived
alichherawalla Aug 4, 2026
7985f78
test(sync): the ambient rules, the queue, and the answers already given
alichherawalla Aug 4, 2026
bdae098
test(sync): a file arriving on the phone lands only once it is whole
alichherawalla Aug 4, 2026
223df25
test(sync): the list that says a file actually arrived
alichherawalla Aug 4, 2026
1994f50
test(sync): the licence's record of the mesh, from the phone
alichherawalla Aug 4, 2026
4ad07cf
test(licensing): the licence this phone holds, and what happens to it…
alichherawalla Aug 4, 2026
62ee53d
test(sync): the record of transfers that finished, and the format it …
alichherawalla Aug 4, 2026
4597a43
test(sync): the devices this phone trusts, and the secrets that prove it
alichherawalla Aug 4, 2026
43e1cdd
test(sync): read every trust document this app has ever written
alichherawalla Aug 4, 2026
46f449f
test(sync): a model arriving on this device, over and over
alichherawalla Aug 4, 2026
0747b7d
test(sync): two devices agreeing about the licence they share
alichherawalla Aug 4, 2026
04e192d
test(sync): standing consent to share a file, and every way to withdr…
alichherawalla Aug 4, 2026
909d612
test(sync): the edges of the sharing record it keeps
alichherawalla Aug 4, 2026
221a9e4
test(sync): await the refusal, so a lint warning is not a hole
alichherawalla Aug 4, 2026
9529bb0
test(sync): which of this phone's files exist to be shared at all
alichherawalla Aug 4, 2026
129a284
test: fix ten failing tests that were asserting things the code never…
alichherawalla Aug 4, 2026
53065f9
test: five more failures that were the tests, not the app
alichherawalla Aug 4, 2026
6028cf2
test: three date assertions built with the formatter the app dropped
alichherawalla Aug 4, 2026
a4da5d5
test(rag): run the knowledge-base round-trip on real SQLite
alichherawalla Aug 4, 2026
6775eff
test: three failures where the code moved and the tests did not
alichherawalla Aug 4, 2026
1b5dd3a
test(licensing): make the seat-replacement test reach Keygen at all
alichherawalla Aug 5, 2026
d945db8
test(sync): hold the offline-eviction journey open with its cause on …
alichherawalla Aug 5, 2026
3724841
test(sync-ui): cover the receiving scope, where one switch means two …
alichherawalla Aug 5, 2026
93922a4
test: drop two unused declarations the lint gate rejected
alichherawalla Aug 5, 2026
5158194
test: drop the now-unused Keychain import
alichherawalla Aug 5, 2026
14107f7
chore(arch): stop the orphan gate flagging a util that only pro imports
alichherawalla Aug 5, 2026
5227ec6
test(sync-ui): cover every way an explicit file share can end
alichherawalla Aug 5, 2026
5f0ff1e
test: type the pro-absent guard with jest's own callback type
alichherawalla Aug 5, 2026
3dc7ef1
chore(dead-code): retire eleven exports nothing consumed
alichherawalla Aug 5, 2026
ab27207
chore: drop imports the removed pass-through was the only user of
alichherawalla Aug 5, 2026
e939822
fix(android): backport java.time so API 24 does not crash
alichherawalla Aug 5, 2026
62c6c30
test(android): pass the resume offset the blob channel now takes
alichherawalla Aug 5, 2026
2382ae7
ci: check out the shared monorepo so @offgrid/sync resolves
alichherawalla Aug 5, 2026
dbe6076
test: make a dead button impossible on the Activity list
alichherawalla Aug 5, 2026
bca6097
test: make a pro suite that cannot load its module fail instead of pa…
alichherawalla Aug 5, 2026
2e7fbac
test: cover the preview under a shared file
alichherawalla Aug 5, 2026
140f56b
ci: one job instead of four, and fix the shared provisioning that bro…
alichherawalla Aug 5, 2026
9d4b51c
chore: drop the Provit dependency, keeping the device-driving capabil…
alichherawalla Aug 5, 2026
0f31d2a
ci: keep the shared install fallback, at the root where it can help
alichherawalla Aug 5, 2026
a1c9531
test(e2e): a device harness on WDA and adb, validated on both phones
alichherawalla Aug 5, 2026
954051d
test(e2e): target testIDs on both platforms, and stop hiding them
alichherawalla Aug 5, 2026
6b67328
test(e2e): a two-device layer, and the mesh journey it exists for
alichherawalla Aug 5, 2026
1fe4bad
chore: tell knip about the e2e harness's real dependencies
alichherawalla Aug 5, 2026
d86ef28
chore: point at the pushed mobile-pro commits, and the iOS device scr…
alichherawalla Aug 5, 2026
ec266a5
test: address the review, including a real hole in the dead-button sweep
alichherawalla Aug 5, 2026
56364c7
fix(sync): seek absolutely when resuming an upload, instead of skipping
alichherawalla Aug 5, 2026
9851f8e
test: delete my mockist explicit-file-share suite, and record what it…
alichherawalla Aug 5, 2026
db81005
test: drive the stores through their own actions, and write down the …
alichherawalla Aug 5, 2026
e1277f5
test(sync): explicit file share against the real service, no mocks of…
alichherawalla Aug 5, 2026
17adc66
test(sync): pin that the "no devices found" notice stays hidden once …
alichherawalla Aug 5, 2026
75fcae6
test(sync): cover the Available heading, and drop four mocks of our o…
alichherawalla Aug 5, 2026
64331db
test(generation): delete two mockist suites, keep the journeys they hid
alichherawalla Aug 5, 2026
ee7b34f
test(image): delete the 60-test mockist image suite, cover the in-fli…
alichherawalla Aug 5, 2026
8aef0d5
test(harness): one definition of the image-generation journey
alichherawalla Aug 5, 2026
6dc1001
test(rag): delete the SQL-string-matching rag suite, cover budget and…
alichherawalla Aug 5, 2026
ce481f0
chore(rag): drop the dead chunkDocument re-export
alichherawalla Aug 5, 2026
2267b32
fix(generation): stop a reply through its owner, not the llama engine
alichherawalla Aug 5, 2026
1eb10b1
test(harness): stop in-flight generation on teardown, killing the one…
alichherawalla Aug 5, 2026
594ae81
test: uniform 80% floor for ./pro (maintainer's call)
alichherawalla Aug 5, 2026
73c867c
test(sync): cover three untested sync modules; pin the pro branch flo…
alichherawalla Aug 6, 2026
16c50e0
ci: stop running Android Lint on the hosted runner (68 of the job's 9…
alichherawalla Aug 6, 2026
e9ab0fc
test(pro): skip the Receiving suite when pro is absent, not silently …
alichherawalla Aug 6, 2026
2b27ffd
chore: add .coderabbit.yaml so reviews are honest about what they cover
alichherawalla Aug 6, 2026
f962cc3
test(sync): cover the refusals that protect a peer from a bad transfer
alichherawalla Aug 6, 2026
7859a16
test(sync): cover the model-transfer card a user watches for minutes
alichherawalla Aug 6, 2026
8536eac
test: restore the uniform 80% floor for ./pro - branches now measure …
alichherawalla Aug 6, 2026
77d1617
test(sync): cover what the Devices screen's buttons do when Sync is n…
alichherawalla Aug 6, 2026
f18e293
test(sync): cover the notifications filter, driven by real taps
alichherawalla Aug 6, 2026
d156a60
test(mcp): cover the OAuth handshake behind "connect an MCP server"
alichherawalla Aug 6, 2026
0523b1b
test(licensing): cover what the licence client does with a bad provid…
alichherawalla Aug 6, 2026
01fcc3f
test(sync): prove an Off switch revokes a grant already given
alichherawalla Aug 6, 2026
5b0fc8e
test(sync): prove a revoked grant does not come back after a restart
alichherawalla Aug 6, 2026
344ceb3
docs: record the missing cancellation seam for revoked ambient transfers
alichherawalla Aug 6, 2026
0a5b4ef
chore(sonar): scope Automatic Analysis to shipped source
alichherawalla Aug 6, 2026
701be92
fix(sync): make a failed receive discard the partial payload determin…
alichherawalla Aug 6, 2026
946f585
test(licensing): a thin machine record is a seat nobody holds, not a …
alichherawalla Aug 6, 2026
39ffcfa
test(sync): drive a real phone-to-phone pairing to a LIVE session
alichherawalla Aug 6, 2026
36cdda1
feat(sync): thread the discoverability choice through the native sync…
alichherawalla Aug 6, 2026
4fc156d
test(sync): licensed fixtures for a Pro-only feature, and the new Ava…
alichherawalla Aug 7, 2026
c6dc26d
test(sync): a CDP driver for the desktop, the Android-to-Mac flow, an…
alichherawalla Aug 7, 2026
d474d97
test(sync): an evicted device leaves the screen entirely
alichherawalla Aug 7, 2026
8ca2c2a
fix(pro): every gate asks whether this device is still admitted
alichherawalla Aug 7, 2026
3d88b54
chore(claude): allow the device-inspection commands used while testin…
alichherawalla Aug 7, 2026
2616274
docs(rules): tests are written last, and only on request
alichherawalla Aug 7, 2026
336ec27
fix(pro): two states, not three - evicted means the buy screen
alichherawalla Aug 7, 2026
5953ca2
chore(pro): bump submodule for the admission fixes
alichherawalla Aug 7, 2026
af4c3b0
chore(tests): existing tests set admission now that registration alon…
alichherawalla Aug 7, 2026
2e433e3
chore(pro): bump submodule for the notifications gate
alichherawalla Aug 7, 2026
2bae792
test(e2e): one surface for driving sync on all four platforms
alichherawalla Aug 7, 2026
86f85c2
test(e2e): pairing as a reusable route, and the whole mesh in one pass
alichherawalla Aug 7, 2026
b670e80
e2e: one config for the mesh endpoints, one place that reads a device…
alichherawalla Aug 7, 2026
4adf335
sync: tell the orchestrator when a session drops
alichherawalla Aug 7, 2026
1bfc74d
e2e: a flow runner, and a surface that knows when a sheet is covering…
alichherawalla Aug 7, 2026
cea64e5
e2e: a flow for the link that heals itself, and one verb for going of…
alichherawalla Aug 7, 2026
6ec6af5
e2e: read a row's status in both directions, and far enough to find it
alichherawalla Aug 7, 2026
249e841
test: gate the Sync screen on an element, not on incidental copy
alichherawalla Aug 7, 2026
5062e29
e2e: hiding a device must not cost it the devices it already has
alichherawalla Aug 7, 2026
4e422a8
e2e: disconnect, the teardown that keeps the credential
alichherawalla Aug 7, 2026
0b1c1cb
chore: bump pro to the deliberate-disconnect fix
alichherawalla Aug 7, 2026
f13d2a4
chore: bump pro to the needs_repair clearing fix
alichherawalla Aug 7, 2026
1339fb8
models: one registry row per FILE, and a recovered vision model keeps…
alichherawalla Aug 7, 2026
9dca60b
e2e: a snapshot must not disturb what it is recording
alichherawalla Aug 7, 2026
079aea8
models: split local import out of scan, which was doing four jobs
alichherawalla Aug 7, 2026
bf1ba69
fix(models): one path-reconciliation rule for both registries
alichherawalla Aug 7, 2026
507bc24
docs: mirror the canonical SSOT debugging heuristic from shared/
alichherawalla Aug 7, 2026
58069b6
feat(sync): pass the mesh admission resolver through native sync
alichherawalla Aug 7, 2026
d872afa
chore: bump pro for the sync home loading state
alichherawalla Aug 7, 2026
88b12d4
fix(sync): advertise the native LAN address
alichherawalla Aug 7, 2026
f0f7d89
fix(sync): refresh discovery after roster reconciliation
alichherawalla Aug 7, 2026
948fc30
test(e2e): add Android Windows Multiremote harness
alichherawalla Aug 9, 2026
f29fc2a
Revert "test(e2e): add Android Windows Multiremote harness"
alichherawalla Aug 9, 2026
8a9b367
test(e2e): preserve mobile device journey evidence
alichherawalla Aug 9, 2026
345daf3
test(e2e): preserve cross-device sync evidence
alichherawalla Aug 9, 2026
4755a39
test(e2e): add live mesh regression screenshots
alichherawalla Aug 9, 2026
ad1b6b3
test(sync): follow automatic roster rescan
alichherawalla Aug 9, 2026
4c41e65
refactor(image-gen): one writer for the Enhanced prompt card content
alichherawalla Aug 9, 2026
8de30ef
fix(image-gen): stop the enhance-prompt bubble rendering as a status …
alichherawalla Aug 9, 2026
32087b7
fix(chat): record a turn's modality at dispatch, don't infer it from …
alichherawalla Aug 9, 2026
abf932e
test(image-gen): the Enhanced prompt card renders as a card from the …
alichherawalla Aug 9, 2026
7e4d6da
refactor(chat): stamp the turn kind through GenerationDeps, not the s…
alichherawalla Aug 9, 2026
3809145
test(chat): a cancelled image turn resends as an image, not as text
alichherawalla Aug 9, 2026
6c642c7
fix(chat): the loading bar uses our own working indicator, not the pl…
alichherawalla Aug 9, 2026
f81da34
feat(hardware): read how many cores are worth running inference on
alichherawalla Aug 9, 2026
69e6a0c
fix(hardware): auto threads follow the performance cluster, not 80% o…
alichherawalla Aug 9, 2026
0d461ed
fix(settings): the CPU Threads slider shows Auto, not 1
alichherawalla Aug 9, 2026
300dfa4
test(settings): CPU Threads reads the kernel's topology and never sho…
alichherawalla Aug 9, 2026
f7996a1
merge: image-gen card, turn-kind recording, loading indicator, CPU th…
alichherawalla Aug 9, 2026
403fff6
refactor(settings): the segmented control gets its own module
alichherawalla Aug 9, 2026
ba8e882
feat(text-gen): MTP speculative decoding, in both settings surfaces
alichherawalla Aug 9, 2026
06732ff
chore(deps): llama.rn 0.12.5 to 0.12.9
alichherawalla Aug 9, 2026
428089d
feat(text-gen): suggest MTP in chat when the model can actually use it
alichherawalla Aug 9, 2026
a524632
test(text-gen): the MTP offer appears only for a model that can use it
alichherawalla Aug 9, 2026
82a8255
fix(text-gen): only hand MTP to a model that declares draft layers
alichherawalla Aug 9, 2026
ce72342
fix(text-gen): changing MTP offers the reload it needs, and syncs the…
alichherawalla Aug 9, 2026
af92d95
fix(chat): the advice cards sit above the flat reload bars, not under…
alichherawalla Aug 9, 2026
6381326
fix(sync): send the notice flag with a model-load message
alichherawalla Aug 9, 2026
acc85fe
fix(discovery): give a host long enough to answer before calling it s…
alichherawalla Aug 9, 2026
2a58c47
feat(remote-servers): rebuild the screen on the app's own design system
alichherawalla Aug 9, 2026
62b6ffe
fix(chat): a peer's model-load notice is not repeated on this device
alichherawalla Aug 9, 2026
48b3441
fix(discovery): keep the scan inside Android's request limit
alichherawalla Aug 9, 2026
dcf472c
fix(ui): the thinking line keeps its last word on Android
alichherawalla Aug 9, 2026
eca689f
feat(remote-servers): the add/edit sheet joins the design system
alichherawalla Aug 9, 2026
387c980
test(remote-servers): one real test for the screen, and delete the on…
alichherawalla Aug 9, 2026
78d04f1
test(remote-servers): a rendered test for the add/edit sheet
alichherawalla Aug 9, 2026
66142d3
fix(image): stamp a generated image with a date, not milliseconds
alichherawalla Aug 9, 2026
c8e1c76
fix(image): put right the timestamps already stored
alichherawalla Aug 9, 2026
b462763
fix(chat): a card that names itself keeps its name
alichherawalla Aug 10, 2026
5029a2d
fix(image): stop showing the model our own screen
alichherawalla Aug 10, 2026
d9b9bde
fix(remote): ask again before believing a server can do nothing
alichherawalla Aug 10, 2026
036b97d
test(sync): state the offline behaviour this test is about
alichherawalla Aug 10, 2026
ca79bbe
refactor(llm): device capacity limits get their own module
alichherawalla Aug 10, 2026
b8c9607
test(sync): follow the two rules that changed
alichherawalla Aug 10, 2026
d68e21a
feat(onboarding): remove the guided spotlight tour
alichherawalla Aug 10, 2026
e5cdd21
chore: stop exporting what nothing imports
alichherawalla Aug 10, 2026
cdb2ed6
fix(sync): the phone writes down how a silent join ended
alichherawalla Aug 10, 2026
1b58510
chore(ios): the pod lock catches up with llama.rn 0.12.9
alichherawalla Aug 10, 2026
4c8b412
chore(ios): Xcode's own ordering of the project file
alichherawalla Aug 10, 2026
e2069e5
chore(pro): point at the sync fixes
alichherawalla Aug 10, 2026
b3872ba
fix(sync): this phone notices when its own address changes
alichherawalla Aug 11, 2026
5c511b0
refactor(sync): the credential question reaches the engine as a lookup
alichherawalla Aug 11, 2026
265f22a
feat(sync): the runtime hands out the peer relationship, and takes fa…
alichherawalla Aug 11, 2026
3b39f1b
fix(sync): a generated image keeps its own name across the mesh
alichherawalla Aug 11, 2026
f7b99c2
test(sync): the ambient doubles answer where a file came from
alichherawalla Aug 11, 2026
d91146a
fix(chat): an image in a bubble is full width, at its own shape
alichherawalla Aug 11, 2026
57e5731
chore(pro): point at the peer-link adoption and the shared-file name …
alichherawalla Aug 11, 2026
fa7cb79
chore(e2e): the Maestro suite goes, and nothing points at it any more
alichherawalla Aug 11, 2026
da81d22
chore(android): the HTP kernels match the llama.rn build we ship
alichherawalla Aug 11, 2026
cd86bc7
fix(ci): the removed spotlight tour stops breaking every jest suite
alichherawalla Aug 11, 2026
2f7465b
fix(version): the app reports the version of the build it IS
alichherawalla Aug 11, 2026
6a87e90
fix(uat): every cut takes its own version, so the release number is t…
alichherawalla Aug 11, 2026
2d76be3
fix(promote): tag the tested bytes when the version is already correct
alichherawalla Aug 11, 2026
dfe3ccd
fix(sonar): a JDK the scanner cannot start on skips the local scan, i…
alichherawalla Aug 11, 2026
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
  •  
  •  
  •  
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .artifacts/device-e2e/20260717-180907/android-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
184 changes: 184 additions & 0 deletions .artifacts/device-e2e/20260717-180907/ios-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-180907/ios-01-settings.xml

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions .artifacts/device-e2e/20260717-180907/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
platform=both
app_id=ai.offgridmobile.dev
commit=9b7c7e398996831ff57ab61d1499ab40dc8a08be
started_at=2026-07-17T12:39:07Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .artifacts/device-e2e/20260717-181429/android-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-181429/ios-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
157 changes: 157 additions & 0 deletions .artifacts/device-e2e/20260717-181429/ios-01-settings.xml

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions .artifacts/device-e2e/20260717-181429/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
platform=both
app_id=ai.offgridmobile.dev
commit=afe691490a8b32fbc4ad049618b72b2bdf933e12
started_at=2026-07-17T12:44:29Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .artifacts/device-e2e/20260717-182713/android-00-home.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .artifacts/device-e2e/20260717-182713/android-01-chat.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .artifacts/device-e2e/20260717-182713/android-02-typed.xml

Large diffs are not rendered by default.

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-182713/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=both
journey=chat
app_id=ai.offgridmobile.dev
commit=afe691490a8b32fbc4ad049618b72b2bdf933e12
started_at=2026-07-17T12:57:13Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-183807/ios-00-home.xml

Large diffs are not rendered by default.

198 changes: 198 additions & 0 deletions .artifacts/device-e2e/20260717-183807/ios-03-result.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-183807/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:08:07Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
184 changes: 184 additions & 0 deletions .artifacts/device-e2e/20260717-184035/ios-00-home.xml

Large diffs are not rendered by default.

187 changes: 187 additions & 0 deletions .artifacts/device-e2e/20260717-184035/ios-03-result.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-184035/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:10:35Z
5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-184305/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:13:05Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
184 changes: 184 additions & 0 deletions .artifacts/device-e2e/20260717-184516/ios-00-home.xml

Large diffs are not rendered by default.

Empty file.
5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-184516/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:15:16Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-185124/ios-00-home.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-185124/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:21:24Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
127 changes: 127 additions & 0 deletions .artifacts/device-e2e/20260717-185341/ios-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
127 changes: 127 additions & 0 deletions .artifacts/device-e2e/20260717-185341/ios-01-settings.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-185341/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=smoke
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:23:41Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-185356/ios-00-home.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-185356/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:23:56Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-185836/ios-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions .artifacts/device-e2e/20260717-185836/ios-03-result.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
assistant_accessibility_id=assistant-message
element_id=F0000000-0000-0000-C809-000000000000
label=T, Thought process, The user is asking me to reply with exactly OK. This is a simple, direct instruc..., ▶, OK, , Tools sent in request (4), , 6:58 PM, 2.0s, , •••
197 changes: 197 additions & 0 deletions .artifacts/device-e2e/20260717-185836/ios-03-result.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-185836/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:28:36Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-185955/ios-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions .artifacts/device-e2e/20260717-185955/ios-03-result.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
assistant_accessibility_id=assistant-message
element_id=FA000000-0000-0000-CC09-000000000000
label=T, Thought process, The user is asking me to reply with exactly OK. This is a simple instruction and..., ▶, OK, , Tools sent in request (4), , 7:00 PM, 1.7s, , •••
197 changes: 197 additions & 0 deletions .artifacts/device-e2e/20260717-185955/ios-03-result.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-185955/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:29:55Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 173 additions & 0 deletions .artifacts/device-e2e/20260717-190037/ios-00-home.xml

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions .artifacts/device-e2e/20260717-190037/ios-03-result.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
assistant_accessibility_id=assistant-message
element_id=F5000000-0000-0000-CF09-000000000000
label=T, Thought process, The user is asking me to reply with exactly OK. This is a simple command without..., ▶, OK, , Tools sent in request (4), , 7:00 PM, 1.6s, , •••
197 changes: 197 additions & 0 deletions .artifacts/device-e2e/20260717-190037/ios-03-result.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .artifacts/device-e2e/20260717-190037/metadata.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
platform=ios
journey=chat
app_id=ai.offgridmobile.dev
commit=8f448e7a1a86bc3cd8e476da86789fc710d51d38
started_at=2026-07-17T13:30:37Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .artifacts/device-e2e/android-real-chat-1816/final.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .artifacts/device-e2e/android-real-chat-182203/home.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .artifacts/device-e2e/android-real-chat-1823/final.xml

Large diffs are not rendered by default.

181 changes: 181 additions & 0 deletions .artifacts/device-e2e/ios-real-chat-1816/final.xml

Large diffs are not rendered by default.

236 changes: 236 additions & 0 deletions .artifacts/device-e2e/ios-real-chat-182116/final.xml

Large diffs are not rendered by default.

Binary file added .artifacts/device-e2e/manual-probe/android.png
1 change: 1 addition & 0 deletions .artifacts/device-e2e/manual-probe/android.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><hierarchy rotation="0"><node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="ai.offgridmobile.dev" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2378]" drawing-order="0" hint=""><node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="ai.offgridmobile.dev" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2378]" drawing-order="1" hint=""><node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="ai.offgridmobile.dev" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2378]" drawing-order="2" hint=""><node index="0" text="" resource-id="ai.offgridmobile.dev:id/action_bar_root" class="android.widget.LinearLayout" package="ai.offgridmobile.dev" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2378]" drawing-order="1" hint=""><node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout" package="ai.offgridmobile.dev" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2378]" drawing-order="2" hint=""><node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="ai.offgridmobile.dev" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2378]" drawing-order="1" hint="" /></node></node></node></node></node></hierarchy>
23 changes: 23 additions & 0 deletions .artifacts/device-e2e/manual-probe/ios-status.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"value" : {
"build" : {
"version" : "15.1.0",
"time" : "Jul 17 2026 17:57:13",
"productBundleIdentifier" : "com.facebook.WebDriverAgentRunner"
},
"os" : {
"testmanagerdVersion" : 65535,
"name" : "iOS",
"sdkVersion" : "26.4",
"version" : "26.5.2"
},
"device" : "iphone",
"ios" : {
"ip" : "192.168.1.54"
},
"message" : "WebDriverAgent is ready to accept commands",
"state" : "success",
"ready" : true
},
"sessionId" : null
}
Binary file added .artifacts/device-e2e/manual-probe/ios.png
Loading
Loading