@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 +60 -0
- package/README.md +6 -11
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
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 :
|
|
99
|
-
|
|
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
|
-
|
|
107
|
-
|
|
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).
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"hasInstallScript": true,
|
|
20
20
|
"name": "@squirreljetpack/im-dynamic",
|
|
21
|
-
"version": "0.2.
|
|
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.
|
|
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.
|
|
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.
|
|
90
|
+
"version": "0.2.10",
|
|
91
91
|
"volta": {
|
|
92
92
|
"node": "18.14.1",
|
|
93
93
|
"npm": "9.5.0"
|