diff --git a/.github/workflows/test_e2e.yml b/.github/workflows/test_e2e.yml index 590758248..bdf979bf9 100644 --- a/.github/workflows/test_e2e.yml +++ b/.github/workflows/test_e2e.yml @@ -23,6 +23,9 @@ jobs: cd .. docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend + - name: Boot up test system | docker-compose frontends + run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps frontend admin nginx + - name: Sleep for 10 seconds run: sleep 10s @@ -34,9 +37,6 @@ jobs: cd ../backend yarn && yarn seed - - name: Boot up test system | docker-compose frontends - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps frontend admin nginx - - name: Boot up test system | docker-compose mailserver run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mailserver diff --git a/CHANGELOG.md b/CHANGELOG.md index a84f8909c..5dfc8a529 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,64 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [2.4.1](https://github.com/gradido/gradido/compare/2.3.1...2.4.1) + +- feat(backend): auto register new user in humhub [`#3386`](https://github.com/gradido/gradido/pull/3386) +- feat(backend): try and catch user sync [`#3385`](https://github.com/gradido/gradido/pull/3385) +- feat(backend): increase initialien count [`#3369`](https://github.com/gradido/gradido/pull/3369) +- feat(frontend): monterail vue3 migration [`#3383`](https://github.com/gradido/gradido/pull/3383) +- fix(frontend): fix postmigration fix [`#3382`](https://github.com/gradido/gradido/pull/3382) +- feat(frontend): update text [`#3373`](https://github.com/gradido/gradido/pull/3373) +- feat(frontend): fix postmigration fix [`#3378`](https://github.com/gradido/gradido/pull/3378) +- feat(frontend): map feature in vue 3 [`#3376`](https://github.com/gradido/gradido/pull/3376) +- feat(frontend): links and emails in messages [`#3377`](https://github.com/gradido/gradido/pull/3377) +- feat(frontend): add transaction link in latest transactions [`#3375`](https://github.com/gradido/gradido/pull/3375) +- fix(frontend): fix logout issue [`#3374`](https://github.com/gradido/gradido/pull/3374) +- fix(frontend): post migration fixes [`#3372`](https://github.com/gradido/gradido/pull/3372) +- feat(frontend): vue3 migration [`#3365`](https://github.com/gradido/gradido/pull/3365) +- fix(frontend): fix index.html [`#3368`](https://github.com/gradido/gradido/pull/3368) +- build(frontend): merged code from master [`#3367`](https://github.com/gradido/gradido/pull/3367) +- fix(frontend): vue3 migration pre deploy setup [`#3366`](https://github.com/gradido/gradido/pull/3366) +- fix(workflow): fix broken tests [`#3363`](https://github.com/gradido/gradido/pull/3363) +- fix(frontend): style fixes, admin fix [`#3364`](https://github.com/gradido/gradido/pull/3364) +- fix(frontend): gdt test [`#3361`](https://github.com/gradido/gradido/pull/3361) +- fix(frontend): style fixes [`#3360`](https://github.com/gradido/gradido/pull/3360) +- fix(frontend): migration feedback fixes [`#3359`](https://github.com/gradido/gradido/pull/3359) +- fix(frontend): scss changes and fixes [`#3358`](https://github.com/gradido/gradido/pull/3358) +- fix(frontend): migration remaining fixes [`#3356`](https://github.com/gradido/gradido/pull/3356) +- fix(admin): fix message update [`#3354`](https://github.com/gradido/gradido/pull/3354) +- fix(admin): fix refetch data in edit creation form [`#3353`](https://github.com/gradido/gradido/pull/3353) +- fix(frontend): fix dropdown in transaction send and link [`#3352`](https://github.com/gradido/gradido/pull/3352) +- fix(frontend): fix newsletter state reactivity [`#3351`](https://github.com/gradido/gradido/pull/3351) +- fix(frontend): fix how community switch is handled [`#3350`](https://github.com/gradido/gradido/pull/3350) +- fix(frontend): fixed after merge [`#3349`](https://github.com/gradido/gradido/pull/3349) +- fix(frontend): fixed logout handler [`#3347`](https://github.com/gradido/gradido/pull/3347) +- chore(frontend): main js cleanup [`#3346`](https://github.com/gradido/gradido/pull/3346) +- feature(frontend): change env config reading [`#3345`](https://github.com/gradido/gradido/pull/3345) +- feature(frontend): bump node in FE .nvmrc [`#3344`](https://github.com/gradido/gradido/pull/3344) +- feat(frontend): migration setup [`#3342`](https://github.com/gradido/gradido/pull/3342) +- fix(admin): Remove "maxAmountPerMonth" from `createContributionLink` gql. [`#3343`](https://github.com/gradido/gradido/pull/3343) +- fix(admin): style fixes [`#3339`](https://github.com/gradido/gradido/pull/3339) +- fix(admin): creation tab disappearing after creating creation [`#3338`](https://github.com/gradido/gradido/pull/3338) +- fix(frontend): show updated gdd amount [`#3337`](https://github.com/gradido/gradido/pull/3337) +- feat(admin): Add remaining fixes [`#3336`](https://github.com/gradido/gradido/pull/3336) +- feat(admin): fix edit creation form [`#3334`](https://github.com/gradido/gradido/pull/3334) +- feat(admin): migration of admin creation components [`#3333`](https://github.com/gradido/gradido/pull/3333) +- feat(admin): automatic contributions updates [`#3332`](https://github.com/gradido/gradido/pull/3332) +- feat(admin): vite config changes [`#3331`](https://github.com/gradido/gradido/pull/3331) +- feat(admin) - fix import in node server [`#3330`](https://github.com/gradido/gradido/pull/3330) +- fix(admin): stylelint fix [`#3329`](https://github.com/gradido/gradido/pull/3329) +- feat(admin): setup migration environment [`#3328`](https://github.com/gradido/gradido/pull/3328) +- fix(admin): fix contribution link [`#3326`](https://github.com/gradido/gradido/pull/3326) +- feat(admin): geo-coordinates for community [`#3323`](https://github.com/gradido/gradido/pull/3323) +- feat(backend): speedup listTransactions [`#3324`](https://github.com/gradido/gradido/pull/3324) +- fix(frontend): link forwarding after using send with url parameters [`#3322`](https://github.com/gradido/gradido/pull/3322) + #### [2.3.1](https://github.com/gradido/gradido/compare/2.3.0...2.3.1) +> 11 June 2024 + +- chore(release): v2.3.1 beta [`#3321`](https://github.com/gradido/gradido/pull/3321) - feat(frontend): more compatible humhub auto-login link [`#3319`](https://github.com/gradido/gradido/pull/3319) - fix(backend): fix test which will only fail at 31. of month, or 30.05 [`#3320`](https://github.com/gradido/gradido/pull/3320) - feat(frontend): remove automatically logged out message [`#3318`](https://github.com/gradido/gradido/pull/3318) diff --git a/admin/package.json b/admin/package.json index a204a0fda..b3543f07e 100644 --- a/admin/package.json +++ b/admin/package.json @@ -3,7 +3,7 @@ "description": "Administration Interface for Gradido", "main": "index.js", "author": "Moriz Wahl", - "version": "2.3.1", + "version": "2.4.1", "license": "Apache-2.0", "scripts": { "start": "node run/server.js", diff --git a/backend/package.json b/backend/package.json index cd01d69d4..db89dfbe7 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "gradido-backend", - "version": "2.3.1", + "version": "2.4.1", "description": "Gradido unified backend providing an API-Service for Gradido Transactions", "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/backend", diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index 83ee8f64e..c0a707577 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -185,7 +185,7 @@ describe('UserResolver', () => { communityUuid: homeCom.communityUuid, foreign: false, gmsAllowed: true, - humhubAllowed: false, + humhubAllowed: true, gmsPublishName: 0, humhubPublishName: 0, gmsPublishLocation: 2, diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index e31dc4867..0302c7860 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -316,6 +316,8 @@ export class UserResolver { dbUser.firstName = firstName dbUser.lastName = lastName dbUser.language = language + // enable humhub from now on for new user + dbUser.humhubAllowed = true if (alias && (await validateAlias(alias))) { dbUser.alias = alias } @@ -386,6 +388,9 @@ export class UserResolver { await queryRunner.release() } logger.info('createUser() successful...') + if (CONFIG.HUMHUB_ACTIVE) { + void syncHumhub(null, dbUser) + } if (redeemCode) { eventRegisterRedeem.affectedUser = dbUser @@ -686,17 +691,25 @@ export class UserResolver { await EVENT_USER_INFO_UPDATE(user) // validate if user settings are changed with relevance to update gms-user - if (CONFIG.GMS_ACTIVE && updateUserInGMS) { - logger.debug(`changed user-settings relevant for gms-user update...`) - const homeCom = await getHomeCommunity() - if (homeCom.gmsApiKey !== null) { - logger.debug(`gms-user update...`, user) - await updateGmsUser(homeCom.gmsApiKey, new GmsUser(user)) - logger.debug(`gms-user update successfully.`) + try { + if (CONFIG.GMS_ACTIVE && updateUserInGMS) { + logger.debug(`changed user-settings relevant for gms-user update...`) + const homeCom = await getHomeCommunity() + if (homeCom.gmsApiKey !== null) { + logger.debug(`gms-user update...`, user) + await updateGmsUser(homeCom.gmsApiKey, new GmsUser(user)) + logger.debug(`gms-user update successfully.`) + } } + } catch (e) { + logger.error('error sync user with gms', e) } - if (CONFIG.HUMHUB_ACTIVE) { - await syncHumhub(updateUserInfosArgs, user) + try { + if (CONFIG.HUMHUB_ACTIVE) { + await syncHumhub(updateUserInfosArgs, user) + } + } catch (e) { + logger.error('error sync user with humhub', e) } return true @@ -736,7 +749,8 @@ export class UserResolver { if (!humhubClient) { throw new LogError('cannot create humhub client') } - const username = dbUser.alias ?? dbUser.gradidoID + const userNameLogic = new PublishNameLogic(dbUser) + const username = userNameLogic.getUsername(dbUser.humhubPublishName as PublishNameType) let humhubUser = await humhubClient.userByUsername(username) if (!humhubUser) { humhubUser = await humhubClient.userByEmail(dbUser.emailContact.email) diff --git a/backend/src/graphql/resolver/util/syncHumhub.ts b/backend/src/graphql/resolver/util/syncHumhub.ts index 426f89c92..c229df655 100644 --- a/backend/src/graphql/resolver/util/syncHumhub.ts +++ b/backend/src/graphql/resolver/util/syncHumhub.ts @@ -7,11 +7,12 @@ import { UpdateUserInfosArgs } from '@/graphql/arg/UpdateUserInfosArgs' import { backendLogger as logger } from '@/server/logger' export async function syncHumhub( - updateUserInfosArg: UpdateUserInfosArgs, + updateUserInfosArg: UpdateUserInfosArgs | null, user: User, ): Promise { // check for humhub relevant changes if ( + updateUserInfosArg && updateUserInfosArg.alias === undefined && updateUserInfosArg.firstName === undefined && updateUserInfosArg.lastName === undefined && diff --git a/database/package.json b/database/package.json index 50a489934..dc9bd39c4 100644 --- a/database/package.json +++ b/database/package.json @@ -1,6 +1,6 @@ { "name": "gradido-database", - "version": "2.3.1", + "version": "2.4.1", "description": "Gradido Database Tool to execute database migrations", "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/database", diff --git a/dht-node/package.json b/dht-node/package.json index 67c24dd9e..4c6868784 100644 --- a/dht-node/package.json +++ b/dht-node/package.json @@ -1,6 +1,6 @@ { "name": "gradido-dht-node", - "version": "2.3.1", + "version": "2.4.1", "description": "Gradido dht-node module", "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/", diff --git a/dlt-connector/package.json b/dlt-connector/package.json index 3e576b48d..0ed9aa89e 100644 --- a/dlt-connector/package.json +++ b/dlt-connector/package.json @@ -1,6 +1,6 @@ { "name": "gradido-dlt-connector", - "version": "2.3.1", + "version": "2.4.1", "description": "Gradido DLT-Connector", "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/", diff --git a/e2e-tests/cypress.config.ts b/e2e-tests/cypress.config.ts index fd6caa069..3251f379c 100644 --- a/e2e-tests/cypress.config.ts +++ b/e2e-tests/cypress.config.ts @@ -35,7 +35,7 @@ export default defineConfig({ excludeSpecPattern: '*.js', baseUrl: 'http://localhost:3000', chromeWebSecurity: false, - defaultCommandTimeout: 10000, + defaultCommandTimeout: 100000, supportFile: 'cypress/support/index.ts', viewportHeight: 720, viewportWidth: 1280, diff --git a/federation/package.json b/federation/package.json index 151777054..ecf2d2d50 100644 --- a/federation/package.json +++ b/federation/package.json @@ -1,6 +1,6 @@ { "name": "gradido-federation", - "version": "2.3.1", + "version": "2.4.1", "description": "Gradido federation module providing Gradido-Hub-Federation and versioned API for inter community communication", "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/federation", diff --git a/frontend/package.json b/frontend/package.json index f488026bd..5aeb01cce 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap-vue-gradido-wallet", - "version": "2.3.1", + "version": "2.4.1", "private": true, "scripts": { "start": "node run/server.js", diff --git a/frontend/src/components/Contributions/ContributionForm.vue b/frontend/src/components/Contributions/ContributionForm.vue index 4a44e03b7..5612ae14b 100644 --- a/frontend/src/components/Contributions/ContributionForm.vue +++ b/frontend/src/components/Contributions/ContributionForm.vue @@ -19,7 +19,7 @@ required :no-flip="true" type="date" - @update:model-value="date = $event" + @update:model-value="handleDateChange" > @@ -128,6 +128,11 @@ const [date, dateProps] = defineField('date') const { meta: dataFieldMeta } = useField('date', 'required') +const handleDateChange = (newDate) => { + date.value = newDate + emit('update:model-value', { ...props.modelValue, date: newDate }) +} + const showMessage = computed(() => { if (props.maxGddThisMonth <= 0 && props.maxGddLastMonth <= 0) return true if (props.modelValue.date) diff --git a/frontend/src/pages/Community.vue b/frontend/src/pages/Community.vue index 064aee33c..f850ccb4e 100644 --- a/frontend/src/pages/Community.vue +++ b/frontend/src/pages/Community.vue @@ -11,7 +11,7 @@