Commit Graph

71 Commits

Author SHA1 Message Date
Amolith 292db50660
Bump git-go and its deps
govulncheck reported that we're calling vulnerable codepaths from an
older version of git-go, so I upgraded git-go and its direct
dependencies.
2024-02-23 18:52:05 -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 89e894401f
Move hardcoded defaults to top of checkConfig() 2024-02-23 16:46:54 -05:00
Amolith 8cf4a4c284
Add test for stringifyRepo 2024-02-23 16:18:36 -05:00
Amolith edfeefee51
Trim trailing .git, / from repo URIs 2024-02-23 16:00:02 -05:00
Amolith e107cf7338
docs: mention prefix for emailed patches 2024-01-24 15:28:25 -05:00
Amolith c4cd8acd84
Switch font to Atkinson Hyperlegible 2024-01-11 19:16:13 -05:00
Amolith 3eb99aad6d
remove unused license 2023-12-31 12:17:32 -05:00
Amolith df8827c63d
Remove FLA requirement 2023-12-26 14:25:48 -05:00
Amolith 53bc9bbc32
Add license to WIP vhs thing 2023-12-22 18:03:59 -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 fc27ee8438
add WIP VHS file
https://github.com/charmbracelet/vhs
2023-12-21 16:22:29 -05:00
Amolith ac63dcb2c8
Thank you for hiding this Goland :angery: 2023-12-21 16:20:53 -05:00
Amolith 274e0528c3
ignore website build artifacts 2023-12-21 16:19:38 -05:00
Amolith 0e19ed2e77
improve wording around FLA 2023-12-21 13:05:38 -05:00
Amolith fc10ca3abd
correct plurality 2023-12-21 12:08:39 -05:00
Amolith 2dc620064a
improve wording around FLA 2023-12-21 12:08:00 -05:00
Amolith 2e19319896
fix form fields in FLAs 2023-12-21 01:04:16 -05:00
Amolith 306d662a7e
improve wording around the FLA 2023-12-21 00:36:23 -05:00
Amolith ff3b5fc7fa
correct image link 2023-12-21 00:29:12 -05:00
Amolith d2bacfcd90
remove brackets from auto-linked email addr 2023-12-21 00:28:23 -05:00
Amolith d80b598ead
remove emoji from heading 2023-12-21 00:27:19 -05:00
Amolith 7d40d0c01c
Introduce FLA, mention in README, improve README 2023-12-21 00:26:25 -05:00
Amolith 46728ebe26
link SQL script for initial schema 2023-12-20 14:32:33 -05:00
Amolith 35f3ba1a89
remove SQL comments 2023-12-20 14:21:21 -05:00
Amolith 89f122b75b
mvoe ID generation logic to helper function 2023-12-20 14:18:12 -05:00
Amolith 54c05b42c9
ignore future website directory 2023-12-20 14:17:00 -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 61c551ade4
Add note about limited RSS entries
Implements: https://todo.sr.ht/~amolith/willow/8
2023-11-28 19:33:38 -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 b2c5dbed1c
bump dependencies 2023-11-28 17:34:00 -05:00
Amolith a810f20cb8
add link to lightning talk 2023-11-28 12:03:51 -05:00
Amolith 7ce1feb9b1
correct typo in readme 2023-11-22 15:35:21 -05:00
Amolith 65873c0421
add note about binary installation 2023-11-22 15:34:50 -05:00
Amolith 0981d38385
compliant with reuse again 2023-11-13 12:03:31 -05:00
Amolith 1fbf0af5a4
group outdated software and reword
Implements: https://todo.sr.ht/~amolith/willow/17
Implements: https://todo.sr.ht/~amolith/willow/15
2023-11-08 15:32:26 -05:00
Amolith 90db8d55ea
correct div nesting in home HTML template 2023-10-30 18:46:10 -04:00
Amolith aa29366696
BREAKING-ish: SQL schema correction
While refactoring the schema yesterday, I forgot to add primary keys
back to the sessions and projects tables. Databases existing before
commit 984d44775b are fine and new
databases should be initialised correctly, but databases created between
commit 984d44775b and this one require
either SQL migrations or deleting willow.sqlite (which will remove all
users, projects, login sessions, etc.).

For the migrations, open the database with `sqlite3 willow.sqlite` and
paste the SQL statements below.

```
ALTER TABLE sessions RENAME TO sessions_bak;
CREATE TABLE sessions
(
    token      TEXT      NOT NULL PRIMARY KEY,
    username   TEXT      NOT NULL,
    expires    TIMESTAMP NOT NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO sessions (token, username, expires, created_at)
    SELECT token, username, expires, created_at FROM sessions_bak;
ALTER TABLE projects RENAME TO projects_bak;
CREATE TABLE projects
(
    url        TEXT      NOT NULL PRIMARY KEY,
    name       TEXT      NOT NULL,
    forge      TEXT      NOT NULL,
    version    TEXT      NOT NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO projects (url, name, forge, version, created_at)
    SELECT url, name, forge, version, created_at FROM projects_bak;
```

Assuming the statements execute without error, Willow starts up
correctly, and you can log in, you can safely drop open the database
again and drop the projects_bak and sessions_bak tables with

```
DROP TABLE projects_bak;
DROP TABLE sessions_bak;
```

---

References: https://todo.sr.ht/~amolith/willow/14
2023-10-30 18:41:48 -04:00
Amolith 181509faa8
adding padding to bottom 2023-10-29 15:37:47 -04:00
Amolith ff409eb72b
use different screenshot 2023-10-29 15:21:54 -04:00
Amolith 91434f43e1
update screenshot 2023-10-29 15:20:45 -04:00
Amolith d9bf2f6278
embed the inter font 2023-10-29 13:53:06 -04:00
Amolith 53705af5ce
bump go version and dependencies 2023-10-29 10:51:20 -04:00
Amolith 61c24da28a
correct minor webserver issues 2023-10-29 10:49:02 -04: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 3612ffc595
handle .git in RSS URLs and add missing returns 2023-10-28 23:40:07 -04:00
Amolith 67b88eafd3
correct spacing without new release 2023-10-28 23:30:19 -04:00
Amolith d0dd81602b
change project styling, add log out link 2023-10-28 23:17:41 -04:00
Amolith a30446940c
add copyright info to new files 2023-10-28 13:12:31 -04:00