opencode
d244a537ea
feat(toolrate): light/dark/system theme toggle with FOUC guard
...
Build & Push Docker Image / build (push) Successful in 2m30s
- use-theme hook: localStorage (toolrate-theme, default system), matchMedia
change listener, shared singleton listener, sets .dark + color-scheme
- ThemeToggle: lightbulb quick toggle (light/dark) + dropdown (light/dark/system)
- Sidebar footer + mobile header + standalone login page
- inline script in index.html to apply theme pre-render (no FOUC)
- recharts axis ticks use hsl(var(--foreground)) for dark-mode readability
2026-08-01 19:47:39 +02:00
opencode
db397a14bc
fix: security hardening, validation, cache and analytics fixes
...
Build & Push Docker Image / build (push) Successful in 4m32s
Backend security:
- Admin-gate /admin/redundancy (GET+POST) with zod validation and tool existence checks
- Restrict CORS to same-origin (plus CORS_ORIGIN allowlist) and SameSite=Lax cookie
- Validate returnTo to prevent open redirect in the OIDC flow
- Validate/coerce relations body, reject self-relations and non-admin 'recommended'
- Add central JSON error middleware (no more Express HTML 500s)
- Fail fast at startup when SESSION_SECRET/VOTER_SECRET missing in production
Backend correctness:
- Stop leaking voterToken in the create-rating response
- Allow clearing websiteUrl/iconUrl (nullable in UpdateToolBody, frontend sends null)
- Regenerate session after login/callback (session fixation) and add OIDC state check
- Block self-demotion and last-admin demotion in user PATCH
- Set created_by to NULL on user delete (FK-safe)
- Validate cost create/update bodies with zod
- Unique index (tool_id, voter_token) + 409 on race duplicate ratings
- Clamp audit limit, escape ilike wildcards in search, O(N) analytics queries
Frontend:
- tools-browse reads and syncs URL query params (fixes home 'View all' links)
- Invalidate analytics/top-tools/categories/features caches after mutations
- Sync category combobox input when the value changes externally
- Hide Write a Review for anonymous users, drop unreachable rating guard
2026-08-01 19:11:00 +02:00
opencode
0c6a35e841
fix: category cache refresh, API 404, redundancy mapping, cost/relation authz, voterToken exposure
...
Build & Push Docker Image / build (push) Successful in 8m33s
- Invalidate categories/features queries after creating/editing tools so new
categories appear immediately in search, browse dropdown and tool form
- Always refetch categories/features when the combobox/suggestion inputs mount
- Return JSON 404 for unmatched /api routes instead of the SPA index.html
- Read the manually confirmed 'better tool' from the recommendation notes
instead of using the min tool id in the redundancy dashboard
- Require admin for cost/relation update+delete endpoints
- Stop exposing the voter token in the ratings list response
- Fix parseInt type error on user id params (Express 5 params typing)
2026-08-01 15:25:06 +02:00
henry
fd51146049
Update artifacts/api-server/src/app.ts
Build & Push Docker Image / build (push) Successful in 1m48s
2026-07-31 17:32:00 +00:00
root
5d71e60e7d
feat: Docker Compose support
2026-07-30 00:19:31 +02:00
root
857d2e11a8
feat: automatic recommendations + manual evaluation in redundancy analysis
2026-07-29 23:51:28 +02:00
root
44cc29b8fe
feat: billing period for subscriptions, costs in redundancy analysis
2026-07-29 23:46:58 +02:00
root
deabe36727
fix: customFetch returns parsed body, not Response object
2026-07-29 23:38:39 +02:00
root
331bdd0957
fix: clean login page, avoid esbuild regex parse error
2026-07-29 23:33:19 +02:00
root
5115d13616
fix: use ArrowLeft icon instead of HTML entity in login page
2026-07-29 23:28:04 +02:00
root
7bda8f95f3
feat: back-to-home links on login and 404 pages
2026-07-29 23:19:27 +02:00
root
45f0b80055
feat: costs UI on tool detail + tier badge in sidebar
2026-07-29 23:18:19 +02:00
root
ba413f5ee9
fix: use static SQL for user column migration
2026-07-29 23:08:22 +02:00
root
7bfdac6104
fix: add migration for new user columns (tier, auth_provider, etc.)
2026-07-29 22:50:15 +02:00
root
59badeaa48
feat: auth foundation, similar tools, costs, redundancy, anonymous voting
2026-07-29 21:59:29 +02:00
root
8b3b7c9955
remove Replit branding (meta description, dev banner)
2026-07-29 20:18:10 +02:00
root
612ada8849
fix: tool card category badge overflow on narrow viewports
2026-07-29 20:17:39 +02:00
root
bdab4c3198
fix: create sessions table before server listens to avoid race condition
2026-07-29 20:05:28 +02:00
root
a569bba5e1
fix: add sessions table to Drizzle schema + auto-create at startup
2026-07-29 20:04:15 +02:00
root
4e0861df71
Fix Login: Session-Cookies via Vite-Proxy + credentials:include
...
- Vite-Proxy für /api/* zum Express-Backend (localhost:8080)
- credentials: 'include' in customFetch für Cross-Origin-Cookie-Support
- Behebt: Login-Response-Set-Cookie wurde vom Browser ignoriert
2026-07-29 19:29:46 +02:00
cheffe01
655adf87c0
Add Zod dependency to enable user API functionalities
...
Adds `zod` as a direct dependency to the `api-server` package, resolving the import error in `users.ts` and enabling user-related API functionalities.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 0edbd41f-69af-4bb4-88a4-f5fecc8b2778
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 00bfe0e8-1c2f-4283-95aa-5bc19de2c811
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0683fb79-a27c-485c-9333-5f4b288c4567/0edbd41f-69af-4bb4-88a4-f5fecc8b2778/4wtolMS
Replit-Helium-Checkpoint-Created: true
2026-05-26 05:47:52 +00:00
cheffe01
639db16cda
Update site image for tool rating platform
...
Update the opengraph image for the tool rating web application.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 776963d0-f75d-42e2-a57b-cc36bdff8495
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 8cb50e9e-a03c-477e-9edc-701d6694d251
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0683fb79-a27c-485c-9333-5f4b288c4567/776963d0-f75d-42e2-a57b-cc36bdff8495/YXrqCZJ
Replit-Helium-Checkpoint-Created: true
2026-05-25 23:34:07 +00:00
cheffe01
c5ca3ca992
Add local user authentication and admin capabilities
...
Implement local user authentication with password hashing, add admin roles for user management and audit log viewing, and introduce audit logging for critical actions.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 776963d0-f75d-42e2-a57b-cc36bdff8495
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 832a44ff-12ae-4096-8a0d-666ec083d536
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0683fb79-a27c-485c-9333-5f4b288c4567/776963d0-f75d-42e2-a57b-cc36bdff8495/1p7jhzu
Replit-Helium-Checkpoint-Created: true
2026-05-25 14:11:02 +00:00
cheffe01
b8ba53598d
Add icon support for tools and improve analytics chart display
...
Update API, database schema, and frontend components to allow optional icons for tools, and adjust analytics chart rendering for better visibility.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 776963d0-f75d-42e2-a57b-cc36bdff8495
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 0ad0b686-eebd-46d2-8314-67e9e874e224
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0683fb79-a27c-485c-9333-5f4b288c4567/776963d0-f75d-42e2-a57b-cc36bdff8495/1p7jhzu
Replit-Helium-Checkpoint-Created: true
2026-05-25 13:28:34 +00:00
cheffe01
7abb048edc
Add user authentication and dynamic feature/category inputs
...
Implement Keycloak authentication, protected routes, and add combobox and autocomplete components for tool categories and features.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 776963d0-f75d-42e2-a57b-cc36bdff8495
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 0b145113-c016-4f54-b000-13bd3b0ba8f0
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0683fb79-a27c-485c-9333-5f4b288c4567/776963d0-f75d-42e2-a57b-cc36bdff8495/z4uWN6A
Replit-Helium-Checkpoint-Created: true
2026-05-25 13:20:15 +00:00
cheffe01
036973ea32
Add API endpoints and frontend components for tool management and analytics
...
Implement CRUD operations for tools and ratings, introduce analytics endpoints, and develop frontend components for displaying tools, ratings, and analytics data.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 776963d0-f75d-42e2-a57b-cc36bdff8495
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: feaa4ce1-5aed-4cc0-bcea-47855b615b48
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0683fb79-a27c-485c-9333-5f4b288c4567/776963d0-f75d-42e2-a57b-cc36bdff8495/rx9K7bW
Replit-Helium-Checkpoint-Created: true
2026-05-25 13:04:53 +00:00
agent
1de22a6979
Initial commit
2026-05-14 20:25:38 +00:00