diff --git a/CHANGELOG b/CHANGELOG
index b96d6779..68b45f36 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,11 @@
All notable changes to this project will be documented in this file.
+### 1.6.4 - 22 feb '23
+ - add missing i18n during setup
+ - really fix #232
+ - downgrade mariadb as sequelize is not ready yet
+ - location saving not working when geocoding is disabled, fix #238
+
### 1.6.3 - 17 feb '23
- visitors could now choose to view images or not / dark theme or not
- i18n refactoring, locale loaders, custom strings, fix #231
diff --git a/docs/changelog.md b/docs/changelog.md
index e8b581d9..879be9ec 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -7,6 +7,13 @@ nav_order: 10
All notable changes to this project will be documented in this file.
+
+### 1.6.4 - 22 feb '23
+ - add missing i18n during setup
+ - really fix #232
+ - downgrade mariadb as sequelize is not ready yet
+ - location saving not working when geocoding is disabled, fix #238
+
### 1.6.3 - 17 feb '23
- visitors could now choose to view images or not / dark theme or not
- i18n refactoring, locale loaders, custom strings, fix #231
diff --git a/locales/ca.json b/locales/ca.json
index 49f027dc..d46513c7 100644
--- a/locales/ca.json
+++ b/locales/ca.json
@@ -183,7 +183,8 @@
"alt_text_description": "Descripció per a persones amb discapacitat visual",
"choose_focal_point": "Tria el punt focal",
"address_description": "Quina és l'adreça completa del lloc?",
- "address_description_osm": "Quina és l'adreça completa del lloc? (gràcies a la comunitat d'OpenStreetMap)"
+ "address_description_osm": "Quina és l'adreça completa del lloc? (gràcies a la comunitat d'OpenStreetMap)",
+ "show_multidate": "activitats de més d'un dia"
},
"admin": {
"place_description": "En el cas que un lloc és incorrecte o l'adreça ha de canviar, pots arreglar-ho.
Tingues en compte que totes les activitats passades i futures associades amb aquest lloc també canviaran d'adreça.",
diff --git a/package.json b/package.json
index cbb0c222..9bea6a2f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gancio",
- "version": "1.6.3",
+ "version": "1.6.4",
"description": "A shared agenda for local communities",
"author": "lesion",
"scripts": {
@@ -61,7 +61,7 @@
"linkify-html": "^4.0.2",
"linkifyjs": "4.1.0",
"lodash": "^4.17.21",
- "mariadb": "^3.1.0",
+ "mariadb": "^2.5.6",
"memory-cache": "^0.2.0",
"microformat-node": "^2.0.1",
"minify-css-string": "^1.0.0",
diff --git a/pages/add/_edit.vue b/pages/add/_edit.vue
index 58ea5af7..a9368efc 100644
--- a/pages/add/_edit.vue
+++ b/pages/add/_edit.vue
@@ -74,7 +74,6 @@ import dayjs from 'dayjs'
import { mdiFileImport, mdiFormatTitle, mdiTagMultiple, mdiCloseCircle } from '@mdi/js'
-import List from '@/components/List'
import Editor from '@/components/Editor'
import ImportDialog from '@/components/ImportDialog'
import MediaInput from '@/components/MediaInput'
@@ -84,7 +83,6 @@ import DateInput from '@/components/DateInput'
export default {
name: 'NewEvent',
components: {
- List,
Editor,
ImportDialog,
MediaInput,
@@ -125,9 +123,6 @@ export default {
data.event.place.name = event.place.name
data.event.place.address = event.place.address || ''
- data.event.place.latitude = event.place.latitude || ''
- data.event.place.longitude = event.place.longitude || ''
- data.event.online_locations = event.online_locations || []
const from = dayjs.unix(event.start_datetime).tz()
const due = event.end_datetime && dayjs.unix(event.end_datetime).tz()
data.date = {
@@ -157,7 +152,6 @@ export default {
openImportDialog: false,
event: {
place: { name: '', address: '', latitude: null, longitude: null },
- online_locations: [],
title: '',
description: '',
tags: [],
@@ -165,7 +159,6 @@ export default {
},
tags: [],
page: { month, year },
- fileList: [],
id: null,
date: { from: null, due: null, recurrent: null },
edit: false,
@@ -252,12 +245,12 @@ export default {
formData.append('description', this.event.description)
formData.append('multidate', !!this.date.multidate)
let [hour, minute] = this.date.fromHour.split(':')
- formData.append('start_datetime', dayjs(this.date.from).hour(Number(hour)).minute(Number(minute)).second(0).tz().unix())
+ formData.append('start_datetime', dayjs(this.date.from).tz().hour(Number(hour)).minute(Number(minute)).second(0).unix())
if (this.date.dueHour) {
[hour, minute] = this.date.dueHour.split(':')
- formData.append('end_datetime', dayjs(this.date.due).hour(Number(hour)).minute(Number(minute)).second(0).tz().unix())
+ formData.append('end_datetime', dayjs(this.date.due).tz().hour(Number(hour)).minute(Number(minute)).second(0).unix())
} else if (!!this.date.multidate) {
- formData.append('end_datetime', dayjs(this.date.due).hour(24).minute(0).second(0).tz().unix())
+ formData.append('end_datetime', dayjs(this.date.due).tz().hour(24).minute(0).second(0).unix())
}
if (this.edit) {
diff --git a/pages/setup/_db.vue b/pages/setup/_db.vue
index 0fdc6616..4db91804 100644
--- a/pages/setup/_db.vue
+++ b/pages/setup/_db.vue
@@ -1,6 +1,8 @@
v-container.pa-6
h2.mb-2.text-center Gancio Setup
+ v-select(label='Select your language' single-line :items='$i18n.locales' item-text='name' item-value='code' @change='e => $i18n.setLocale(e)')
+
v-stepper.grey.lighten-5(v-model='step')
v-stepper-header
v-stepper-step(v-show='!dbdone' :complete='step > 1' step='1') Database
diff --git a/server/api/controller/event.js b/server/api/controller/event.js
index 0d41503f..13c5d658 100644
--- a/server/api/controller/event.js
+++ b/server/api/controller/event.js
@@ -390,6 +390,7 @@ const eventController = {
return res.status(400).send(`Place not found`)
}
} catch (e) {
+ log.error(e.message)
return res.status(400).send(e.message)
}
diff --git a/server/api/index.js b/server/api/index.js
index 559aa9b5..8d1eeb82 100644
--- a/server/api/index.js
+++ b/server/api/index.js
@@ -43,6 +43,7 @@ module.exports = () => {
api.post('/setup/db', setupController.setupDb)
api.post('/setup/restart', setupController.restart)
api.post('/settings/smtp', settingsController.testSMTP)
+ api.get('/locale/:locale', localeController.get)
} else {
diff --git a/server/api/limiter.js b/server/api/limiter.js
index 67eddd5b..f888bed5 100644
--- a/server/api/limiter.js
+++ b/server/api/limiter.js
@@ -7,11 +7,11 @@ const instanceApiRateLimiter = {
DDOSProtectionApiRateLimiter: (process.env.NODE_ENV === 'test' ? next : rateLimit({
windowMs: 60 * 1000, // 1 minutes
- max: 100, // Limit each IP to 100 requests per `window`
+ max: 150, // Limit each IP to 150 requests per `window`
standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
legacyHeaders: false, // Disable the `X-RateLimit-*` headers
handler: (request, response, next, options) => {
- log.warn(`DDOS protection api rate limiter: > 100req/minute/ip ${request.ip}`)
+ log.warn(`DDOS protection api rate limiter: > 150req/minute/ip ${request.ip}`)
return response.status(options.statusCode).send(options.message)
}
})),
diff --git a/yarn.lock b/yarn.lock
index ed69dc82..4063a822 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2216,7 +2216,7 @@
dependencies:
"@types/ms" "*"
-"@types/geojson@^7946.0.10":
+"@types/geojson@^7946.0.8":
version "7946.0.10"
resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249"
integrity sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==
@@ -2289,7 +2289,7 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==
-"@types/node@^17.0.45":
+"@types/node@^17.0.10":
version "17.0.45"
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190"
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
@@ -4718,7 +4718,7 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-denque@^2.0.1, denque@^2.1.0:
+denque@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1"
integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==
@@ -7886,6 +7886,11 @@ long@^4.0.0:
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+long@^5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f"
+ integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==
+
lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
@@ -7928,11 +7933,6 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-lru-cache@^7.14.0:
- version "7.14.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea"
- integrity sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==
-
lru-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
@@ -8032,16 +8032,18 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
-mariadb@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-3.1.0.tgz#7d683dabd83d2521303257a14062df25f9a88fbc"
- integrity sha512-OyWbm90bX6gsEuJjD8rLrkBXYt3BR/xc6mQfFibZmmzSw938S5EZzullW5gbVZKRZwbZGxihfszxjCETWid45Q==
+mariadb@^2.5.6:
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.6.tgz#7314e9287cdba212831ebf16ef3b34dc6a1f0f06"
+ integrity sha512-zBx7loYY5GzLl8Y6AKxGXfY9DUYIIdGrmEORPOK9FEu0pg5ZLBKCGJuucHwKADxTBxKY7eM4rxndqxRcnMZKIw==
dependencies:
- "@types/geojson" "^7946.0.10"
- "@types/node" "^17.0.45"
- denque "^2.1.0"
+ "@types/geojson" "^7946.0.8"
+ "@types/node" "^17.0.10"
+ denque "^2.0.1"
iconv-lite "^0.6.3"
- lru-cache "^7.14.0"
+ long "^5.2.0"
+ moment-timezone "^0.5.34"
+ please-upgrade-node "^3.2.0"
math-interval-parser@^2.0.1:
version "2.0.1"
@@ -9427,6 +9429,13 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
+please-upgrade-node@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
+ dependencies:
+ semver-compare "^1.0.0"
+
pnp-webpack-plugin@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9"
@@ -10989,6 +10998,11 @@ selderee@^0.6.0:
dependencies:
parseley "^0.7.0"
+semver-compare@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+ integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==
+
semver@^5.4.1, semver@^5.5.0, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"