1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-08-30 20:39:46 +02:00

Compare commits

...

12 Commits

Author SHA1 Message Date
Laurent Cozic
2133193141 Android 2.5.3 2021-10-28 23:09:16 +01:00
Laurent Cozic
7d70dea265 Desktop release v2.5.6 2021-10-28 22:27:47 +01:00
Laurent Cozic
e247be1fa7 Desktop: Fixed default migration logic 2021-10-28 22:26:23 +01:00
Laurent Cozic
9704e75614 Android 2.5.2 2021-10-28 21:23:40 +01:00
Laurent Cozic
e4403d4452 Desktop release v2.5.5 2021-10-28 20:56:40 +01:00
Laurent Cozic
251400ccaf Server v2.5.9 2021-10-28 20:44:25 +01:00
Laurent Cozic
6c6e2a68e1 Merge branch 'dev' into release-2.5 2021-10-28 20:43:14 +01:00
Laurent Cozic
4a2af32f6b Server: Remove session expiration for now 2021-10-28 20:42:26 +01:00
milotype
9d883243ed All: Translation: Update hr_HR.po (#5640)
… this time with Poedit ;-)
2021-10-28 12:23:52 -04:00
Daeraxa
e0a12c77bf Doc: Add section about restoreNoteRevision command to FAQ for note restoration (#5638)
* docs: add section about restoreNoteRevision command to restore accidentally deleted notes

* docs:add link to wiki post
2021-10-28 12:20:44 -04:00
Laurent Cozic
3359ea3fa0 Server v2.5.8 2021-10-28 17:07:44 +01:00
Laurent Cozic
2cbcfa5bc8 Slow down migration 2021-10-28 17:06:16 +01:00
13 changed files with 115 additions and 86 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@joplin/app-desktop",
"version": "2.5.4",
"version": "2.5.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@joplin/app-desktop",
"version": "2.5.4",
"version": "2.5.6",
"license": "MIT",
"dependencies": {
"@electron/remote": "^2.0.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@joplin/app-desktop",
"version": "2.5.4",
"version": "2.5.6",
"description": "Joplin for Desktop",
"main": "main.js",
"private": true,

View File

@@ -141,8 +141,8 @@ android {
applicationId "net.cozic.joplin"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2097652
versionName "2.5.1"
versionCode 2097654
versionName "2.5.3"
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}

View File

@@ -226,6 +226,14 @@ describe('models/Setting', function() {
expect(Setting.value('style.editor.contentMaxWidth')).toBe(600); // Changed
}));
it('should skip values that are already set', (async () => {
await Setting.reset();
Setting.setValue('sync.target', 9);
Setting.applyDefaultMigrations();
expect(Setting.value('sync.target')).toBe(9); // Not changed
}));
it('should allow skipping default migrations', (async () => {
await Setting.reset();

View File

@@ -1457,7 +1457,7 @@ class Setting extends BaseModel {
}
public static isSet(key: string) {
return key in this.cache_;
return this.cache_.find(d => d.key === key);
}
static keyDescription(key: string, appType: AppType = null) {

View File

@@ -1,12 +1,12 @@
{
"name": "@joplin/server",
"version": "2.5.7",
"version": "2.5.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@joplin/server",
"version": "2.5.7",
"version": "2.5.9",
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.1",
"@koa/cors": "^3.1.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@joplin/server",
"version": "2.5.7",
"version": "2.5.9",
"private": true,
"scripts": {
"start-dev": "npm run build && nodemon --config nodemon.json --ext ts,js,mustache,css,tsx dist/app.js --env dev",

View File

@@ -1,5 +1,6 @@
import { Knex } from 'knex';
import { DbConnection } from '../db';
import { msleep } from '../utils/time';
export async function up(db: DbConnection): Promise<any> {
if (!(await db.schema.hasColumn('items', 'owner_id'))) {
@@ -22,7 +23,7 @@ export async function up(db: DbConnection): Promise<any> {
user_id: string;
}
const pageSize = 10000;
const pageSize = 1000;
const itemCount = (await db('items')
.count('id', { as: 'total' })
@@ -42,11 +43,15 @@ export async function up(db: DbConnection): Promise<any> {
console.info(`Processing items ${itemDone} / ${itemCount}`);
for (const item of items) {
await db('items').update({ owner_id: item.user_id }).where('id', '=', item.id);
}
await db.transaction(async trx => {
for (const item of items) {
await trx('items').update({ owner_id: item.user_id }).where('id', '=', item.id);
}
});
itemDone += items.length;
await msleep(10000);
}
await db.schema.alterTable('items', (table: Knex.CreateTableBuilder) => {

View File

@@ -30,12 +30,12 @@ export default function(env: Env, models: Models, config: Config): TaskService {
run: (models: Models) => models.user().handleOversizedAccounts(),
},
{
id: TaskId.DeleteExpiredSessions,
description: 'Delete expired sessions',
schedule: '0 */6 * * *',
run: (models: Models) => models.session().deleteExpiredSessions(),
},
// {
// id: TaskId.DeleteExpiredSessions,
// description: 'Delete expired sessions',
// schedule: '0 */6 * * *',
// run: (models: Models) => models.session().deleteExpiredSessions(),
// },
];
if (config.isJoplinCloud) {

View File

@@ -17,6 +17,8 @@ msgstr ""
"X-Generator: Poedit 3.0\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
#: packages/app-cli/app/app-gui.js:452
msgid "To delete a tag, untag the associated notes."
@@ -724,7 +726,7 @@ msgstr ""
#: packages/app-cli/app/command-tag.js:90
#, javascript-format
msgid "Invalid command: \"%s\""
msgstr "Neispravna naredba: \"%s\""
msgstr "Neispravna naredba: „%s”"
#: packages/app-cli/app/command-todo.js:14
msgid ""
@@ -1171,6 +1173,8 @@ msgid ""
"The Joplin team has vetted this plugin and it meets our standards for "
"security and performance."
msgstr ""
"Joplin tim je provjerio ovaj dodatak i on zadovoljava naše standarde za "
"sigurnost i performansu."
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.js:192
#, javascript-format
@@ -1196,9 +1200,8 @@ msgid "You do not have any installed plugin."
msgstr "Nemaš nijedan instalirani dodatak."
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.js:232
#, fuzzy
msgid "Could not connect to plugin repository."
msgstr "Neuspjelo povezivanje s repozitorijem dodataka"
msgstr "Neuspjelo povezivanje s repozitorijem dodataka."
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.js:236
msgid "Try again"
@@ -1459,29 +1462,24 @@ msgstr "Šifriranje je:"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:103
#: packages/app-mobile/components/screens/encryption-config.js:89
#, fuzzy
msgid "Master password"
msgstr "Upiši glavnu lozinku:"
msgstr "Glavna lozinka"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:118
#, fuzzy
msgid "Source: "
msgstr "Izvor"
msgstr "Izvor: "
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:121
#, fuzzy
msgid "Created: "
msgstr "Stvoreno: %s"
msgstr "Stvoreno: "
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:124
#, fuzzy
msgid "Updated: "
msgstr "Aktualizirano: %s"
msgstr "Aktualizirano: "
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:129
#, fuzzy
msgid "Disable"
msgstr "Deaktivirano"
msgstr "Deaktiviraj"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:129
#: packages/app-mobile/components/screens/encryption-config.js:143
@@ -1490,42 +1488,37 @@ msgstr "Aktiviraj"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:139
msgid "Hide disabled master keys"
msgstr ""
msgstr "Sakrij deaktivirane glavne ključeve"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:139
msgid "Show disabled master keys"
msgstr ""
msgstr "Prikaži deaktivirane glavne ključeve"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:146
msgid "Date"
msgstr ""
msgstr "Datum"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:148
#, fuzzy
msgid "Valid"
msgstr "Neispravno"
msgstr "Ispravno"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:149
#, fuzzy
msgid "Actions"
msgstr "Radnja"
msgstr "Radnje"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:166
#: packages/app-mobile/components/screens/encryption-config.js:159
#, fuzzy
msgid "Master password:"
msgstr "Upiši glavnu lozinku:"
msgstr "Glavna lozinka:"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:170
#: packages/app-mobile/components/screens/encryption-config.js:160
#, fuzzy
msgid "Loaded"
msgstr "Preuzeto"
msgstr "Učitano"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.js:178
#, fuzzy
msgid "Enter your master password"
msgstr "Upiši glavnu lozinku:"
msgstr "Upiši glavnu lozinku"
#: packages/app-desktop/gui/ExtensionBadge.min.js:10
msgid "Firefox Extension"
@@ -1709,9 +1702,8 @@ msgid "Use the arrows to move the layout items. Press \"Escape\" to exit."
msgstr "Promijeni raspored pomoću strelica. Zatvori pomoću tipke „Escape”."
#: packages/app-desktop/gui/MainScreen/commands/commandPalette.js:18
#, fuzzy
msgid "Command palette..."
msgstr "Paleta naredbi"
msgstr "Paleta naredbi"
#: packages/app-desktop/gui/MainScreen/commands/editAlarm.js:20
#: packages/app-mobile/components/SelectDateTimeDialog.js:84
@@ -1813,9 +1805,8 @@ msgid "Share notebook..."
msgstr "Dijeli bilježnicu …"
#: packages/app-desktop/gui/MainScreen/commands/showShareNoteDialog.js:16
#, fuzzy
msgid "Publish note..."
msgstr "Dijeli bilješku …"
msgstr "Objavi bilješku …"
#: packages/app-desktop/gui/MainScreen/commands/showSpellCheckerMenu.js:19
#: packages/lib/services/spellChecker/SpellCheckerService.js:180
@@ -2126,7 +2117,7 @@ msgstr "Saznaj više"
#: packages/app-desktop/gui/NoteEditor/NoteEditor.js:351
msgid "Dismiss"
msgstr "Prekini"
msgstr "Odbaci"
#: packages/app-desktop/gui/NoteEditor/NoteEditor.js:387
msgid "The following attachments are being watched for changes:"
@@ -2410,9 +2401,8 @@ msgstr ""
"Upozorenje: za brže izvođenje, ne prikazuju se svi resursi (ograničenje: %s)."
#: packages/app-desktop/gui/Root.js:107
#, fuzzy
msgid "Confirmation"
msgstr "Konfiguracija"
msgstr "Potvrda"
#: packages/app-desktop/gui/Root.js:120
msgid "The Web Clipper needs your authorisation to access your data."
@@ -2493,9 +2483,8 @@ msgid "Share Notebook"
msgstr "Dijeli bilježnicu"
#: packages/app-desktop/gui/ShareNoteDialog.js:144
#, fuzzy
msgid "Unpublish note"
msgstr "Prestani dijeliti bilješku"
msgstr "Poništi objavljivanje bilješke"
#: packages/app-desktop/gui/ShareNoteDialog.js:171
msgid "Synchronising..."
@@ -2523,14 +2512,14 @@ msgstr ""
#: packages/app-desktop/gui/ShareNoteDialog.js:187
msgid "Publish Notes"
msgstr ""
msgstr "Objavi bilješke"
#: packages/app-desktop/gui/ShareNoteDialog.js:189
msgid "Copy Shareable Link"
msgid_plural "Copy Shareable Links"
msgstr[0] "Kopiraj poveznicu za dijeljenje"
msgstr[1] "Kopiraj poveznice za dijeljenje"
msgstr[2] "Kopiraj poveznice za dijeljenje"
msgstr[0] "Kopiraj dijeljivu poveznicu"
msgstr[1] "Kopiraj dijeljive poveznice"
msgstr[2] "Kopiraj dijeljive poveznice"
#: packages/app-desktop/gui/Sidebar/Sidebar.js:189
msgid "Remove"
@@ -2613,22 +2602,21 @@ msgid "Export debug report"
msgstr "Izvezi izvještaj o otklanjanju grešaka"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:157
#, fuzzy
msgid "Sync your notes"
msgstr "Razvrstaj bilješke po"
msgstr "Sinkroniziraj svoje bilješke"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:158
msgid "Publish notes to the internet"
msgstr ""
msgstr "Objavi blješke na internetu"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:159
#, fuzzy
msgid "Collaborate on notebooks with others"
msgstr "Prvo stvori bilježnicu"
msgstr "Surađuj s drugima na bilježnicama"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:182
msgid "Thank you! Your Joplin Cloud account is now setup and ready to use."
msgstr ""
"Hvala! Tvoj Joplin Cloud račun je sada postavljen i spreman za korištenje."
#: packages/app-desktop/gui/SyncWizard/Dialog.js:190
#, javascript-format
@@ -2638,30 +2626,34 @@ msgid ""
"\n"
"%s"
msgstr ""
"Dogodila se greška prilikom postavljanja tvog Joplin Cloud računa. Potvrdi "
"svoju e-mail adresu i lozinku te pokušaj ponovo. Greška je bila:\n"
"\n"
"%s"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:203
msgid "Login below."
msgstr ""
msgstr "Prijavi se ispod."
#: packages/app-desktop/gui/SyncWizard/Dialog.js:205
#, fuzzy
msgid "Or create an account."
msgstr "Stvara novu bilješku."
msgstr "Ili stvori novi račun."
#: packages/app-desktop/gui/SyncWizard/Dialog.js:210
msgid "Login"
msgstr ""
msgstr "Prijava"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:231
#, fuzzy
msgid "Select"
msgstr "Označi sve"
msgstr "Označi"
#: packages/app-desktop/gui/SyncWizard/Dialog.js:278
msgid ""
"Joplin can synchronise your notes using various providers. Select one from "
"the list below."
msgstr ""
"Joplin može sinkronizirati tvoje bilješke koristeći različite davatelje "
"usluga. Odaberi jednog iz donjeg popisa."
#: packages/app-desktop/gui/utils/NoteListUtils.js:42
msgid "Duplicate"
@@ -2878,7 +2870,7 @@ msgstr "Konfiguracija"
#: packages/app-mobile/components/screens/Note.js:100
msgid "This note has been modified:"
msgstr "Bilješka je promijenjena:"
msgstr "Ova je blješka promijenjena:"
#: packages/app-mobile/components/screens/Note.js:100
msgid "Save changes"
@@ -3122,6 +3114,9 @@ msgid ""
"Joplin's own sync service. Also gives access to Joplin-specific features "
"such as publishing notes or collaborating on notebooks with others."
msgstr ""
"Joplinova vlastita usluga sinkronizacije. Također daje pristup Joplinskim "
"funkcijama kao što su objavljivanje bilježaka ili suradnja na bilježnicama s "
"drugima."
#: packages/lib/SyncTargetJoplinServer.js:60
msgid "Joplin Server"
@@ -3133,7 +3128,7 @@ msgstr "Nextcloud"
#: packages/lib/SyncTargetNone.js:22
msgid "(None)"
msgstr ""
msgstr "(Ništa)"
#: packages/lib/SyncTargetOneDrive.js:32
msgid "OneDrive"
@@ -3218,7 +3213,7 @@ msgstr "Dešifrirani elementi: %s / %s"
#: packages/lib/components/EncryptionConfigScreen/utils.js:53
#, javascript-format
msgid "Encryption will be enabled using the master key created on %s"
msgstr ""
msgstr "Šifriranje će se aktivirati pomoću glavnog ključa stvorenog %s"
#: packages/lib/components/EncryptionConfigScreen/utils.js:65
msgid ""
@@ -3343,7 +3338,7 @@ msgstr "Izbrisati ove %d bilješke?"
#: packages/lib/models/Resource.js:354
msgid "Not downloaded"
msgstr "Nije preuzeto"
msgstr "Nepreuzeto"
#: packages/lib/models/Resource.js:356
msgid "Downloading"
@@ -3358,9 +3353,8 @@ msgid "Error"
msgstr "Greška"
#: packages/lib/models/Resource.js:408
#, fuzzy
msgid "Conflicts (attachments)"
msgstr "Privici bilješke"
msgstr "Konflikti (privici)"
#: packages/lib/models/Resource.js:422
#, javascript-format
@@ -3374,7 +3368,7 @@ msgid ""
"\n"
"%s"
msgstr ""
"Došlo je do konflikta [conflict](%s) s dolje navedenim privitkom.\n"
"Došlo je do [konflikta](%s) s dolje navedenim privitkom.\n"
"\n"
"%s"
@@ -3436,7 +3430,7 @@ msgstr "OLED tamna"
#: packages/lib/models/Setting.js:152
msgid "Open Sync Wizard..."
msgstr ""
msgstr "Otvori programčić za sinkronizaciju …"
#: packages/lib/models/Setting.js:162
msgid "Synchronisation target"
@@ -3524,8 +3518,8 @@ msgid ""
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
"Ručno: privici se preuzimaju samo kad ih pritisneš. Automatski: privici se "
"preuzimaju kad otvoriš bilješku. Uvijek: preuzimaju se svi privici, bez "
"Ručno: privici se preuzimaju samo kad ih pritisneš. Automatski: privici "
"se preuzimaju kad otvoriš bilješku. Uvijek: preuzimaju se svi privici, bez "
"obzira na to je li bilješku otvoriš ili ne."
#: packages/lib/models/Setting.js:413
@@ -3770,11 +3764,11 @@ msgstr ""
#: packages/lib/models/Setting.js:784
msgid "Editor maximum width"
msgstr ""
msgstr "Maksimala širina uređivača"
#: packages/lib/models/Setting.js:784
msgid "Set it to 0 to make it take the complete available space."
msgstr ""
msgstr "Postavi na 0 kako bi zauzeo cijeli raspoloživi prostor."
#: packages/lib/models/Setting.js:803
msgid "Custom stylesheet for rendered Markdown"
@@ -4361,9 +4355,9 @@ msgid "attachment"
msgstr "privitak"
#: packages/server/dist/models/UserModel.js:199
#, fuzzy, javascript-format
#, javascript-format
msgid "Cannot save %s \"%s\" because it is larger than the allowed limit (%s)"
msgstr "Nije moguće spremiti %s \"%s\" jer je veći od dozvoljene granice (%s)"
msgstr "Nije moguće spremiti %s %s\\” jer je veći od dozvoljene granice (%s)"
#: packages/server/dist/models/UserModel.js:208
#, javascript-format
@@ -4371,8 +4365,8 @@ msgid ""
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) "
"for this account"
msgstr ""
"Nije moguće spremiti %s \"%s\" jer bi se prekoračila dozvoljena veličina "
"(%s) za ovaj račun"
"Nije moguće spremiti %s „%s” jer bi se prekoračila ukupna dozvoljena "
"veličina (%s) za ovaj račun"
#, javascript-format
#~ msgid "%s %s (%s)"

View File

@@ -1,5 +1,16 @@
# Joplin Android app changelog
## [android-v2.5.3](https://github.com/laurent22/joplin/releases/tag/android-v2.5.3) (Pre-release) - 2021-10-28T21:47:18Z
- New: Add support for public-private key pairs and improved master password support (#5438)
- New: Added mechanism to migrate default settings to new values (72db8e4)
- Improved: Ensure that shared notebook children are not deleted when shared, unshared and shared again, and a conflict happens (ccf9882)
- Improved: Improve delete dialog message (#5481) (#4701 by Helmut K. C. Tessarek)
- Improved: Improved Joplin Server configuration check to better handle disabled accounts (72c1235)
- Improved: Improved handling of expired sessions when using Joplin Server (33249ca)
- Fixed: Certain attachments were not being automatically deleted (#932)
- Fixed: Fixed logic of setting master password in Encryption screen (#5585)
## [android-v2.4.3](https://github.com/laurent22/joplin/releases/tag/android-v2.4.3) - 2021-09-29T18:47:24Z
- Fixed: Fix default sync target (4b39d30)

View File

@@ -1,6 +1,10 @@
# Joplin Server Changelog
## [server-v2.5.7](https://github.com/laurent22/joplin/releases/tag/server-v2.5.7) - 2021-10-27T18:39:56Z
## [server-v2.5.9](https://github.com/laurent22/joplin/releases/tag/server-v2.5.9) - 2021-10-28T19:43:41Z
- Improved: Remove session expiration for now (4a2af32)
## [server-v2.5.8](https://github.com/laurent22/joplin/releases/tag/server-v2.5.8) - 2021-10-28T16:07:23Z
- New: Added item owner ID, and allow disabling db auto-migrations (b655f27)
- Fixed: Fixed Stripe portal page redirection (9ba90b5)

View File

@@ -65,6 +65,13 @@ When changing the WebDAV URL, make sure that the new location has the same exact
6. Synchronise to verify that everything is working.
7. Do step 5 and 6 for all the other Joplin clients you need to sync.
## I deleted some notes by accident and don't have a backup
If you know the `NOTE_ID` and have note history enabled you can run the command `restoreNoteRevision` from the command palette e.g. `restoreNoteRevision 66457326a6ba4adeb4be8ce05e37af0d`. Joplin will then confirm if the restore was successful and place the note in a "Restored Note" notebook.
If you do not know the `NOTE_ID` then you can find this within the Joplin sqlite database as the `item_id` within the `deleted_items` or `revisions` tables. It will require some manual checking of the `title_diff` and `body_diff` fields to check if the `ITEM/NOTE_ID` you are targeting is the correct one.
You should first take a copy of the database to avoid making any accidental changes in the live one.
For further information go [here](https://discourse.joplinapp.org/t/restoring-deleted-notes/21304).
## How can I easily enter Markdown tags in Android?
You may use a special keyboard such as [Multiling O Keyboard](https://play.google.com/store/apps/details?id=kl.ime.oh&hl=en), which has shortcuts to create Markdown tags. [More information in this post](https://discourse.joplinapp.org/t/android-create-new-list-item-with-enter/585/2?u=laurent).