diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d465e38ba..acf099c9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,21 +37,11 @@ check: apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev -y fi script: - - start_section "Install Dependencies" - # temporarily replace FontAwesomePro dependency with its fake version as the CI can’t access it - # the name needs to be changed in both package.json and pnpm-lock.yaml - - 'sed -i "s/git+ssh:\/\/git@gitlab.com:Avris\/FontAwesomePro.git/git+https:\/\/gitlab.com\/Avris\/FakeFontAwesomePro.git/" package.json pnpm-lock.yaml' - # the referenced SHA needs to be additionally changed in pnpm-lock.yaml - - 'sed -i "s/git@gitlab.com+Avris\/FontAwesomePro\/f00db606f659dca78b143b7bcab5671b2cb459a8/gitlab.com\/Avris\/FakeFontAwesomePro\/0d322c775cbe9bf99da261700be30251291b51a8/" pnpm-lock.yaml' - - 'sed -i "s/resolution: {commit: f00db606f659dca78b143b7bcab5671b2cb459a8, repo: git@gitlab.com:Avris\/FontAwesomePro.git, type: git}/resolution: { tarball: https:\/\/gitlab.com\/api\/v4\/projects\/Avris%2FFakeFontAwesomePro\/repository\/archive.tar.gz?sha=0d322c775cbe9bf99da261700be30251291b51a8 }/" pnpm-lock.yaml' + - start_section "Install Dependencies & Setup Environment" + - echo "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com" > ~/.git-credentials + - git config --global credential.helper store - corepack enable pnpm - - pnpm install || record_failure - - end_section - - - start_section "Setup environment" - make install || record_failure - # revert the changes for the FontAwesomePro dependency only now because `make install` calls `pnpm install` - - git restore package.json pnpm-lock.yaml - end_section - start_section "Type checking" @@ -59,8 +49,7 @@ check: - end_section - start_section "Unit Tests" - - > - pnpm vitest --reporter=default --reporter=junit --outputFile=junit.xml --coverage || record_failure + - pnpm vitest --reporter=default --reporter=junit --outputFile=junit.xml --coverage || record_failure - end_section - start_section "Check linting rules" @@ -214,7 +203,10 @@ deploy test/purple: ENVIRONMENT_INSTANCE: 'purple' ENVIRONMENT_DOMAIN: 'test-purple.pronouns.page' -# include: -# - template: Security/Dependency-Scanning.gitlab-ci.yml -# -# Pending resolution of: https://gitlab.com/PronounsPage/PronounsPage/-/merge_requests/453#note_1911466136 +include: + - template: Jobs/Dependency-Scanning.gitlab-ci.yml + +variables: + AST_ENABLE_MR_PIPELINES: true + DS_EXCLUDED_ANALYZERS: gemnasium-python + DS_MAX_DEPTH: 4 diff --git a/README.md b/README.md index ccde2b433..680dcf670 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ We're using FontAwesome Pro, so to set up a local copy without having a FA licen open `package.json` and replace ``` -"@fortawesome/fontawesome-pro": "git+ssh://git@gitlab.com:Avris/FontAwesomePro.git", +"@fortawesome/fontawesome-pro": "https://gitlab.com/Avris/FontAwesomePro", ``` with @@ -26,7 +26,7 @@ with or, for Git via HTTPS: ``` -"@fortawesome/fontawesome-pro": "git+https://git@gitlab.com/Avris/FakeFontAwesomePro.git", +"@fortawesome/fontawesome-pro": "https://gitlab.com/Avris/FakeFontAwesomePro", ``` Do not commit that change! diff --git a/components/Dropdown.vue b/components/Dropdown.vue index 821b18ccd..2ee2d9651 100644 --- a/components/Dropdown.vue +++ b/components/Dropdown.vue @@ -16,8 +16,10 @@ onUnmounted(() => { document.removeEventListener('click', documentClicked); }); -const documentClicked = () => { - shown.value = false; +const documentClicked = (e: MouseEvent) => { + if (e.target && !(e.target as Element).closest('.dropdown') && shown.value) { + shown.value = false; + } }; diff --git a/locale/fo/translations.suml b/locale/fo/translations.suml index 5d01a5d5a..cc3ffc43c 100644 --- a/locale/fo/translations.suml +++ b/locale/fo/translations.suml @@ -53,13 +53,8 @@ home: mission: header: 'Okkara endamál' summary: 'Vit stríða fyri frælsi, virðing og inklusjón í máli.' - freedom: > - Frælsi - – so at øll sjálv kunnu gera av - hvørji fornøvn tey føla lýsir teimum best. - respect: > - Virðing - – so at fornøvnini hjá onnur eru vird. + freedom: 'Frælsi – so at øll sjálv kunnu gera av hvørji fornøvn tey føla lýsir tey best.' + respect: 'Virðing – so at fornøvnini hjá ørðum eru vird.' inclusivity: > Inklusjón – so at tá vit tosa um ein annan persón vit ikki kenna, @@ -2009,7 +2004,7 @@ calendar: 11: '%day%. novembur' 12: '%day%. desembur' events: - pride_month: 'Pride-mánaður' + pride_month: 'Heimspride-mánaður' trans_month: 'Altjóða mánað fyri tvørkynd tilvitan' zaimki_birthday: 'Føðingardagurin hjá Pronouns.page' agender_day: 'Agender pride-dagur' @@ -2039,7 +2034,7 @@ calendar: trans_parent_day___timeDescription: 'á fyrsta sunnudag í novembur' nonbinary_week: 'Tilvitingarvika um ikki-biner' nonbinary_week___timeDescription: 'í vikuni (man-sun) rundan um 14’inda july' - polyamory_day: 'Polyamory-Dagur' + polyamory_day: 'Fleiralskhuga-dagur' homophobia_sport: 'Altjóðadagur ímóti homofobi í ítrótti' gay_uncles_day: 'Dagur teirra samkyndu gubbar' gay_uncles_day___timeDescription: 'á næsta sunnudag í august' diff --git a/package.json b/package.json index d84116cef..760e6a9cb 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@aws-sdk/client-polly": "^3.525.0", "@aws-sdk/client-s3": "^3.525.0", "@floating-ui/vue": "^1.1.5", - "@fortawesome/fontawesome-pro": "git+ssh://git@gitlab.com:Avris/FontAwesomePro.git", + "@fortawesome/fontawesome-pro": "https://gitlab.com/Avris/FontAwesomePro", "@sentry/browser": "^7.109.0", "@sentry/cli": "^2.31.0", "@sentry/node": "^7.109.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f218089c..fbc78cd7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: specifier: ^1.1.5 version: 1.1.5(vue@3.5.16(typescript@5.8.3)) '@fortawesome/fontawesome-pro': - specifier: git+ssh://git@gitlab.com:Avris/FontAwesomePro.git + specifier: https://gitlab.com/Avris/FontAwesomePro version: git+https://git@gitlab.com:Avris/FontAwesomePro.git#f00db606f659dca78b143b7bcab5671b2cb459a8 '@sentry/browser': specifier: ^7.109.0 diff --git a/server/express/census.ts b/server/express/census.ts index 157f3c8ef..9621eb517 100644 --- a/server/express/census.ts +++ b/server/express/census.ts @@ -252,7 +252,7 @@ router.get('/census/export', handleErrorAsync(async (req, res) => { for (const question of config.census.questions!) { if (question.type === 'checkbox') { const answerForAggregate: Set = new Set(); - for (const [option, _comment] of [...question.options, ...(question.optionsLast || [])]) { + for (const [option, _comment] of [...(question.optionsFirst || []), ...question.options, ...(question.optionsLast || [])]) { const checked = (answers[i.toString()] || [] as string[]).includes(option); answer[`${i}_${option}`] = checked ? 1 : ''; if (checked) { diff --git a/server/miastamaszerujace.ts b/server/miastamaszerujace.ts index 867ebc4e6..b964103ed 100644 --- a/server/miastamaszerujace.ts +++ b/server/miastamaszerujace.ts @@ -28,7 +28,7 @@ const fetchEvents = async (): Promise => { // manual fixes for irregular HTML .replace(new RegExp('ref=newsfeed
', 'g'), '

') .replace(new RegExp('(.*?)', 'g'), '$1')); - const eventNodes = dom.window.document.querySelectorAll('[data-id="d4c3075"] p'); + const eventNodes = dom.window.document.querySelectorAll('[data-id="d4c3075"] p, [data-id="9cc25f4"] p'); for (const p of eventNodes) { if (p.textContent!.includes('Daty kolejnych') || p.textContent!.includes('Marsz organizowany przez grupę współpracującą') ||