Compare commits

...
64 Commits
Author SHA1 Message Date
Lauri Ojansivu 22c7d3b07f v7.12 2023-11-03 01:20:40 +02:00
Lauri Ojansivu 485737f6b0 Updated ChangeLog. 2023-11-03 01:15:05 +02:00
Lauri Ojansivu b756150f76 Fix Add List button too wide at themes: Clearblue, Modern, Exodark.
Thanks to xet7 !

Fixes #5179
2023-11-03 01:12:18 +02:00
Lauri Ojansivu 40108d63bb Updated API docs for WeKan v7.11 2023-11-03 00:15:36 +02:00
Lauri Ojansivu 8f3103e329 Updated ChangeLog. 2023-11-02 19:58:50 +00:00
Lauri Ojansivu 9bf1478587 Updated ChangeLog. 2023-11-02 21:20:47 +02:00
Lauri Ojansivu 91cf377948 Merge branch 'main' of github.com:wekan/wekan 2023-11-02 21:18:41 +02:00
Lauri Ojansivu ff4c8a5d23 Updated Snap Candidate MongoDb to 6.0.11.
Thanks to MongoDB developers!
2023-11-02 21:17:34 +02:00
Lauri Ojansivu 439f76e48a Updated ChangeLog. 2023-11-02 19:12:35 +00:00
Lauri Ojansivu 720d4223e2 Fix Windows build bundle script.
Thanks to xet7 !
2023-11-02 19:10:54 +00:00
Lauri Ojansivu 4518e2d23c v7.11 2023-11-02 19:49:56 +02:00
Lauri Ojansivu c9a24c38d4 Updated ChangeLog. 2023-11-02 05:40:52 +02:00
Lauri Ojansivu b54d17467c Updated dependencies.
Thanks to exceljs developers!
2023-11-02 05:39:07 +02:00
Lauri Ojansivu 5c93de8911 Updated ChangeLog. 2023-11-01 21:39:16 +02:00
Lauri Ojansivu 8323649cf0 Updated dependencies.
Thanks to zodern.
2023-11-01 21:37:51 +02:00
Lauri Ojansivu 75fbf00eb7 Updated translations. 2023-11-01 21:17:37 +02:00
Lauri Ojansivu 820908ab05 Updated ChangeLog. 2023-10-31 16:07:04 +02:00
Lauri Ojansivu 4fe168b03b Fix Security issue: Hyperlink injection.
Thanks to mc-marcy and xet7 !

Fixes #5176
2023-10-31 16:04:25 +02:00
Lauri Ojansivu 4825bcec8d Updated ChangeLog. 2023-10-31 15:13:15 +02:00
Lauri Ojansivu 0f99f22fa5 Docker base image to Ubuntu 23.10.
Thanks to Ubuntu developers!
2023-10-31 15:11:47 +02:00
Lauri Ojansivu 051d1670b7 For reporting secrity issues, mention a way at top, trying to make it more clear.
Related #5176
2023-10-30 11:16:49 -04:00
Lauri Ojansivu ef0e1f9089 Updated ChangeLog. 2023-10-27 10:58:32 -04:00
Lauri Ojansivu 974c177237 Updated dependencies. 2023-10-27 10:53:47 -04:00
Lauri Ojansivu 75de7b119d Updated translations. 2023-10-27 10:53:19 -04:00
Lauri Ojansivu b088763272 Updated dependencies. 2023-10-25 16:17:42 -04:00
Lauri Ojansivu c45bf4e368 Updated dependencies.
Thanks to developers of dependencies !
2023-10-25 10:40:07 -04:00
Lauri Ojansivu af5054e7fb Updated translations. 2023-10-25 10:30:17 -04:00
Lauri Ojansivu 9529d71732 Updated translations. 2023-10-23 03:49:20 -04:00
Lauri Ojansivu 74ea237c2a Updated ChangeLog. 2023-10-20 08:39:31 +03:00
Lauri Ojansivu c8f1d99fe6 Merge pull request #5168 from mfilser/open_card_details_always_in_the_middle_of_the_screen
Open card details always in the middle of the screen
2023-10-20 01:38:37 +03:00
Martin Filser a22631915b remove old open card code to scroll the screen 2023-10-19 21:51:43 +02:00
Martin Filser 05df419a46 maximized card is now always visible 2023-10-19 21:51:43 +02:00
Martin Filser 0f1b57fee4 remove old open card code 2023-10-19 21:51:43 +02:00
Martin Filser e69a9f17b8 open card details always in the center of the screen 2023-10-19 21:51:43 +02:00
Lauri Ojansivu de3467a6d5 Updated translations. 2023-10-16 09:12:22 -04:00
Lauri Ojansivu 7214f6d49a Updated ChangeLog. 2023-10-16 08:50:38 -04:00
Lauri Ojansivu c1bc6d4733 Updated translations. 2023-10-11 10:59:44 -04:00
Lauri Ojansivu 3d4f97364c Updated ChangeLog. 2023-10-11 09:50:34 -04:00
Lauri Ojansivu 2c74240bcb Updated security.md 2023-10-11 09:46:24 -04:00
Lauri Ojansivu 90da40fde0 Updated security.md 2023-10-11 08:56:36 -04:00
Lauri Ojansivu fe985e219a Updated security.md. 2023-10-11 08:16:08 -04:00
Lauri Ojansivu f5355422ee Added dot. 2023-10-11 08:10:33 -04:00
Lauri Ojansivu aae7960f25 Updated security.md.
Thanks to xet7 !
2023-10-11 08:07:45 -04:00
Lauri Ojansivu b99f878c98 Merge pull request #5161 from faburem/main
Fixes issue #5131 (at least partly)
2023-10-11 11:39:44 +03:00
Fabian Kromer 4b61f38cba Fixes issue #5131 (at least partly)
You still have to click on "Template" twice to trigger the popup but IMHO it's better than the feature being completely broken.
2023-10-10 14:48:15 +02:00
Lauri Ojansivu 4085a98bcd Updated ChangeLog. 2023-10-09 09:20:19 -04:00
Lauri Ojansivu 524e3b098f Merge pull request #5159 from faburem/main
Fix LDAP login (#issue 5156)
2023-10-09 16:17:25 +03:00
Fabian Kromer dc8595ad68 Fully replace bunyan with meteor/logging for the LDAP logger (fixes issue #5156) 2023-10-09 11:45:44 +02:00
Lauri Ojansivu a76067abfa Updated translations. 2023-10-06 16:18:59 +03:00
Lauri Ojansivu 6ef10a54bd Updated ChangeLog. 2023-10-03 14:15:44 -04:00
Lauri Ojansivu c9e80eaa03 Added info to docker-compose.yml about newest docker image of newest git commit automatic build.
Thanks to xet7 !
2023-10-03 14:13:54 -04:00
Lauri Ojansivu e47dcf734a Updated ChangeLog. 2023-10-03 11:18:10 -04:00
Lauri Ojansivu 4dfcc31506 Updated translations. 2023-10-03 11:10:59 -04:00
Lauri Ojansivu 14e5c96f73 Updated ChangeLog. 2023-10-03 09:59:23 -04:00
Lauri Ojansivu 53e569d285 Fixed can not close sidebar at Modern theme.
Thanks to xet7 !
2023-10-03 09:56:37 -04:00
Lauri Ojansivu 71381dce95 Updated ChangeLog. 2023-10-03 09:37:50 -04:00
Lauri Ojansivu 0cc63b810c Feature: Copy Card Details code block to clipboard.
Thanks to C0rn3j and xet7 !

Fixes #5149
2023-10-03 09:35:18 -04:00
Lauri Ojansivu 7724b0d5bb Updated translations. 2023-10-03 07:09:12 -04:00
Lauri Ojansivu 6206eca725 Updated ChangeLog. 2023-10-03 06:46:16 -04:00
Lauri Ojansivu 069e2c69b2 Feature: Convert to Markdown button at editor of Card Description and Comment. Useful when there is no WYSIWYG editor.
Thanks to BabyFnord and xet7 !

Fixes #5012,
fixes #3003,
fixes #3399,
fixes #2968,
fixes #2933
2023-10-03 06:38:15 -04:00
Lauri Ojansivu 0e902d73a8 Updated year at license. 2023-10-01 18:37:38 -04:00
Lauri Ojansivu be72274ca5 Updated screenshot at readme. 2023-10-01 16:25:38 -04:00
Lauri Ojansivu ab0dacc65a Updated ChangeLog. 2023-09-29 13:24:02 +03:00
Lauri Ojansivu cfa0a063ce docker-compose.yml back to latest docker image tag.
Thanks to xet7 !
2023-09-29 13:21:28 +03:00
159 changed files with 809 additions and 493 deletions

No files matched your search

+4 -4
View File
@@ -1,14 +1,14 @@
## Issue
<!--
Please report these elsewhere:
- SECURITY ISSUES, PGP EMAIL: https://github.com/wekan/wekan/blob/main/SECURITY.md
- UCS: https://github.com/wekan/univention/issues
**[PLEASE UPGRADE](https://github.com/wekan/wekan/wiki/Backup)** to the newest WeKan ® before reporting an issue.
Please search existing Open and Closed issues, most questions have already been answered.
If you can not login for any reason: https://github.com/wekan/wekan/wiki/Forgot-Password
Email settings, only SMTP MAIL_URL and MAIL_FROM are in use: https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
The following types of issues should be reported separately:
- SECURITY ISSUES: https://github.com/wekan/wekan/blob/main/SECURITY.md
- UCS: https://github.com/wekan/univention/issues
-->
### Server Setup Information
+1 -1
View File
@@ -162,4 +162,4 @@ wekan-markdown@1.0.9
wekan-oidc@1.0.12
yasaricli:slugify@0.0.7
zimme:active-route@2.3.2
zodern:types@1.0.9
zodern:types@1.0.10
+75
View File
@@ -20,6 +20,81 @@ Note:
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v7.12 2023-11-02 WeKan ® release
This release adds the following updates:
- [Updated Snap Candidate MongoDB to 6.0.11](https://github.com/wekan/wekan/commit/ff4c8a5d23d9315ad12970c35cf2928b204b073b).
Thanks to MongoDB developers.
and fixes the following bugs:
- [Fix Add List button too wide at themes: Clearblue, Modern, Exodark](https://github.com/wekan/wekan/commit/b756150f76c711cf93aa486a55d0e3340f558c01).
Thanks to xet7.
- [Fix Windows build bundle script](https://github.com/wekan/wekan/commit/720d4223e21da7fa6651dcb51def81a8e081750d).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.11 2023-11-02 WeKan ® release
Known issues: At some non-amd64 platforms, Node.js 14.x may show segmentation fault.
This will be fixed when upgrading to Node.js 18.x or newer works.
This release fixes the following CRITICAL SECURITY ISSUES:
- [Fix Security issue: Hyperlink injection](https://github.com/wekan/wekan/commit/4fe168b03b1f4303c2b117d24ad63ca9f40a02d2).
Thanks to mc-marcy and xet7.
and adds the following new features:
- [Feature: Convert to Markdown button at editor of Card Description and Comment. Useful when there is no WYSIWYG editor](https://github.com/wekan/wekan/commit/069e2c69b2e00e402628a3123164af257533ddc6).
Thanks to BabyFnord and xet7.
- [Feature: Copy Card Details code block to clipboard](https://github.com/wekan/wekan/commit/0cc63b810c5a9e23a8a3939a11176f25c1fa8dc7).
Thanks to C0rn3j and xet7.
and adds the following updates:
- [docker-compose.yml back to latest docker image tag](https://github.com/wekan/wekan/commit/cfa0a063ce4ac5b2dcfa9952764cb15ce21bc263).
Thanks to xet7.
- [Updated year at license](https://github.com/wekan/wekan/commit/0e902d73a881e4f1a17ee7f2028e1b041872ab61).
Thanks to xet7.
- [Updated screenshot at readme](https://github.com/wekan/wekan/commit/be72274ca515dc7b652cb1b93361e97089186166).
Thanks to xet7.
- [Added info to docker-compose.yml about newest docker image of newest git commit automatic build](https://github.com/wekan/wekan/commit/c9e80eaa03e42d1976576ad6553c056840f3060c).
Thanks to xet7.
- Updated SECURITY.md.
[Part 1](https://github.com/wekan/wekan/commit/aae7960f251fe626d8bb319643e4cd939a8fbfa9),
[Part 2](https://github.com/wekan/wekan/commit/f5355422ee21d54e26785f483a7eaecade3d1b64),
[Part 3](https://github.com/wekan/wekan/commit/fe985e219a9e467973e9449762fc17c6a94e9031),
[Part 4](https://github.com/wekan/wekan/commit/90da40fde0b2c68d3f751fe8ff2a06f3180cf6d9),
[Part 5](https://github.com/wekan/wekan/commit/2c74240bcb9d24e206ffe4e59bc8242a6abd07d9).
- Updated dependencies.
[Part 1](https://github.com/wekan/wekan/commit/c45bf4e36882c898055db248bf54a8e7e0add3c4),
[Part 1](https://github.com/wekan/wekan/commit/b08876327237c549783a2ee7d07db7f2dd0904a7),
[Part 1](https://github.com/wekan/wekan/commit/75de7b119d868e0e1ef650d7d795b7349b1c9281),
[Part 1](https://github.com/wekan/wekan/commit/974c17723705d58b660154bb2fd8997c018ddddc).
Thanks to developers of dependencies.
- [Docker base image to Ubuntu 23.10](https://github.com/wekan/wekan/commit/0f99f22fa5bfc7d3764de2a7f34165f699571449).
Thanks to Ubuntu developers.
- [Updated dependencies](https://github.com/wekan/wekan/commit/8323649cf098388684ea5e690dcb233171440345).
Thanks to zodern.
- [Updated dependencies](https://github.com/wekan/wekan/commit/b54d17467cd2868091c52240594630923875946c).
Thanks to exceljs developers.
and fixed the following bugs:
- [Fixed can not close sidebar at Modern theme](https://github.com/wekan/wekan/commit/53e569d28582a04d7bac49c23cd04ed8f546ed71).
Thanks to xet7.
- [Fix LDAP login](https://github.com/wekan/wekan/pull/5159).
Thanks to faburem.
- [Fix can't use card template](https://github.com/wekan/wekan/pull/5161).
Thanks to faburem.
- [Open card details always in the middle of the screen](https://github.com/wekan/wekan/pull/5168).
Thanks to mfilser.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.10 2023-09-29 WeKan ® release
This release adds the following new features:
+1 -1
View File
@@ -1,4 +1,4 @@
FROM --platform=linux/amd64 ubuntu:23.04 as wekan
FROM --platform=linux/amd64 ubuntu:23.10 as wekan
LABEL maintainer="wekan"
# 2022-09-04:
+1 -1
View File
@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2014-2019 The Wekan Team
Copyright (c) 2014-2023 The Wekan Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+1 -1
View File
@@ -109,7 +109,7 @@ with [Meteor](https://www.meteor.com).
[platforms]: https://github.com/wekan/wekan/wiki/Platforms
[dev_docs]: https://github.com/wekan/wekan/wiki/Developer-Documentation
[screenshot_wekan]: https://wekan.github.io/wekan-markdown.png
[screenshot_wekan]: https://wekan.github.io/wekan-dark-mode.png
[features]: https://github.com/wekan/wekan/wiki/Features
[roadmap_wekan]: https://boards.wekan.team/b/D2SzJKZDS4Z48yeQH/wekan-open-source-kanban-board-with-mit-license
[wekan_issues]: https://github.com/wekan/wekan/issues
+123 -28
View File
@@ -29,7 +29,7 @@ added to the Wekan Hall of Fame.
## Which domains are in scope?
No public domains, because all those are donated to Wekan Open Source project,
and we don't have any permissions to do security scans on those donated servers
and we don't have any permissions to do security scans on those donated servers.
Please don't perform research that could impact other users. Secondly, please keep
the reports short and succinct. If we fail to understand the logics of your bug, we will tell you.
@@ -48,31 +48,132 @@ like Snap and Docker have their own specific sandboxing etc features.
Standalone Wekan by default does not load any files from Internet, like fonts, CSS, etc.
This also means all Standalone Wekan functionality works in offline local networks.
Wekan is used by companies that have [thousands of users](https://github.com/wekan/wekan/wiki/AWS) and at healthcare.
WeKan is used at most countries of the world https://snapcraft.io/wekan
and by by companies that have 30k users.
Wekan uses xss package for input fields like cards, as you can see from
[package.json](https://github.com/wekan/wekan/blob/main/package.json). Other used versions can be seen from
[Meteor versions file](https://github.com/wekan/wekan/blob/main/.meteor/versions).
Forms can include markdown links, html, image tags etc like you see at https://wekan.github.io .
It's possible to add attachments to cards, and markdown/html links to files.
- Wekan private board attachments are not accessible without logging in.
- There is feature to set board public, so that board is visible without logging in in readonly mode, with realtime updates.
- Admin Panel has feature to disable all public boards, so all boards are private.
Wekan attachments are not accessible without logging in. Import from Trello works by copying
Trello export JSON to Wekan Trello import page, and in Trello JSON file there is direct links to all publicly
accessible Trello attachment files, that Standalone Wekan downloads directly to Wekan MongoDB database in
[CollectionFS](https://github.com/wekan/wekan/pull/875) format. When Wekan board is exported in
Wekan JSON format, all board attachments are included in Wekan JSON file as base64 encoded text.
That Wekan JSON format file can be imported to Sandstorm Wekan with all the attachments, when we get
latest Wekan version working on Sandstorm, only couple of bugs are left before that. In Sandstorm it's not
possible yet to import from Trello with attachments, because Wekan does not implement Sandstorm-compatible
access to outside of Wekan grain.
## SSL/TLS
Standalone Wekan only has password auth currently, there is work in progress to add
[oauth2](https://github.com/wekan/wekan/pull/1578), [Openid](https://github.com/wekan/wekan/issues/538),
[LDAP](https://github.com/wekan/wekan/issues/119) etc. If you need more login security for Standalone Wekan now,
it's possible add additional [Google Auth proxybouncer](https://github.com/wekan/wekan/wiki/Let's-Encrypt-and-Google-Auth) in front of password auth, and then use Google Authenticator for Google Auth. Standalone Wekan does have [brute force protection with eluck:accounts-lockout and browser-policy clickjacking protection](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v080-2018-04-04-wekan-release). You can also optionally use some [WAF](https://en.wikipedia.org/wiki/Web_application_firewall)
like for example [AWS WAF](https://aws.amazon.com/waf/).
- SSL/TLS encrypts traffic between webbrowser and webserver.
- If you are thinking about TLS MITM, look at Caddy 2 webserver MITM detections.
- Let's Encrypt TLS requires publicly accessible webserver, that Let's Encrypt TLS validation servers check.
- If firewall limits to only allowed IP addresses, you may need non-Let's Encrypt TLS cert.
- For On Premise:
- https://caddyserver.com/docs/automatic-https#local-https
- https://github.com/wekan/wekan/wiki/Caddy-Webserver-Config
- https://github.com/wekan/wekan/wiki/Azure
- https://github.com/wekan/wekan/wiki/Traefik-and-self-signed-SSL-certs
[All Wekan Platforms](https://github.com/wekan/wekan/wiki/Platforms)
## XSS
- Dompurify https://www.npmjs.com/package/dompurify
- WeKan uses dompurify npm package to filter for XSS at fields like cards, as you can see from
[package.json](https://github.com/wekan/wekan/blob/main/package.json). Other used versions can be seen from
[Meteor versions file](https://github.com/wekan/wekan/blob/main/.meteor/versions).
- Forms can include markdown links, html, image tags etc like you see at https://wekan.github.io .
- It's possible to add attachments to cards, and markdown/html links to files.
- Dompurify cleans up viewed code, so Javascript in input fields does not execute
- https://wekan.github.io/hall-of-fame/fieldbleed/
- Reaction in comment is now checked, that it does not have extra added code
- https://wekan.github.io/hall-of-fame/reactionbleed/
- https://github.com/wekan/wekan/blob/main/packages/markdown/src/template-integration.js#L76
## QA about PubSub
Q:
Hello,
I have just seen the Meteor DevTools Evolved extension and was wondering if anyone had asked themselves the question of security.
Insofar as all data is shown in the minimongo tab in plain text.
How can data be hidden from this extension?
A:
## PubSub
- It is not security issue to show some text or image, that user has permission to see. It is a security issue, if browserside is some text or image that user should not see.
- Meteor has browserside minimongo database, made with Javascript, updated with Publish/Subscribe, PubSub.
- Publish/Subscribe means, that realtime web framework reads database changes stream, and then immediately updates webpage,
like like dashboards, chat, kanban. That is the point in any realtime web framework in any programming language.
- Yes, you should check with Meteor DevTools Evolved Chromium/Firefox extension that at minimongo is only text that user has permission to see.
- Do checking as logged in user, and logged out user.
- Check permissions and sanitize before allowing some change, because someone could modify content of input field,
PubSub/websocket data (for example with Burp Suite Community Edition), etc.
- If you have REST API, also check that only those that have login token, and have permission, can view or edit text
- You should not include any data user is not allowed to see. Not to webpage text, not to websockets/PubSub, etc.
- Minimongo should not have password hashes PubSub https://wekan.github.io/hall-of-fame/userbleed/
- PubSub uses Websockets, so you need those to be enabled at webserver like Caddy/Nginx/Apache etc, examples of settings
at right menu of https://github.com/wekan/wekan/wiki
- Clientside https://github.com/wekan/wekan/tree/main/client/components subscribes to
PubSub https://github.com/wekan/wekan/tree/main/server/publications or calls meteor methods at https://github.com/wekan/wekan/tree/main/models
- For Admin:
- You can have input field for password https://github.com/wekan/wekan/blob/main/client/components/cards/attachments.js#L303-L312
- You can save password to database https://github.com/wekan/wekan/blob/main/client/components/cards/attachments.js#L303-L312
- Check that only current user or Admin can change password https://github.com/wekan/wekan/blob/main/client/components/cards/attachments.js#L303-L312
- Note that currentUser uses code like Meteor.user() in .js file
- Do not have password hashes in PubSub https://github.com/wekan/wekan/blob/main/server/publications/users.js
- Only show Admin Panel to Admin https://github.com/wekan/wekan/blob/main/client/components/settings/settingBody.jade#L3
- If there is a lot of data, use pagination https://github.com/wekan/wekan/blob/main/client/components/settings/peopleBody.js
- Only have limited amount of data published in PubSub. Limit in MongoDB query in publications how much is published. Too much could make browser too slow.
- Use Environment variables for any email etc passwords.
- But what if you would like to remove minimongo? And only use Meteor methods for saving? In that case, you don't have realtime updates,
and you need to write much more code to load and save data yourself, handle any multi user data saving conflicts yourself,
and many Meteor Atmospherejs.com PubSub using packages would not work anymore https://github.com/wekan/we
## PubSub: Fix that user can not change to Admin
- With PubSub, there is checking, that someone modifying Websockets content, like permission isAdmin, can not change to Admin.
- https://github.com/wekan/wekan/commit/cbad4cf5943d47b916f64b4582f8ca76a9dfd743
- https://wekan.github.io/hall-of-fame/adminbleed/
## Permissions and Roles
- For any user permissions, it's best to use Meteor package package https://github.com/Meteor-Community-Packages/meteor-roles .
- Currently WeKan has custom hardcoded permissions, WeKan does not yet use that meteor-roles package.
- Using permissions at WeKan sidebar https://github.com/wekan/wekan/blob/main/client/components/sidebar/sidebar.js#L1854-L1875
- List of roles https://github.com/wekan/wekan/wiki/REST-API-Role . Change at board or Admin Panel. Also Organizations/Teams.
- Worker role: https://github.com/wekan/wekan/issues/2788
- Not implemented yet: Granular Roles https://github.com/wekan/wekan/issues/3022
- Check is user logged in, with `if (Meteor.user()) {`
- Check is code running at server `if (Meteor.isServer()) {` or client `if Meteor.isClient()) {` .
- Here is some authentication code https://github.com/wekan/wekan/blob/main/server/authentication.js
## Environment variables
- For any passwords, use environment variables, those are serverside
- Do not copy environment variable to public variable that is visible browserside https://github.com/wekan/wekan/blob/main/server/max-size.js
```
Meteor.startup(() => {
if (process.env.HEADER_LOGIN_ID) {
Meteor.settings.public.attachmentsUploadMaxSize = process.env.ATTACHMENTS_UPLOAD_MAX_SIZE;
Meteor.settings.public.attachmentsUploadMimeTypes = process.env.ATTACHMENTS_UPLOAD_MIME_TYPES;
Meteor.settings.public.avatarsUploadMaxSize = process.env.AVATARS_UPLOAD_MAX_SIZE;
```
- For serverside, you can set Meteor.settings.variablename, without text public
- For WeKan kanban, there is feature for setting board public, it can be viewed by anyone, there is realtime updates. But
- Some of those permissions are checked at users.js models at https://github.com/wekan/wekan/tree/main/models
- Environment variables are used for email server passwords, etc, at all platforms https://github.com/wekan/wekan/commit/a781c0e7dcfdbe34c1483ee83cec12455b7026f7
## Escape HTML comment tags so that HTML comments are visible
- Someone reported, that it is problem that content of HTML comments in edit mode, are not visible at at view mode, so this makes HTML comments visible.
- https://github.com/wekan/wekan/commit/167863d95711249e69bb3511175d73b34acbbdb3
- https://wekan.github.io/hall-of-fame/invisiblebleed/
## Attachments: XSS in filename is sanitized
- https://github.com/wekan/wekan/blob/main/client/components/cards/attachments.js#L303-L312
- https://wekan.github.io/hall-of-fame/filebleed/
## Brute force login protection
- https://github.com/wekan/wekan/commit/23e5e1e3bd081699ce39ce5887db7e612616014d
- https://github.com/wekan/wekan/tree/main/packages/wekan-accounts-lockout
### Sandstorm Wekan Security
@@ -105,12 +206,6 @@ a security issue, we'd like to know about it, and also how to fix it:
Typical already known or "no impact" bugs such as:
- Brute force password guessing. Currently there is
[brute force protection with eluck:accounts-lockout](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v080-2018-04-04-wekan-release).
- Security issues related to that Wekan uses Meteor 1.6.0.1 related packages, and upgrading to newer
Meteor 1.6.1 is complicated process that requires lots of changes to many dependency packages.
Upgrading [has been tried many times, spending a lot of time](https://github.com/meteor/meteor/issues/9609)
but there still is issues. Helping with package upgrades is very welcome.
- [Wekan API old tokens not replaced correctly](https://github.com/wekan/wekan/issues/1437)
- Missing Cookie flags on non-session cookies or 3rd party cookies
- Logout CSRF
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v7.10.0"
appVersion: "v7.12.0"
files:
userUploads:
- README.md
-1
View File
@@ -19,7 +19,6 @@
.board-wrapper .board-canvas.is-sibling-sidebar-open {
margin-right: 248px;
}
.board-wrapper .board-canvas.overlayed {overflow:hidden}
.board-wrapper .board-canvas .board-overlay {
position: fixed;
left: 0;
+1 -2
View File
@@ -21,8 +21,7 @@ template(name="boardBody")
.board-canvas.js-swimlanes(
class="{{#if Sidebar.isOpen}}is-sibling-sidebar-open{{/if}}"
class="{{#if MultiSelection.isActive}}is-multiselection-active{{/if}}"
class="{{#if draggingActive.get}}is-dragging-active{{/if}}"
class="{{#if showOverlay.get}}overlayed{{/if}}")
class="{{#if draggingActive.get}}is-dragging-active{{/if}}")
if showOverlay.get
.board-overlay
if currentBoard.isTemplatesBoard
+31 -9
View File
@@ -1060,8 +1060,13 @@
.board-color-clearblue .swimlane {
background: none;
}
.board-color-clearblue .list:first-child {
margin-left: 15px;
.board-color-clearblue .swimlane .list:first-child {
min-width: 20px;
margin-left: 0px;
border-left: none;
}
.board-color-clearblue .swimlane .list:nth-child {
flex: 0 0 265px;
}
.board-color-clearblue .list {
background: rgba(255,255,255,0.35);
@@ -1073,8 +1078,10 @@
background: rgba(255,255,255,0.1);
height: min-content;
flex: unset;
width: 270px;
padding-bottom: 16px;
min-width: 20px;
margin-left: 0px;
border-left: none;
}
.board-color-clearblue .list.list-composer .open-list-composer {
border-radius: 7px;
@@ -1082,6 +1089,7 @@
padding: 7px 10px;
display: block;
}
.board-color-clearblue .list.list-composer .open-list-composer:hover i,
.board-color-clearblue .list.list-composer .open-list-composer:hover {
box-shadow: 0 1px 2px rgba(0,0,0,0.2);
background: rgba(255,255,255,0.7);
@@ -1452,12 +1460,17 @@
background: none;
box-shadow: none;
}
.board-color-modern .list:first-child {
margin-left: 5px;
.board-color-modern .swimlane .list:first-child {
min-width: 20px;
margin-left: 0px;
border-left: none;
}
.board-color-modern .swimlane .list:nth-child {
flex: 0 0 265px;
}
.board-color-modern .list.list-composer.js-list-composer {
transition: all 0.3s ease;
min-width: 80px;
min-width: 20px;
}
.board-color-modern .open-list-composer.js-open-inlined-form:hover {
color: #222;
@@ -1536,9 +1549,6 @@
.board-color-modern .sidebar .sidebar-shadow {
box-shadow: 0 0 60px rgba(0,0,0,0.2);
}
.board-color-modern .sidebar .sidebar-content {
padding: 30px;
}
.board-color-modern .board-color-modern section#notifications-drawer {
border-radius: 5px;
}
@@ -2104,6 +2114,18 @@
box-shadow: inset 15px 15px 37px #1c1c1c, inset -15px -15px 37px #282828;
border: none;
}
.board-color-exodark .swimlane .list:first-child {
min-width: 20px;
margin-left: 0px;
border-left: none;
}
.board-color-exodark .swimlane .list:nth-child {
flex: 0 0 265px;
}
.board-color-exodark .list.list-composer.js-list-composer {
transition: all 0.3s ease;
min-width: 0;
}
.board-color-exodark .list-header {
border-top-right-radius: 15px;
border-top-left-radius: 15px;
+10 -3
View File
@@ -196,6 +196,9 @@
margin-right: 10px;
padding: 10px;
}
.card-details .card-description i.fa.fa-pencil-square-o {
float: right;
}
.card-details .card-description textarea {
min-height: 100px;
}
@@ -245,10 +248,10 @@
padding-top: 10px;
}
@media screen and (min-width: 801px) {
.card-details-maximized {
.card-details {
top: 97px;
left: 0;
right:0;
left: calc(50% - (600px / 2));
width: 600px;
bottom: 0;
position: fixed;
resize: both;
@@ -267,6 +270,10 @@
box-shadow: 0 0 7px 0 #b3b3b3;
transition: flex-basis 0.1s;
box-sizing: border-box;
top: 97px;
left: 0px;
height: calc(100% - 20px);
width: calc(100% - 20px);
float: left;
}
.card-details-maximized .card-details-left {
+7 -6
View File
@@ -524,12 +524,13 @@ template(name="cardDetails")
a.fa.fa-times-thin.js-close-inlined-form
else
if currentBoard.allowsDescriptionText
a.js-open-inlined-form
if getDescription
+viewer
= getDescription
else
| {{_ 'edit'}}
a.js-open-inlined-form.right(title="{{_ 'edit'}}" value=title)
i.fa.fa-pencil-square-o
if getDescription
+viewer
= getDescription
else
| {{_ 'edit'}}
if (hasUnsavedValue 'cardDescription' _id)
p.quiet
| {{_ 'unsaved-description'}}
-76
View File
@@ -76,66 +76,6 @@ BlazeComponent.extendComponent({
return !Utils.getPopupCardId() && ReactiveCache.getCurrentUser().hasCardMaximized();
},
scrollParentContainer() {
const cardPanelWidth = 600;
const parentComponent = this.parentComponent();
/*
// Incomplete fix about bug where opening card scrolls to wrong place
// https://github.com/wekan/wekan/issues/4572#issuecomment-1184149395
// TODO sometimes parentComponent is not available, maybe because it's not
// yet created?!
//
// uncommented again by chrisi51
// only with that, the autoscroll feature is working properly
// after my fixes, all scrollings where correct
*/
if (!parentComponent) return;
const bodyBoardComponent = parentComponent.parentComponent();
//On Mobile View Parent is Board, Not Board Body. I cant see how this funciton should work then.
if (bodyBoardComponent === null) return;
const $cardView = this.$(this.firstNode());
const $cardContainer = bodyBoardComponent.$('.js-swimlanes');
/*
// Incomplete fix about bug where opening card scrolls to wrong place
// https://github.com/wekan/wekan/issues/4572#issuecomment-1184149395
// TODO sometimes cardContainer is not available, maybe because it's not yet
// created?!
if (!$cardContainer) return;
*/
const cardContainerScroll = $cardContainer.scrollLeft();
const cardContainerWidth = $cardContainer.width();
const cardViewStart = $cardView.offset().left;
const cardViewEnd = cardViewStart + cardPanelWidth;
let offset = false;
if (cardViewStart < 0) {
offset = cardViewStart;
} else if (cardViewEnd > cardContainerWidth) {
offset = cardViewEnd - cardContainerWidth;
}
if (offset) {
bodyBoardComponent.scrollLeft(cardContainerScroll + offset);
}
//Scroll top
const cardViewStartTop = $cardView.offset().top;
const cardContainerScrollTop = $cardContainer.scrollTop();
let topOffset = false;
if (cardViewStartTop !== 100) {
topOffset = cardViewStartTop - 100;
}
if (topOffset !== false) {
bodyBoardComponent.scrollTop(cardContainerScrollTop + topOffset);
}
},
presentParentTask() {
let result = this.currentBoard.presentParentTask;
if (result === null || result === undefined) {
@@ -221,12 +161,6 @@ BlazeComponent.extendComponent({
//-------------
}
if (!Utils.isMiniScreen()) {
Meteor.setTimeout(() => {
this.scrollParentContainer();
}, 500);
}
const $checklistsDom = this.$('.card-checklist-items');
$checklistsDom.sortable({
@@ -452,20 +386,10 @@ BlazeComponent.extendComponent({
'click .js-maximize-card-details'() {
Meteor.call('toggleCardMaximized');
autosize($('.card-details'));
// if (!Utils.isMiniScreen()) {
// Meteor.setTimeout(() => {
// this.scrollParentContainer();
// }, 500);
// }
},
'click .js-minimize-card-details'() {
Meteor.call('toggleCardMaximized');
autosize($('.card-details'));
if (!Utils.isMiniScreen()) {
Meteor.setTimeout(() => {
this.scrollParentContainer();
}, 500);
}
},
'click .js-vote'(e) {
const forIt = $(e.target).hasClass('js-vote-positive');
+1
View File
@@ -646,6 +646,7 @@ BlazeComponent.extendComponent({
if (this.isTemplateSearch) {
const boardId = (ReactiveCache.getCurrentUser().profile || {}).templatesBoardId;
if (boardId) {
subManager.subscribe('board', boardId, false);
this.board = ReactiveCache.getBoard(boardId);
}
} else {
+12
View File
@@ -1,3 +1,10 @@
.new-comment a.fa.fa-brands.fa-markdown,
.inlined-form a.fa.fa-brands.fa-markdown {
float: right;
position: relative;
top: 20px;
right: 56px;
}
.new-comment a.fa.fa-copy,
.inlined-form a.fa.fa-copy {
float: right;
@@ -5,3 +12,8 @@
top: 20px;
right: 6px;
}
.js-inlined-form.viewer.btn-sm {
position: absolute;
top: 20px;
right: 6px;
}
+1
View File
@@ -1,4 +1,5 @@
template(name="editor")
a.fa.fa-brands.fa-markdown(title="{{_ 'convert-to-markdown'}}")
a.fa.fa-copy(title="{{_ 'copy-text-to-clipboard'}}")
span.copied-tooltip {{_ 'copied'}}
textarea.editor(
+42 -1
View File
@@ -1,4 +1,6 @@
import { ReactiveCache } from '/imports/reactiveCache';
import { TAPi18n } from '/imports/i18n';
var converter = require('@wekanteam/html-to-markdown');
const specialHandles = [
{userId: 'board_members', username: 'board_members'},
@@ -9,6 +11,33 @@ const specialHandleNames = specialHandles.map(m => m.username);
BlazeComponent.extendComponent({
onRendered() {
// Start: Copy <pre> code https://github.com/wekan/wekan/issues/5149
// TODO: Try to make copyPre visible at Card Details after editing or closing editor or Card Details.
// - Also this same TODO below at event, if someone gets it working.
var copy = function(target) {
var textArea = document.createElement('textarea');
textArea.setAttribute('style','width:1px;border:0;opacity:0;');
document.body.appendChild(textArea);
textArea.value = target.innerHTML;
textArea.select();
document.execCommand('copy');
document.body.removeChild(textArea);
}
var pres = document.querySelectorAll(".viewer > pre");
pres.forEach(function(pre){
var button = document.createElement("a");
button.className = "fa fa-copy btn btn-sm right";
// TODO: Translate text 'Copy text to clipboard'
button.setAttribute('title','Copy text to clipboard');
button.innerHTML = '';
pre.parentNode.insertBefore(button, pre);
button.addEventListener('click', function(e){
e.preventDefault();
copy(pre.childNodes[0]);
})
})
// End: Copy <pre> code
const textareaSelector = 'textarea';
const mentions = [
// User mentions
@@ -44,12 +73,14 @@ BlazeComponent.extendComponent({
index: 1,
},
];
const enableTextarea = function() {
const $textarea = this.$(textareaSelector);
autosize($textarea);
$textarea.escapeableTextComplete(mentions);
};
if (Meteor.settings.public.RICHER_CARD_COMMENT_EDITOR !== false) {
/*
if (Meteor.settings.public.RICHER_CARD_COMMENT_EDITOR === true || Meteor.settings.public.RICHER_CARD_COMMENT_EDITOR === 'true') {
const isSmall = Utils.isMiniScreen();
const toolbar = isSmall
? [
@@ -269,6 +300,8 @@ BlazeComponent.extendComponent({
} else {
enableTextarea();
}
*/
enableTextarea();
},
events() {
return [
@@ -280,6 +313,14 @@ BlazeComponent.extendComponent({
const $tooltip = this.$('.copied-tooltip');
Utils.showCopied(promise, $tooltip);
},
'click a.fa.fa-brands.fa-markdown'(event) {
const $editor = this.$('textarea.editor');
$editor[0].value = converter.convert($editor[0].value);
},
// TODO: Try to make copyPre visible at Card Details after editing or closing editor or Card Details.
//'click .js-close-inlined-form'(event) {
// Utils.copyPre();
//},
}
]
}
+4 -1
View File
@@ -120,7 +120,10 @@ services:
# image: quay.io/wekan/wekan:v6.89
# image: wekanteam/wekan:v6.89
# b) GitHub Container registry.
image: ghcr.io/wekan/wekan:main
# b1) Latest release tag:
image: ghcr.io/wekan/wekan:latest
# b2) Newest git commit automatic build:
#image: ghcr.io/wekan/wekan:main
# c) Quay:
#image: quay.io/wekan/wekan:latest
# d) Docker Hub:
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Übersetzungstext",
"show-at-minicard": "Zeige auf Minikarte",
"show-checklist-at-minicard": "Checkliste auf Minikarte anzeigen",
"show-subtasks-field": "Teilaufgaben Feld anzeigen"
"show-subtasks-field": "Teilaufgaben Feld anzeigen",
"convert-to-markdown": "Als Markdown konvertieren"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "itzulpenaren testua",
"show-at-minicard": "Erakutsi minitxartelean",
"show-checklist-at-minicard": "Erakutsi kontrol-zerrenda minitxartelean",
"show-subtasks-field": "azpi-zereginen eremua bezala"
"show-subtasks-field": "azpi-zereginen eremua bezala",
"convert-to-markdown": "Bihurtu markdown-era"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Käännetty teksti",
"show-at-minicard": "Näytä minikortilla",
"show-checklist-at-minicard": "Näytä tarkistuslista minikortilla",
"show-subtasks-field": "Näytä alitehtävät kenttä"
"show-subtasks-field": "Näytä alitehtävät kenttä",
"convert-to-markdown": "Muuta markdowniksi"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Texte traduit",
"show-at-minicard": "Afficher sur la mini-carte",
"show-checklist-at-minicard": "Afficher la check-list sur la mini-carte",
"show-subtasks-field": "Afficher le champ des sous-tâches"
"show-subtasks-field": "Afficher le champ des sous-tâches",
"convert-to-markdown": "Convertir en markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Texte traduit",
"show-at-minicard": "Afficher sur la mini-carte",
"show-checklist-at-minicard": "Afficher la check-list sur la mini-carte",
"show-subtasks-field": "Afficher le champ des sous-tâches"
"show-subtasks-field": "Afficher le champ des sous-tâches",
"convert-to-markdown": "Convertir en markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "טקסט תרגום",
"show-at-minicard": "הצגה בכרטיסון",
"show-checklist-at-minicard": "הצגת רשימת מטלות על הכרטיסון",
"show-subtasks-field": "הצגת שדה תת־משימות"
"show-subtasks-field": "הצגת שדה תת־משימות",
"convert-to-markdown": "המרה ל־Markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+31 -30
View File
@@ -1,5 +1,5 @@
{
"accept": "Terima",
"accept": "Menerima",
"act-activity-notify": "Pemberitahuan Aktifitas",
"act-addAttachment": "menambahkan lampiran __attachment__ ke kartu __card__ pada daftar __list__ pada jalur __swimline__ dalam papan __board__",
"act-deleteAttachment": "menghapus lampiran __attachment__ di kartu __card__ pada daftar __list__ pada jalur __swimlane__ dalam papan __board__",
@@ -43,7 +43,7 @@
"act-withBoardTitle": "__board__",
"act-withCardTitle": "__kartu__[__Panel__]",
"actions": "Daftar Tindakan",
"activities": "Activities",
"activities": "Aktifitas",
"activity": "Kegiatan",
"activity-added": "ditambahkan %s ke %s",
"activity-archived": "%s dipindah ke arsip",
@@ -85,10 +85,10 @@
"add-card": "Tambah Kartu",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"setListWidthPopup-title": "Set List Width",
"set-list-width": "Set List Width",
"set-list-width-value": "List Width (pixels)",
"list-width-error-message": "List width must be a positive integer",
"setListWidthPopup-title": "Atur lebar daftar",
"set-list-width": "Atur lebar daftar",
"set-list-width-value": "Lebar daftar (pixel)",
"list-width-error-message": "Lebar daftar harus dalam sebuah bilangan bulat posiif",
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
"set-swimlane-height": "Set Swimlane Height",
"set-swimlane-height-value": "Swimlane Height (pixels)",
@@ -103,8 +103,8 @@
"add-cover": "Add cover image to minicard",
"add-label": "Tambah Label",
"add-list": "Tambah Daftar",
"add-after-list": "Add After List",
"add-members": "Add Members",
"add-after-list": "Tambah setelah daftar",
"add-members": "Tambah anggota",
"added": "Ditambahkan",
"addMemberPopup-title": "Daftar Anggota",
"memberPopup-title": "Setelan Anggota",
@@ -146,10 +146,10 @@
"avatar-too-big": "The avatar is too large (__size__ max)",
"back": "Kembali",
"board-change-color": "Ubah warna",
"board-change-background-image": "Change Background Image",
"board-background-image-url": "Background Image URL",
"add-background-image": "Add Background Image",
"remove-background-image": "Remove Background Image",
"board-change-background-image": "Ubah latar belakang gambar",
"board-background-image-url": "Latar belakang gambar URL",
"add-background-image": "Tambah latar belakang gambar",
"remove-background-image": "Hapus latar belakang gambar",
"show-at-all-boards-page" : "Show at All Boards page",
"board-info-on-my-boards" : "All Boards Settings",
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
@@ -162,9 +162,9 @@
"board-public-info": "Panel ini akan jadi <strong>Publik<strong",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Ubah Warna Latar",
"boardChangeBackgroundImagePopup-title": "Change Background Image",
"boardChangeBackgroundImagePopup-title": "Ubah latar belakang gambar",
"allBoardsChangeColorPopup-title": "Ubah warna",
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
"allBoardsChangeBackgroundImagePopup-title": "Ubah latar belakang gambar",
"boardChangeTitlePopup-title": "Ubah nama Panel",
"boardChangeVisibilityPopup-title": "Ubah Penampakan",
"boardChangeWatchPopup-title": "Ubah Pengamatan",
@@ -421,7 +421,7 @@
"filter-overdue": "Overdue",
"filter-due-today": "Due today",
"filter-due-this-week": "Due this week",
"filter-due-next-week": "Due next week",
"filter-due-next-week": "Berakhir minggu depan",
"filter-due-tomorrow": "Due tomorrow",
"list-filter-label": "Filter List by Title",
"filter-clear": "Bersihkan penyaringan",
@@ -550,7 +550,7 @@
"public": "Umum",
"public-desc": "Panel ini publik. Akan terlihat oleh siapapun dengan link terkait dan muncul di mesin pencari seperti Google. Hanya orang yang ditambahkan di panel yang bisa sunting",
"quick-access-description": "Beri bintang panel untuk menambah shortcut di papan ini",
"remove-cover": "Remove cover image from minicard",
"remove-cover": "Hapus gambar sampul dari kartu mini",
"remove-from-board": "Hapus dari panel",
"remove-label": "Hapus Label",
"listDeletePopup-title": "Hapus Daftar ?",
@@ -739,7 +739,7 @@
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
"show-parent-in-minicard": "Show parent in minicard:",
"description-on-minicard": "Description on minicard",
"cover-attachment-on-minicard": "Cover image on minicard",
"cover-attachment-on-minicard": "Gambar sampul untuk kartu kecil",
"badge-attachment-on-minicard": "Count of attachments on minicard",
"card-sorting-by-number-on-minicard": "Card sorting by number on minicard",
"prefix-with-full-path": "Prefix with full path",
@@ -854,7 +854,7 @@
"r-items-list": "item1, item2, item3",
"r-add-swimlane": "Add swimlane",
"r-swimlane-name": "swimlane name",
"r-board-note": "Note: leave a field empty to match every possible value. ",
"r-board-note": "Catatan : tinggalkan setiap bidang yang kosong agar cocok untuk setiap nilai yang memungkinkan",
"r-checklist-note": "Note: checklist's items have to be written as comma separated values.",
"r-when-a-card-is-moved": "When a card is moved to another list",
"r-set": "Tetapkan",
@@ -885,9 +885,9 @@
"oidc-button-text": "Customize the OIDC button text",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplikat Papan",
"org-number": "The number of organizations is: ",
"team-number": "The number of teams is: ",
"people-number": "The number of people is: ",
"org-number": "Nomor organisasi adalah",
"team-number": "Nomor team adalah",
"people-number": "Banyak orang adalah",
"swimlaneDeletePopup-title": "Delete Swimlane ?",
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
"restore-all": "Pulihkan semua",
@@ -1098,7 +1098,7 @@
"label-names": "Label Names",
"archived-at": "archived at",
"sort-cards": "Sort Cards",
"sort-is-on": "Sort is on",
"sort-is-on": "Urutan aktif",
"cardsSortPopup-title": "Sort Cards",
"due-date": "Due Date",
"server-error": "Server Error",
@@ -1224,11 +1224,11 @@
"minicardDetailsActionsPopup-title": "Card Details",
"Mongo_sessions_count": "Mongo sessions count",
"change-visibility": "Ubah Penampakan",
"max-upload-filesize": "Max upload filesize in bytes:",
"allowed-upload-filetypes": "Allowed upload filetypes:",
"max-avatar-filesize": "Max avatar filesize in bytes:",
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
"invalid-file": "If filename is invalid, upload or rename is cancelled.",
"max-upload-filesize": "Maksimal ukuran file unggahan dalam bytes",
"allowed-upload-filetypes": "Dibolehkan mengunggah tipe file",
"max-avatar-filesize": "Maksimal avatar ukuran berkas dalam byte",
"allowed-avatar-filetypes": "Dibolehkan mengunggah tipe file",
"invalid-file": "Jika nama berkas tidak sah, unggah atau ubah nama dibatalkan",
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
"drag-board": "Drag board",
"translation-number": "The number of custom translation strings is:",
@@ -1236,10 +1236,11 @@
"newTranslationPopup-title": "New custom translation string",
"editTranslationPopup-title": "Edit custom translation string",
"settingsTranslationPopup-title": "Delete this custom translation string?",
"translation": "Translation",
"translation": "Terjemahan",
"text": "Text",
"translation-text": "Translation text",
"translation-text": "Terjemahan teks",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Testo della traduzione",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "번역 문구",
"show-at-minicard": "미니카드에 보이기",
"show-checklist-at-minicard": "미니카드에 확인목록 보이기",
"show-subtasks-field": "하위할일 항목 보이기"
"show-subtasks-field": "하위할일 항목 보이기",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "번역 문구",
"show-at-minicard": "미니카드에 보이기",
"show-checklist-at-minicard": "미니카드에 확인목록 보이기",
"show-subtasks-field": "하위할일 항목 보이기"
"show-subtasks-field": "하위할일 항목 보이기",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Te vertalen tekst",
"show-at-minicard": "Toon op minikaart",
"show-checklist-at-minicard": "Toon checklist op minikaart",
"show-subtasks-field": "Toon subtakenveld"
"show-subtasks-field": "Toon subtakenveld",
"convert-to-markdown": "Converteer naar markdown"
}
+2 -1
View File
@@ -1241,5 +1241,6 @@
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field"
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
}
Loaded 100 of 159 files, more files were not shown because too many files have changed in this diff. Show more