diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6d1f7a8c..e0aa863b 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 b8093ce3..30d27bcd 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 41d64d60..8c006ba5 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 8034e3f1..e0bfbe69 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 7af4b9dc..49a0eff5 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 d0920768..f5ef580b 100644
--- a/js/src/views/User/SettingsOnboard.vue
+++ b/js/src/views/User/SettingsOnboard.vue
@@ -49,7 +49,8 @@