@squirreljetpack/im-dynamic 0.2.8 → 0.2.10

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,63 @@
1
+ ## [0.2.10] - 2026-10-31
2
+
3
+ ### 🚀 Features
4
+
5
+ - `im :sync --reset` asks before it discards local changes the server never
6
+ received; `--force` skips the question, and an idle database rebuilds without
7
+ a prompt.
8
+ - Sync is versioned end to end. A cursor names the log it indexes, and the
9
+ client and worker exchange the envelope `protocol` and cell `version` on
10
+ every round: a cursor minted by another log, one past the end of this log, or
11
+ a peer that speaks another version is refused instead of merging unrelated
12
+ histories or skipping what it cannot read. `im :sync status` prints the log,
13
+ cursor version and both protocol numbers.
14
+
15
+ ### 🐛 Bug Fixes
16
+
17
+ - A task's start time is required, and an edit can no longer clear the column
18
+ that defines a task's kind. A scheduled task's window opens at that start, a
19
+ recurring task's intervals tile from it, and a oneshot is stamped with it at
20
+ creation; clearing the duration or interval that goes with it is refused
21
+ instead of silently reclassifying the task (and with it its availability,
22
+ view membership and completion scope).
23
+ - An end time is cleared by a blank answer (or `never`/`none`) in both the
24
+ create and edit menus; a blank previously kept the old value.
25
+
26
+ ### 💥 Breaking changes
27
+
28
+ - A task create must carry `start_time`, so the cell vocabulary is now version
29
+ 2. A peer that speaks another version refuses the round rather than skip the
30
+ cell, and v0.2.9 and earlier clients send no version at all: redeploy the
31
+ worker and upgrade the client together.
32
+ - Databases from earlier builds are not migrated: a schema change means
33
+ deleting the database file, then signing in to rebuild from the log.
34
+
35
+
36
+ ## [0.2.9] - 2026-10-30
37
+
38
+ ### 🚀 Features
39
+
40
+ - The recurring creation menu can edit start time, interval, and available
41
+ duration, and the scheduled menu start time and available duration, so a
42
+ value typed on the way in is corrected without cancelling. A duration at or
43
+ beyond the interval means unbounded availability (`always`) instead of a
44
+ validation error, editing the interval re-clamps the duration, and a blank
45
+ answer keeps a scheduled task's current duration.
46
+
47
+ ### 🐛 Bug Fixes
48
+
49
+ - Today view: completed-on rows merge per interval instead of per task, so a
50
+ completion logged in an interval without an availability window — before a
51
+ moved-forward `start_time`, say — is no longer dropped when the task also
52
+ has window rows. Each row's sum, `last:` and time label are scoped to its
53
+ own interval.
54
+
55
+ ### 💥 Breaking changes
56
+
57
+ - Utility commands moved under `:tool` (`:tool config|embed|mood|clear`) and
58
+ account commands under `:sync` (`:sync register|login|status|logout`).
59
+
60
+
1
61
  ## [0.2.8] - 2026-10-30
2
62
 
3
63
  ### 🐛 Bug Fixes
package/README.md CHANGED
@@ -95,18 +95,13 @@ Trackers and grids:
95
95
  period defaults to "week"
96
96
 
97
97
  Other:
98
- im :config | :c [file] open the config in $VISUAL / $EDITOR
99
- file: moods | colors
98
+ im :tool embed|mood|clear|.. (see `im :tool --help`)
99
+ im :tool config | :c [moods|colors] open the config in $VISUAL / $EDITOR
100
100
  im - browse trackers
101
- im :embed embed stdin lines (one vector/line)
102
- im :color [mood] palette swatches / mood diagnostic
103
- im :clear [@<date>] clear all mood entries from a day
104
101
  im :db prune|backfill|doctor database utilities
105
102
 
106
- Sync:
107
- im :auth register|login|status|logout manage this device's syncing account
108
- im :sync push local changes, pull remote changes
109
- im :sync --reset rebuild database from remote state
103
+ im :sync [register|login|status|logout] setup/manage/run sync
104
+
110
105
 
111
106
  Flags:
112
107
  im -q | -v <command> quiet / verbose; flags go first
@@ -134,7 +129,7 @@ npm install -g @squirreljetpack/im
134
129
 
135
130
  ## Configuration
136
131
 
137
- Run `im :config` to open the configuration file in your `$EDITOR` or `$VISUAL`.
132
+ Run `im :tool config` to open the configuration file in your `$EDITOR` or `$VISUAL`.
138
133
 
139
134
  The default locations are in order:
140
135
 
@@ -150,7 +145,7 @@ The default locations are in order:
150
145
 
151
146
  ##### Trackers
152
147
 
153
- Trackers are defined in your configuration (`im :config`); each `[tracker.<name>]`
148
+ Trackers are defined in your configuration (`im :tool config`); each `[tracker.<name>]`
154
149
  section is logged through `im -<name> <value>` (no value for `null` trackers):
155
150
 
156
151
  - Kinds: `text`, `integer`, `float`, `duration` (strings like `6m 30s`), `null` (timestamp/count markers — requires an interval).
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "hasInstallScript": true,
20
20
  "name": "@squirreljetpack/im-dynamic",
21
- "version": "0.2.8"
21
+ "version": "0.2.10"
22
22
  },
23
23
  "node_modules/detect-libc": {
24
24
  "engines": {
@@ -47,5 +47,5 @@
47
47
  }
48
48
  },
49
49
  "requires": true,
50
- "version": "0.2.8"
50
+ "version": "0.2.10"
51
51
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/Squirreljetpack/im/releases/download/v0.2.8"
3
+ "https://github.com/Squirreljetpack/im/releases/download/v0.2.10"
4
4
  ],
5
5
  "bin": {
6
6
  "im-dynamic": "run-im-dynamic.js"
@@ -87,7 +87,7 @@
87
87
  "zipExt": ".tar.xz"
88
88
  }
89
89
  },
90
- "version": "0.2.8",
90
+ "version": "0.2.10",
91
91
  "volta": {
92
92
  "node": "18.14.1",
93
93
  "npm": "9.5.0"