Skip to content

Release 1.1.18: Home Screen widgets (app core 2.46.0) - #60

Merged
adibhanna merged 4 commits into
mainfrom
release/1.1.18
Sep 9, 2026
Merged

adibhanna merged 4 commits into
mainfrom
release/1.1.18

Conversation

@adibhanna

Copy link
Copy Markdown
Contributor

ZenNotes for Android 1.1.18 (versionCode 20): Home Screen widgets

Home Screen widgets, in step with iPhone 1.9.9. Three of them, zero configuration, wearing whatever theme the app wears. The app core stays at 2.46.0; the pin moves to a3e638fc (2.46.0 plus the js-yaml / svgo lockfile fix for the advisories published on 2026-09-08).

What ships

  • Widgets (c323811): New Note (2×2, one tap creates a note in the Inbox and opens it with the title focused); Recent Notes (4×2 and up, resizable, pinned notes first then last edited, + in the header); Today's Tasks (4×2 and up, the Home dashboard's Today bucket, overdue first, a row lands on the task's line). Classic Java RemoteViews in md.zennotes.widgets, no Glance, no Kotlin. The shell publishes a snapshot (titles, paths, dates, task lines, theme colors; no note bodies) into files/widgets/snapshot.json through WidgetBridgePlugin.java, throttled to one refresh per 8 s while typing and flushed on backgrounding. Taps are zennotes:// view intents; at boot the shell asks the plugin for the newest link it saw instead of Capacitor's getLaunchUrl.
  • Version bump 1.1.18 / versionCode 20 (ecdc18a); package.json and the bridge's appVersion follow. No new permissions, services, or data collection.
  • Release pack docs/releases/v1.1.18/ (a6df18f), with the Play notes updated to carry the 2.46 changes (1f03247).

Play note

1.1.17 (versionCode 19) was merged in #57 without a Play submission, so this is the first Play update carrying app core 2.46. The Play release notes for 20 (1.1.18) mention both the widgets and the 2.46 changes.

Verification (2026-09-08/09)

  • Pixel 7 API 35 AVD: picker previews, all three widgets placed, New Note, note rows and task rows warm and after a process kill, widgets updating within seconds.
  • Release build on 2026-09-09 at the pin: npm run typecheck clean, npm test 50/50, bundleRelease signed with the upload key; merged manifest versionCode 20 / 1.1.18; AAB sha256 eaf35e89ecd9049826fe8fbbf308bbbd723cc2b107d89893d22967ff9da0bc37.

Same round ships as ZenNotes for iOS 1.9.9.

Port of the iPhone shell's widgets (zennotesiphone release/1.9.9): New
Note (2x2), Recent Notes and Today's Tasks (4x2 and up, resizable,
scrolling lists), on the same src/bridge/widgets.ts publisher and
snapshot contract, rendered as classic RemoteViews in Java
(md.zennotes.widgets) so the build stays Java-only. The snapshot lives
in the app's private files (files/widgets/snapshot.json), written by
WidgetBridgePlugin; the two list widgets are RemoteViewsService-backed;
colors come from the app's live theme; every tap is an ACTION_VIEW
zennotes:// intent into the single-task MainActivity. Pins are keyed by
vault.root here.

At boot the shell reads ZenWidgets.consumeLaunchLink(), stashed by
MainActivity from onCreate and onNewIntent, because Capacitor's
getLaunchUrl captures the activity's intent once and an activity
recreated into its old task reports the task's original intent there;
the real tap only arrives as a retained appUrlOpen the Cloud auth
listener consumes. mobile-cloud-auth.ts now only takes zennotes://auth.

RemoteViews gotchas baked in: dividers are 1dp FrameLayouts (a plain
View makes the launcher show "Can't load widget"), and the widget
layouts carry tools:ignore="UseAppTint" since RemoteViews cannot use
app:tint. Verified on the Pixel 7 API 35 AVD: picker previews, all
three placed, New Note, note rows and task rows warm and after a real
process kill; testDebugUnitTest, lintDebug and assembleDebug pass.
versionCode 20, versionName 1.1.18; package.json and the bridge's
appVersion follow. Home Screen widgets; the pin stays at a3e638fc
(2.46.0 plus the lockfile fix).
1.1.17 (versionCode 19) was merged without a Play submission, so 20 (1.1.18)
is the first Play update with app core 2.46. The submitted notes mention both
the widgets and the 2.46 changes; this mirrors the text sent to Play (496 chars).
@adibhanna
adibhanna merged commit 3737c6b into main Sep 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant