Skip to content

Commit b11c493

Browse files
v0.1 prep: editing, backdating, text import, release infra
Journal: - Full edit & delete for experiences, doses, timeline events, and substances. - Backdate everything via datetime pickers (log past experiences accurately). Import from text: - Paste a free-text account; a local model (Ollama, JSON mode) extracts a structured experience — substances, doses, timeline — for review before saving. New commands parse_experience / import_experience. Verified against a live model (correctly pulled multiple doses incl. a null amount for "a couple of beers"). Release infrastructure (toward a shippable binary): - Own app icon (journal mark) replacing the placeholder Cairn icon; pruned unused mobile icon sets. - GitHub Actions release workflow (tauri-action) — universal macOS .dmg + Linux AppImage/.deb/.rpm on v* tags; signs when APPLE_* secrets exist, else unsigned. - Fix bundle identifier com.fieldnotes.app -> com.fieldnotes.journal (the .app suffix conflicts with the macOS bundle extension). Verified `tauri build` produces a working .app + .dmg. - README: document import + companion.
1 parent 0cc3fc9 commit b11c493

26 files changed

Lines changed: 745 additions & 15 deletions

.github/workflows/release.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# SPDX-License-Identifier: LicenseRef-PolyForm-Noncommercial-1.0.0
2+
# Build installable binaries and attach them to a GitHub Release on every v* tag.
3+
#
4+
# macOS → universal .dmg (Apple Silicon + Intel). Signs + notarizes automatically
5+
# IF the APPLE_* secrets are set; otherwise the .dmg is unsigned
6+
# (users right-click → Open the first time).
7+
# Linux → .AppImage / .deb / .rpm.
8+
name: Release
9+
10+
on:
11+
push:
12+
tags:
13+
- "v*"
14+
15+
jobs:
16+
release:
17+
permissions:
18+
contents: write
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
include:
23+
- platform: macos-latest
24+
args: "--target universal-apple-darwin"
25+
rust-targets: "aarch64-apple-darwin,x86_64-apple-darwin"
26+
- platform: ubuntu-22.04
27+
args: ""
28+
rust-targets: ""
29+
runs-on: ${{ matrix.platform }}
30+
steps:
31+
- uses: actions/checkout@v4
32+
33+
- name: Install Linux system dependencies
34+
if: matrix.platform == 'ubuntu-22.04'
35+
run: |
36+
sudo apt-get update
37+
sudo apt-get install -y \
38+
libwebkit2gtk-4.1-dev \
39+
build-essential curl wget file \
40+
libxdo-dev libssl-dev \
41+
libayatana-appindicator3-dev \
42+
librsvg2-dev patchelf
43+
44+
- name: Set up Node
45+
uses: actions/setup-node@v4
46+
with:
47+
node-version: 20
48+
49+
- name: Set up Rust
50+
uses: dtolnay/rust-toolchain@stable
51+
with:
52+
targets: ${{ matrix.rust-targets }}
53+
54+
- name: Cache Rust build
55+
uses: swatinem/rust-cache@v2
56+
with:
57+
workspaces: ./src-tauri -> target
58+
59+
- name: Install frontend dependencies
60+
run: npm ci
61+
62+
- name: Build and release
63+
uses: tauri-apps/tauri-action@v0
64+
env:
65+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
66+
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
67+
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
68+
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
69+
APPLE_ID: ${{ secrets.APPLE_ID }}
70+
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
71+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
72+
with:
73+
tagName: ${{ github.ref_name }}
74+
releaseName: "Field Notes ${{ github.ref_name }}"
75+
releaseBody: |
76+
Download an installer for your platform below.
77+
78+
**macOS:** not yet notarized — on first launch, right-click the app and
79+
choose **Open** to get past Gatekeeper.
80+
**Linux:** use the .AppImage (portable), or the .deb / .rpm for your distro.
81+
82+
The Companion and text-import features need a local model via
83+
[Ollama](https://ollama.com) (or install one with Cairn).
84+
releaseDraft: true
85+
prerelease: true
86+
args: ${{ matrix.args }}

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,14 @@ anywhere.
2121
## What works today
2222

2323
- **Journal** — create experiences (intention, set & setting), log doses with
24-
amount/unit/route and a live timeline of how you're feeling.
24+
amount/unit/route and a live timeline of how you're feeling. Full edit & delete,
25+
and backdate anything so you can record past experiences accurately.
26+
- **Import from text** — paste a past experience in your own words and a **local**
27+
model extracts the substances, doses, and timeline into a structured record for
28+
you to review before saving. Runs entirely on-device via Ollama.
29+
- **Companion** — a calm, non-judgmental harm-reduction chat, also fully local
30+
(Ollama). It can be made aware of your current session (logged doses + interaction
31+
flags) and never encourages use.
2532
- **Safety checker** — every dose is checked against the others in that experience
2633
for widely-documented dangerous combinations (opioid + benzodiazepine, MAOI +
2734
serotonin releaser, lithium + psychedelics, SSRI + MDMA, …), rated

src-tauri/icons/128x128.png

380 Bytes
Loading

src-tauri/icons/128x128@2x.png

505 Bytes
Loading

src-tauri/icons/32x32.png

225 Bytes
Loading

src-tauri/icons/64x64.png

1.98 KB
Loading
580 Bytes
Loading
735 Bytes
Loading
791 Bytes
Loading
1.04 KB
Loading

0 commit comments

Comments
 (0)