gitroll 0.1.2 → 0.2.0
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 +24 -0
- package/README.md +5 -4
- package/SPEC.md +3 -1
- package/dist/THIRD_PARTY_NOTICES.txt +1671 -0
- package/dist/gitroll.mjs +54 -16
- package/dist/web/THIRD_PARTY_NOTICES.txt +1671 -0
- package/dist/web/app.js +275 -112
- package/dist/web/index.html +3 -52
- package/dist/web/style.css +2 -224
- package/package.json +25 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GitRoll are documented here. GitRoll follows [semantic versioning](https://semver.org). The Roll file format has its own version, documented in [SPEC.md](SPEC.md).
|
|
4
4
|
|
|
5
|
+
## 0.2.0 (2026-09-15)
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- **The browser app has been rebuilt** on React, Tailwind CSS and shadcn/ui components, replacing the hand-written DOM code. It looks and behaves like a modern app, and a Roll's own `.gitroll/theme.css` still repaints all of it: the documented variables are unchanged and everything else is derived from them.
|
|
9
|
+
- **Logging takes fewer steps.** The composer is always on the timeline instead of behind a button and a dialog. Type, topic, when it happened and amount are visible controls rather than hidden under "More options", `#tags` and amounts like `$40` are read out of what you write, and photos and files can be dropped or pasted straight in.
|
|
10
|
+
- **Log something that happened earlier.** When it happened is a visible control with Now, Yesterday and a week ago, plus a date picker. GitRoll still records separately when you wrote it down.
|
|
11
|
+
- **Search is one query box.** Filters and typed words are the same string now, so they can't disagree. Suggestions appear as you type (`has:`, `topic:`, `type:`, `after:`, `amount:` and the values for each), and the whole thing works from the keyboard. The syntax is the same one `gitroll find` takes.
|
|
12
|
+
- **Event text is rendered as Markdown**, which is what the format always said it was. Headings, lists, emphasis, quotes, code and tables all display, and photos and files can be embedded in the text itself. The editor has a toolbar, `Ctrl`/`⌘`+`B`/`I`/`K`, and a preview. What is written to disk is still plain Markdown a person can read.
|
|
13
|
+
- **Backing up happens by itself**, shortly after you save and when you return to the window, and reports what it is actually doing (checking, downloading, combining, uploading) instead of one spinner. The header button is now a status indicator; it only asks for a hand when a sync fails for a reason a person has to resolve.
|
|
14
|
+
- **"Project" is now "Topic"** and **"Kind" is now "Type"** throughout the interface. Nothing changes on disk: events still store `projects`, exactly as SPEC.md version 1 describes. `topic:` and `topics:` are accepted as search filters alongside `project:`.
|
|
15
|
+
- **The timeline is paginated**, so a Roll with years of events stays responsive.
|
|
16
|
+
- **Accessibility:** the app now meets WCAG 2.1 AA. Everything is reachable and operable from the keyboard, focus is always visible, dialogs replace the browser's own `alert`/`confirm`/`prompt`, results and errors are announced, and colours meet contrast requirements in both light and dark mode. Secondary text is slightly darker than before for that reason.
|
|
17
|
+
|
|
18
|
+
- **Installing GitRoll still installs nothing else.** The interface is built with React and Tailwind, but everything is bundled at build time, so the published package continues to have no runtime dependencies of its own.
|
|
19
|
+
|
|
20
|
+
### Removed
|
|
21
|
+
- **The built-in Maintenance type.** The starter set is now Log, Expense, Decision, Issue and Milestone. Events already logged as `maintenance` still open and still work; to keep its fields, define it in your own Roll with `gitroll types add`.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- Searching for more than one word. The query round-tripped through the address bar with its whitespace trimmed, which erased the space as soon as it was typed.
|
|
25
|
+
|
|
26
|
+
### Security
|
|
27
|
+
- The app's Content Security Policy now allows inline **styles**, which the interface needs to position dialogs and menus. Scripts remain same-origin only, with no inline or third-party script and no framing.
|
|
28
|
+
|
|
5
29
|
## 0.1.2 (2026-09-15)
|
|
6
30
|
|
|
7
31
|
### Fixed
|
package/README.md
CHANGED
|
@@ -61,10 +61,11 @@ GitRoll opens right in your terminal: use ↑↓ to browse, `n` to log, `/` to f
|
|
|
61
61
|
|
|
62
62
|
In the browser:
|
|
63
63
|
|
|
64
|
-
- **Log:** click **
|
|
65
|
-
- **Find:** type in **Search**,
|
|
66
|
-
- **Edit:** open an
|
|
67
|
-
- **Back up:**
|
|
64
|
+
- **Log:** start typing in the box at the top and click **Save** (or press `n` from anywhere, and `Ctrl`/`⌘`+`Enter` to save). Text is Markdown, `#tags` and amounts like `$40` are picked up as you type, and photos and files can be dropped or pasted straight in. The row of buttons under the box sets the type, the topic, when it happened and the amount — including logging something that happened last week.
|
|
65
|
+
- **Find:** type words in **Search**, or a filter like `has:photo`, `topic:house`, `after:2026-01-01` or `amount:>500`. Suggestions appear as you type; press `/` to jump to the box. The same filters work in `gitroll find`.
|
|
66
|
+
- **Edit:** open an event and click **Edit**. **History** shows every earlier version.
|
|
67
|
+
- **Back up:** GitRoll backs up by itself shortly after you save and when you come back to the window. The indicator in the header shows where that has got to; click it to back up now or to see why one failed.
|
|
68
|
+
- **Keyboard:** press `?` for the full list of shortcuts.
|
|
68
69
|
|
|
69
70
|
If the page asks you to open GitRoll from the link in your terminal, copy that link. It's a per-session key that keeps other programs on your computer out.
|
|
70
71
|
|
package/SPEC.md
CHANGED
|
@@ -72,7 +72,9 @@ Edits rewrite the file in place (same path, same `id`), and each edit is its own
|
|
|
72
72
|
|
|
73
73
|
A type is a template: a label, an icon, and optional fields stored under `data`. It never changes how an event is stored. An event whose type isn't known is still a valid event and renders as a general log.
|
|
74
74
|
|
|
75
|
-
Built-in starter types: `log`, `expense`, `
|
|
75
|
+
Built-in starter types: `log`, `expense`, `decision`, `issue`, `milestone`.
|
|
76
|
+
|
|
77
|
+
The starter set is deliberately small. A type id that no definition covers is still a valid event and renders as a general log, so a Roll may use any id it likes; anything more specific belongs in `.gitroll/types/<id>.yaml`.
|
|
76
78
|
|
|
77
79
|
A custom type lives in the Roll, so its data never depends on a plugin being installed:
|
|
78
80
|
|