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**
-  
+ [](https://github.com/plankanban/planka/pkgs/container/planka) [](https://github.com/plankanban/planka/graphs/contributors) [](https://discord.gg/WqqYNd7Jvt)

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>Натисніть тут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>Apprise0>1> для надсилання сповіщень на понад 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}}0><1> додав(ла) цю картку до {{list}}1>',
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: {