2
0
Эх сурвалжийг харах

Fixed Rare bug: All Boards page icons random dance. Commented out All Boards show members, cards counts, and some migrations.

Fixes #4214

Thanks to xet7 !
Lauri Ojansivu 2 жил өмнө
parent
commit
b75e16f104

+ 25 - 7
client/components/boards/boardsList.js

@@ -7,10 +7,22 @@ Template.boardList.helpers({
     return Settings.findOne();
   },
   hideCardCounterList() {
-    return Utils.isMiniScreen() && Session.get('currentBoard');
+    // Fix Rare bug: Board Icons random dance https://github.com/wekan/wekan/issues/4214
+    //               by commenting out following line,
+    //               where it probably counts too often at realtime,
+    //               and makes cards that have card count and member list change size
+    //               and order all the time:
+    //return Utils.isMiniScreen() && Session.get('currentBoard');
+    return true;
   },
   hideBoardMemberList() {
-    return Utils.isMiniScreen() && Session.get('currentBoard');
+    // Fix Rare bug: Board Icons random dance https://github.com/wekan/wekan/issues/4214
+    //               by commenting out following line,
+    //               where it probably counts too often at realtime,
+    //               and makes cards that have card count and member list change size
+    //               and order all the time:
+    //return Utils.isMiniScreen() && Session.get('currentBoard');
+    return true;
   },
 })
 
@@ -52,7 +64,6 @@ BlazeComponent.extendComponent({
 
   onRendered() {
     const itemsSelector = '.js-board:not(.placeholder)';
-
     const $boards = this.$('.js-boards');
     $boards.sortable({
       connectWith: '.js-boards',
@@ -84,8 +95,9 @@ BlazeComponent.extendComponent({
         // DOM in its initial state. The card move is then handled reactively by
         // Blaze with the below query.
         $boards.sortable('cancel');
-
-        board.move(sortIndex.base);
+        // Fix Rare bug: Board Icons random dance https://github.com/wekan/wekan/issues/4214
+        //               by commenting out following line:
+        //board.move(sortIndex.base);
       },
     });
 
@@ -209,23 +221,29 @@ BlazeComponent.extendComponent({
     });
   },
   boardLists(boardId) {
+/*
     let boardLists = [];
     const lists = Lists.find({ 'boardId': boardId, 'archived': false },{sort: ['sort','asc']});
     lists.forEach(list => {
       let cardCount = Cards.find({ 'boardId': boardId, 'listId': list._id }).count()
       boardLists.push(`${list.title}: ${cardCount}`);
     });
-    return boardLists
+    return boardLists;
+*/
+   return false;
   },
 
   boardMembers(boardId) {
+/*
     let boardMembers = [];
     const lists = Boards.findOne({ '_id': boardId })
     let members = lists.members
     members.forEach(member => {
       boardMembers.push(member.userId);
     });
-    return boardMembers
+    return boardMembers;
+*/
+   return false;
   },
 
   isStarred() {

+ 11 - 1
models/boards.js

@@ -294,6 +294,14 @@ Boards.attachSchema(
         }
       },
     },
+    background: {
+      /**
+       * The background color of the board.
+       */
+      type: String,
+      optional: true,
+      defaultValue: '#16A085',
+    },
     backgroundImageURL: {
       /**
        * The background image URL of the board.
@@ -306,6 +314,7 @@ Boards.attachSchema(
        * Show card counter per list
        */
       type: Boolean,
+      optional: false,
       defaultValue: false,
     },
     allowsBoardMemberList: {
@@ -357,6 +366,7 @@ Boards.attachSchema(
        * Does the board allows subtasks?
        */
       type: Boolean,
+      optional: false,
       defaultValue: true,
     },
 
@@ -1308,7 +1318,7 @@ Boards.mutations({
   },
 
   setVisibility(visibility) {
-    return { $set: { permission: visibility } };
+    return { $set: { permission: visibility.toLowerCase() } };
   },
 
   addLabel(name, color) {

+ 5 - 0
models/settings.js

@@ -51,10 +51,12 @@ Settings.attachSchema(
     displayAuthenticationMethod: {
       type: Boolean,
       optional: true,
+      defaultValue: true,
     },
     defaultAuthenticationMethod: {
       type: String,
       optional: false,
+      defaultValue: 'password',
     },
     spinnerName: {
       type: String,
@@ -63,14 +65,17 @@ Settings.attachSchema(
     hideLogo: {
       type: Boolean,
       optional: true,
+      defaultValue: false,
     },
     hideCardCounterList: {
       type: Boolean,
       optional: true,
+      defaultValue: false,
     },
     hideBoardMemberList: {
       type: Boolean,
       optional: true,
+      defaultValue: false,
     },
     customLoginLogoImageUrl: {
       type: String,

+ 2 - 0
models/users.js

@@ -171,6 +171,7 @@ Users.attachSchema(
        */
       type: Boolean,
       optional: true,
+      defaultValue: false,
     },
     'profile.hideCheckedItems': {
       /**
@@ -384,6 +385,7 @@ Users.attachSchema(
         'board-view-lists',
         'board-view-cal',
       ],
+      defaultValue: 'board-view-swimlanes',
     },
     'profile.listSortBy': {
       /**

+ 9 - 3
server/migrations.js

@@ -54,6 +54,7 @@ const noValidate = {
 };
 const noValidateMulti = { ...noValidate, multi: true };
 
+/*
 Migrations.add('board-background-color', () => {
   const defaultColor = '#16A085';
   Boards.update(
@@ -90,7 +91,6 @@ Migrations.add('add-cardcounterlist-allowed', () => {
   );
 });
 
-/*
 Migrations.add('add-boardmemberlist-allowed', () => {
   Boards.update(
     {
@@ -106,7 +106,6 @@ Migrations.add('add-boardmemberlist-allowed', () => {
     noValidateMulti,
   );
 });
-*/
 
 Migrations.add('lowercase-board-permission', () => {
   ['Public', 'Private'].forEach(permission => {
@@ -118,7 +117,6 @@ Migrations.add('lowercase-board-permission', () => {
   });
 });
 
-/*
 // Security migration: see https://github.com/wekan/wekan/issues/99
 Migrations.add('change-attachments-type-for-non-images', () => {
   const newTypeForNonImage = 'application/octet-stream';
@@ -259,6 +257,7 @@ Migrations.add('add-swimlanes', () => {
   });
 });
 
+/*
 Migrations.add('add-views', () => {
   Boards.find().forEach(board => {
     if (!board.hasOwnProperty('view')) {
@@ -270,6 +269,7 @@ Migrations.add('add-views', () => {
     }
   });
 });
+*/
 
 Migrations.add('add-checklist-items', () => {
   Checklists.find().forEach(checklist => {
@@ -308,6 +308,7 @@ Migrations.add('add-card-types', () => {
   });
 });
 
+/*
 Migrations.add('add-custom-fields-to-cards', () => {
   Cards.update(
     {
@@ -452,6 +453,7 @@ Migrations.add('add-authenticationMethod', () => {
     noValidateMulti,
   );
 });
+*/
 
 Migrations.add('remove-tag', () => {
   Users.update(
@@ -477,6 +479,7 @@ Migrations.add('remove-customFields-references-broken', () => {
   );
 });
 
+/*
 Migrations.add('add-product-name', () => {
   Settings.update(
     {
@@ -572,6 +575,7 @@ Migrations.add('add-defaultAuthenticationMethod', () => {
     noValidateMulti,
   );
 });
+*/
 
 Migrations.add('add-templates', () => {
   Boards.update(
@@ -817,6 +821,7 @@ Migrations.add('fix-incorrect-dates', () => {
   );
 });
 
+/*
 Migrations.add('add-assignee', () => {
   Cards.update(
     {
@@ -1120,6 +1125,7 @@ Migrations.add('add-description-text-allowed-on-minicard', () => {
     noValidateMulti,
   );
 });
+*/
 
 Migrations.add('add-sort-field-to-boards', () => {
   Boards.find().forEach((board, index) => {