Merge dev into main (v0.49.1)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 26s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 26s
This commit is contained in:
commit
c0645ef8b3
7 files changed
+23
-5
No files matched your search
@@ -2,6 +2,10 @@
|
||||
|
||||
Regeln für die Arbeit an MindSift, die nicht aus dem Code selbst hervorgehen. Aufbau und Technik stehen in [Doku/](Doku/README.md), vor allem [architecture.md](Doku/architecture.md).
|
||||
|
||||
## Zuständigkeit
|
||||
|
||||
- **Die Website (Repo `MindSift-Website`) betreut ein anderer Agent.** Agenten, die an MindSift arbeiten, ändern dort nichts: keine Dateien, keine Commits, kein Push, auch nicht bei Änderungen wie Lizenz oder Funktionsnamen, die die Seite betreffen. Solche Punkte stattdessen dem Nutzer melden.
|
||||
|
||||
## Sprache und Stil
|
||||
|
||||
- **Deutsch:** Oberflächentexte, Fehlermeldungen für Nutzer, E-Mails, `CHANGELOG.md`, `README.md`, `Doku/`.
|
||||
|
||||
+7
-1
@@ -6,6 +6,11 @@ Das Format folgt [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die V
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.49.1] - 2026-11-01
|
||||
|
||||
### Fixed
|
||||
- Aufgaben: Nach dem Sprung zu einer Aufgabe (z. B. über das Abzeichen „Erweitert“ in einer Notiz) öffnete sich deren Detailfenster bei jedem Zurückwechseln in den Aufgaben-Reiter erneut.
|
||||
|
||||
## [0.49.0] - 2026-11-01
|
||||
|
||||
### Changed
|
||||
@@ -760,7 +765,8 @@ Das Format folgt [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die V
|
||||
- Geteilte Listen (Einkaufs-, Pack- und Checklisten) mit `#Kategorie`-Gruppierung, Mengenangaben und Echtzeit-Abhaken.
|
||||
- Benutzer-, Gruppen- und Admin-Verwaltung (Ersteinrichtungs-Assistent, Einladungscodes, Profilbilder, persönliche API-Keys & Webhook-Ingest `/api/v1/webhooks/ingest`, JSON-Datenexport) sowie CSS-Theme-Engine mit 4 Themes (`Dark`, `Light`, `High Contrast`, `Soft`) und PWA-Unterstützung.
|
||||
|
||||
[Unreleased]: https://git.dsit.me/sandrodach/MindSift/compare/v0.49.0...dev
|
||||
[Unreleased]: https://git.dsit.me/sandrodach/MindSift/compare/v0.49.1...dev
|
||||
[0.49.1]: https://git.dsit.me/sandrodach/MindSift/compare/v0.49.0...v0.49.1
|
||||
[0.49.0]: https://git.dsit.me/sandrodach/MindSift/compare/v0.48.0...v0.49.0
|
||||
[0.48.0]: https://git.dsit.me/sandrodach/MindSift/compare/v0.47.0...v0.48.0
|
||||
[0.47.0]: https://git.dsit.me/sandrodach/MindSift/compare/v0.46.0...v0.47.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[](#)
|
||||
[](#-schnellstart)
|
||||
[](#-deine-daten-gehören-dir)
|
||||
[](CHANGELOG.md)
|
||||
[](CHANGELOG.md)
|
||||
|
||||
**MindSift** ist eine selbst gehostete Schaltstelle für spontane Gedanken, Aufgaben mit Kanban-Board, hierarchische Outliner-Notizen, die mehrere Personen gleichzeitig bearbeiten können, und gemeinsame Listen. Alles läuft als ein einzelner Container mit eingebetteter SQLite-Datenbank, auf deinem eigenen Server.
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "mindsift-frontend",
|
||||
"version": "0.49.0",
|
||||
"version": "0.49.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mindsift-frontend",
|
||||
"version": "0.49.0",
|
||||
"version": "0.49.1",
|
||||
"license": "AGPL-3.0-only",
|
||||
"dependencies": {
|
||||
"@fontsource-variable/inter": "5.3.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "mindsift-frontend",
|
||||
"private": true,
|
||||
"version": "0.49.0",
|
||||
"version": "0.49.1",
|
||||
"license": "AGPL-3.0-only",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1297,6 +1297,7 @@ export const App: React.FC = () => {
|
||||
onOpenDocument={handleOpenDocument}
|
||||
refreshTrigger={refreshRevision}
|
||||
initialSelectedTaskId={selectedTaskId}
|
||||
onInitialTaskShown={() => setSelectedTaskId(null)}
|
||||
openTasksCount={stats.tasksOpenCount}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -65,6 +65,9 @@ interface TasksViewProps {
|
||||
onOpenDocument: (docId: string, blockId?: string) => void;
|
||||
refreshTrigger?: number;
|
||||
initialSelectedTaskId?: string | null;
|
||||
// The task from initialSelectedTaskId was opened; the parent forgets it, so returning to the tab does
|
||||
// not open it again
|
||||
onInitialTaskShown?: () => void;
|
||||
openTasksCount?: number; // all open tasks incl. shared lists (same as the nav bar counter)
|
||||
}
|
||||
|
||||
@@ -94,6 +97,7 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
onOpenDocument,
|
||||
refreshTrigger = 0,
|
||||
initialSelectedTaskId,
|
||||
onInitialTaskShown,
|
||||
openTasksCount,
|
||||
}) => {
|
||||
// Open list and view survive switching to other tabs (like the workspace's open note)
|
||||
@@ -177,11 +181,14 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
const [showDetailModal, setShowDetailModal] = useState(false);
|
||||
const [extraTask, setExtraTask] = useState<Thought | null>(null);
|
||||
|
||||
const onInitialTaskShownRef = useRef(onInitialTaskShown);
|
||||
onInitialTaskShownRef.current = onInitialTaskShown;
|
||||
useEffect(() => {
|
||||
if (initialSelectedTaskId) {
|
||||
setDetailTaskId(initialSelectedTaskId);
|
||||
setShowDetailModal(true);
|
||||
setFilter('open');
|
||||
onInitialTaskShownRef.current?.();
|
||||
api.getThought(initialSelectedTaskId).then((th) => {
|
||||
if (th) setExtraTask(th);
|
||||
}).catch(() => {});
|
||||
|
||||
Reference in new issue
Block a user