Matthew Meszaros
|
dd58de3a93
|
feat: tabbed contact 360 slide-over with overview, activity, notes
|
2026-05-25 08:39:09 +00:00 |
|
Matthew Meszaros
|
512fea76ff
|
feat: add contact 360 detail, sent-emails, and timeline endpoints
|
2026-05-25 08:30:19 +00:00 |
|
Matthew Meszaros
|
2170b86106
|
fix: stop import 500 by installing no-op audit service and drop redundant banner
|
2026-05-25 06:19:22 +00:00 |
|
Matthew Meszaros
|
b6c5081a1f
|
fix: surface real backend error on import commit instead of generic failure
|
2026-05-25 06:08:33 +00:00 |
|
Matthew Meszaros
|
be6596d4ad
|
fix: import custom-field mapping and dropdown clipping in scroll containers
|
2026-05-25 05:43:58 +00:00 |
|
Matthew Meszaros
|
d28df0d27d
|
feat: edit contact categories in detail view, fix dropdown outside-click in slide-over
|
2026-05-25 05:28:41 +00:00 |
|
Matthew Meszaros
|
e523d220d8
|
fix: round-trip organizationpermission through smallint via scan/value
|
2026-05-25 05:03:04 +00:00 |
|
Matthew Meszaros
|
6a070b6e59
|
fix: stop /onboarding ping-ponging with /app/emails via authlayout guard
|
2026-05-25 04:51:09 +00:00 |
|
Matthew Meszaros
|
adb8b703a6
|
fix: stop orggate from looping navigate() to /select-org after login
|
2026-05-25 04:43:06 +00:00 |
|
Matthew Meszaros
|
e463df748f
|
fix: add zookeeper healthcheck so kafka waits for sessions to be ready
|
2026-05-25 04:32:41 +00:00 |
|
Matthew Meszaros
|
d9dba1fd49
|
refactor: drop buildkit cache-mount optimization, dockerfiles work on legacy builds
|
2026-05-25 04:14:46 +00:00 |
|
Matthew Meszaros
|
1aaffd25cc
|
fix: make seed build image upfront and disable TTY so it doesnt look frozen
|
2026-05-25 04:09:52 +00:00 |
|
Matthew Meszaros
|
c5e9523924
|
fix: make seed reconcile backend spec before running to avoid stale healthcheck
|
2026-05-25 04:02:20 +00:00 |
|
Matthew Meszaros
|
b94134bce7
|
fix: guard /select-org and /auth, give dev backend a lenient healthcheck
|
2026-05-25 03:57:02 +00:00 |
|
Matthew Meszaros
|
8e41c36c07
|
fix: weaken web depends_on backend so dev mode boots without healthcheck
|
2026-05-25 03:50:36 +00:00 |
|
Matthew Meszaros
|
5c64addb1a
|
fix: make dev brings up full stack (mailpit, web) not just lang services
|
2026-05-25 03:43:37 +00:00 |
|
Matthew Meszaros
|
13e9fc5635
|
fix: load user on select-org so log out footer renders
|
2026-05-25 03:32:56 +00:00 |
|
Matthew Meszaros
|
7a9b1d6f28
|
feat: add log out button to workspace selector
|
2026-05-25 03:30:12 +00:00 |
|
Matthew Meszaros
|
99d2bff0cb
|
feat: unify dev-mode hot-reload for go, rust, elixir under make dev
|
2026-05-25 03:21:42 +00:00 |
|
Matthew Meszaros
|
bfa856318d
|
feat: add make watch hot-reload mode for go services via air
|
2026-05-25 03:07:22 +00:00 |
|
Matthew Meszaros
|
becb8f2d10
|
build: share go build cache across worktrees, parallelize restart-go
|
2026-05-25 02:55:36 +00:00 |
|
Matthew Meszaros
|
3a55d317ae
|
fix: log out and switch workspace properly via the server
|
2026-05-24 16:57:59 +00:00 |
|
Matthew Meszaros
|
02c2f097e9
|
fix: resolve duplicate migration 000034 (api_key_suffix -> 000035, contact_categories -> 000036)
|
2026-05-24 16:25:42 +00:00 |
|
Matthew Meszaros
|
5a2128890b
|
feat: contacts power-tools UI (categories, export dialog, import wizard)
|
2026-05-24 16:17:03 +00:00 |
|
Matthew Meszaros
|
66b84664f0
|
feat: accept full initial config when creating a campaign
|
2026-05-24 16:13:48 +00:00 |
|
Matthew Meszaros
|
03dc3bce95
|
feat: overhaul campaign creation with atomic transactional create + multi-step wizard
- fix 500 on POST /campaigns: insert now sets NOT NULL created_at/updated_at
- atomic create writes campaign + sequences + ab variants + tag/folder links + advanced overrides in one tx
- create accepts full optional config (schedule, sender pool, tracking, sequences, variants)
- handler forwards orgID so future start/stop and org-scoped routes resolve
- fix Get/GetByID joining campaign_email_tags/campaign_folders on wrong column
- publish CAMPAIGN_CREATED realtime event after successful create
- replace name+description modal with 4-step wizard (basics, schedule, sender pool, first email + follow-ups)
|
2026-05-24 16:13:22 +00:00 |
|
Matthew Meszaros
|
9123c4bfcf
|
feat: full api keys product (smart limits, analytics, dashboard)
|
2026-05-24 16:07:18 +00:00 |
|
Matthew Meszaros
|
07b0c8b5ff
|
feat: backend contacts categories, smart export, csv/xlsx import
|
2026-05-24 16:04:48 +00:00 |
|
Matthew Meszaros
|
ee8d4fa104
|
chore: ignore AI assistant local state directories
|
2026-05-24 15:29:16 +00:00 |
|
Matthew Meszaros
|
7917200771
|
Merge pull request #9 from warmbly/feature/implement-templates
feat: add starter preset templates picker to new-template editor
|
2026-05-24 17:27:20 +02:00 |
|
Matthew Meszaros
|
9aedd8cbb0
|
Merge remote-tracking branch 'origin/main' into feature/implement-templates
# Conflicts:
# internal/api/routes.go
|
2026-05-24 15:25:02 +00:00 |
|
Matthew Meszaros
|
413108db49
|
Merge pull request #7 from warmbly/feature/full-seed-data
chore: stabilize CI and add repo hygiene for seed tooling
|
2026-05-24 17:18:31 +02:00 |
|
Matthew Meszaros
|
b5239ba4f8
|
Merge pull request #8 from warmbly/feature/api-key-support
feat: add api key auth with prefixed secrets and per-endpoint scopes
|
2026-05-24 17:18:07 +02:00 |
|
Matthew Meszaros
|
64341064cf
|
feat(web): preset templates picker in new-template editor
|
2026-05-24 15:11:55 +00:00 |
|
Matthew Meszaros
|
2c82106ca4
|
style: gofmt seed files
|
2026-05-24 12:01:53 +00:00 |
|
Matthew Meszaros
|
9bce2ad29e
|
feat: full reply templates (search/reorder/duplicate/render + UI)
|
2026-05-24 12:01:37 +00:00 |
|
Matthew Meszaros
|
8002d56b86
|
feat: full api key support across data routes
|
2026-05-24 11:59:05 +00:00 |
|
Matthew Meszaros
|
6eb3a3bdfd
|
merge: bring origin/main into branch, layer full seed on top of seedRich
|
2026-05-24 11:54:49 +00:00 |
|
Matthew Meszaros
|
0c1fa08a35
|
feat: full dev seed (users, orgs, workers, mailboxes, campaigns, crm, admin)
|
2026-05-24 11:41:51 +00:00 |
|
Matthew Meszaros
|
939f2160d9
|
Merge pull request #6 from warmbly/feature/redesign-email-onboarding
ci: fix CI permissions, add web pipeline, prune go linters
|
2026-05-24 13:26:25 +02:00 |
|
Matthew Meszaros
|
4eee3d0455
|
style: gofmt onboarding.go
|
2026-05-24 11:21:40 +00:00 |
|
Matthew Meszaros
|
cde1646338
|
fix(web): compact smtp/imap form, host+port in one bordered input
|
2026-05-24 05:01:21 +00:00 |
|
Matthew Meszaros
|
edf8a0c5a6
|
feat(web): smtp/imap form with vertical labels, icon-tile sections, fixed-width port
|
2026-05-24 04:55:31 +00:00 |
|
Matthew Meszaros
|
9bbfa7cf35
|
fix(web): calmer picker hover, host+port single row to stop input overflow
|
2026-05-24 04:51:42 +00:00 |
|
Matthew Meszaros
|
402e025217
|
fix(web): add-email modal view transitions, kill horizontal overflow
|
2026-05-24 04:47:29 +00:00 |
|
Matthew Meszaros
|
540e491580
|
Merge pull request #5 from warmbly/feature/danger-zone-delayed-deletions
ci: fix CI permissions and add web/lint pipelines
|
2026-05-24 06:45:00 +02:00 |
|
Matthew Meszaros
|
72f9c5f51e
|
style: gofmt danger_zone.go
|
2026-05-24 04:42:43 +00:00 |
|
Matthew Meszaros
|
b00a047909
|
fix(web): move pnpm overrides to pnpm-workspace.yaml for pnpm 11
|
2026-05-24 04:36:18 +00:00 |
|
Matthew Meszaros
|
fceeddf5ea
|
feat: app-wide pending-deletion banner + email every org member
|
2026-05-24 04:35:57 +00:00 |
|
Matthew Meszaros
|
889c6d1835
|
feat(web): wire danger zone settings to delayed-deletion API
|
2026-05-24 04:20:28 +00:00 |
|