38 Commits

Author SHA1 Message Date
9593a43cc0 make-homepage-testable (#42)
Some checks failed
Run unit tests / run-unit-tests (push) Has been cancelled
Add logging and tests for the homepage and settings page. Make both support dependency injection.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/42
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-08-02 01:43:48 +00:00
a7e79796fa Add log viewer and tests for the logs and the viewer (#41)
Now that I'm adding more logging, I wanted to add a log viewer so people don't have to ssh to their servers to inspect logs. Also added tests around logging and the viewer.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/41
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-08-01 01:52:45 +00:00
dc0abf8c7c Add debug logging to feeds. Add route info to all debug logs. (#39)
Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/39
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-31 13:19:35 +00:00
8b5a249450 Make URL building more resilient and add tests. (#38)
Some checks failed
Run unit tests / run-unit-tests (push) Has been cancelled
Since the base URL and base path are user inputs, I'd like tkr to be resilient to any combination of leading and trailing slashes so people don't have to worry about that. This adds some helper functions to normalize URLs and adds tests to confirm that all combinations are handled correctly.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/38
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-31 02:39:09 +00:00
a9f610fc60 Make home page similar to feeds. Simplify tick retrieval. (#37)
Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/37
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-31 01:30:25 +00:00
dc63d70944 Refactor feeds to be more testable and to remove templates. (#36)
Some checks are pending
Run unit tests / run-unit-tests (push) Waiting to run
Move feed generation into generator classes and out of templates. Remove feed templates, since they don't have any UI elements.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/36
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-31 00:05:46 +00:00
bb58e09cbf add-runtime-logging (#35)
Some checks failed
Run unit tests / run-unit-tests (push) Waiting to run
Prerequisites Testing / test-php-version-requirements (7.4) (push) Has been cancelled
Prerequisites Testing / test-php-version-requirements (8.1) (push) Has been cancelled
Prerequisites Testing / test-php-version-requirements (8.2) (push) Has been cancelled
Prerequisites Testing / test-php-version-requirements (8.3) (push) Has been cancelled
Prerequisites Testing / test-extension-progression (alpine:latest, 8.2) (push) Has been cancelled
Prerequisites Testing / test-extension-progression (alpine:latest, 8.3) (push) Has been cancelled
Prerequisites Testing / test-extension-progression (debian:bookworm, 8.2) (push) Has been cancelled
Prerequisites Testing / test-extension-progression (debian:bookworm, 8.3) (push) Has been cancelled
Prerequisites Testing / test-extension-progression (fedora:39, 8.2) (push) Has been cancelled
Prerequisites Testing / test-extension-progression (fedora:39, 8.3) (push) Has been cancelled
Prerequisites Testing / test-permission-scenarios (push) Has been cancelled
Set up logging framework and add runtime logging to foundational operations (database, sessions, auth).

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/35
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-29 22:45:17 +00:00
b40a4dce18 Remove no-longer-used settings (#23)
Some checks are pending
Run unit tests / run-unit-tests (push) Waiting to run
Simplifying the app.

The "about" profile field is somewhat redundant. There's already a site title and description.
I'm removing mood emoji from the ticks and just using the user-level mood. That toggle is no longer necessary.

Co-authored-by: Greg Sarjeant <1686767+gsarjeant@users.noreply.github.com>
Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/23
2025-07-24 13:28:47 +00:00
9338332536 refactor-storage (#19)
Move ticks from filesystem into database.

I'm going to preserve the filesystem and just delete it manually. I'll add a login warning, but I'm pretty sure I'm the only person who'll ever be affected by this.

Co-authored-by: Greg Sarjeant <1686767+gsarjeant@users.noreply.github.com>
Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/19
2025-07-24 02:12:31 +00:00
Greg Sarjeant
35033e50a6 Add tick mood display. 2025-06-23 09:06:55 -04:00
Greg Sarjeant
efe9688289 Add database migration. Add accessibility and mood settings. Add mood to tick format. 2025-06-23 08:17:38 -04:00
Greg Sarjeant
9eafadde2f Accessibility improvements and simplification. Fix ticks. 2025-06-20 20:31:42 -04:00
Greg Sarjeant
a3a6471ced Remove a bunch of trailing whitespace. 2025-06-17 22:08:50 -04:00
Greg Sarjeant
f72896892b cleanup. Improve homepage semantics. Add .htaccess files to blocked directories. 2025-06-17 16:25:31 -04:00
Greg Sarjeant
856677659e Add flash messages. 2025-06-16 16:47:35 -04:00
Greg Sarjeant
0b4348f14b Fix setup 2025-06-15 22:48:43 -04:00
Greg Sarjeant
bc483294ce consolidate POST session validation. 2025-06-15 15:10:03 -04:00
Greg Sarjeant
427558bd8c Clean up emoji model and sidebar. Fix some validation errors. Allow mood to be cleared. 2025-06-14 13:05:18 -04:00
Greg Sarjeant
3b8d54460c Single column delete view, test for mbstring extension 2025-06-14 00:23:59 -04:00
Greg Sarjeant
8f2534568d custom emoji 2025-06-13 23:46:33 -04:00
Greg Sarjeant
52a77a3dc2 Convert config and user to globals. 2025-06-12 22:09:26 -04:00
Greg Sarjeant
2aecc934f2 Clean up setup validation. 2025-06-12 21:54:18 -04:00
Greg Sarjeant
2c330efc64 Missed a file. 2025-06-12 16:50:25 -04:00
Greg Sarjeant
3fbeaf87e3 Refactor bootstrap. Use global database. 2025-06-12 16:47:03 -04:00
Greg Sarjeant
10357f78ff Initialize css reference properly. 2025-06-10 20:26:11 -04:00
Greg Sarjeant
4f5ea22dfd Add CSS upload. Refactor templates. General cleanup. 2025-06-10 20:00:18 -04:00
Greg Sarjeant
3690317206 Refactor models. Handle empty ticks. Prep for CSS upload. 2025-06-09 14:12:59 -04:00
Greg Sarjeant
fb69ca4470 Get setup working again. 2025-06-04 21:06:29 -04:00
Greg Sarjeant
78572bf50b A bit more cleanup. 2025-06-03 21:32:04 -04:00
Greg Sarjeant
78ebb67fc0 Naming fixes. Add partials. Get single ticks working with clean urls. 2025-06-03 21:22:20 -04:00
Greg Sarjeant
97e2c205a3 Refactor routing. 2025-06-03 18:01:50 -04:00
Greg Sarjeant
9b6a42de7e add Session, Util, Controller classes 2025-06-03 13:28:28 -04:00
Greg Sarjeant
482beb9fb1 Convert feeds to MVC pattern. 2025-06-03 09:29:04 -04:00
Greg Sarjeant
79a161b0e6 Add Tick model. Move Tick management functions there. 2025-06-03 08:39:46 -04:00
Greg Sarjeant
f635dd8724 refactor logout. cleanup 2025-06-02 21:36:59 -04:00
Greg Sarjeant
191c558366 Remove lib/ticks. Fix Home Controller 2025-06-02 20:39:48 -04:00
Greg Sarjeant
20129d9fcf Convert login and mood pages to MVC pattern. 2025-06-02 20:33:32 -04:00
Greg Sarjeant
cacbf85283 Initial MVC refactor 2025-06-02 16:40:31 -04:00