Commit Graph

12 Commits

Author SHA1 Message Date
Amolith dde4c97802
Improve logic around untracking projects
Frontend was still passing the project's URL to the backend even though
the backend had been refactored to use the project's ID. This is fixed.

Deleting the repo's files should also work now, but I do think I want to
support tracking multiple instances of the same project. This means
we'll need to check for other instances relying on the repo before
deleting it.

We need end-to-end tests 😩😩😩
2024-02-29 15:07:07 -05:00
Amolith ecd3635be7
Sort projects alphabetically 2024-02-24 10:08:13 -05:00
Amolith dd7551fd49
Actually finish 🤞 DB-/ID-related refactors 2024-02-23 21:16:50 -05:00
Amolith d5c7bf70ce
Implement new UI, fix DB use
- Implement dual-column UI
- Swap project table index from URL to ID
- Enable WAL for concurrent reads
- Use a Mutex to protect writes
2024-02-23 18:38:44 -05:00
Amolith 0675278fe2
Implement migration system, add first migration
Thank you for the help Chris!
https://github.com/whereswaldon
2023-12-22 17:59:19 -05:00
Amolith 89f122b75b
mvoe ID generation logic to helper function 2023-12-20 14:18:12 -05:00
Amolith 68be501154
Fix error handling bug introduced in last commit 2023-11-28 20:18:56 -05:00
Amolith 8ca0376243
Pre-select current $running when modifying it
Implements: https://todo.sr.ht/~amolith/willow/25
2023-11-28 20:01:26 -05:00
Amolith b1af277fa8
Use FlexVer to sort by tag instead of date
Implements: https://todo.sr.ht/~amolith/willow/24
2023-11-28 19:19:14 -05:00
Amolith 984d44775b
BREAKING: SQL schema change
- Redo schema to improve handling of lightweight tags
- Try to clean up empty directories when untracking a project

To resolve schema conflict, run `sqlite3 willow.sqlite` and paste the
following:

ALTER TABLE releases RENAME TO releases_bak;
CREATE TABLE releases
(
    id          TEXT      NOT NULL PRIMARY KEY,
    project_url TEXT      NOT NULL,
    release_url TEXT      NOT NULL,
    tag         TEXT      NOT NULL,
    content     TEXT      NOT NULL,
    date        TIMESTAMP NOT NULL,
    created_at  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

If everything works as expected, you can `DROP TABLE releases_bak`.
2023-10-29 10:41:00 -04:00
Amolith 438f9fc7ae
finish implementing authentication 2023-10-25 20:16:36 -04:00
Amolith ef9544ff7d Beeg refactor for database and users and auth 2023-10-25 00:14:32 -04:00