Skip to content

Quieter Redis, sharper marketplace search, clearer adapter install - #797

Merged
keysersoft merged 2 commits into
mainfrom
keysersoft/ux-fixes-redis-search
Sep 29, 2026
Merged

keysersoft merged 2 commits into
mainfrom
keysersoft/ux-fixes-redis-search

Conversation

@keysersoft

Copy link
Copy Markdown
Contributor

Five things found while taking screenshots on a fresh self-hosted instance (default docker-compose.yml, v0.15.x).

1. Redis log spam. With REDIS_URL unset, RedisService fell back to redis://localhost:6379; ioredis then retried forever and logged Redis connection error every ~2 s (about 40k lines a day on every default install, where Redis is commented out). Now no client is created without REDIS_URL (one info line at boot), errors are logged once per distinct message with a "restored" line on recovery, and /health says "Configured but not reachable" vs "Not configured (optional)" (status stays up in both, as before). Cloud sets REDIS_URL explicitly (checked on the droplet), so it is unaffected. Only a dev who runs a local Redis without setting REDIS_URL loses the implicit default. New redis.service.spec.ts.

2. Marketplace search matched substrings. "SAP" returned WhatsApp, MessageBird ("WhatsApp via Bird") and NewsAPI. Now every query word must start a word; camelCase and letter/digit humps count, and the text as written still matches. Checked: SAP → 5 adapters (was 8), api → NewsAPI still found, hana / 4hana / S/4HANA → the S/4HANA adapters, e-commerce, germany, multi-word sap erp work. Helper in src/lib/marketplace-search.ts.

3. "Skip for now" on SAP S/4HANA (HANA SQL) always failed. Its base URL is hana://{{SAP_HANA_HOST}}:{{SAP_HANA_PORT}}/..., so the backend rightly refuses to create it (400), but the modal had already closed and the error landed in a banner at the top. Adapters whose base URL has placeholders no longer offer Skip, and the modal says which fields form the address. Any failed import now keeps the modal open and shows the error inside it. Adapters without URL variables (e.g. NewsAPI) still offer Skip.

4. Install instructions overflowed. Fenced SQL (CREATE USER AMCP_READER ...) ran past the modal edge; code blocks in the modal now wrap.

5. Tool cards printed the full SQL. Database tools showed the whole statement wrapped mid-word (break-all), 40 lines per card on the HANA adapter. Paths over 120 chars or multi-line now show one line with a "Show full SQL" toggle.

Tested: backend tsc + new spec (3/3); frontend tsc + eslint (no new warnings); in a browser against a local instance: search counts above, HANA modal (no Skip, explanation, wrapped SQL), forced 400 on import keeps the modal open with the error, NewsAPI still has Skip, 8/10 HANA tools collapsed and expand on click, no page errors.

- Redis: without REDIS_URL no client is created. The localhost:6379
  fallback made every default self-hosted install retry forever and log a
  warning every two seconds. Connection errors are now logged once per
  distinct error, with a line when the connection comes back; health tells
  'not configured' apart from 'configured but unreachable'.
- Marketplace search: every word must start a word (camelCase and
  letter/digit humps count). 'SAP' no longer returns WhatsApp, MessageBird
  and NewsAPI; 'api' still finds NewsAPI, 'hana' finds S/4HANA.
- Install modal: adapters whose base URL is built from variables (SAP HANA)
  no longer offer 'Skip for now', which always failed with a 400 after the
  modal had closed. A failed import keeps the modal open and shows the error
  there. Code blocks in the instructions wrap instead of running past the edge.
- Connector page: long endpoint paths (the SQL of database tools) collapse to
  one line with a 'Show full SQL' toggle.
@keysersoft
keysersoft merged commit d957903 into main Sep 29, 2026
13 checks passed
@keysersoft
keysersoft deleted the keysersoft/ux-fixes-redis-search branch September 29, 2026 11:07
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant