Rename INFO to WARNING, db still keeps "info" for backwards compatibility.
Add dynamic result help text and result type icons to result dropdown menu.
Fixes#118
Assisted-By: Claude Opus 4.6
Without the envvar, it fails with:
> You need to change the app.secret_key value for production
`make` calls set the envvar automatically, in manual python calls we need to specify it.
Fixes "Not Found" error when trying to submit mock event result.
Please remove old test database before running this updated `create_mock_data` for the first time:
```
make remove_db
make create_mock_data
make run_app
```
Fixes#135
Assisted-By: Claude Opus 4.6
Update app HTML accessibility attributes to properly support screen readers.
Improve problematic elements' contrast for better readability.
Fixes#132
Assisted-by: Claude Opus 4.6
Developer documentation is updated to reflect current recommended way to setup local development environment.
Added check for required tools in Makefile.
Fixes#123
Assisted-by: Claude Code
Create health check endpoint to prevent Openshift livenessProbe spamming app index page
- create endpoint for OpenShift livenessProbe
- add tests verifying endpoint function
Fixes#120
Assisted-by: Claude Code
Show warning for comments over 500 chars when submitting test results
Prevent submitting comments longer than 2000 chars
- Add character counter to comment field in result submission form
- Add warning for long comments
- Add comment server-side hard limit of 2000 chars
- Display error when comment is over hard limit
- Add tests covering this feature
Fixes#59
Assisted-By: Claude Code
- Fix create_mock_data to update db regardless of previous contents
- create_mock_data updates existing mock event date relative to current date
- Fix `from ..models import *` leaking datetime - required for clean datetime imports
- Fix tests failing due to changes in 60dfa4066cFixes#125
Assisted-by: Claude Code
- replace ReverseProxied with werkzeug ProxyFix
- trust levels are configurable via PROXYFIX_X_* config attributes
- add tests of ProxyFix configuration
- set X-Forwarded-For and X-Forwarded-Proto to 2
Fixes#112
Assisted-By: Claude Code
- Separate events into 4 categories: current, recently finished, upcoming and past
- Hide empty categories
- Add top banner
- Separate header by adding background and sticky bit
- Add tests covering this feature
- Update CLI mock data generator to produce events in all categories
Fixes#57
Assisted-by: Claude Code
"Wiki syntax export" link visible only to creators is replaced with export icon next to the edit button. Export icon is visibe for everyone.
Fixes#64
Assisted-by: Clude Code
- add simple read-only MCP server for reading testdays and test results
- add MCP server docs
- add example testdays-mcp skill
- extend tests to cover new features
Fixes#108
Assisted-by: Claude Code
Serve the Flask app alongside an MCP streamable-HTTP endpoint under a
single Starlette ASGI router. Gunicorn switches from sync WSGI workers
to UvicornWorker so both the native-ASGI MCP handler (/mcp) and the
WSGI-shimmed Flask app (everything else) run in the same process.
Prerequisite: OpenShift builder image must be upgraded from
ubi9/python-39 to ubi9/python-312 (mcp requires Python >=3.10).
Fixes#113
Assisted-By: Claude Code
App style was missing `color-scheme` property and browser native (built-in)
UI elements ware not aware of selected app theme. Fix adds `color-scheme`
property so that app color theme is applied to browser elements as well.
Fixes#107
Assisted-By: Claude Code
- implement using # for disabling single tests and general comments
- implement hiding sections with all tests commented out
- update documentation with comment feature description
- create tests covering markup comments
Fixes#84
Assisted-By: Claude Code
This adds a CI workflow to run the tests, and another to do LLM
pull request review.
It also adjusts the tests so they can *either* launch a postgres
container via testcontainers, *or* work with a pre-existing
container. This is because in the CI environment we are already
running in a Podman container launched by Forgejo (so we don't
control its execution) and we cannot find a way to make
testcontainers work in that situation. Instead, we run a postgres
container in the CI workflow itself and have the tests use that.
This work was done by @jgroman.
The CI workflow uses an Alma 9 image to match the official
deployment environment as closely as possible. We can't use the
same UBI 9 base image because it does not include psql.
Fixes#96
Assisted-By: Claude Code
Create pytest scaffolding for automated tests
Create pytest fixtures enabling automated testing
Add testcase examples to be used as templates
Update Makefile targets for running tests and test cleanup
Update developer docs
Fixes#76
Assisted-By: Claude Code
* Make profile optional
* Set profile placeholder text from template section ProfileText
* Display profile hint above profile input field
* Display profile hint on results page in profile column
* Retrieve user's profile text for given section from DB if they already entered
some result
Fixes#58
Settings - default to dev values
Requirements - fix Python 3.14 compatibility
Developer readme - put actions into a better order, add some notes
Add RUNMODE setup