Skip to content

Releases

Tarkk 1.2.3

Choose a tag to compare

@P-B1101 P-B1101 released this 30 Oct 15:07

Changes since v1.2.2:

  • Update sheet: dock it and play the update arriving over the air (#347)

versionCode 39.

Tarkk 1.2.2

Choose a tag to compare

@P-B1101 P-B1101 released this 30 Oct 12:59

Changes since v1.2.1:

  • Fix crackling Shared Music: give libopus per-channel frame sizes (#346)

versionCode 38.

Tarkk 1.2.1

Choose a tag to compare

@P-B1101 P-B1101 released this 30 Oct 08:08

Changes since v1.2.0:

  • Shared Music: play from a native queue so UI stalls stop crackling it (#343)
  • Troubleshooting sheet: read the checks with a scan line and a segmented dial (#344)

versionCode 37.

Tarkk 1.2.0

Choose a tag to compare

@P-B1101 P-B1101 released this 27 Oct 06:06

Changes since v1.1.3:

  • Enable member reporting by default
  • Report story: keep the speech bubble and its tail in step with the speaker (#342)
  • Report story: bring the cartoon riders back, avatars as helmet stickers (#341)
  • Report flow: cast riders as their avatars, coach the tap once (#340)
  • chore(deps): bump the go-minor-and-patch group (#338)
  • report: animated per-member report and local mute, behind TARK_MEMBER_REPORT (#339)
  • backend: bump Go toolchain to 1.27.3 (GO-2026-6809) (#336)
  • admin: empty-state halo floats with its tile and stays centred on it (#335)
  • admin: Settings chips lift without clipping and glide to their section (#334)
  • test: make the guest web release fixture run on Linux CI
  • admin: write every number in Persian digits on Persian pages
  • Admin: a Settings page for theme, language, password and sign-ins
  • admin: show event logs in words instead of codes and JSON
  • admin: admins list goes full width, adding an admin moves to a drawer
  • admin: empty state for the System page's route table
  • admin: animated empty states for every empty list
  • Redesign the admin System page
  • Admin pricing: keep input labels on one line
  • Rework the account page's actions into one ordered list
  • admin: cache static files so the menu stops jumping on every click
  • Log where a frozen run was stuck after an ANR
  • chore(bazaar): refresh screenshots and capture metadata
  • Swap the hotspot host after the room falls off a hotspot
  • chore(website): release site/app sync as 1.0.5
  • fix(website): match the site to the current app
  • Break hotspot vote ties by Android version and install age
  • Keep the hotspot move reachable for a phone still on the router
  • Simplify home, settings and the room menu
  • Keep the hotspot host reachable and the election in agreement
  • Keep both phones in step through a move off the router
  • Keep both phones agreeing they are on the hotspot; join by hand after repeated failures
  • Keep the phones on one hotspot and agree on it; give the move its own scene
  • Turn every connection state into the next and redesign the plain screens
  • feat(room): designed failure scene, close button and notification "Close room"
  • fix(room): keep both phones agreeing on who hosts and let a new start run
  • feat(room): offer Bluetooth instead of staying on the house Wi-Fi
  • fix(room): let the move off home Wi-Fi elect a host before the call opens
  • feat(room): connect a Room's two phones over Bluetooth in its own scene
  • test: drop an unused import
  • feat(permission): dress the primer in the website's forest greens
  • feat(settings): drop the riding-mode and Wi-Fi/hotspot rows
  • feat(room): one continuous move to a hotspot, and back again if it drops
  • fix(room): a failed join says what actually went wrong
  • feat(room): the host sees the joiner arriving; invite retry and swap wired
  • feat(room): failure recovery on join and a role-switch turn on reconnect
  • feat(room): invite sheet fails out of the beacon and retries in place
  • feat(core): per-link established and failed choreography in the journey
  • fix(transfer): give the hotspot host attempt 35 s instead of 15 s
  • fix(motion): back always moves like back, hand-overs stop crossing, RTL nudges mirror
  • feat(room): deleted rooms pull the list up like a chain; the empty state rises out of the dust
  • fix(room): the joiner's connecting scene no longer cuts away mid-link
  • fix(room): Connect works right after closing an invite
  • feat(permission): an in-app primer before every runtime permission
  • update flutter
  • feat(room): move off the home router onto a phone's hotspot before the channel opens
  • fix(qr): every Tarkk code carries the centre mark again, proven scannable
  • feat(room): the beacon resolves into the code on the invite and reconnect screens
  • feat(connection): the journey carries through the channel entry and reconnect scan
  • feat(onboarding): redesign as a three-movement journey into a room
  • style: dart format the link preparing visual and step row test
  • feat(room): deleted Rooms turn to dust and the list closes the gap
  • feat(connection): one continuous scene from scan to channel
  • feat(room): one-tap "let them invite people" on the invite code
  • feat(room): signed, delegable invite rights for room members
  • feat(l10n): typed digits follow the app language in every text field
  • fix(ui): put step bullet, icon and first text line on one centre line
  • feat(beta): introduce a Beta feature classification and move Guest under it
  • fix(connection): keep both phones in step from scan to channel
  • feat(room): beacon-and-assembling-code visual while the link comes up
  • feat(room): channel lock-in success sequence for room creation
  • feat(room): dismiss room creation as a solid sheet, never a crossfade
  • fix(room): keep the invite QR sheet full width in every phase
  • fix(settings): rename the Persian advanced section to «تنظیمات پیشرفته»
  • fix(walkie): open Profile directly from the channel Edit chip

versionCode 36.

Tarkk 1.1.3

Choose a tag to compare

@P-B1101 P-B1101 released this 11 Oct 04:28

Changes since v1.1.2:

  • fix: publish guest web on plain release script execution
  • fix: default guest web script to unattended build only
  • fix: preserve uppercase wordmarks and automate guest web releases
  • feat: deploy Flutter guest web releases with Wrangler
  • docs: add optimized Persian Bazaar marketing screenshots
  • fix: standardize Tarkk app and website branding

versionCode 35.

Tark 1.1.2

Choose a tag to compare

@P-B1101 P-B1101 released this 10 Oct 18:51

Changes since v1.1.1:

  • fix(room): one scan joins a new Room and connects; stop stale rejoins
  • chore(website): release phone display fit as 1.0.4
  • fix(website): keep hero app preview inside phone bezel

versionCode 34.

Tark 1.1.1

Choose a tag to compare

@P-B1101 P-B1101 released this 09 Oct 18:29

Changes since v1.1.0:

  • feat(room): match room actions to app panels with a faint forest tint
  • chore(website): record release 1.0.3
  • fix(website): fit the ending on short laptop screens
  • chore(website): record release 1.0.2
  • fix(website): keep the download ending in a complete viewport
  • Show distinct Wi-Fi and hotspot connection success in Room entry
  • Open room creation directly from Landing without flashing the room list
  • Record website 1.0.1 deployment
  • Fix website demo alignment and navigation, add versioned releases
  • feat(website): localize social previews and composition
  • style: apply dart format
  • fix(android): keep secrets through Keystore hiccups, honest keep-alive restarts
  • fix(native): 16 KB pages, aligned denoise mix, safer audio_io calls
  • fix(backend): patch Go toolchain, cap code guessing, keep locks off slow work
  • feat: refine room connection flows and premium access
  • feat(website): launch interactive bilingual landing with cinematic transitions
  • fix(room): align subscription gating and Bazaar build permissions
  • fix(transfer): discover hotspot peers and recover stalled QR joins
  • Move realtime core native and raise test coverage (#324)
  • feat(room): auto-enter only after direct peer proof
  • refactor(room): use QR membership and Wi-Fi transport
  • Point the Settings profile card's arrow the right way in Persian (#321)
  • Show every face on Profile and give Profile a clear way in (#320)
  • Admin panel: ask before actions that are hard to undo (#319)
  • Admin panel: send the sign-in code on its own, live price separators, copy Bazaar prices (#318)
  • Rooms show a premium mark on subscribed members (#316)
  • Admin panel: QR code for authenticator setup, custom dropdown list, no page scrollbar (#317)
  • Admin panel: Persian digits and dates, avatars, nicer dropdowns, actions keep your place (#315)
  • Ask before signing out of the account (#314)
  • Subscription page asks Bazaar right away, so a cancelled renewal shows (#313)
  • Admin panel: ask before signing out (#312)
  • Backend: log why Google's signing keys could not be fetched
  • Admin panel: keep the account card at the bottom, roomier spacing (#310)
  • Redesign the plans page and compact the profile page (#309)
  • Admin panel: sidebar shell, stat tiles, card tables and motion on every page (#308)
  • Admin panel: Persian by default, English on a switch, logo as tab icon (#307)
  • Admin panel sign-in: centred animated card, code field, error shake (#306)
  • Plans, profile and account card: animated hero, richer cards, Persian fixes (#305)
  • Allow plain http to a backend on the local network
  • Account screens: animated hero, Persian layout, success beat (#303)
  • Run the admin panel locally: setup-backend.ps1 turns it on, admin-local.ps1 creates a login (#302)
  • TEST_SUB test plan, and plan titles that match the Bazaar products (#300)
  • Show remembered avatars in the Room lobby (#301)
  • Subscription plans from the backend, localized responses, price helper and subscription page (#298)
  • Free the microphone a closed app left open (#299)
  • Keep the rejoin code sheet smooth when the other phone comes back (#297)
  • chore(deps): bump golang from 1.26.6 to 1.27.0 in /backend
  • Monitoring: System page, 30-day log files, slow API, database and certificate alerts (#295)
  • Admin panel actions: disable, sign out, re-check purchase, gift premium, delete (#294)
  • Admin panel: sign-in with authenticator codes, roles, dashboard, user lookup (#293)
  • Email alerts and encrypted nightly backups for the backend (#292)
  • Note in DEPLOYMENT.md that the Google client id is preset
  • Deploy fills the Google client id on servers that still have the placeholder
  • Use Tarkk's Google web OAuth client id in the app and backend config
  • Get a dropped phone back into a live Room, and leave a Room left alone (#290)
  • Upload releases to Bazaar through the Pishkhan API
  • update gitignore

versionCode 33.

Tark 1.1.0

Choose a tag to compare

@P-B1101 P-B1101 released this 02 Oct 09:52

Changes since v1.0.20:

  • Fix release build numbers and make the GitHub step resumable
  • Ignore downloaded Google OAuth client files
  • chore(deps): bump actions/setup-go from 5 to 7 (#286)
  • chore(deps): bump actions/setup-java from 5 to 6 (#287)
  • chore(deps): bump actions/checkout from 4 to 7 (#285)
  • chore(deps): bump actions/upload-artifact from 4 to 7 (#284)
  • Legal texts: effective date 2 June 2027 (planned release)
  • Privacy policy: name the right to a copy and to corrections
  • Backend: pin Docker base images by digest, verbose govulncheck, quieter CI db (#288)
  • Backend: fix performance and security issues, add API docs and deploy scripts (#283)
  • add some file for test
  • Tarkk mascot: use the real Tarkk logo on the fox
  • Tarkk mascot: a fox biker with the Tarkk logo
  • Tarkk mascot avatar replaces the icon placeholder
  • Fill in the release signing SHA-256 in assetlinks.json
  • Email-link fallback at /v/, assetlinks.json, sitemap
  • Landing page: accounts are optional, Bluetooth free, the rest a subscription
  • Legal texts for optional accounts and subscriptions; account deletion page
  • Sign-in screens, Profile account card, email links
  • Accounts core: backend client, session, auth flows, subscription remote
  • Add google_sign_in and app_links for accounts
  • Read the client IP from ArvanCloud's ar-real-ip header
  • Avatars in WebP, six unisex characters, and the Tarkk mascot as default
  • Add account deletion, a backup mail provider and HTML emails
  • Drop the 6-month case from the Bazaar prices test
  • Offer monthly and yearly plans only
  • Check Bazaar's purchase signature locally when a key is given
  • Drop the 6-month plan; no admin refund action
  • Add avatars: a setup step, a Profile page, and faces in the channel
  • Add Cafe Bazaar purchase client behind BillingService
  • Follow the Bazaar docs: header-only token, grace for fresh purchases
  • Add the Go backend: accounts, profile and Bazaar subscriptions
  • Drop the removed release branch from the cleanup keep-list
  • Add one-command releases, in-app update check and Bazaar download link
  • Add offline-first subscription core and its four screens
  • Split the Android release into Bazaar, GitHub and master scripts (#275)
  • update gitignore
  • Polish consistency across the app before the first release (#273)
  • fix(walkie): plain words on the dead-mic card (#274)
  • Recover the mic and speaker when an audio device reopen gets stuck (#272)
  • Remove AdTrace analytics; add a log level with screen, tap and settings logging (#269)
  • fix(hotspot): raise the hotspot after Wi-Fi goes off, not before (#271)
  • fix(hotspot): pull an Android 9 joiner back onto the host's hotspot (#270)
  • Default the voice delay setting to its 60 ms minimum (#268)
  • Play received voice from the audio callback on Android, Windows and Linux (#267)
  • fix(landing): select the Room on the home card before opening it (#266)
  • fix(audio): size the speaker cushion to what the device pulls at once (#265)
  • feat(audio): jump back to live when voice falls far behind (#264)
  • fix(audio): stop the periodic tick in voice and cut the delay it caused
  • feat(hotspot): full-screen page asking the host to turn Wi-Fi off (#262)
  • fix(bluetooth): ask for Location before searching on Android 6-11 (#261)
  • feat(room): Invite above Start in the lobby (#260)
  • fix(room): let a Room see a Bluetooth link that is already up (#259)
  • fix(room): Wi-Fi/Hotspot wins over Bluetooth, Guest counts as automatic (#258)
  • feat(room): round Start in the lobby, no Start on the Rooms list (#257)
  • fix(room): keep a Room invite on Bluetooth when Bluetooth is chosen (#256)
  • fix(bluetooth): host without a Room invite, run Rooms over Bluetooth, keep a Bluetooth pin (#255)
  • fix(walkie): pin the music fold chevron to the top and give Exit room a top gap (#254)
  • refactor(walkie): move the music cast watch out of the cubit (#253)
  • refactor(walkie): move the transmit counters out of the cubit (#252)
  • refactor(walkie): move the channel health checks out of the cubit (#251)
  • refactor(walkie): move the home-widget snapshot out of the cubit (#250)
  • chore(release): one release branch per minor version in build-android.ps1 (#249)
  • feat(walkie): redesign the channel screen after the Room lobby (#248)
  • feat(motion): one Cupertino page transition and shared motion across screens (#247)
  • perf(walkie): stop re-emitting state on every voice packet (#246)
  • fix(transfer): give up on a hotspot start that never answers (#245)
  • fix(room): no dead ends when Start finds no working link
  • fix(room): point the back arrow the right way in Persian
  • feat(room): redesign the saved rooms list after the lobby
  • feat(transfer): reconnect the last Bluetooth call when the app opens (#242)
  • feat(room): redesign the Room lobby
  • feat(room): guided reconnect when Start finds no link between the phones
  • fix(transfer): keep the hotspot side when recording the hotspot carrier
  • fix(room): join the hand-off hotspot through the proven bridge path
  • fix(walkie): announce the mute toggle and Leave as buttons
  • fix(android): keep the session alive when the mic service is refused
  • fix(onboarding): translate the day/night theme plates
  • fix(room): say "turn on Location" when Android 6-11 cannot scan
  • fix(wifi): keep a superseded listener from touching the new session
  • fix(room): start the inviter's hand-off when someone joins
  • fix(room): let the scanning phone host when the inviter cannot
  • fix(room): tell a phone that cannot advertise how to join instead
  • fix(room): name an expired or foreign-version invite as an invite
  • fix(room): announce on Wi-Fi before the Room readiness gate
  • ci: add manual workflow to delete merged branches
  • chore(release): Tark v1.0.21-beta.9
  • fix(room): replay bound transport health (#240)
  • chore(release): Tark v1.0.21-beta.8
  • fix(room): preserve one-scan transport handoff
  • chore(release): Tark v1.0.21-beta.7
  • fix(room): keep initial transport handoff in app
  • chore(release): Tark v1.0.21-beta.6
  • test(room): bind final dial fixtures to BLE rendezvous
  • test(room): bind remaining dial fixtures to BLE rendezvous
  • test(room): mark dial fixtures as BLE-bound
  • test(room): wire forged host proof scenario
  • test(room): wire host proof through real control lifecycle
  • test(room): fix fake stream teardown ownership
  • test(room): close write counter on the correct fake
  • style(room): format BLE binding regression
  • style(room): format receipt race test
  • docs(room): describe BLE-bound Classic control path
  • docs(room): align native comments with BLE rendezvous
  • diag(android): export BLE RFCOMM milestones to tarklog
  • diag(room): capture native rendezvous events in tarklog
  • fix(android): return typed rendezvous readiness errors
  • diag(room): record Bluetooth adapter readiness
  • test(room): inspect first duplicate confirmation
  • test(room): prove concurrent receipt idempotency
  • fix(room): dedupe concurrent membership receipts
  • test(room): require BLE binding and typed readiness failure
  • fix(room): preserve typed native readiness failures
  • fix(room): require BLE-bound host selection
  • test(room): verify QR-bound host challenge proof
  • style(room): format proximity carrier test
  • style(room): format proximity carrier
  • feat(room): authenticate host before sending join capability
  • diag(room): trace transport control milestones without credentials
  • test(room): prove concurrent join request idempotency
  • diag(android): add privacy-safe Bluetooth discovery trail
  • diag(room): trace authenticated join protocol milestones
  • diag(room): trace one-scan join milestones safely
  • diag(room): trace host invite readiness safely
  • test(room): model enabled adapter in invite readiness tests
  • style(room): format BLE identity tests
  • style(room): format proximity readiness tests
  • style(room): format rendezvous identity
  • style(room): format proximity control changes
  • style(room): format BLE rendezvous engine
  • fix(room): repair rendezvous host-name helpers
  • test(room): bind BLE identity to scanned invitation
  • refactor(android): consume hashed rendezvous service data
  • refactor(room): pass only BLE digest to Android
  • feat(room): derive privacy-safe BLE rendezvous identity
  • fix(android): normalize rendezvous correlation hex
  • fix(room): keep BLE scan error construction valid
  • test(bluetooth): reject oversized control frames
  • test(room): never render QR before native readiness
  • test(room): cover readiness and BLE-bound discovery
  • fix(room): trust BLE binding over cached adapter name
  • feat(room): carry BLE rendezvous match evidence
  • feat(room): mark BLE-bound rendezvous peers
  • fix(room): map typed proximity failures
  • fix(room): dedupe concurrent join grants
  • fix(room): fail closed on malformed control frames
  • fix(bluetooth): bound inbound control frames
  • feat(android): add typed BLE rendezvous readiness
  • feat(room): use BLE rendezvous for host selection
  • fix(room): gate QR on native host readiness
  • refactor(room): centralize rendezvous label
  • chore(release): Tark v1.0.21-beta.5
  • style(room): format blocked dial regression
  • test(room): cover blocked native proximity dial
  • fix(room): bound native proximity dial
  • update test foldering
  • chore(release): Tark v1.0.21-beta.4
  • test(room): let adopted invite session outlive sheet test
  • test(room): avoid fake transport teardown deadlock
  • fix(room): request Bluetooth permissions before invite
  • chore(release): Tark v1.0.21-beta.3
  • fix(room): harden proximity bootstrap and live third-device join
  • fix(room): make one-scan join converge over proximity control
  • chore(release): Tark v1.0.21-beta.2
  • fix(room): simplify invite flow after beta device test (#228)
  • chore(release): Tark v1.0.21-beta.1
  • fix(release): seal generated l10n before provenance (#223)
  • fix(room): plan transport before readiness
  • fix(room): separate pending invitations from joined member rosters
  • add terms and conditions for app and website (sync)
  • style: apply Dart formatter to room failure callout
  • style: appl...
Read more

Tark 1.0.21

Choose a tag to compare

@P-B1101 P-B1101 released this 28 Sep 18:39

Changes since v1.0.20:

  • Split the Android release into Bazaar, GitHub and master scripts (#275)
  • update gitignore
  • Polish consistency across the app before the first release (#273)
  • fix(walkie): plain words on the dead-mic card (#274)
  • Recover the mic and speaker when an audio device reopen gets stuck (#272)
  • Remove AdTrace analytics; add a log level with screen, tap and settings logging (#269)
  • fix(hotspot): raise the hotspot after Wi-Fi goes off, not before (#271)
  • fix(hotspot): pull an Android 9 joiner back onto the host's hotspot (#270)
  • Default the voice delay setting to its 60 ms minimum (#268)
  • Play received voice from the audio callback on Android, Windows and Linux (#267)
  • fix(landing): select the Room on the home card before opening it (#266)
  • fix(audio): size the speaker cushion to what the device pulls at once (#265)
  • feat(audio): jump back to live when voice falls far behind (#264)
  • fix(audio): stop the periodic tick in voice and cut the delay it caused
  • feat(hotspot): full-screen page asking the host to turn Wi-Fi off (#262)
  • fix(bluetooth): ask for Location before searching on Android 6-11 (#261)
  • feat(room): Invite above Start in the lobby (#260)
  • fix(room): let a Room see a Bluetooth link that is already up (#259)
  • fix(room): Wi-Fi/Hotspot wins over Bluetooth, Guest counts as automatic (#258)
  • feat(room): round Start in the lobby, no Start on the Rooms list (#257)
  • fix(room): keep a Room invite on Bluetooth when Bluetooth is chosen (#256)
  • fix(bluetooth): host without a Room invite, run Rooms over Bluetooth, keep a Bluetooth pin (#255)
  • fix(walkie): pin the music fold chevron to the top and give Exit room a top gap (#254)
  • refactor(walkie): move the music cast watch out of the cubit (#253)
  • refactor(walkie): move the transmit counters out of the cubit (#252)
  • refactor(walkie): move the channel health checks out of the cubit (#251)
  • refactor(walkie): move the home-widget snapshot out of the cubit (#250)
  • chore(release): one release branch per minor version in build-android.ps1 (#249)
  • feat(walkie): redesign the channel screen after the Room lobby (#248)
  • feat(motion): one Cupertino page transition and shared motion across screens (#247)
  • perf(walkie): stop re-emitting state on every voice packet (#246)
  • fix(transfer): give up on a hotspot start that never answers (#245)
  • fix(room): no dead ends when Start finds no working link
  • fix(room): point the back arrow the right way in Persian
  • feat(room): redesign the saved rooms list after the lobby
  • feat(transfer): reconnect the last Bluetooth call when the app opens (#242)
  • feat(room): redesign the Room lobby
  • feat(room): guided reconnect when Start finds no link between the phones
  • fix(transfer): keep the hotspot side when recording the hotspot carrier
  • fix(room): join the hand-off hotspot through the proven bridge path
  • fix(walkie): announce the mute toggle and Leave as buttons
  • fix(android): keep the session alive when the mic service is refused
  • fix(onboarding): translate the day/night theme plates
  • fix(room): say "turn on Location" when Android 6-11 cannot scan
  • fix(wifi): keep a superseded listener from touching the new session
  • fix(room): start the inviter's hand-off when someone joins
  • fix(room): let the scanning phone host when the inviter cannot
  • fix(room): tell a phone that cannot advertise how to join instead
  • fix(room): name an expired or foreign-version invite as an invite
  • fix(room): announce on Wi-Fi before the Room readiness gate
  • ci: add manual workflow to delete merged branches
  • chore(release): Tark v1.0.21-beta.9
  • fix(room): replay bound transport health (#240)
  • chore(release): Tark v1.0.21-beta.8
  • fix(room): preserve one-scan transport handoff
  • chore(release): Tark v1.0.21-beta.7
  • fix(room): keep initial transport handoff in app
  • chore(release): Tark v1.0.21-beta.6
  • test(room): bind final dial fixtures to BLE rendezvous
  • test(room): bind remaining dial fixtures to BLE rendezvous
  • test(room): mark dial fixtures as BLE-bound
  • test(room): wire forged host proof scenario
  • test(room): wire host proof through real control lifecycle
  • test(room): fix fake stream teardown ownership
  • test(room): close write counter on the correct fake
  • style(room): format BLE binding regression
  • style(room): format receipt race test
  • docs(room): describe BLE-bound Classic control path
  • docs(room): align native comments with BLE rendezvous
  • diag(android): export BLE RFCOMM milestones to tarklog
  • diag(room): capture native rendezvous events in tarklog
  • fix(android): return typed rendezvous readiness errors
  • diag(room): record Bluetooth adapter readiness
  • test(room): inspect first duplicate confirmation
  • test(room): prove concurrent receipt idempotency
  • fix(room): dedupe concurrent membership receipts
  • test(room): require BLE binding and typed readiness failure
  • fix(room): preserve typed native readiness failures
  • fix(room): require BLE-bound host selection
  • test(room): verify QR-bound host challenge proof
  • style(room): format proximity carrier test
  • style(room): format proximity carrier
  • feat(room): authenticate host before sending join capability
  • diag(room): trace transport control milestones without credentials
  • test(room): prove concurrent join request idempotency
  • diag(android): add privacy-safe Bluetooth discovery trail
  • diag(room): trace authenticated join protocol milestones
  • diag(room): trace one-scan join milestones safely
  • diag(room): trace host invite readiness safely
  • test(room): model enabled adapter in invite readiness tests
  • style(room): format BLE identity tests
  • style(room): format proximity readiness tests
  • style(room): format rendezvous identity
  • style(room): format proximity control changes
  • style(room): format BLE rendezvous engine
  • fix(room): repair rendezvous host-name helpers
  • test(room): bind BLE identity to scanned invitation
  • refactor(android): consume hashed rendezvous service data
  • refactor(room): pass only BLE digest to Android
  • feat(room): derive privacy-safe BLE rendezvous identity
  • fix(android): normalize rendezvous correlation hex
  • fix(room): keep BLE scan error construction valid
  • test(bluetooth): reject oversized control frames
  • test(room): never render QR before native readiness
  • test(room): cover readiness and BLE-bound discovery
  • fix(room): trust BLE binding over cached adapter name
  • feat(room): carry BLE rendezvous match evidence
  • feat(room): mark BLE-bound rendezvous peers
  • fix(room): map typed proximity failures
  • fix(room): dedupe concurrent join grants
  • fix(room): fail closed on malformed control frames
  • fix(bluetooth): bound inbound control frames
  • feat(android): add typed BLE rendezvous readiness
  • feat(room): use BLE rendezvous for host selection
  • fix(room): gate QR on native host readiness
  • refactor(room): centralize rendezvous label
  • chore(release): Tark v1.0.21-beta.5
  • style(room): format blocked dial regression
  • test(room): cover blocked native proximity dial
  • fix(room): bound native proximity dial
  • update test foldering
  • chore(release): Tark v1.0.21-beta.4
  • test(room): let adopted invite session outlive sheet test
  • test(room): avoid fake transport teardown deadlock
  • fix(room): request Bluetooth permissions before invite
  • chore(release): Tark v1.0.21-beta.3
  • fix(room): harden proximity bootstrap and live third-device join
  • fix(room): make one-scan join converge over proximity control
  • chore(release): Tark v1.0.21-beta.2
  • fix(room): simplify invite flow after beta device test (#228)
  • chore(release): Tark v1.0.21-beta.1
  • fix(release): seal generated l10n before provenance (#223)
  • fix(room): plan transport before readiness
  • fix(room): separate pending invitations from joined member rosters
  • add terms and conditions for app and website (sync)
  • style: apply Dart formatter to room failure callout
  • style: apply Dart formatter to room failure UX test
  • style(room): apply formatter to actionable failures
  • feat(room): restore verified speaking presence in durable roster (#218)
  • test(room): lock actionable connection failure UX
  • fix(room): surface typed recoverable connection failures
  • feat(room): show actionable lobby connection failures
  • update website. add privacy policy and terms and conditions pages
  • fix(room): bind connected roster state to verified member proof (#217)
  • test(room): harden connection races and acceptance evidence (#211)
  • feat(room): make connection states clear and durable (#210)
  • feat(room): gate live entry on verified transport proof (#209)
  • feat(room): confirm membership by signed receipt (#208)
  • feat(room): coordinate one epoch-fenced connection attempt
  • fix: import room handoff reach pulse
  • ci: remove temporary formatter workflow
  • style: apply Dart formatter
  • ci: format room convergence patch
  • test(room): lock one-scan bridge completion semantics
  • fix(room): complete one-scan join after network bind
  • chore: add Graphify context optimization (#199)
  • chore: remove #196 test diagnostics
  • fix(room): preserve lobby member copy
  • chore: capture #196 test failure diagnostics
  • ci: diagnose #196 flutter test failure
  • docs(room): document hidden Start fallback
  • style: format #196 room-first changes
  • ci: format #196 room-first changes
  • test(room): keep entry transport checks invisible
  • test(room): align hidden bootstrap contract with room-first lobby
  • test(room): keep pending invite seats out of primary lobby
  • test(room): replace network-first lobby expectations
  • fix(room): bootstrap fallback invisibly from Start
  • chore: remove #196 quality-gate trigger
  • chore: trigger #196 quality gate after formatting
  • style: format #196 room-first changes
  • ci: run one-shot formatter for #196
  • feat(room): make the lobby room-first and transport-agnostic
  • chore: remove temporary branch marker
  • feat(room): codify proven-LAN-first hidden transport policy
  • test(room): lock room-first transport UX contract
  • docs(room): define room-first automatic ...
Read more

Tark v1.0.21-beta.9

Tark v1.0.21-beta.9 Pre-release
Pre-release

Choose a tag to compare

Tark release

Android downloads

  • Most Android phones (recommended): tark-v1.0.21-beta.9-arm64-v8a.apk
  • Older 32-bit ARM phones: tark-v1.0.21-beta.9-armeabi-v7a.apk
  • Android emulator / x86_64 device: tark-v1.0.21-beta.9-x86_64.apk
  • Play Console only: tark-v1.0.21-beta.9.aab

APKs are separate assets. Download only the APK that matches the phone; the arm64 APK is the normal choice. Each asset has a neighboring .sha256 file for optional integrity verification.