@stacksjs/defaults 0.75.42 → 0.75.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -370,13 +370,21 @@ What archiving does is part of every conversation (`conversation.archive`):
370
370
 
371
371
  | Provider | `mode` | Effect in the real app |
372
372
  |---|---|---|
373
- | iMessage | `confirm` | Opens the conversation in Messages at Delete Conversation; the person confirms. Apple has no API, and editing chat.db is ignored or synced everywhere. |
373
+ | iMessage | `confirm` | With a `controller`, Messages' own Delete on the row found by name; without one, opens the conversation for the person to delete. Apple has no API, and editing chat.db is ignored or synced everywhere. |
374
374
  | Slack DM / group DM | `native` | `conversations.close`; Slack reopens it when someone writes. `unarchive` reopens. |
375
375
  | Slack public channel | `native` | `conversations.leave`; `unarchive` rejoins. |
376
376
  | Slack private channel | `unsupported` | Untouched: leaving would need a re-invite. |
377
377
  | Discord thread | `native` | Archived in Discord (reopens on a new post). |
378
378
  | Discord channel | `unsupported` | Discord cannot hide a channel for one person. |
379
379
 
380
+ For iMessage, pass a `controller` (`{ remove(names, url, confirm), recover(names) }`)
381
+ whenever the app can drive Messages by accessibility: it receives every label
382
+ Messages might give the row (contact name, formatted number, handle) and should
383
+ act on the row found by name, never on the current selection. Without a
384
+ controller the driver only opens the conversation in Messages for the person to delete. With a controller, `unarchive` recovers
385
+ from Recently Deleted, and `confirmDeletes: true` accepts Messages' alert too.
386
+ Attic (`~/Code/Apps/attic`, `app/Desktop/messages-control.swift`) is the reference.
387
+
380
388
  Discord personal DMs are deliberately absent: only a user token reads them, and
381
389
  automating a user account breaks Discord's terms. Reactions are separate
382
390
  `kind: 'reaction'` messages with `targetId` and an emoji `reaction`; Slack and
@@ -37,9 +37,17 @@ navigation otherwise appears as a blank native window.
37
37
 
38
38
  ## API
39
39
 
40
+ Two packages carry "desktop" in their name. `@stacksjs/desktop-build` (this
41
+ repo, `storage/framework/core/desktop`) holds the build and launch helpers
42
+ below. `@stacksjs/desktop` (the stx repo) wraps the Craft bridge for code
43
+ running inside the window; import it from `@stacksjs/desktop/browser` there,
44
+ since its root entry also carries host-side modules that pull in Node builtins
45
+ and fail a browser bundle. Attic (`~/Code/Apps/attic`) uses it for native
46
+ menus, context menus and alerts.
47
+
40
48
  ```typescript
41
- import { openDevWindow } from '@stacksjs/desktop'
42
- import type { Desktop, OpenDevWindowOptions } from '@stacksjs/desktop'
49
+ import { openDevWindow } from '@stacksjs/desktop-build'
50
+ import type { Desktop, OpenDevWindowOptions } from '@stacksjs/desktop-build'
43
51
 
44
52
  interface OpenDevWindowOptions {
45
53
  title?: string
@@ -2,7 +2,7 @@
2
2
  "publisher": "Stacks",
3
3
  "name": "vscode-stacks",
4
4
  "displayName": "Stacks",
5
- "version": "0.75.42",
5
+ "version": "0.75.44",
6
6
  "description": "Stacks, built into VS Code: stx templates, pickier linting and formatting, encrypted env files, the dev server preview and every buddy command. No other extensions required.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/chrisbbreuer",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/defaults",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.75.42",
5
+ "version": "0.75.44",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/stacksjs/stacks.git",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@iconify-json/f7": "^1.2.2",
57
57
  "@iconify-json/hugeicons": "^1.2.35",
58
- "@stacksjs/mobile": "^0.75.42",
58
+ "@stacksjs/mobile": "^0.75.44",
59
59
  "@stacksjs/sanitizer": "^0.2.348",
60
60
  "ts-qr-codes": "^0.1.8"
61
61
  }