Skip to content

Tags

Tags

test-issue32

Toggle test-issue32's commit message
release: v0.46.0 — Windows pipe ACLs + session token, page win.open c…

…onfinement, Linux subframe gate (tarwin#18, tarwin#29)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

v0.42.0

Toggle v0.42.0's commit message
feat(build): per-CPU macOS builds (--arch), docs + skill refresh — v0…

….42.0

- tinyjs build/publish/notarize --arch arm64|x86_64: an .app for that CPU
  from any Mac (the other CPU's txiki.js is fetched from the same release
  and cached). Artifacts are named -macos-<arch>; per-arch dmgs survive
  rebuilds, and two `publish --arch` runs merge into one manifest with a
  per-CPU "mac" block (arm64 also fills the top-level url for older apps).
- update.js picks this Mac's build from the "mac" block (hw.optional.arm64,
  so an Intel build under Rosetta moves to arm64); no entry = no update.
- Follow-ups to tarwin#6/tarwin#7: `file` reads archs, lipo only when merging/thinning
  and never pops the CLT dialog; tjs signed before the launcher; a fat
  checkout launcher stays fat; the arch report says how to reach Intel.
- onLocale is wired into the generated entry; Windows capabilities() lists
  proxyURL/setAllSpaces as unsupported.
- skill/references/release.md ships (the RELEASE.md ignore rule matched it
  case-insensitively); skill + docs refreshed against the code; macOS 15+
  floor documented; launcher size corrected.
- Site: OS icons on the platform tabs, one shared footer, Apple Silicon /
  Intel download buttons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

v0.41.0

Toggle v0.41.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request tarwin#3 from tarwin/feat/edit-menu-options

Multi platform "Edit" menu controls

v0.40.0

Toggle v0.40.0's commit message
Fail fast and loud when no display can show the webview; document the…

… tjs-async/sqlite-sync footguns

Tester feedback: a sandbox that couldn't open the WebKit window failed
opaquely (misdiagnosed as an npm cache issue), and the missing-await +
better-sqlite3-shaped assumptions around tjs:sqlite cost real debugging.

- All three launchers now check for a usable display BEFORE connecting
  the backend socket/pipe and exit 3 with a two-line tinyjs:-prefixed
  explanation: Linux DISPLAY/WAYLAND_DISPLAY + gtk_init_check, macOS
  window-server session (CGSessionCopyCurrentDictionary), Windows
  visible window station. Early exit means bridge.js's existing race
  reports "launcher exited before connecting" instead of hanging.
  macOS verified (sandbox-exec denying WindowServer + clean smoke run);
  Linux/Windows checks logged in TODO-verify.md.
- Docs (README, docs.html, skill): sqlite examples now await
  tjs.makeDir first; async-fs vs sync-sqlite in every gotcha list; no
  get(), run() returns void, RETURNING id / last_insert_rowid() idioms
  verified against the shipped runtime.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

v0.39.1

Toggle v0.39.1's commit message
fix(macos): frameless secondary windows lose their titlebar container

`windowControls` rides the wire as a token ('' keep · 'all' · 'none' · a
comma list) so the array form survives, but apply_chrome_fields derived
req_traffic_off by comparing it to "0" — never true. Every secondary
window opened frameless with windowControls:false kept a live
NSTitlebarContainerView: invisible, but its rounded top edge drew over
the page and it swallowed the top strip's mouse events. Main windows
derive the same bit from g_chrome_traffic and were unaffected.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

v0.39.0

Toggle v0.39.0's commit message
feat(macos): { role: 'app' } reaches the application menu — Settings……

… at last

The one slot in the bar setMenu could not touch, and the one macOS reserves
for Settings… (⌘,). Items in an `app` role block land between About and Quit
and behave like any other: ids, key equivalents, ticks, menu.update /
menu.get, clicks through tiny.menu.on. Windows and Linux have no application
menu, so the role stays unknown there and its items are dropped rather than
landing somewhere arbitrary — both launchers already ignore role slots and
their item lines safely (win flushes them into the skipped spec, linux's
build_top() returns null), so declare the item in a menu of your own there.

The id→item registry now empties at the top of the bar build instead of just
before the custom menus: the application menu is built first, and the old
order threw its registrations away — an item that clicked perfectly well (the
id rides on representedObject) but that menu.get and MENUUPD could not see.

Docs: README, the site changelog, the skill's api reference, and tiny.d.ts's
role union. Tested on macOS; the other two are unchanged by inspection.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

v0.38.0

Toggle v0.38.0's commit message
docs: teach the skill, the types and the site about site wrappers

skill/ and template/ ship INSIDE the release tarballs, so this had to land
before the tag or 0.38.0 would have shipped documentation that predates its
own headline feature — and, worse, one piece that is now actively wrong.

- skill/references/recipes.md's "Wrapping a hosted web app" told agents to
  wrap with `frontend.devUrl` and said nothing about gating the origin.
  devUrl is DEV-ONLY by construction, so a packaged app built that way has
  no page at all, and an agent following the recipe would hand a
  third-party site a backend with full filesystem access. Rewritten around
  "url" + "api", with the hooks, downloads/popups, and a pointer to the
  per-engine caveats.
- skill/SKILL.md's tinyjs.json schema gains url/inject/downloads/popups/api
  (the schema block is what an agent reads before writing a manifest).
- skill/references/api.md gains the wrapper surface: tiny.win.find,
  the navigate/download/popup page events, the onNavigate/onDownload/
  onWindowOpen backend hooks with what a 'policy' call may return, and
  meta.origin.
- skill/references/platforms.md gains the structural per-engine caveats
  under the existing Windows/Linux notes.
- template/types/tiny.d.ts: capabilities() was typed
  Record<string, boolean | string> but now returns an `api` OBJECT — my own
  change broke the type. Also drops three "macOS today" notes that Windows
  and Linux have since made false.
- docs/docs.html: the wrapper keys in both tinyjs.json samples, plus a
  "wrapping a hosted site" section (gate first, then find/capabilities and
  the backend hooks) and its TOC entry. docs/index.html gets a feature tile.

All three pages re-parsed clean.

v0.37.1

Toggle v0.37.1's commit message
changelog: 0.37.1 — tinyjs dev's accidental bridge-trace spew hushed

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

v0.37.0

Toggle v0.37.0's commit message
changelog: 0.37.0 — devtools opt-in, browser accelerators suppressed,…

… disabled combos swallowed

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>