53 Commits

Author SHA1 Message Date
9593a43cc0 make-homepage-testable (#42)
Some checks are pending
Run unit tests / run-unit-tests (push) Waiting to run
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
879bd9ff9f Move route logging to router and log missing routes as warnings. 2025-08-01 14:21:28 -04: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
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
6337fa2dfb Add Prerequisite class and cli script to confirm prereqs. (#30)
Add a Prerequisite class to manage all initilaization prerequisites. Invoke before each request. Provide a CLI script to allow checking Prereqs from command line. Add CI  workflow to confirm prereq validation behavior.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/30
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-27 16:43:09 +00:00
4255f46fc7 Fix database migrations for first-time setup. (#29)
Some checks failed
Run unit tests / run-unit-tests (push) Has been cancelled
The database initialization had a number of bugs for the first-time setup. This PR fixes them.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/29
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-26 15:46:06 +00:00
edd7f6effe Closes #24 (#27)
Some checks failed
Run unit tests / run-unit-tests (push) Has been cancelled
Build and publish artifacts / build-and-publish (push) Has been cancelled
Remove all references to `storage/ticks`, including code that migrates those files.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/27
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-24 19:53:12 +00:00
Greg Sarjeant
c7acca6bb3 Fix validation error and bootstrap order of operations issue.
Some checks are pending
Run unit tests / run-unit-tests (push) Waiting to run
2025-07-23 23:27:02 -04:00
Greg Sarjeant
5998e7f7d3 simplify bootstrap. move validation to classes. 2025-06-30 08:43:45 -04:00
Greg Sarjeant
6c64b914fc Convert to autoloader. Restore unified CSS. 2025-06-28 12:03:04 -04:00
Greg Sarjeant
37c5de51a7 Split admin CSS from main page CSS. 2025-06-24 19:58:48 -04:00
Greg Sarjeant
4712aa8da6 Make mood picker tab-navigable. Other cleanup. 2025-06-23 11:33:37 -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
d6673c7ed2 Remove original css. Standardize borders. 2025-06-22 08:23:00 -04:00
Greg Sarjeant
4ce938e7bc Fix frontpage keyboard navigation. More cleanup. 2025-06-20 22:37:54 -04:00
Greg Sarjeant
9eafadde2f Accessibility improvements and simplification. Fix ticks. 2025-06-20 20:31:42 -04:00
Greg Sarjeant
a3677c5585 Fix navbar styling specificity bug. 2025-06-19 23:01:34 -04:00
Greg Sarjeant
d94bf1e3b9 Simplify default css. 2025-06-19 22:27:35 -04:00
Greg Sarjeant
a3a6471ced Remove a bunch of trailing whitespace. 2025-06-17 22:08:50 -04:00
Greg Sarjeant
61eaa42373 Fix initial setup bugs. 2025-06-17 21:25:53 -04:00
Greg Sarjeant
a15cfc5876 Convert dropdown menus to details/summary tags 2025-06-17 18:05:14 -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
77ec1bbb3b fix setup. consolidate navbar 2025-06-17 09:36:13 -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
4d177e4919 Comment tweak. 2025-06-12 22:01:10 -04:00
Greg Sarjeant
ce48c98215 Actually handle setup exceptions. 2025-06-12 22:00:13 -04:00
Greg Sarjeant
093ece581c Move router to class. Fix CSS uploads. 2025-06-12 17:06:18 -04:00
Greg Sarjeant
3fbeaf87e3 Refactor bootstrap. Use global database. 2025-06-12 16:47:03 -04:00
Greg Sarjeant
6852eaa35e cleanup 2025-06-10 20:34:19 -04:00
Greg Sarjeant
4f5ea22dfd Add CSS upload. Refactor templates. General cleanup. 2025-06-10 20:00:18 -04:00
Greg Sarjeant
f8e7151e6f Extract colors to variables. 2025-06-09 15:43:52 -04:00
Greg Sarjeant
f566e2a638 Commit before extracting colors to variables. 2025-06-09 15:38:28 -04:00
Greg Sarjeant
3690317206 Refactor models. Handle empty ticks. Prep for CSS upload. 2025-06-09 14:12:59 -04:00
Greg Sarjeant
04e813f32c css cleanup. 2025-06-06 09:03:09 -04:00
Greg Sarjeant
fb69ca4470 Get setup working again. 2025-06-04 21:06:29 -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
20129d9fcf Convert login and mood pages to MVC pattern. 2025-06-02 20:33:32 -04:00