src/ contains the browser client included in the server JAR at /web/.
tests/ contains unit, browser and installed-Eclipse peer tests.
Production uses native browser modules and requires no separate Node service.
Bootstrap CSS and Font Awesome are pinned and bundled under src/assets.
npm run check:assets verifies Bootstrap’s generated files against the lockfile;
npm run vendor:bootstrap regenerates them after an intentional dependency update.
No Bootstrap JavaScript or third-party runtime asset requests are needed.
Browser acceptance defaults to Chromium. For WebKit, install its browser with
npx playwright install --with-deps webkit from this directory. After building
and packaging the server, run from the repository root:
python3 server/web/tests/acceptance.py --distribution server/target/distribution/timekeeper-server.zip --browser webkit --https
The existing HTTPS fixture supports WebKit’s Secure session cookies and requires
openssl on PATH for its temporary test certificate. Add
--grep 'one-time codes' for the focused setup/recovery form check. The --mail
option enables actual email-delivery checks through a temporary loopback SMTP
fixture and requires --https. Safari’s native macOS Password AutoFill UI also
needs a manual check.