e527aa80af
Core layer: - FilingService: orchestrates batch filing with 401-aborts-batch, 409-treats-as-success, transient errors fall to DiskRetryQueue - DiskRetryQueue: atomic write (tmp + rename), Hebrew UTF-8 round-trip, idempotent remove - Models: MailEnvelope (STA-extracted primitives), FilingTarget, FilingOutcome enum, FilingItemResult, FilingBatchSummary, RetryQueueItem - EspoCrmClient.CreateContactAsync for "create contact from sender" flow UI layer: - FileToCaseDialog (WPF, RTL, Hebrew labels) with grouped search results + recent sidebar - FileToCaseViewModel: 250ms debounced GlobalSearch, create-contact-from-sender command, DialogResult signaling Tests (38 passing): - FilingServiceTests: happy path, 409, 401 aborts batch, transient enqueues, queue failure → Failed, target propagation, null guards - DiskRetryQueueTests: id assignment, Hebrew round-trip, corrupt-file skip, idempotent remove, atomic overwrite VSTO host project (OutlookAddin.csproj) regenerated; ThisAddIn wiring in follow-up commits. gitignore: exclude .claude/settings.local.json (per-machine). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
71 lines
1.1 KiB
Plaintext
71 lines
1.1 KiB
Plaintext
# Build output
|
|
[Bb]in/
|
|
[Oo]bj/
|
|
[Dd]ebug/
|
|
[Rr]elease/
|
|
x64/
|
|
x86/
|
|
*.user
|
|
*.suo
|
|
*.userprefs
|
|
*.sln.docstates
|
|
|
|
# VS / Rider / VSCode
|
|
.vs/
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
|
|
# NuGet
|
|
packages/
|
|
*.nupkg
|
|
*.snupkg
|
|
project.lock.json
|
|
project.fragment.lock.json
|
|
|
|
# Publish output (ClickOnce / MSIX)
|
|
publish/
|
|
PublishProfiles/
|
|
*.pubxml.user
|
|
|
|
# VSTO build output
|
|
*_TemporaryKey.pfx
|
|
*.vsto
|
|
*.application
|
|
*.deploy
|
|
*.manifest
|
|
|
|
# Code signing — NEVER commit private keys
|
|
*.pfx
|
|
*.snk
|
|
|
|
# Settings / logs that should never be committed
|
|
appsettings.local.json
|
|
*.log
|
|
logs/
|
|
|
|
# Claude Code local settings (per-machine)
|
|
.claude/settings.local.json
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# Task Master (config may contain API keys)
|
|
.taskmaster/config.json
|
|
.taskmaster/state.json
|
|
.taskmaster/reports/
|
|
.taskmaster/templates/
|
|
|
|
# Task Master env / debug
|
|
.env
|
|
.taskmaster/dev-debug.log
|
|
.taskmaster/npm-debug.log*
|
|
|
|
# (NOTE: removed `*.sln`, `*.sw?`, `.vscode`, `.idea`, `*.ntvs*`, `*.njsproj`,
|
|
# `node_modules/` that Task Master init added — they collide with this
|
|
# repo's VS solution file (OutlookAddin.sln) and we don't have Node/IDE
|
|
# directories here.)
|
|
|