30 Commits

Author SHA1 Message Date
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
61eaa42373 Fix initial setup bugs. 2025-06-17 21:25:53 -04:00
Greg Sarjeant
77ec1bbb3b fix setup. consolidate navbar 2025-06-17 09:36:13 -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
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
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
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
Greg Sarjeant
cacbf85283 Initial MVC refactor 2025-06-02 16:40:31 -04:00
Greg Sarjeant
7a85c7f9dd Remove bootstrap.php. Load everything from src/ 2025-06-02 08:37:59 -04:00
Greg Sarjeant
f9aa2c7cb7 Flatten structure to better match current PHP practice. 2025-06-02 08:21:35 -04:00