Reverted New UI Design of WeKan v8.29 and added more fixes and performance improvements.

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu 2026-02-08 00:48:39 +02:00
parent d152d8fc1b
commit 1b8b8d2eef
196 changed files with 17659 additions and 10028 deletions

View file

@ -23,7 +23,7 @@ Meteor.methods({
if (process.env.DEBUG === 'true') {
console.log('Starting duplicate lists fix for all boards...');
}
const allBoards = Boards.find({}).fetch();
let totalFixed = 0;
let totalBoardsProcessed = 0;
@ -33,7 +33,7 @@ Meteor.methods({
const result = fixDuplicateListsForBoard(board._id);
totalFixed += result.fixed;
totalBoardsProcessed++;
if (result.fixed > 0 && process.env.DEBUG === 'true') {
console.log(`Fixed ${result.fixed} duplicate lists in board "${board.title}" (${board._id})`);
}
@ -45,7 +45,7 @@ Meteor.methods({
if (process.env.DEBUG === 'true') {
console.log(`Duplicate lists fix completed. Processed ${totalBoardsProcessed} boards, fixed ${totalFixed} duplicate lists.`);
}
return {
message: `Fixed ${totalFixed} duplicate lists across ${totalBoardsProcessed} boards`,
totalFixed,
@ -55,7 +55,7 @@ Meteor.methods({
'fixDuplicateLists.fixBoard'(boardId) {
check(boardId, String);
if (!this.userId) {
throw new Meteor.Error('not-authorized');
}
@ -74,13 +74,13 @@ function fixDuplicateListsForBoard(boardId) {
if (process.env.DEBUG === 'true') {
console.log(`Fixing duplicate lists for board ${boardId}...`);
}
// First, fix duplicate swimlanes
const swimlaneResult = fixDuplicateSwimlanes(boardId);
// Then, fix duplicate lists
const listResult = fixDuplicateLists(boardId);
return {
boardId,
fixedSwimlanes: swimlaneResult.fixed,
@ -193,7 +193,7 @@ function fixDuplicateLists(boardId) {
{ $set: { listId: keepList._id } },
{ multi: true }
);
// Remove duplicate list
Lists.remove(list._id);
fixed++;
@ -223,7 +223,7 @@ Meteor.methods({
for (const board of allBoards) {
const swimlanes = Swimlanes.find({ boardId: board._id }).fetch();
const lists = Lists.find({ boardId: board._id }).fetch();
// Check for duplicate swimlanes
const swimlaneGroups = {};
swimlanes.forEach(swimlane => {