Merge branch 'main' into ben-updates

This commit is contained in:
Benjamin 2025-06-19 18:03:32 -04:00
commit b53f23b420
No known key found for this signature in database
GPG Key ID: E9469FAA8B44BB16
8 changed files with 25 additions and 36 deletions

View File

@ -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 cant 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

View File

@ -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!

View File

@ -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;
}
};
</script>

View File

@ -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: >
<strong>Frælsi</strong>
so at øll <em>sjálv kunnu gera av</em>
hvørji fornøvn tey føla lýsir teimum best.
respect: >
<strong>Virðing</strong>
so at fornøvnini hjá <em>onnur</em> eru vird.
freedom: '<strong>Frælsi</strong> so at øll <em>sjálv kunnu gera av</em> hvørji fornøvn tey føla lýsir tey best.'
respect: '<strong>Virðing</strong> so at fornøvnini hjá <em>ørðum</em> eru vird.'
inclusivity: >
<strong>Inklusjón</strong>
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 14inda 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'

View File

@ -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",

2
pnpm-lock.yaml generated
View File

@ -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

View File

@ -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<string> = 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) {

View File

@ -28,7 +28,7 @@ const fetchEvents = async (): Promise<MiastamaszerujaceEvent[]> => {
// manual fixes for irregular HTML
.replace(new RegExp('ref=newsfeed</a><br /><b>', 'g'), '</a></p><p><b>')
.replace(new RegExp('<span style="font-weight: 400;">(.*?)</span>', '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ą') ||