Replace go-imap library with custom IMAP client, simplify CV layout styles, bump vite, move SEED_DB to backend
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 5m19s

- Rewrite email_imap.go to use a minimal hand-rolled IMAP client instead of go-imap/go-message,
  for better compatibility with Outlook's non-standard responses
- Consolidate and simplify CVLayout.vue CSS overrides
- Bump vite from 7.1.11 to 7.3.2
- Move SEED_DB env var from nginx to backend in dev compose
- Add /app/src/wasm volume exclusion in dev compose

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-18 08:53:34 +01:00
parent c20b1c2691
commit 8636dfedb9
6 changed files with 314 additions and 130 deletions

8
vue/package-lock.json generated
View File

@@ -24,7 +24,7 @@
},
"devDependencies": {
"@vitejs/plugin-vue": "^6.0.1",
"vite": "^7.1.11",
"vite": "^7.3.2",
"vite-plugin-top-level-await": "^1.6.0",
"vite-plugin-vue-devtools": "^8.0.3",
"vite-plugin-wasm": "^3.6.0"
@@ -3840,9 +3840,9 @@
}
},
"node_modules/vite": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
"integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz",
"integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==",
"license": "MIT",
"dependencies": {
"esbuild": "^0.27.0",

View File

@@ -29,7 +29,7 @@
},
"devDependencies": {
"@vitejs/plugin-vue": "^6.0.1",
"vite": "^7.1.11",
"vite": "^7.3.2",
"vite-plugin-top-level-await": "^1.6.0",
"vite-plugin-vue-devtools": "^8.0.3",
"vite-plugin-wasm": "^3.6.0"

View File

@@ -17,54 +17,27 @@ import { RouterView } from "vue-router";
</style>
<style>
/* Reset global element styles within CV layout */
.cv-layout h1, .cv-layout h2, .cv-layout h3, .cv-layout h4 {
color: inherit;
font-family: inherit;
margin: 0;
}
.cv-layout p, .cv-layout small, .cv-layout code, .cv-layout ul, .cv-layout li {
color: inherit;
.cv-layout h1, .cv-layout h2, .cv-layout h3, .cv-layout h4,
.cv-layout p, .cv-layout small, .cv-layout code, .cv-layout ul, .cv-layout li,
.cv-layout td, .cv-layout tr, .cv-layout table {
color: #111;
}
.cv-layout h1, .cv-layout h2, .cv-layout h3, .cv-layout h4 { margin: 0; }
.cv-layout a {
color: inherit;
color: #111;
background-color: transparent !important;
font-family: inherit;
text-align: inherit;
letter-spacing: normal;
}
.cv-layout input, .cv-layout textarea {
color: inherit;
border-color: #ccc;
border-width: 1px;
color: #111;
background-color: white;
border: 1px solid #ccc;
padding: 0;
width: auto;
}
.cv-layout input::placeholder, .cv-layout textarea::placeholder {
color: #999;
opacity: 1;
}
.cv-layout table {
border-color: transparent;
border-width: 0;
color: inherit;
}
.cv-layout tr {
border-color: inherit;
color: inherit;
}
.cv-layout th {
border-right-width: 0;
border-style: none;
border-color: inherit;
padding: 0;
}
.cv-layout td {
padding: 0;
color: inherit;
}
.cv-layout textarea {
color: inherit;
background-color: white;
}
.cv-layout input::placeholder, .cv-layout textarea::placeholder { color: #999; opacity: 1; }
.cv-layout table { border: 0 solid transparent; }
.cv-layout tr { border-color: transparent; }
.cv-layout th { border: none; padding: 0; }
.cv-layout td { padding: 0; }
</style>