Repository navigation
v1.1.0
Version v1.1.0 folds the notepulse-web-ui project into the main repository and
ships it right from the Go binary. A new virtual list lets the browser render
tens of thousands of notes smoothly, while the backend sees a slimmer, cleaner
API and sturdier MongoDB handling.
What is new
-
Integrated Web UI
- Built with Vite + PNPM, automatically baked into the Docker image
- Clusterize-lazy 1.1.0 powers a zero-lag virtual list up to 50 000 rows
- Same-origin API mode by default, no proxy setup needed
-
Pagination tweaks
- Anchor and cursor flow is now the single source of truth
- Window size is adaptive and optimised for the virtual list
- Legacy offset parameter is tolerated but no longer required
-
Config & security
- New env var
SIGNIN_RATE_PER_MIN(replacesAUTH_RATE_PER_MIN) - App-wide limiter removed; only sign-in is guarded now
- Dependency refresh across Go, JS and GitHub Actions
- New env var
-
Infrastructure upgrades
- MongoDB client rewritten with exponential back-off and safe shutdown
- Dockerfile and CI cleaned up for faster multi-arch builds
- Static files are copied in a single stage, shrinking image size by ~20 %
Improvements and fixes
- Context propagation simplified,
ctxkeyspackage retired - Error messages clarified; fewer false 500s, more precise 4xx codes
- Swagger docs regenerated with the new endpoints
- Unit, integration and e2e suites updated (7000 + LOC)
- Rate-limit tests stabilised; flaky offset cases removed
- Minor UI polish: better note height, clearer delete semantics
Breaking changes
| Before | After | Action |
|---|---|---|
AUTH_RATE_PER_MIN |
SIGNIN_RATE_PER_MIN |
rename in .env or secrets |
APP_RATE_PER_MIN |
removed | delete from config |
| Offset-based list | Anchor + cursor | update client code if you used raw offsets |
Web UI served from /web-ui path |
now served from / |
clear old nginx rules if any |
Upgrade guide
- Pull the tag or update your go.mod to
github.com/JoobyPM/note-pulse v1.1.0. - Rename the env vars as per the table above, remove deprecated ones.
- Re-build the image:
docker pull ghcr.io/joobypm/note-pulse:1.1.0- If you had a separate front-end container, drop it; the server now serves
/index.html. - Visit
http://localhost:8080for the app and/docsfor the API.
Quick start
git clone https://github.com/JoobyPM/note-pulse.git
cd note-pulse
cp .env.template .env # adjust SIGNIN_RATE_PER_MIN and Mongo URI
docker compose up -dOpen the browser at http://localhost:8080.