No description
  • Java 94.2%
  • CSS 3.8%
  • Dockerfile 0.9%
  • TypeScript 0.4%
  • HTML 0.3%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
totally-not-ai[bot] d9475e8bbb
fix(geolocation): follow the use-case guidelines (#438)
**Review risk:** two-way door — the views, tests and docs of
`geolocation` only

## Summary

The geolocation use cases now have one clear name each, explain
themselves on the page, and record where the API falls short. Fixed:
re-attaching UC3 and UC4 bound the availability hint a second time, UC8
lost the stored route when the reader came back to the view, and
`application.properties` still held merge-conflict markers.

## What changed

- Renamed the use cases after their problem and used the same name in
the menu, title, heading, Javadoc, home card and README (e.g. `UC3 —
Locate returning visitors`, `UC4 — When location fails`, `UC8 — Route in
a database`).
- UC3 and UC4: bind the availability hint once in the constructor; UC3
auto-fetches from `whenAttached` instead of `onAttach`.
- UC2 and UC8: create the `GeolocationWatcher` in the constructor and
stop it at once, so opening the view does not ask for the location
before Start is clicked.
- UC8: store the route per Vaadin session instead of per view instance,
so it is still there after leaving the view; Start/Stop and the status
are bound to signals.
- UC4: the simulated cards pass the chosen value to the same success and
error handlers a real request uses.
- UC2 and UC8 tell the reader that after blocking location the button
still says Stop tracking.
- Removed merge-conflict markers from `application.properties` and the
unused `@EnableAsync`.
- Rewrote the README per the guidelines (title, one row per use case,
run command, browser notes).
- Added `API-GAPS.md` with two entries: #1 a watch stays active after
`PERMISSION_DENIED`, #2 `Geolocation.getPosition` has no owner and no
signal.

## Test summary

- New tests: UC2 opening the view starts no watch and stop/resume keeps
the history; UC3 auto-fetch only with granted permission, again on
re-attach, and the hint follows permission changes; UC4 each card's
outcome; UC8 the route is read back after leaving the view and clearing
empties it.
- geolocation: 25 tests green.
- Not checked in a browser.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: totally-not-ai[bot] <290682512+totally-not-ai[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-19 16:24:04 +03:00
.claude/skills/commit-and-pr docs: add contributor guidelines (#388) 2026-10-13 11:22:56 +03:00
.eclipse Rename eclipse/ to .eclipse/ to distinguish from use-case apps (#233) 2026-05-11 14:49:55 +03:00
.github/workflows fix: link View source to the deployed commit in PR previews (#392) 2026-10-14 09:51:14 +03:00
.mvn/wrapper chore: replace custom NullAway config with nullability-maven-plugin (#124) 2026-02-25 12:28:21 +02:00
async-ui docs(async-ui): follow the API-GAPS guidelines (#423) 2026-10-16 16:21:20 +00:00
clipboard fix(clipboard): follow the use-case guidelines (#439) 2026-10-19 16:22:02 +03:00
collaboration docs(collaboration): follow the API-GAPS guidelines (#422) 2026-10-16 19:20:22 +03:00
common feat: highlight the source code shown in "How it is built" (#432) 2026-10-16 21:38:19 +03:00
custom-components feat: highlight the source code shown in "How it is built" (#432) 2026-10-16 21:38:19 +03:00
file-uploads feat: add use-case module for uploading and handling files (#369) 2026-10-16 11:09:16 +00:00
fullscreen fix(fullscreen): follow the use-case guidelines (#436) 2026-10-19 16:22:05 +03:00
geolocation fix(geolocation): follow the use-case guidelines (#438) 2026-10-19 16:24:04 +03:00
grid-export docs(grid-export): follow the API-GAPS guidelines (#425) 2026-10-16 19:20:30 +03:00
guidelines docs: cover existing use cases and snapshot bumps in the guidelines (#442) 2026-10-19 11:24:12 +00:00
i18n feat: highlight the source code shown in "How it is built" (#432) 2026-10-16 21:38:19 +03:00
multimedia fix(multimedia): set the VTT content type on the handler in UC9 (#429) 2026-10-16 16:38:31 +00:00
observability fix(o11y): count UC2's queries per click with DatabaseActivity (#431) 2026-10-16 19:37:53 +03:00
page-visibility docs(page-visibility): follow the API-GAPS guidelines (#415) 2026-10-16 16:34:05 +00:00
printing docs(printing): follow the API-GAPS guidelines (#418) 2026-10-16 19:21:34 +03:00
reporting fix(reporting): open UC2's document with OpenInNewTab (#430) 2026-10-16 16:34:33 +00:00
route-hierarchy test(route-hierarchy): read crumb paths with BreadcrumbsTester (#426) 2026-10-16 16:33:06 +00:00
scopes feat: highlight the source code shown in "How it is built" (#432) 2026-10-16 21:38:19 +03:00
screen-orientation fix(screen-orientation): follow the use-case guidelines (#434) 2026-10-19 16:21:36 +03:00
signals feat: bring the home page redesign and grouped use cases to every module (#374) 2026-10-14 15:24:04 +00:00
testing test(testing): sort the UC4 grid through GridTester (#427) 2026-10-16 16:32:29 +00:00
text-selection fix(text-selection): follow the use-case guidelines (#435) 2026-10-19 16:22:20 +03:00
theming feat: highlight the source code shown in "How it is built" (#432) 2026-10-16 21:38:19 +03:00
triggers fix(triggers): follow the use-case guidelines (#440) 2026-10-19 16:20:36 +03:00
wake-lock fix(wake-lock): follow the use-case guidelines (#437) 2026-10-19 16:23:52 +03:00
web-notifications docs(web-notifications): follow the API-GAPS guidelines (#420) 2026-10-16 19:21:30 +03:00
web-share fix(web-share): follow the use-case guidelines (#433) 2026-10-17 10:19:56 +03:00
.dockerignore chore: Move signals to a sub module (#209) 2026-04-26 14:24:12 +03:00
.gitignore feat(route-hierarchy): add hierarchical menu use case UC8 (#296) 2026-10-16 11:21:09 +00:00
.mcp.json Add Vaadin MCP (#191) 2026-03-27 13:30:04 +00:00
CLAUDE.md docs: add contributor guidelines (#388) 2026-10-13 11:22:56 +03:00
mvnw Mvn wrapper 2026-01-14 11:08:10 +02:00
mvnw.cmd Mvn wrapper 2026-01-14 11:08:10 +02:00
pom.xml feat(scopes): add use cases for Vaadin bean scopes, including the browser tab scope (#342) 2026-10-16 11:59:20 +00:00