diff --git a/README.md b/README.md index 76898085..032d3b2d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **Project mastering driven by fun** -![Version](https://img.shields.io/github/package-json/v/plankanban/planka?style=flat-square) ![Docker Pulls](https://img.shields.io/badge/docker_pulls-5M%2B-%23066da5?style=flat-square&color=%23e05d44) ![Contributors](https://img.shields.io/github/contributors/plankanban/planka?style=flat-square) +![Version](https://img.shields.io/github/package-json/v/plankanban/planka?style=flat-square) [![Docker Pulls](https://img.shields.io/badge/docker_pulls-5M%2B-%23066da5?style=flat-square&color=red)](https://github.com/plankanban/planka/pkgs/container/planka) [![Contributors](https://img.shields.io/github/contributors/plankanban/planka?style=flat-square&color=blue)](https://github.com/plankanban/planka/graphs/contributors) [![Chat](https://img.shields.io/discord/1041440072953765979?style=flat-square&logo=discord&logoColor=white)](https://discord.gg/WqqYNd7Jvt) ![Demo](https://raw.githubusercontent.com/plankanban/planka/master/assets/demo.gif) diff --git a/charts/planka/Chart.yaml b/charts/planka/Chart.yaml index 2ac17a0c..7f61edc6 100644 --- a/charts/planka/Chart.yaml +++ b/charts/planka/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.0.0 +version: 1.0.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/charts/planka/templates/deployment.yaml b/charts/planka/templates/deployment.yaml index 0c8ae9ae..b49011df 100644 --- a/charts/planka/templates/deployment.yaml +++ b/charts/planka/templates/deployment.yaml @@ -120,7 +120,7 @@ spec: value: {{ required "A secret key needs to be generated using 'openssl rand -hex 64' and assigned to secretkey." .Values.secretkey }} {{- end }} - name: TRUST_PROXY - value: "0" + value: "true" - name: DEFAULT_ADMIN_EMAIL value: {{ .Values.admin_email }} - name: DEFAULT_ADMIN_NAME diff --git a/client/src/components/common/Core/Core.jsx b/client/src/components/common/Core/Core.jsx index 7d67d93f..7e79372f 100644 --- a/client/src/components/common/Core/Core.jsx +++ b/client/src/components/common/Core/Core.jsx @@ -26,6 +26,7 @@ const Core = React.memo(() => { const modal = useSelector(selectors.selectCurrentModal); const project = useSelector(selectors.selectCurrentProject); const board = useSelector(selectors.selectCurrentBoard); + const currentUserId = useSelector(selectors.selectCurrentUserId); // TODO: move to selector? const isNewVersionAvailable = useSelector((state) => { @@ -107,7 +108,7 @@ const Core = React.memo(() => { return ( <> - {isInitializing ? ( + {isInitializing || !currentUserId ? ( ) : ( <> diff --git a/client/src/locales/uk-UA/core.js b/client/src/locales/uk-UA/core.js index 790f78ff..ae720306 100644 --- a/client/src/locales/uk-UA/core.js +++ b/client/src/locales/uk-UA/core.js @@ -20,72 +20,158 @@ export default { aboutPlanka: 'Про PLANKA', account: 'Обліковий запис', actions: 'Дії', + activateUser_title: 'Активувати користувача', + active: 'Активний', addAttachment_title: 'Додати Вкладення', + addCustomField_title: 'Додати Менеджера', + addCustomFieldGroup_title: 'Додати групу користувацьких полів', addManager_title: 'Додати Менеджера', addMember_title: 'Додати Учасника', + addTaskList_title: 'Додати список завдань', addUser_title: 'Додати Користувача', + admin: 'Адмін', + administration: 'Адміністратор', all: 'Все', allChangesWillBeAutomaticallySavedAfterConnectionRestored: 'Всі зміни будуть автоматично збережені
після відновлення підключення.', + alphabetically: 'За алфавітом', + alwaysDisplayCardCreator: 'Завжди відображати творця картки', + archive: 'Архів', + archiveCard_title: 'Архівна картка', + archiveCards_title: 'Архівні картки', + areYouSureYouWantToActivateThisUser: 'Ви впевнені, що хочете активувати цього користувача?', + areYouSureYouWantToArchiveCards: 'Ви впевнені, що хочете архівувати картки?', + areYouSureYouWantToArchiveThisCard: 'Ви впевнені, що хочете заархівувати цю картку?', + areYouSureYouWantToAssignThisProjectManagerAsOwner: + 'Ви впевнені, що хочете призначити цього менеджера проекту власником?', + areYouSureYouWantToDeactivateThisUser: + 'Ви впевнені, що хочете деактивувати цього користувача?', areYouSureYouWantToDeleteThisAttachment: 'Ви впевнені, що хочете видалити це вкладення?', + areYouSureYouWantToDeleteThisBackgroundImage: + 'Ви впевнені, що хочете видалити це фонове зображення?', areYouSureYouWantToDeleteThisBoard: 'Ви впевнені, що хочете видалити цю дошку?', areYouSureYouWantToDeleteThisCard: 'Ви впевнені, що хочете видалити цю картку?', + areYouSureYouWantToDeleteThisCardForever: + 'Ви впевнені, що хочете видалити цю картку назавжди?', areYouSureYouWantToDeleteThisComment: 'Ви впевнені, що хочете видалити цей коментар?', + areYouSureYouWantToDeleteThisCustomField: 'Ви впевнені, що хочете видалити це кастомне поле?', + areYouSureYouWantToDeleteThisCustomFieldGroup: + 'Ви впевнені, що хочете видалити цю групу кастомних полів?', areYouSureYouWantToDeleteThisLabel: 'Ви впевнені, що хочете видалити цю мітку?', areYouSureYouWantToDeleteThisList: 'Ви впевнені, що хочете видалити цей список?', + areYouSureYouWantToDeleteThisNotificationService: + 'Ви впевнені, що хочете видалити цю службу сповіщень?', areYouSureYouWantToDeleteThisProject: 'Ви впевнені, що хочете видалити цей проект?', areYouSureYouWantToDeleteThisTask: 'Ви впевнені, що хочете видалити це завдання?', + areYouSureYouWantToDeleteThisTaskList: 'Ви впевнені, що хочете видалити цей список завдань?', areYouSureYouWantToDeleteThisUser: 'Ви впевнені, що хочете видалити цього користувача?', + areYouSureYouWantToEmptyTrash: 'Ви впевнені, що хочете очистити смітник?', areYouSureYouWantToLeaveBoard: 'Ви впевнені, що хочете залишити дошку?', areYouSureYouWantToLeaveProject: 'Ви впевнені, що хочете залишити проект?', + areYouSureYouWantToMakeThisProjectShared: + 'Ви впевнені, що хочете зробити цей проект спільним?', areYouSureYouWantToRemoveThisManagerFromProject: 'Ви впевнені, що хочете видалити цього менеджера з проекту?', areYouSureYouWantToRemoveThisMemberFromBoard: 'Ви впевнені, що хочете видалити цього учасника з дошки?', + assignAsOwner_title: 'Призначити власником', + atLeastOneListMustBePresent: 'Принаймні один список повинен бути присутнім', attachment: 'Вкладення', attachments: 'Вкладення', authentication: 'Аутентифікація', background: 'Фон', + baseCustomFields_title: 'Базові користувацькі поля', + baseGroup: 'Базова група', board: 'Дошка', + boardActions_title: 'Дії з дошкою', boardNotFound_title: 'Дошку не знайдено', + boardSubscribed: 'Підписано на дошку', + boardUser: 'Користувач форуму', + byCreationTime: 'За часом створення', + byDefault: 'За замовчуванням', + byDueDate: 'За терміном', + canBeInvitedToWorkInBoards: 'Можуть бути запрошені до роботи в дошках.', canComment: 'Може коментувати', + canCreateOwnProjectsAndBeInvitedToWorkInOthers: + 'Може створювати власні проекти та бути запрошеним до роботи в інших.', + canEditBoardLayoutAndAssignMembersToCards: + 'Можна редагувати макет дошки та призначати учасників на картки.', + canManageSystemWideSettingsAndActAsProjectOwner: + 'Може керувати загальними налаштуваннями системи та виступати в ролі власника проекту.', canOnlyViewBoard: 'Може лише переглядати дошку.', cardActions_title: 'Дії з карткою', cardNotFound_title: 'Картку не знайдено', + cardsOnThisListAreAvailableToAllBoardMembers: + 'Картки з цього списку доступні всім членам правління.', + cardsOnThisListAreCompleteAndReadyToBeArchived: + 'Картки з цього списку завершені і готові до архівування.', + cardsOnThisListAreReadyToBeWorkedOn: 'Картки з цього списку готові до роботи.', + clickHereOrRefreshPageToUpdate: '<0>Натисніть тут або оновіть сторінку для оновлення.', + closed: 'Закрито', color: 'Колір', + comments: 'Коментарі', + contentExceedsLimit: 'Вміст перевищує {{limit}}', + copy_inline: 'копія', createBoard_title: 'Створити Дошку', + createCustomFieldGroup_title: 'Створити групу користувацьких полів', createLabel_title: 'Створити Мітку', createNewOneOrSelectExistingOne: 'Створіть нову або виберіть
існуючу.', createProject_title: 'Створити Проект', createTextFile_title: 'Створити Текстовий Файл', + creator: 'Творець', currentPassword: 'Поточний пароль', + customField_title: 'Користувацьке поле', + customFields_title: 'Користувацькі поля', + customFieldGroup_title: 'Користувацька група полів', + customFieldGroups_title: 'Користувацькі групи полів', dangerZone_title: 'Небезпечна Зона', date: 'Дата', - dueDate_title: 'Крайній Термін', + deactivateUser_title: 'Деактивувати користувача', + defaultCardType_title: 'Тип картки за замовчуванням', + defaultView_title: 'Вигляд за замовчуванням', + deletedUser_title: 'Видалений користувач', + deleteAllBoardsToBeAbleToDeleteThisProject: + 'Видаліть усі дошки, щоб мати змогу видалити цей проект', deleteAttachment_title: 'Видалити Вкладення', + deleteBackgroundImage_title: 'Видалити фонове зображення', deleteBoard_title: 'Видалити Дошку', deleteCard_title: 'Видалити Картку', + deleteCardForever_title: 'Видалити картку назавжди', deleteComment_title: 'Видалити Коментар', + deleteCustomField_title: 'Видалити користувацьке поле', + deleteCustomFieldGroup_title: 'Видалення групи користувацьких полів', deleteLabel_title: 'Видалити Мітку', deleteList_title: 'Видалити Список', + deleteNotificationService_title: 'Видалити службу сповіщень', deleteProject_title: 'Видалити Проект', deleteTask_title: 'Видалити Завдання', + deleteTaskList_title: 'Видалити список завдань', deleteUser_title: 'Видалити Користувача', description: 'Опис', detectAutomatically: 'Визначити автоматично', + display: 'Дисплей', dropFileToUpload: 'Перетягніть файл для завантаження', + dueDate_title: 'Крайній Термін', + dynamicAndUnevenlySpacedLayout: 'Динамічна та нерівномірна верстка.', editor: 'Редактор', + editors: 'Редактори', editAttachment_title: 'Редагувати Вкладення', editAvatar_title: 'Редагувати Аватар', + editColor_title: 'Редагувати колір', + editCustomField_title: 'Редагувати користувацьке поле', + editCustomFieldGroup_title: 'Редагування групи користувацьких полів', editDueDate_title: 'Редагувати Крайній Термін', editEmail_title: 'Редагувати Електронну пошту', editInformation_title: 'Редагувати Інформацію', editLabel_title: 'Редагувати Мітку', editPassword_title: 'Редагувати Пароль', editPermissions_title: 'Редагувати Дозволи', + editRole_title: 'Редагувати Роль', editStopwatch_title: 'Редагувати Секундомір', + editType_title: 'Редагувати Тип', editUsername_title: "Редагувати Ім'я користувача", email: 'Електронна пошта', + emptyTrash_title: 'Порожнє сміття', enterCardTitle: 'Введіть назву картки...', enterDescription: 'Введіть опис...', enterFilename: "Введіть ім'я файлу", @@ -93,58 +179,107 @@ export default { enterTaskDescription: 'Введіть опис завдання...', filterByLabels_title: 'Фільтрувати за Мітками', filterByMembers_title: 'Фільтрувати за Учасниками', + forTeamBasedProjects: 'Для командних проектів.', + forPersonalProjects: 'Для особистих проектів.', fromComputer_title: "З комп'ютера", fromTrello: 'З Trello', general: 'Загальне', + gradients: 'Градієнти', + grid: 'Сітка', + hideFromProjectListAndFavorites: 'Приховати зі списку проектів та обраного', hours: 'Години', importBoard_title: 'Імпортувати Дошку', invalidCurrentPassword: 'Невірний поточний пароль', + kanban: 'Канбан', labels: 'Мітки', language: 'Мова', leaveBoard_title: 'Покинути Дошку', leaveProject_title: 'Покинути Проект', + limitCardTypesToDefaultOne: 'Обмежте типи карток до одного за замовчуванням', list: 'Список', + lists: 'Списки', listActions_title: 'Дії зі Списком', + makeProjectShared_title: 'Зробити проект спільним', managers: 'Менеджери', members: 'Учасники', + memberActions_title: 'Дії учасників', minutes: 'Хвилини', moveCard_title: 'Перемістити Картку', + myOwn_title: 'Моя власна', name: 'Назва', + newestFirst: 'Найновіші перші', newEmail: 'Нова електронна пошта', newPassword: 'Новий пароль', newUsername: "Нове ім'я користувача", + newVersionAvailable: 'Доступна нова версія', noConnectionToServer: 'Відсутнє підключення до сервера', noBoards: 'Немає дошок', noLists: 'Немає списків', noProjects: 'Немає проектів', notifications: 'Сповіщення', noUnreadNotifications: 'Немає непрочитаних сповіщень.', + oldestFirst: 'Найстарший перший', openBoard_title: 'Відкрити Дошку', optional_inline: 'опціонально', organization: 'Організація', + others: 'Інші', phone: 'Телефон', + plankaUsesAppriseToSendNotificationsToOver100PopularServices: + 'PLANKA використовує <1><0>Apprise для надсилання сповіщень на понад 100 популярних сервісів.', preferences: 'Уподобання', pressPasteShortcutToAddAttachmentFromClipboard: 'Порада: натисніть Ctrl-V (⌘V на Mac), щоб додати вкладення з буфера обміну.', + private: 'Приватний', project: 'Проект', projectNotFound_title: 'Проект не знайдено', + projectOwner: 'Власник проекту', + referenceDataAndKnowledgeStorage: 'Довідкові дані та сховище знань.', removeManager_title: 'Видалити Менеджера', removeMember_title: 'Видалити Учасника', + role: 'Роль', + searchCards: 'Картки пошуку...', + searchCustomFields: 'Пошук користувацьких полів...', + searchCustomFieldGroups: 'Пошук користувацьких груп полів...', searchLabels: 'Пошук міток...', + searchLists: 'Пошук списків...', searchMembers: 'Пошук учасників...', + searchProjects: 'Пошук проектів...', searchUsers: 'Пошук користувачів...', seconds: 'Секунди', + selectAssignee_title: 'Виберіть правонаступника', selectBoard: 'Вибрати дошку', selectList: 'Вибрати список', + selectListToRestoreThisCard: 'Виберіть список для відновлення цієї картки', + selectOrder_title: 'Оберіть замовлення', selectPermissions_title: 'Вибрати Дозволи', selectProject: 'Вибрати проект', + selectRole_title: 'Виберіть роль', + selectType_title: 'Виберіть тип', + sequentialDisplayOfCards: 'Послідовне відображення карток.', settings: 'Налаштування', + shared: 'Спільне', + sharedWithMe_title: 'Поділіться зі мною', + showOnFrontOfCard: 'Показати на лицьовій стороні картки', + sortList_title: 'Сортування списку', stopwatch: 'Секундомір', + story: 'Історія', + subscribeToCardWhenCommenting: 'Підпишіться на картку при коментуванні', subscribeToMyOwnCardsByDefault: 'Підписатися на свої картки за замовчуванням', taskActions_title: 'Дії з завданням', + taskAssignmentAndProjectCompletion: 'Постановка завдань і завершення проекту.', + taskList_title: 'Список завдань', + taskListActions_title: 'Дії для списку завдань', + team: 'Команда', thereIsNoPreviewAvailableForThisAttachment: 'Для цього вкладення немає доступного перегляду.', time: 'Час', title: 'Назва', + trash: 'Сміття', + trashHasBeenSuccessfullyEmptied: 'Сміття успішно очищено.', + turnOffRecentCardHighlighting: 'Вимкнути підсвічування останніх карток', + typeNameToConfirm: "Введіть ім'я для підтвердження.", + typeTitleToConfirm: 'Введіть назву, щоб підтвердити.', + unsavedChanges: 'Незбережені зміни', + uploadedImages: 'Завантажені зображення', userActions_title: 'Дії користувача', userAddedThisCardToList: '<0>{{user}}<1> додав(ла) цю картку до {{list}}', userLeftNewCommentToCard: @@ -156,68 +291,117 @@ export default { username: "Ім'я користувача", users: 'Користувачі', viewer: 'Переглядач', + viewers: 'Переглядач', + visualTaskManagementWithLists: 'Візуальне управління завданнями за допомогою списків.', + withoutBaseGroup: 'Без базової групи', writeComment: 'Написати коментар...', }, action: { + activateUser: 'Активувати користувача', + activateUser_title: 'Активувати Користувача', addAnotherCard: 'Додати іншу картку', addAnotherList: 'Додати інший список', addAnotherTask: 'Додати інше завдання', addCard: 'Додати картку', addCard_title: 'Додати Картку', addComment: 'Додати коментар', + addCustomField: 'Додати користувацьке поле', + addCustomFieldGroup: 'Додати групу користувацьких полів', addList: 'Додати список', addMember: 'Додати учасника', addMoreDetailedDescription: 'Додати більш детальний опис', addTask: 'Додати завдання', + addTaskList: 'Додати список завдань', addToCard: 'Додати до картки', addUser: 'Додати користувача', + archive: 'Архів', + archiveCard: 'Архівна картка', + archiveCard_title: 'Архівна Картка', + archiveCards: 'Архівні картки', + archiveCards_title: 'Архівні Картки', + assignAsOwner: 'Призначити власником', + cancel: 'Скасувати', createBoard: 'Створити дошку', + createCustomFieldGroup: 'Створіть власну групу полів', createFile: 'Створити файл', createLabel: 'Створити мітку', createNewLabel: 'Створити нову мітку', createProject: 'Створити проект', + deactivateUser: 'Деактивувати користувача', + deactivateUser_title: 'Деактивувати Користувача', delete: 'Видалити', deleteAttachment: 'Видалити вкладення', deleteAvatar: 'Видалити аватар', + deleteBackgroundImage: 'Видалити фонове зображення', deleteBoard: 'Видалити дошку', + deleteBoard_title: 'Видалити Дошку', deleteCard: 'Видалити картку', deleteCard_title: 'Видалити Картку', + deleteCardForever: 'Видалити картку назавжди', deleteComment: 'Видалити коментар', + deleteCustomField: 'Видалити користувацьке поле', + deleteCustomFieldGroup: 'Видалення групи користувацьких полів', + deleteForever_title: 'Видалити Назавжди', + deleteGroup: 'Видалити групу', deleteLabel: 'Видалити мітку', deleteList: 'Видалити список', deleteList_title: 'Видалити Список', + deleteNotificationService: 'Видалити службу сповіщень', deleteProject: 'Видалити проект', deleteProject_title: 'Видалити Проект', deleteTask: 'Видалити завдання', deleteTask_title: 'Видалити Завдання', + deleteTaskList: 'Видалення списку завдань', deleteUser: 'Видалити користувача', + deleteUser_title: 'Видалити Користувача', + dismissAll: 'Скасувати всі', + duplicate: 'Дублювати', + duplicateCard_title: 'Дублювати Картку', edit: 'Редагувати', + editColor_title: 'Редагувати колір', editDueDate_title: 'Редагувати термін виконання', editDescription_title: 'Редагувати опис', editEmail_title: 'Редагувати E-mail', + editGroup: 'Редагувати групу', editInformation_title: 'Редагувати інформацію', editPassword_title: 'Редагувати пароль', editPermissions: 'Редагувати дозволи', + editRole_title: 'Редагувати Роль', editStopwatch_title: 'Редагувати секундомір', editTitle_title: 'Редагувати Заголовок', + editType_title: 'Редагувати Тип', editUsername_title: "Редагувати Ім'я користувача", + emptyTrash: 'Очистити смітник', + emptyTrash_title: 'Очистити смітник', import: 'Імпортувати', + join: 'Приєднатися', + leave: 'Покинути', leaveBoard: 'Залишити дошку', leaveProject: 'Залишити проект', logOut_title: 'Вийти', makeCover_title: 'Встановити обкладинку', + makeProjectShared: 'Зробити проект спільним', + makeProjectShared_title: 'Зробити Проект спільним', move: 'Перемістити', moveCard_title: 'Перемістити Картку', remove: 'Видалити', + removeAssignee: 'Видалити правонаступника', + removeColor: 'Видалити колір', removeCover_title: 'Видалити обкладинку', removeFromBoard: 'Вилучити з дошки', removeFromProject: 'Вилучити з проекту', removeManager: 'Вилучити керівника', removeMember: 'Вилучити учасника', + restoreToList: 'Відновити до {{list}}', + returnToBoard: 'Повернутися до дошки', save: 'Зберегти', + showActive: 'Показати активний', showAllAttachments: 'Показати всі вкладення ({{hidden}} приховані)', + showCardsWithThisUser: 'Показати картки з цим користувачем', + showDeactivated: 'Показати деактивовано', showFewerAttachments: 'Показати менше вкладень', + sortList_title: 'Сортування списку', start: 'Почати', stop: 'Зупинити', subscribe: 'Підписатися', diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 1cc47830..e971d974 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -17,7 +17,7 @@ services: # - LOG_LEVEL=warn - # - TRUST_PROXY=0 + # - TRUST_PROXY=true # - TOKEN_EXPIRES_IN=365 # In days # related: https://github.com/knex/knex/issues/2354 diff --git a/docker-compose.yml b/docker-compose.yml index 4d073916..038ee4f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,7 +16,7 @@ services: # - LOG_LEVEL=warn - # - TRUST_PROXY=0 + # - TRUST_PROXY=true # - TOKEN_EXPIRES_IN=365 # In days # related: https://github.com/knex/knex/issues/2354 diff --git a/server/api/controllers/access-tokens/exchange-with-oidc.js b/server/api/controllers/access-tokens/exchange-with-oidc.js index 78ed6968..5f3be8ff 100644 --- a/server/api/controllers/access-tokens/exchange-with-oidc.js +++ b/server/api/controllers/access-tokens/exchange-with-oidc.js @@ -35,7 +35,7 @@ module.exports = { inputs: { code: { type: 'string', - maxLength: 1024, + maxLength: 2048, required: true, }, nonce: {