diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6d1f7a8c7..e0aa863b6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -190,30 +190,6 @@ pages: services: - docker:stable-dind cache: {} - tags: - - "privileged" - -build-docker-main: - <<: *docker - rules: - - if: '$CI_PROJECT_NAMESPACE != "framasoft"' - when: never - - if: '$CI_PIPELINE_SOURCE == "schedule"' - before_script: - # Login to DockerHub - - mkdir -p ~/.docker - - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > ~/.docker/config.json - script: - - docker build -t framasoft/mobilizon:main -f docker/production/Dockerfile . - - docker push framasoft/mobilizon:main - -build-docker-tag: - <<: *docker - rules: &tag-rules - - if: '$CI_PROJECT_NAMESPACE != "framasoft"' - when: never - - if: $CI_COMMIT_TAG - timeout: 3 hours before_script: # Install buildx - wget https://github.com/docker/buildx/releases/download/v0.6.3/buildx-v0.6.3.linux-amd64 @@ -229,6 +205,25 @@ build-docker-tag: # Login to DockerHub - mkdir -p ~/.docker - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > ~/.docker/config.json + tags: + - "privileged" + +build-docker-main: + <<: *docker + rules: + - if: '$CI_PROJECT_NAMESPACE != "framasoft"' + when: never + - if: '$CI_PIPELINE_SOURCE == "schedule"' + script: + - docker buildx build --push --platform linux/amd64 -t framasoft/mobilizon:main -f docker/production/Dockerfile . + +build-docker-tag: + <<: *docker + rules: &tag-rules + - if: '$CI_PROJECT_NAMESPACE != "framasoft"' + when: never + - if: $CI_COMMIT_TAG + timeout: 3 hours script: - > docker buildx build diff --git a/CHANGELOG.md b/CHANGELOG.md index b8093ce3a..30d27bcd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,13 +15,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Make sure my group upcoming events are ordered by their start date - Fix event participants pagination - Always focus the search field after results have been fetched +- Don't sign fetches to instance actor when refreshing their keys +- Fix reject of already following instances - Added missing timezone data to the Docker image - Replace @tiptap/starter-kit with indidual extensions, removing unneeded extensions that caused issues on old Firefox versions - Better handling of Friendica Update activities without actor information - Always show pending/cancelled status on event cards +- Fixed nightly docker build +- Refresh loggeduser information before the final step of onboarding, avoiding loop when finishing onboarding +- Handle tz_world data being absent ### Translations +- Croatian (New !) - Czech - Gaelic - Hungarian diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile index 41d64d601..8c006ba5e 100644 --- a/docker/production/Dockerfile +++ b/docker/production/Dockerfile @@ -30,8 +30,7 @@ COPY rel ./rel COPY support ./support COPY --from=assets ./priv/static ./priv/static -RUN mix tz_world.update \ - && mix phx.digest.clean --all \ +RUN mix phx.digest.clean --all \ && mix release # Finally setup the app @@ -50,11 +49,13 @@ LABEL org.opencontainers.image.title="mobilizon" \ org.opencontainers.image.revision=$VCS_REF \ org.opencontainers.image.created=$BUILD_DATE -RUN apk add --no-cache openssl ca-certificates ncurses-libs file postgresql-client libgcc libstdc++ imagemagick python3 py3-pip py3-pillow py3-cffi py3-brotli gcc musl-dev python3-dev pango libxslt-dev +RUN apk add --no-cache curl openssl ca-certificates ncurses-libs file postgresql-client libgcc libstdc++ imagemagick python3 py3-pip py3-pillow py3-cffi py3-brotli gcc musl-dev python3-dev pango libxslt-dev RUN pip install weasyprint pyexcel-ods3 RUN mkdir -p /var/lib/mobilizon/uploads && chown nobody:nobody /var/lib/mobilizon/uploads -RUN mkdir -p /var/lib/mobilizon/timezones && chown nobody:nobody /var/lib/mobilizon/timezones +RUN mkdir -p /var/lib/mobilizon/timezones +RUN curl -L 'https://packages.joinmobilizon.org/tz_world/timezones-geodata.dets' -o /var/lib/mobilizon/timezones/timezones-geodata.dets +RUN chown nobody:nobody /var/lib/mobilizon/timezones RUN mkdir -p /etc/mobilizon && chown nobody:nobody /etc/mobilizon USER nobody diff --git a/js/src/components/NavBar.vue b/js/src/components/NavBar.vue index 8034e3f1c..e0bfbe69c 100644 --- a/js/src/components/NavBar.vue +++ b/js/src/components/NavBar.vue @@ -272,6 +272,11 @@ export default class NavBar extends Vue { // If we don't have any identities, the user has validated their account, // is logging for the first time but didn't create an identity somehow if (this.identities.length === 0) { + console.debug( + "We have no identities listed for current user", + this.identities + ); + console.debug("Pushing route to REGISTER_PROFILE"); try { await this.$router.push({ name: RouteName.REGISTER_PROFILE, diff --git a/js/src/views/Home.vue b/js/src/views/Home.vue index 7af4b9dcd..49a0eff56 100644 --- a/js/src/views/Home.vue +++ b/js/src/views/Home.vue @@ -406,7 +406,6 @@ import Subtitle from "../components/Utils/Subtitle.vue"; DateComponent, EventParticipationCard, MultiCard, - "settings-onboard": () => import("./User/SettingsOnboard.vue"), }, metaInfo() { return { @@ -569,7 +568,9 @@ export default class Home extends Vue { @Watch("loggedUser") detectEmptyUserSettings(loggedUser: IUser): void { + console.debug("Try to detect empty user settings", loggedUser); if (loggedUser?.id && loggedUser?.settings === null) { + console.debug("No user settings, pushing to onboarding assistant"); this.$router.push({ name: RouteName.WELCOME_SCREEN, params: { step: "1" }, diff --git a/js/src/views/User/SettingsOnboard.vue b/js/src/views/User/SettingsOnboard.vue index d0920768d..f5ef580b6 100644 --- a/js/src/views/User/SettingsOnboard.vue +++ b/js/src/views/User/SettingsOnboard.vue @@ -49,7 +49,8 @@