201 lines
9.4 KiB
Markdown
201 lines
9.4 KiB
Markdown
# ArchiTools — Session Log
|
||
|
||
> Newest sessions first. Each AI session appends an entry at the top.
|
||
|
||
---
|
||
|
||
## Session — 2026-02-19 (GitHub Copilot - Claude Sonnet 4.6) [continued]
|
||
|
||
### Completed
|
||
|
||
- **Task 1.11: Dashboard — Activity Feed + KPI Panels** ✅
|
||
- Created `src/modules/dashboard/hooks/use-dashboard-data.ts`
|
||
- Scans all `architools:*` localStorage keys directly (no per-module hooks needed)
|
||
- Activity feed: last 20 items sorted by `updatedAt`, detects creat/actualizat, picks best label field
|
||
- KPI grid: registratura this week, open dosare, deadlines this week, overdue (red if >0), new contacts this month, active IT equipment
|
||
- Replaced static Quick Stats with live KPI panels in `src/app/page.tsx`
|
||
- Relative timestamps in Romanian via `Intl.RelativeTimeFormat`
|
||
- Build passes zero errors
|
||
|
||
### Commits
|
||
|
||
- (this session) feat(dashboard): activity feed and KPI panels
|
||
|
||
### Notes
|
||
|
||
- Build verified: `npx next build` → ✓ Compiled successfully
|
||
- Next task: **1.12** — Registratura linked-entry selector fix
|
||
|
||
---
|
||
|
||
## Session — 2026-02-19 (GitHub Copilot - Claude Sonnet 4.6)
|
||
|
||
### Completed
|
||
|
||
- **Task 1.09: Address Book — vCard Export + Registratura Reverse Lookup** ✅
|
||
- Created `src/modules/address-book/services/vcard-export.ts` — generates vCard 3.0 with all contact fields
|
||
- Download icon button on card hover → triggers `.vcf` file download
|
||
- FileText icon button → opens `ContactDetailDialog` with full info + Registratura table
|
||
- Registratura reverse lookup uses `allEntries` (bypasses active filters)
|
||
- Build passes zero errors
|
||
|
||
- **Task 1.10: Word Templates — Placeholder Auto-Detection** ✅
|
||
- Created `src/modules/word-templates/services/placeholder-parser.ts`
|
||
- Reads `.docx` (ZIP) via JSZip, scans all `word/*.xml` files for `{{placeholder}}` patterns
|
||
- Handles Word’s split-run encoding by checking both raw XML and tag-stripped text
|
||
- Form: “Alege fișier .docx” button (local file picker, CORS-free) auto-populates placeholders field
|
||
- Form: Wand icon next to URL field tries URL-based fetch detection
|
||
- Spinner during parsing, error message if detection fails
|
||
- Build passes zero errors
|
||
|
||
### Commits
|
||
|
||
- `da33dc9` feat(address-book): vCard export and Registratura reverse lookup
|
||
- `67fd888` docs: mark task 1.09 complete
|
||
- (this session) feat(word-templates): placeholder auto-detection from .docx via JSZip
|
||
|
||
### Notes
|
||
|
||
- Build verified: `npx next build` → ✓ Compiled successfully
|
||
- Next task: **1.11** — Dashboard Activity Feed + KPI Panels
|
||
|
||
---
|
||
|
||
## Session — 2026-02-19 (GitHub Copilot - Claude Sonnet 4.6) [earlier]
|
||
|
||
### Completed
|
||
|
||
- **Task 1.09: Address Book — vCard Export + Registratura Reverse Lookup** ✅
|
||
- Created `src/modules/address-book/services/vcard-export.ts` — generates vCard 3.0 (`.vcf`) with all contact fields
|
||
- Added Download icon button on contact card hover → triggers `.vcf` file download
|
||
- Added FileText (detail) icon button → opens `ContactDetailDialog`
|
||
- `ContactDetailDialog` shows full contact info, contact persons, notes, and scrollable Registratura table
|
||
- Registratura reverse lookup uses `allEntries` (bypasses active filters) and matches `senderContactId` or `recipientContactId`
|
||
- Build passes zero errors
|
||
|
||
### Commits
|
||
|
||
- `da33dc9` feat(address-book): vCard export and Registratura reverse lookup
|
||
|
||
### Notes
|
||
|
||
- Build verified: `npx next build` → ✓ Compiled successfully
|
||
- Push pending — see below
|
||
- Next task: **1.10** — Word Templates Placeholder Auto-Detection
|
||
|
||
---
|
||
|
||
## Session — 2026-02-19 (GitHub Copilot - Haiku 4.5)
|
||
|
||
### Completed
|
||
|
||
- **Task 1.07: Password Vault — Company Scope + Strength Meter** ✅
|
||
- Added `company: CompanyId` field to VaultEntry type
|
||
- Implemented password strength indicator (4 levels: weak/medium/strong/very strong) with visual progress bar
|
||
- Strength calculation based on length + character diversity (uppercase/lowercase/digits/symbols)
|
||
- Updated form with company selector dropdown (Beletage/Urban Switch/Studii de Teren/Grup)
|
||
- Meter updates live as password is typed
|
||
- Build passes zero errors
|
||
|
||
- **Task 1.08: IT Inventory — Link assignedTo to Address Book** ✅
|
||
- Added `assignedToContactId?: string` field to InventoryItem type
|
||
- Implemented contact autocomplete in assignment field (searches Address Book)
|
||
- Shows up to 5 matching contacts with name and company
|
||
- Clicking a contact fills both display name and ID reference
|
||
- Search filters by contact name and company
|
||
- Placeholder text "Caută după nume..." guides users
|
||
- Build passes zero errors
|
||
|
||
### Commits
|
||
|
||
- `b96b004` feat(password-vault): add company scope and password strength meter
|
||
- `a49dbb2` feat(it-inventory): link assignedTo to Address Book contacts with autocomplete
|
||
|
||
### Notes
|
||
|
||
- Build verified: `npx next build` → ✓ Compiled successfully
|
||
- Push completed: Changes deployed to main via Gitea webhook → Portainer auto-redeploy triggering
|
||
- Ready to test on production: http://10.10.10.166:3000/password-vault and http://10.10.10.166:3000/it-inventory
|
||
|
||
---
|
||
|
||
## Session — 2026-02-18 (GitHub Copilot - Haiku 4.5)
|
||
|
||
### Completed
|
||
|
||
- **Task 1.01: Email Signature Logo Files** ✅
|
||
- Verified all 4 logo files exist with valid SVG content: logo-us-dark.svg, logo-us-light.svg, logo-sdt-dark.svg, logo-sdt-light.svg
|
||
- No action needed — logos are already present and valid
|
||
- **Task 1.02: Email Signature Address Toggle for US/SDT** ✅
|
||
- Added address toggle UI for Urban Switch and Studii de Teren companies (like Beletage already has)
|
||
- Created US_ADDRESSES and SDT_ADDRESSES constants in `company-branding.ts`
|
||
- Updated `signature-configurator.tsx` to show address selector for US and SDT
|
||
- Both companies currently configured with Str. Unirii address; user can update when confirmed
|
||
- Build passes zero errors
|
||
|
||
### Commits
|
||
|
||
- `1db61d8` feat(email-signature): add address toggles for Urban Switch and Studii de Teren
|
||
|
||
### Notes
|
||
|
||
- Full npm install and build verification completed
|
||
- Ready to move to task 1.03 (Prompt Generator architecture templates) after user approval
|
||
- Set up git with AI Assistant user for commits
|
||
|
||
---
|
||
|
||
## Session — 2026-02-18 (Claude Opus 4.6)
|
||
|
||
### Completed
|
||
|
||
- **Registratura Legal Deadline Tracking** — Full implementation:
|
||
- 9 new files: working-days.ts (Romanian holidays + Orthodox Easter), deadline-catalog.ts (16 deadline types), deadline-service.ts, use-deadline-filters.ts, deadline-card.tsx, deadline-add-dialog.tsx, deadline-resolve-dialog.tsx, deadline-table.tsx, deadline-dashboard.tsx
|
||
- 6 modified files: types.ts, use-registry.ts, registratura-module.tsx (tabbed), registry-entry-form.tsx (inline deadlines), registry-table.tsx (clock badge), index.ts
|
||
- Features: calendar/working days, backward deadlines, chain deadlines, tacit approval, color-coded status
|
||
- **CLAUDE.md** — Created with full project context, architecture, conventions, model recommendations
|
||
- **ROADMAP.md** — Created with 9 phases, 35+ tasks from xlsx gap analysis, multi-provider model table
|
||
- **SESSION-GUIDE.md** — Created with start/resume prompts, git workflow, file update rules
|
||
|
||
### Commits
|
||
|
||
- `bb01268` feat(registratura): add legal deadline tracking system (Termene Legale)
|
||
- `d6a5852` docs: add ROADMAP.md with detailed future task plan
|
||
- `b1df15b` docs: rewrite ROADMAP.md with complete xlsx gap analysis + multi-model recommendations
|
||
- (this session) docs: add SESSION-GUIDE.md + SESSION-LOG.md
|
||
|
||
### Notes
|
||
|
||
- Build passes with zero errors
|
||
- Dev server on localhost:3000 shows tabs correctly
|
||
- Production at 10.10.10.166:3000 requires Portainer redeploy after push
|
||
- The `app_modules_overview.xlsx` is in the repo root but not committed (it's a reference file)
|
||
- No tasks from ROADMAP.md Phase 1+ have been started yet — next session should begin with task 1.01
|
||
|
||
### Completed
|
||
|
||
- **Registratura Legal Deadline Tracking** — Full implementation:
|
||
- 9 new files: working-days.ts (Romanian holidays + Orthodox Easter), deadline-catalog.ts (16 deadline types), deadline-service.ts, use-deadline-filters.ts, deadline-card.tsx, deadline-add-dialog.tsx, deadline-resolve-dialog.tsx, deadline-table.tsx, deadline-dashboard.tsx
|
||
- 6 modified files: types.ts, use-registry.ts, registratura-module.tsx (tabbed), registry-entry-form.tsx (inline deadlines), registry-table.tsx (clock badge), index.ts
|
||
- Features: calendar/working days, backward deadlines, chain deadlines, tacit approval, color-coded status
|
||
- **CLAUDE.md** — Created with full project context, architecture, conventions, model recommendations
|
||
- **ROADMAP.md** — Created with 9 phases, 35+ tasks from xlsx gap analysis, multi-provider model table
|
||
- **SESSION-GUIDE.md** — Created with start/resume prompts, git workflow, file update rules
|
||
|
||
### Commits
|
||
|
||
- `bb01268` feat(registratura): add legal deadline tracking system (Termene Legale)
|
||
- `d6a5852` docs: add ROADMAP.md with detailed future task plan
|
||
- `b1df15b` docs: rewrite ROADMAP.md with complete xlsx gap analysis + multi-model recommendations
|
||
- (this session) docs: add SESSION-GUIDE.md + SESSION-LOG.md
|
||
|
||
### Notes
|
||
|
||
- Build passes with zero errors
|
||
- Dev server on localhost:3000 shows tabs correctly
|
||
- Production at 10.10.10.166:3000 requires Portainer redeploy after push
|
||
- The `app_modules_overview.xlsx` is in the repo root but not committed (it's a reference file)
|
||
- No tasks from ROADMAP.md Phase 1+ have been started yet — next session should begin with task 1.01
|
||
|
||
---
|