summaryrefslogtreecommitdiff
path: root/src/app
AgeCommit message (Collapse)Author
2026-07-03refactor(components): group feature components into per-feature foldersLarvan2
Connections, config, backend, home, logs and rules components were scattered flat under src/components/ while their hooks/utils already lived under src/modules/<feature>/, making each feature hard to locate as a unit. Move them into components/<connections,config,backend,home, logs,rules>/ to match the layout convention documented in CLAUDE.md, and drop the dead components/rules/rules.hooks.tsx re-export shim. Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-06-21refactor: replace unmaintained @reach/tooltip with Radix UILarvan2
- add a shared Tooltip wrapper around @radix-ui/react-tooltip that keeps the @reach-style `label` API, so call sites barely change - add a global RadixTooltip.Provider in AppProviders - replace the custom useTooltip/TooltipPopup positioning in Proxy.tsx with Radix auto-positioning - migrate reach tooltip CSS to a .tooltip-content class - drop @reach/visually-hidden (was unused; the visually-hidden CSS class is unrelated) Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-21refactor: migrate recoil to jotai and react-table v7 to v8Larvan2
- replace recoil with jotai: atom({key,default}) -> atom(value), useRecoilState -> useAtom, RecoilState -> PrimitiveAtom, drop RecoilRoot (recoil is archived and blocks the React 19 upgrade) - migrate react-table v7 to @tanstack/react-table v8 in ConnectionTable: useTable/useSortBy -> useReactTable + getSortedRowModel; the internal ConnectionColumn type and localStorage sort/visibility persistence are kept intact and mapped to v8 ColumnDef inside the component - drop the hand-written react-table type augmentation in custom.d.ts (v8 ships its own types) - add keyboard a11y to sortable table headers Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-21chore: modernize tooling and migrate to @tanstack/react-query v5Larvan2
- migrate react-query@3 to @tanstack/react-query@5 (object-form API, useSuspenseQuery for suspense-relied queries, isLoading -> isPending, invalidateQueries object syntax) - migrate ESLint 8 .eslintrc.yml to ESLint 9 flat config (eslint.config.mjs), drop legacy airbnb-base/react-app configs and the dead flowtype plugin, replace @typescript-eslint/* pair with the unified typescript-eslint - remove unused deps: prop-types, regenerator-runtime - add lint/typecheck scripts; auto-fix import ordering across src Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-04-18fix(logs): improve log fetching and add log level selectionLarvan2
2026-04-15build(deps)!: update dependsOlivi
2026-03-22fix(router): redirect root path to /proxiesLarvan2
2026-03-15refactor: reorganize codeLarvan2