diff --git a/.github/workflows/check-translations.yml b/.github/workflows/lint.yml
similarity index 65%
rename from .github/workflows/check-translations.yml
rename to .github/workflows/lint.yml
index 364328e90..c0976139a 100644
--- a/.github/workflows/check-translations.yml
+++ b/.github/workflows/lint.yml
@@ -1,6 +1,6 @@
-# This workflow runs the tools/check-translations.js script to make sure that the translation data is valid.
+# Lint PRs and pushes to the main branch
-name: Check Translations
+name: Lint
env:
NODE_VERSION: 21.x
@@ -13,7 +13,7 @@ on:
branches: [ "main" ]
jobs:
- test:
+ build:
runs-on: ubuntu-latest
steps:
@@ -24,5 +24,10 @@ jobs:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: ./package-lock.json
- - run: npm ci
- - run: npm run check-translations
\ No newline at end of file
+ - name: Install dependencies
+ run: npm ci
+ - name: Run ESLint
+ run: npx eslint
+ - name: Check translations
+ if: '!cancelled()'
+ run: npm run check-translations
diff --git a/packages/backend/src/routers/kvstore/clearItems.js b/packages/backend/src/routers/kvstore/clearItems.js
index 6390148a8..6a8958674 100644
--- a/packages/backend/src/routers/kvstore/clearItems.js
+++ b/packages/backend/src/routers/kvstore/clearItems.js
@@ -38,6 +38,8 @@ module.exports = eggspress('/clearItems', {
}
const svc_mysql = req.services.get('mysql');
+ // TODO: Check if used anywhere, maybe remove
+ // eslint-disable-next-line no-undef
const dbrw = svc_mysql.get(DB_MODE_WRITE, 'kvstore-clearItems');
await dbrw.execute(
`DELETE FROM kv WHERE user_id=? AND app=?`,
diff --git a/packages/backend/src/routers/whoami.js b/packages/backend/src/routers/whoami.js
index 2c267a2a8..fe6bf9121 100644
--- a/packages/backend/src/routers/whoami.js
+++ b/packages/backend/src/routers/whoami.js
@@ -101,6 +101,8 @@ WHOAMI_POST.post('/whoami', auth, fs, express.json(), async (req, response, next
if(req.query.return_desktop_items === 1 || req.query.return_desktop_items === '1' || req.query.return_desktop_items === 'true'){
// by cached desktop id
if(req.user.desktop_id){
+ // TODO: Check if used anywhere, maybe remove
+ // eslint-disable-next-line no-undef
desktop_items = await db.read(
`SELECT * FROM fsentries
WHERE user_id = ? AND parent_uid = ?`,
diff --git a/src/UI/Settings/UITabSecurity.js b/src/UI/Settings/UITabSecurity.js
index 65ccf5b48..7514b9ce7 100644
--- a/src/UI/Settings/UITabSecurity.js
+++ b/src/UI/Settings/UITabSecurity.js
@@ -8,6 +8,7 @@ export default {
icon: 'shield.svg',
html: () => {
let h = `
${i18n('security')}
`;
+ let user = window.user;
// change password button
if(!user.is_temp){
@@ -84,7 +85,7 @@ export default {
]
})
if ( ! alert_resp ) return;
- const resp = await fetch(`${api_origin}/auth/configure-2fa/disable`, {
+ const resp = await fetch(`${window.api_origin}/auth/configure-2fa/disable`, {
method: 'POST',
headers: {
Authorization: `Bearer ${puter.authToken}`,
diff --git a/src/UI/UIWindow2FASetup.js b/src/UI/UIWindow2FASetup.js
index b76fafd95..d574f8d30 100644
--- a/src/UI/UIWindow2FASetup.js
+++ b/src/UI/UIWindow2FASetup.js
@@ -36,7 +36,7 @@ import UIComponentWindow from "./UIComponentWindow.js";
const UIWindow2FASetup = async function UIWindow2FASetup () {
// FIRST REQUEST :: Generate the QR code and recovery codes
- const resp = await fetch(`${api_origin}/auth/configure-2fa/setup`, {
+ const resp = await fetch(`${window.api_origin}/auth/configure-2fa/setup`, {
method: 'POST',
headers: {
Authorization: `Bearer ${puter.authToken}`,
@@ -48,7 +48,7 @@ const UIWindow2FASetup = async function UIWindow2FASetup () {
// SECOND REQUEST :: Verify the code [first wizard screen]
const check_code_ = async function check_code_ (value) {
- const resp = await fetch(`${api_origin}/auth/configure-2fa/test`, {
+ const resp = await fetch(`${window.api_origin}/auth/configure-2fa/test`, {
method: 'POST',
headers: {
Authorization: `Bearer ${puter.authToken}`,
@@ -66,7 +66,7 @@ const UIWindow2FASetup = async function UIWindow2FASetup () {
// FINAL REQUEST :: Enable 2FA [second wizard screen]
const enable_2fa_ = async function check_code_ (value) {
- const resp = await fetch(`${api_origin}/auth/configure-2fa/enable`, {
+ const resp = await fetch(`${window.api_origin}/auth/configure-2fa/enable`, {
method: 'POST',
headers: {
Authorization: `Bearer ${puter.authToken}`,
diff --git a/src/UI/UIWindowLogin.js b/src/UI/UIWindowLogin.js
index 6c1ca26c2..0885577a4 100644
--- a/src/UI/UIWindowLogin.js
+++ b/src/UI/UIWindowLogin.js
@@ -199,7 +199,7 @@ async function UIWindowLogin(options){
let error_i18n_key = 'something_went_wrong';
if ( ! value ) return;
try {
- const resp = await fetch(`${api_origin}/login/otp`, {
+ const resp = await fetch(`${window.api_origin}/login/otp`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -268,7 +268,7 @@ async function UIWindowLogin(options){
let error_i18n_key = 'something_went_wrong';
if ( ! value ) return;
try {
- const resp = await fetch(`${api_origin}/login/recovery-code`, {
+ const resp = await fetch(`${window.api_origin}/login/recovery-code`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
diff --git a/src/i18n/translations/ru.js b/src/i18n/translations/ru.js
index ef186cd17..53e7effcd 100644
--- a/src/i18n/translations/ru.js
+++ b/src/i18n/translations/ru.js
@@ -177,7 +177,7 @@ const ru = {
properties: "Свойства",
publish: "Опубликовать",
publish_as_website: 'Опубликовать как сайт',
- puter_description: `Puter — это персональное облако, обеспечивающее конфиденциальность, позволяющее хранить все ваши файлы, приложения и игры в одном безопасном месте, доступном из любого места в любое время.`,
+ puter_description: `Puter — это персональное облако, обеспечивающее конфиденциальность, позволяющее хранить все ваши файлы, приложения и игры в одном безопасном месте, доступном из любого места в любое время.`,
recent: "Недавний",
recover_password: "Восстановить Пароль",
refer_friends_c2a: "Получите 1 ГБ за каждого друга, который создаст и подтвердит учетную запись на Puter. Ваш друг тоже получит 1 ГБ!",