43 Commits

Author SHA1 Message Date
1b51235a09 fix(binary): preserve whitespace wrapping in pseudocode viewer 2026-07-04 18:39:26 -03:00
0e610bbf54 fix(libraries): reset import dialog state on open via key prop
Use a counter key prop that increments each time the dialog opens, ensuring
a fresh component instance with cleared file input, parsed data, and errors.
2026-07-04 18:19:07 -03:00
a4828c4d45 fix(chat): hide mutation suggestion cards when no session is selected
Skip pendingSuggestions in mergedMessages and previousMutationSuggestions
rendering when activeSessionId is null. Also fix empty state check to not
consider API suggestions as content when no session is active.
2026-07-04 18:17:25 -03:00
3200f3f07c chore: fix prettier formatting in Libraries.tsx 2026-07-04 18:01:39 -03:00
638c10b4c6 feat(chat): add KaTeX math rendering for LaTeX expressions in markdown
Add katex, remark-math, and rehype-katex packages. Configure both
ReactMarkdown instances with rehypeKatex plugin so inline ($...$)
and block ($$...$$) LaTeX math renders properly in chat bubbles.
2026-07-04 18:01:35 -03:00
e67a99671b fix(chat): fix mutation card rendering, reappearance after approve, and pseudocode tab switching
- MutationSuggestionCard: call onResolved immediately on approve/reject so
  resolvedIds is set even if component unmounts before dismiss timer fires.
  Invalidate mutations list query to refresh pendingSuggestions.
- AIChatPanel: use explicit null checks instead of falsy for oldValue/newValue
  so empty-string fields (e.g. decompiledCode) render correctly. Remove
  resolvedIds filter from streaming mutationSuggestions — the card manages
  its own lifecycle internally.
- CodeViewer: auto-switch to assembly tab when selecting a function that has
  no pseudocode (derived effectiveTab via useMemo).
2026-07-04 18:01:30 -03:00
914005e00e feat(libraries): add export (JSON download) and import (JSON restore) for library symbols 2026-07-04 16:07:13 -03:00
75637bc265 fix(mutations): auto-dismiss suggestion cards with fade-out after approve/reject
Cards now fade out and disappear 1.5s after being approved or rejected.
Added resolvedIds tracking in AIChatPanel to prevent cards from
reappearing in previousMutationSuggestions after resolution.
onRenameApplied now called on reject too (was only on approve).
2026-07-04 15:41:03 -03:00
87df739575 fix(chat): remove hardcoded default model from session creation 2026-07-04 15:40:58 -03:00
17fd065773 chore: add .env to .gitignore 2026-07-04 15:40:54 -03:00
6c53789db7 chore(deps): fix npm audit vulnerabilities
Bump transitive dependencies (esbuild, form-data, js-yaml, orval) via
npm audit fix to resolve 4 advisories (1 high, 2 moderate, 1 low).
2026-07-04 14:50:43 -03:00
e027e9cbe0 feat(theme): add light theme with theme toggle and fix workspace dialog labels
- Add ThemeProvider with localStorage persistence and default dark theme
- Add ThemeToggle (sun/moon) to the header's right corner
- Restructure index.css: light palette in :root, dark palette in .dark
- Apply stored theme in index.html to avoid flash on load
- Fix mislabeled "Create/Edit Home" text in WorkspaceDialog to "Workspace"
2026-07-04 14:22:40 -03:00
1a8fab21cd docs: add README for project overview and setup 2026-06-12 22:01:21 -03:00
4aa5abc075 feat(docker): add Docker configuration and environment setup 2026-06-12 21:58:38 -03:00
8d26744cf5 feat(mutations): replace RenameSuggestionCard with MutationSuggestionCard 2026-06-12 20:59:09 -03:00
2c036068c5 feat(mutations): refactor rename suggestion handling 2026-06-12 18:03:48 -03:00
caf0a5f5a2 feat(libraries): enhance library summary with tooltip 2026-06-12 17:18:57 -03:00
42c8e70fc9 feat(chat): add title_generated event handling 2026-06-12 17:10:36 -03:00
2f0caa78c3 feat(chat): add selectedFunctionId to message sending 2026-06-12 16:25:27 -03:00
72c3078912 feat(rename): implement rename suggestion handling 2026-06-12 13:38:32 -03:00
979f804623 feat(graph): adjust node width calculation for layout 2026-06-11 22:45:28 -03:00
0464501dd4 feat(tooltip): add tooltip component and provider 2026-06-11 22:44:49 -03:00
e059442d53 feat(chat): enhance markdown rendering in chat panel 2026-06-11 22:05:11 -03:00
67f96fff03 feat(chat): add dynamic analyzing messages during streaming 2026-06-11 21:55:22 -03:00
4498a3f666 feat(chat): enhance streaming status and tool call events 2026-06-11 21:46:53 -03:00
bf080eed88 feat(libraries): add library management and symbol resolution 2026-06-10 15:16:44 -03:00
78ed67de77 feat(dependencies): implement management for companion DLLs 2026-06-10 13:24:09 -03:00
249a6b81b5 feat(analysis): add structures and enums listing functionality 2026-06-10 11:45:11 -03:00
fa464e6808 feat(cfg): implement control flow graph visualization 2026-06-10 10:45:53 -03:00
56cbfb794d feat(analysis): add global variables listing and table 2026-06-10 09:46:47 -03:00
a2c3c1ced9 feat(analysis): add stack frame, comments, and imports 2026-06-10 08:57:39 -03:00
908d57c3c4 feat(analysis): add string listing and filtering functionality 2026-06-10 08:10:51 -03:00
cd208b51fc feat(binary): add engine selection for binary analysis 2026-06-09 20:25:14 -03:00
decb831ba1 feat(binary): adjust panel sizes and add font imports 2026-06-08 22:40:53 -03:00
3530ff55c0 feat(analysis): add segment listing and filtering features 2026-06-08 22:21:26 -03:00
bc95a15af4 feat(binary): enhance binary analysis UI with entry point navigation and xref panel 2026-06-08 21:42:47 -03:00
f5188757a7 feat(chat): implement AI chat panel and session management 2026-06-08 15:40:41 -03:00
4f1f51a65f feat(binary): add static analysis features and UI components 2026-06-07 23:00:14 -03:00
d73366be73 feat(binary): enhance binary list with format and architecture badges 2026-06-07 15:48:08 -03:00
32d8e30fd9 feat(jobs): add job management UI and API integration 2026-06-07 13:50:06 -03:00
6f93833e37 feat(binary): implement binary upload and management UI 2026-06-06 23:17:07 -03:00
71c191c8bf feat: implement project management features and UI 2026-06-06 21:27:20 -03:00
1aa50ab1c7 feat: initialize project structure with core components 2026-06-06 20:07:42 -03:00