de.yourecom.workplace
-
Marcel Beckers -
YoureCom/de.yourecom.workplace -
Privat -
31. Oktober 2021 um 13:07
-
Arbeitsplatz: letzter Schnellfilter-Chip nicht mehr unter dem Ausblend-Verlauf (Review) 6.2
Marcel Beckers23. Oktober 2026 um 11:57 -2 Löschungen +3 Hinzufügungen 5 Gesamt 2 Dateien -
Arbeitsplatz: Review-Befunde (Kartentitel füllt die Zeile, Badges darunter, Chip-Abstand am Scroll-Ende, 44px Touch-Flächen, Vor/Zurück auf Touch unter dem Aufgabenkopf, Filter-Knopf nur Symbol, Datum) 6.2
Marcel Beckers23. Oktober 2026 um 11:27 -8 Löschungen +31 Hinzufügungen 39 Gesamt 4 Dateien -
Arbeitsplatz: Filter auf dem Handy als wischbare Chip-Zeile, Aufgabenkopf ohne Kategoriefarbe lesbar, Vorschau-Knöpfe mit Sprache, Kommentar-Box mit Text, Nachbar-Links auf Touch-Geräten beschriftet, Gast ohne nutzlose Knöpfe, Kartentitel neben dem Symbol 6.2
Marcel Beckers23. Oktober 2026 um 10:45 -10 Löschungen +123 Hinzufügungen 133 Gesamt 11 Dateien -
Arbeitsplatz: Status-Badge deckend zeichnen, wie die Schriftfarbe berechnet wird Review-Befund: Eine Statusfarbe mit Alpha (z. B. rgba(0, 0, 0, 0.2)) erschien hell, bekam aber weiße Schrift. getColor() liefert die Farbe jetzt ohne Alpha. 6.2
Marcel Beckers23. Oktober 2026 um 09:33 -6 Löschungen +29 Hinzufügungen 35 Gesamt 4 Dateien -
Integrationstests: Status-Map mit Textfarbe prüfen 6.2
Marcel Beckers23. Oktober 2026 um 09:17 -1 Löschungen +6 Hinzufügungen 7 Gesamt 1 Dateien -
Arbeitsplatz: Schrift der Status-Badges nach Helligkeit der Statusfarbe Weiße Schrift auf hellen Statusfarben (z. B. Grün für Erledigt) hatte nur etwa 2:1 Kontrast. TaskStatusColor wählt hell oder dunkel nach WCAG-Kontrast; Template und Status-Map (InteractionState) setzen --task-status-text-color. 6.2
Marcel Beckers23. Oktober 2026 um 09:08 -7 Löschungen +137 Hinzufügungen 144 Gesamt 10 Dateien -
Arbeitsplatz: Status-Badge ohne Farbe in beiden Stilen lesbar, Reste des Prozenttexts entfernt Review-Befunde zu 619ed7c: Grau aus wcfContentDimmedText hatte im dunklen Stil nur 3,4:1 Kontrast zu weißer Schrift; festes Dunkelgrau erreicht in beiden Stilen AA, auch bei erledigten Status. Ungenutzte progressPercent-Regel, span und data-percent entfernt. 6.2
Marcel Beckers23. Oktober 2026 um 08:20 -21 Löschungen +6 Hinzufügungen 27 Gesamt 3 Dateien -
Arbeitsplatz: Board-Karten mit lesbaren Daten, Kategorie-Balken ohne Prozenttext, Status-Badge ohne Farbe lesbar In schmalen Board-Spalten wurden Start- und Fälligkeitsdatum buchstabenweise umbrochen; die Fußzeile bricht jetzt um. Die Prozentzahl im 8px-Balken war unlesbar (das Badge zeigt den Stand). Status ohne Farbe: weiße Schrift auf hellgrau. 6.2
Marcel Beckers23. Oktober 2026 um 08:07 -21 Löschungen +10 Hinzufügungen 31 Gesamt 2 Dateien -
Integrationstests: wirkungslose lastEditTime-Umgehung entfernt Seit taskListView() fest nach Erstellzeit sortiert, ist das Hochsetzen der Bearbeitungszeit überflüssig (Review-Befund zu #912). 6.2
Marcel Beckers23. Oktober 2026 um 07:57 -3 Löschungen +1 Hinzufügungen 4 Gesamt 2 Dateien -
Integrationstests: Liste in Tests fest nach Erstellzeit sortieren Die Tests suchen ihre Aufgaben auf der ersten Seite der Liste; mit der Sortierung aus dem ACP hing das an Einstellung und Datenbestand des Dev-Systems (Review-Befund zu #912). taskListView() sortiert neueste zuerst. 6.2
Marcel Beckers23. Oktober 2026 um 07:50 -24 Löschungen +30 Hinzufügungen 54 Gesamt 10 Dateien -
Integrationstests: Testaufgaben mit Bearbeitungszeit anlegen Die Liste sortiert standardmäßig nach letzter Bearbeitung (20 pro Seite). Aufgaben aus createTask() hatten lastEditTime 0 und fielen hinter die Aufgaben des Dev-Systems, dadurch waren RepeatingTaskListTest und TaskBoardViewTest rot (Arbeitsplatz #912). 6.2
Marcel Beckers23. Oktober 2026 um 07:40 -3 Löschungen +5 Hinzufügungen 8 Gesamt 1 Dateien -
Standard: Regeln für SQL und Kommentare übernommen (mit xml-comment), bekannte Lücken eingetragen Verwaltete Dateien aus _dev/standard (apply.php). Einträge in tests/lint/config.php sind Funde der neuen Regeln im bestehenden Code (comments-known.php, architecture-known.php); sie werden abgebaut, nicht ergänzt. Ein Minus heißt: Der Fund gilt nicht mehr (Regel geändert oder Datei bereinigt). Netto je Regel (Dateien): - commentsKnown: comment-annotation-gap +25, comment-too-long +58, function-needs-comment-or-override +20, magic-method-inheritdoc +75, scss-comment +3, stray-comment +155, template-comment +11, xml-comment +6 - architectureKnown: sql-variable +1 6.2
Marcel Beckers22. Oktober 2026 um 17:41 -21 Löschungen +525 Hinzufügungen 546 Gesamt 7 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers21. Oktober 2026 um 22:20 +240 Hinzufügungen 240 Gesamt 3 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers21. Oktober 2026 um 09:27 -2 Löschungen +64 Hinzufügungen 66 Gesamt 3 Dateien -
Sicherheit und Performance: Benachrichtigungen nur an Leser, Cronjobs begrenzt, Indizes bereinigt Der Core verschickt Sofort-E-Mails ohne checkAccess() des Events, daher filtert TaskRecipients::readers() die Empfänger vorher nach der Leseregel der Aufgabe: - neue Aufgabe: Kategorie-Abonnenten und -Zuständige gemeinsam und gefiltert (private und moderierte Aufgaben gingen bisher per E-Mail an alle Abonnenten) - SLA-Eskalation, Erwähnungen/Zitate im Text und in Kommentaren, Kommentar-Benachrichtigungen, Optionsänderungen, erledigt/Status/Übernahme - TaskActionGuard: enable/disable/restore nur in zugänglichen Kategorien - Aufgabensuche: Titel als label (Text) statt als HTML im icon Performance: - Überfällig-Cronjob höchstens 500 Termine je Lauf, SLA-Cronjob lädt gesammelt - Rebuild-Worker zählt Anhänge und Kommentare je Batch - workplace1_task_date: doppelte Indizes taskID und isDone entfernt, statusID neu - Statistik zählt Aufgaben und Autoren in einer Abfrage - gespeicherte Listenansicht je Anfrage nur einmal gelesen - Zahlen der Schnellfilter in einer Abfrage statt einer je Filter - Titel-Unterabfrage der Liste nur noch beim Sortieren nach Titel (3000 Aufgaben: 120 statt 370 ms) - Typ-Icon je Anfrage nur einmal gerendert, Kontextmenü je Zeile nur einmal aufgebaut (der Core baut es in renderButton() doppelt) - Messskript: Aufwärmlauf (--cold für den Kaltstart), gespeicherte Ansicht in der Transaktion entfernt (sonst endete der Lauf still durch die Weiterleitung) 6.2
Marcel Beckers21. Oktober 2026 um 07:23 -132 Löschungen +411 Hinzufügungen 543 Gesamt 19 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers20. Oktober 2026 um 17:42 -15 Löschungen +440 Hinzufügungen 455 Gesamt 6 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers20. Oktober 2026 um 12:29 -2 Löschungen +7 Hinzufügungen 9 Gesamt 1 Dateien -
Verbesserungsplan: resetCache-Optimierung (3.142) als verworfen markiert Zu riskant ohne genauere Prüfung: resetCache() läuft über das Core-Interface ohne Parameter, eine korrekte Audience ist pro Aktion schwer sicher zu bestimmen. Die bereits behobene doppelte resetCache()-Ausführung bei trash()/restore() ist vermerkt. 6.2
Marcel Beckers19. Oktober 2026 um 16:36 -1 Löschungen +1 Hinzufügungen 2 Gesamt 1 Dateien -
TaskAction: doppeltes resetCache() bei trash()/restore() entfernt 'trash' und 'restore' stehen bereits in $resetCache, executeAction() ruft resetCache() danach automatisch auf. Die zusätzlichen expliziten Aufrufe in trash()/restore() haben den vollen resetAll() auf allen vier User-Storage-Feldern für alle User unnötig ein zweites Mal ausgelöst. 6.2
Marcel Beckers19. Oktober 2026 um 16:15 -3 Löschungen +3 Hinzufügungen 6 Gesamt 2 Dateien -
Verbesserungsplan: Punkt 5.8 (Kategorie-Null-Check) als erledigt markiert Bereits in task.tpl, taskListItems.tpl und boxTaskList.tpl behoben; die verbliebenen object=...getCategory()-Stellen in den TaskOptionType-Templates sind unkritisch, da LinkHandler::getLink() ein null-Objekt per isset() ignoriert. 6.2
Marcel Beckers19. Oktober 2026 um 15:48 -276 Löschungen +276 Hinzufügungen 552 Gesamt 1 Dateien
Bereit, deine Community smarter zu machen?
Ob fertiges Produkt oder individuelle Softwarelösung – überzeuge dich selbst.