283 Commits

Author SHA1 Message Date
Julien Calixte
2a4a3ed9f7 fix(macos): drop status item title while notch overlay is visible
The notch overlay wings already display elapsed time and step title;
keeping them on the status item too produced a duplicate readout
elsewhere in the menu bar.
2026-05-15 14:41:30 +02:00
Julien Calixte
fe75df4e0e refactor(macos): route notch geometry through overlay state
Store NotchGeometry on NotchOverlayState so the SwiftUI content can read
it reactively instead of receiving it via initializer. Lets the
controller drive frame updates when geometry changes and simplifies the
panel resize to NSPanel's built-in animate flag.
2026-05-15 12:05:35 +02:00
Julien Calixte
030ab950eb 2026-05-15 11:29:37 2026-05-15 11:29:37 +02:00
Julien Calixte
29a71a73b2 feat(macos): add native menu bar app with notch overlay
Introduces a SwiftUI companion app for the Fail Well PWA: menu bar
status item, popover with task list / record / history views, command
palette, and a Dynamic Island-style notch overlay that shows the active
step and timer beside the hardware notch and expands on hover to reveal
pause/next controls.
2026-05-15 11:27:51 +02:00
Julien Calixte
0c0d555ac1 docs: add implementation plan to align code with feedback loop ADR
Vertical-slice plan with five slices across four phases, each with
acceptance criteria, manual verification, and human-review checkpoints
between phases. Surfaces and orders the inconsistencies between the
current code and the per-task loop language. Flat todo.md mirrors the
plan as a checkable task list.
2026-05-15 11:26:06 +02:00
Julien Calixte
0ad89f06ef docs: record ADR 0001 for per-task feedback loop design
Captures the four coupled commitments that define Fail Well's per-task
loop: Initial Plan anchored at Start-of-Execution, Failure Signal with
three named modes (Estimation Variance, Discovered Scope, Abandoned
Scope), distinct affordances for Re-estimation vs Re-planning, and a
dedicated Closing Ceremony. Also records the alternatives considered
and rejected so future readers don't relitigate them.
2026-05-15 11:26:01 +02:00
Julien Calixte
5796c50566 docs: add CONTEXT.md ubiquitous language for per-task loop
Establishes the shared vocabulary for Fail Well: Task, Step, Plan,
Step History, Initial Plan, Execution, Step Record, Notes, plus the
Failure Signal (with its three named modes), Step-Back Signal, Closing
Ceremony, Re-estimation, and Re-planning. The glossary anchors all
downstream decisions about the per-task feedback loop.
2026-05-15 11:25:55 +02:00
Julien Calixte
25afabaf3d fix: add missing apiUrl to OpenPanel config for self-hosted instance 2026-04-04 14:23:24 +02:00
Julien Calixte
baaa62afdf style: align paste hint text and button vertically 2026-04-04 14:08:55 +02:00
Julien Calixte
a9a8233aee chore: update browserlist 2026-04-04 14:07:50 +02:00
Julien Calixte
967018da12 chore: upgrade vite to 8 and related tooling
- vite 5 → 8
- vite-plugin-pwa 0.19 → 1.2 (vite 8 compat confirmed via vite-pwa/vite-plugin-pwa#918)
- @vitejs/plugin-vue 5 → 6
- vitest 1 → 4
- @vitest/browser, @vitest/ui 1 → 4
- workbox-build, workbox-window added as direct deps at ^7.4.0 to satisfy vite-plugin-pwa peer reqs
2026-04-04 14:06:01 +02:00
Julien Calixte
2a0c2fdbb8 chore: fix sass deprecation warnings and upgrade vite to 5.4
- Upgrade vite from 5.1.3 to 5.4.21 to support modern sass API option
- Configure sass preprocessor with api: 'modern' to silence legacy-js-api warning
- Silence bulma-sourced deprecation warnings (import, global-builtin, color-functions, if-function)
2026-04-04 13:53:59 +02:00
Julien Calixte
d976ca811c feat: add OpenPanel analytics via @openpanel/web SDK 2026-04-04 13:31:09 +02:00
Julien Calixte
eb2004f062 chore: add Docker/nginx setup for Coolify deployment
- Add multi-stage Dockerfile (Node 24 + pnpm builder, nginx:alpine server)
- Add nginx.conf with SPA routing and asset caching
- Remove netlify.toml
2026-04-04 13:17:09 +02:00
Julien Calixte
684e6eb566 fix: remove import saas 2026-01-26 20:10:55 +01:00
Julien Calixte
bc64500bae feat: paste task from button 2026-01-26 19:54:57 +01:00
Julien Calixte
84bf48d866 chore: change package name 2026-01-26 19:49:54 +01:00
Julien Calixte
6885fd344a Merge branch 'main' of github.com:jcalixte/loopycode 2026-01-26 19:49:47 +01:00
Julien Calixte
311d2f6da6 deps: upgrade pnpm lock file 2026-01-26 19:49:25 +01:00
Julien Calixte
1a6befe747 feat: add comprehensive About page
Explain Fail Well's purpose, its origins from Toyota Production System's
standardized work, and how it differs from micromanagement. Include
author attribution and footer navigation link.
2026-01-24 15:22:44 +01:00
Julien Calixte
118d626507 feat: change wording for pause and resume 2026-01-24 14:48:29 +01:00
Julien Calixte
75ea42c6e8 fix: handle edge cases in duration editing
- Use $patch for proper Pinia reactivity when updating step duration
- Only adjust current step's start time if new end is in the past

Fixes #8
2026-01-24 14:37:36 +01:00
Julien Calixte
67d65b54f4 feat: edit mode 2026-01-24 14:31:40 +01:00
Julien Calixte
b2068865e8 feat: display description hint on empty state
Show a welcome message explaining Fail Well's purpose when no tasks exist.
This helps new users understand the app's workflow.

Fixes #9
2026-01-24 14:08:28 +01:00
Julien Calixte
97074f108c feat: add title extraction 2026-01-24 14:05:43 +01:00
Julien Calixte
5d51e8b46f feat: add parent / child feature 2026-01-24 13:43:09 +01:00
Julien Calixte
428336a663 feat: add paste hint on homescreen
Inform users they can paste a list of items to create a new task.
2026-01-24 13:21:04 +01:00
Julien Calixte
d3fd8ff5bb chore: add context to Claude for the minimal business case 2026-01-24 13:21:04 +01:00
Julien Calixte
b1f5aaaec2 feat: paste text and automatically create a new task 2026-01-24 13:15:40 +01:00
Julien Calixte
667ca5ab95 chore: init CLAUDE.md 2026-01-24 13:01:36 +01:00
Julien Calixte
2cfe011840 deps: upgrade dependencies 2026-01-24 13:01:26 +01:00
Julien Calixte
16d896d840 deps: update node version 2026-01-24 12:54:29 +01:00
Julien Calixte
4e27bb3397 revert ETA tip 2025-10-09 11:10:21 +02:00
Julien Calixte
23906f8e03 feat: add abbr title for EAT 2025-10-08 16:18:41 +02:00
Julien Calixte
8043f26db1 Merge branch 'main' of github.com:jcalixte/loopycode 2024-11-09 12:46:53 +01:00
Julien Calixte
9f7767bb0e upgrade lock file 2024-11-09 12:46:47 +01:00
Julien Calixte
07aa888731 feat: add a link to report an issue 2024-10-27 00:32:57 +02:00
Julien Calixte
6da18fc6af fix(step edit): start date is now set to the latest start date instead of new Date() 2024-06-15 18:56:29 +02:00
Julien Calixte
9247053af6 with left and right 2024-04-21 00:29:34 +02:00
Julien Calixte
e559aeb150 centered buttons 2024-04-21 00:14:08 +02:00
Julien Calixte
012948d7ef add navigation in history 2024-04-20 18:43:39 +02:00
Julien Calixte
dbbdd52d31 init task history 2024-04-20 18:30:47 +02:00
Julien Calixte
49db394737 install vue-diff 2024-04-20 18:30:36 +02:00
Julien Calixte
53e9c33a3f overflow x only on table 2024-04-20 18:30:29 +02:00
Julien Calixte
ae5f236bde upgrade node version 2024-04-19 12:45:13 +02:00
Julien Calixte
ddce8ac44c fix(app): no always visible y scroll 2024-04-19 12:35:36 +02:00
Julien Calixte
55a78355bc build(node): fix node version to 20 2024-04-09 23:46:18 +02:00
Julien Calixte
31b6e23fdb ci(build): fix pnpm and cz config compatibility 2024-04-09 23:44:42 +02:00
Julien Calixte
046f33e0fb fix(task record): resume from the first step to not have ended 2024-04-09 23:27:48 +02:00
Julien Calixte
364d0b2eed feat/edit steps (#7)
* refactor: ♻️ edit steps

* add md5 hash lib

* now step ids are generated based on titles and estimation

* feat:  edit steps

now add steps will be a modal for editing all steps

* chore(commitizen): init cz changelog

* chore(changelog): init git cliff

* feat(edit steps): add a message to alert on the fact that the record may change

* feat(task): task link is a normal button now

* with the good ids

* remove column

* autofocus to title

* --wip-- [skip ci]

* lint

* can modify the whole task when recording
2024-04-09 00:06:07 +02:00