diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 1d2aef77e..595c9d584 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,25 +1,9 @@
---
-name: π Bug report
-about: Create a report to help us improve
+name: π Bug Report
+about: Create a report to help us to improve.
labels: bug
title: π [Bug]
---
-## :bug: Bugreport
+## :bug: Bug Report
-
-### Steps to reproduce the behavior
-1.
-2.
-3.
-4. ...
-5. Profit
-
-### Expected behavior
-
-
-### Version & Environment
-
-
-### Additional context
-
diff --git a/.github/ISSUE_TEMPLATE/devops_ticket.md b/.github/ISSUE_TEMPLATE/devops_ticket.md
index 77355d1cf..115664911 100644
--- a/.github/ISSUE_TEMPLATE/devops_ticket.md
+++ b/.github/ISSUE_TEMPLATE/devops_ticket.md
@@ -1,24 +1,9 @@
---
-name: π₯ DevOps ticket
-about: Help us manage our deployed App.
+name: π₯ DevOps Ticket
+about: Help us manage our deployed app.
labels: devops
title: π₯ [DevOps]
---
-## π₯ DevOps ticket
+## π₯ DevOps Ticket
-
-### Motive
-
-
-### Related issues
-
-
-### Implementation
-
-
-### Validation
-
-
-### Additional context
-
diff --git a/.github/ISSUE_TEMPLATE/epic.md b/.github/ISSUE_TEMPLATE/epic.md
new file mode 100644
index 000000000..cf72cd673
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/epic.md
@@ -0,0 +1,12 @@
+---
+name: π Epic
+about: Define a big development step.
+labels: epic
+title: π [EPIC]
+---
+
+
+
+## π EPIC
+
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index ef3b30be2..beae80901 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,24 +1,9 @@
---
-name: π Feature request
-about: Suggest an idea for this project
+name: π Feature Request
+about: Suggest an idea for this project.
labels: feature
title: π [Feature]
---
-## :rocket: Feature
+## :rocket: Feature Request
-
-### User Problem
-
-
-### Implementation
-
-
-### Design & Layout
-
-
-### Validation
-
-
-### Additional context
-
diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md
index aabbc0f0a..40e6e381b 100644
--- a/.github/ISSUE_TEMPLATE/question.md
+++ b/.github/ISSUE_TEMPLATE/question.md
@@ -1,12 +1,12 @@
---
name: π¬ Question
-about: If you need help understanding HumanConnection.
+about: If you need help understanding ocelot.social.
labels: question
title: π¬ [Question]
---
-
-
+
+
-## :speech_balloon: Question
+## π¬ Question
diff --git a/.github/ISSUE_TEMPLATE/refactor_tickets.md b/.github/ISSUE_TEMPLATE/refactor_tickets.md
index b595abd5d..d1841e35e 100644
--- a/.github/ISSUE_TEMPLATE/refactor_tickets.md
+++ b/.github/ISSUE_TEMPLATE/refactor_tickets.md
@@ -1,21 +1,10 @@
---
-name: π§ Refactor ticket
+name: π§ Refactor
about: Help us improve our code by refactoring it.
labels: refactor
title: π§ [Refactor]
---
-## :zap: Refactor ticket
+## π§ Refactor
-### Motive
-
-
-### Related issues
-
-
-### Implementation
-
-
-### Additional context
-
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 000000000..c5433c921
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,179 @@
+version: 2
+updates:
+- package-ecosystem: npm
+ directory: "/"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: cypress
+ versions:
+ - 6.3.0
+ - 6.4.0
+ - 6.5.0
+ - 6.6.0
+ - 6.7.1
+ - 6.8.0
+ - 7.0.0
+ - 7.0.1
+ - 7.1.0
+ - dependency-name: cypress-cucumber-preprocessor
+ versions:
+ - 4.0.0
+ - 4.0.1
+ - 4.0.3
+ - dependency-name: date-fns
+ versions:
+ - 2.16.1
+ - 2.17.0
+ - 2.18.0
+ - 2.19.0
+ - 2.20.0
+ - 2.20.1
+ - 2.20.2
+ - 2.20.3
+ - 2.21.0
+ - dependency-name: cypress-file-upload
+ versions:
+ - 5.0.2
+ - 5.0.3
+ - 5.0.4
+ - 5.0.5
+ - dependency-name: neo4j-driver
+ versions:
+ - 4.2.2
+- package-ecosystem: npm
+ directory: "/backend"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: y18n
+ versions:
+ - 4.0.1
+ - 4.0.2
+ - dependency-name: metascraper-publisher
+ versions:
+ - 5.16.16
+ - 5.18.1
+ - 5.18.12
+ - 5.18.2
+ - 5.18.4
+ - 5.18.5
+ - 5.18.6
+ - 5.18.9
+ - 5.20.0
+ - 5.21.0
+ - 5.21.2
+ - 5.21.3
+ - 5.21.4
+ - 5.21.5
+ - dependency-name: metascraper-author
+ versions:
+ - 5.16.16
+ - 5.18.1
+ - 5.18.12
+ - 5.18.2
+ - 5.18.4
+ - 5.18.5
+ - 5.18.6
+ - 5.18.9
+ - 5.20.0
+ - 5.21.0
+ - 5.21.2
+ - 5.21.3
+ - 5.21.4
+ - 5.21.5
+ - dependency-name: neo4j-driver
+ versions:
+ - 4.2.2
+ - dependency-name: neo4j-graphql-js
+ versions:
+ - 2.19.1
+ - dependency-name: mustache
+ versions:
+ - 4.1.0
+- package-ecosystem: npm
+ directory: "/webapp"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: nuxt
+ versions:
+ - 2.14.12
+ - 2.15.0
+ - 2.15.1
+ - 2.15.2
+ - 2.15.3
+ - dependency-name: v-tooltip
+ versions:
+ - 2.1.2
+ - dependency-name: "@vue/server-test-utils"
+ versions:
+ - 1.1.2
+ - 1.1.3
+ - dependency-name: node-notifier
+ versions:
+ - 8.0.1
+- package-ecosystem: docker
+ directory: "/webapp"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: node
+ versions:
+ - ">= 15.5.a, < 15.6"
+ - dependency-name: node
+ versions:
+ - 15.10.0.pre.alpine3.10
+ - 15.11.0.pre.alpine3.10
+ - 15.12.0.pre.alpine3.10
+ - 15.13.0.pre.alpine3.10
+ - 15.7.0.pre.alpine3.10
+ - 15.8.0.pre.alpine3.10
+ - 15.9.0.pre.alpine3.10
+- package-ecosystem: docker
+ directory: "/backend"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: node
+ versions:
+ - ">= 15.4.a, < 15.5"
+ - dependency-name: node
+ versions:
+ - ">= 15.5.a, < 15.6"
+ - dependency-name: node
+ versions:
+ - 15.10.0.pre.alpine3.10
+ - 15.11.0.pre.alpine3.10
+ - 15.12.0.pre.alpine3.10
+ - 15.13.0.pre.alpine3.10
+ - 15.7.0.pre.alpine3.10
+ - 15.8.0.pre.alpine3.10
+ - 15.9.0.pre.alpine3.10
+- package-ecosystem: docker
+ directory: "/neo4j"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
+ ignore:
+ - dependency-name: neo4j
+ versions:
+ - 4.2.3
+ - 4.2.4
+- package-ecosystem: docker
+ directory: "/deployment/legacy-migration/maintenance-worker"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 10
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 24350a81a..1c7927665 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -4,6 +4,7 @@ on:
push:
branches:
- master
+ # - 4451-new-deployment-with-base-and-code # for testing while developing
jobs:
##############################################################################
@@ -55,9 +56,9 @@ jobs:
# NEO4J ##################################################################
##########################################################################
- name: Neo4J | Build `community` image
- run: |
- docker build --target community -t "ocelotsocialnetwork/neo4j:latest" -t "ocelotsocialnetwork/neo4j:community" -t "ocelotsocialnetwork/neo4j:${VERSION}" -t "ocelotsocialnetwork/neo4j:${BUILD_VERSION}" neo4j/
- docker save "ocelotsocialnetwork/neo4j" > /tmp/neo4j.tar
+ run: docker build --target community -t "ocelotsocialnetwork/neo4j:latest" -t "ocelotsocialnetwork/neo4j:community" -t "ocelotsocialnetwork/neo4j:${VERSION}" -t "ocelotsocialnetwork/neo4j:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT neo4j/
+ - name: Neo4J | Save docker image
+ run: docker save "ocelotsocialnetwork/neo4j" > /tmp/neo4j.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
@@ -91,10 +92,13 @@ jobs:
##########################################################################
# BUILD BACKEND DOCKER IMAGE (production) ################################
##########################################################################
- - name: backend | Build `production` image
+ - name: Backend | Build `production` image
run: |
- docker build --target production -t "ocelotsocialnetwork/backend:latest" -t "ocelotsocialnetwork/backend:${VERSION}" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}" backend/
- docker save "ocelotsocialnetwork/backend" > /tmp/backend.tar
+ docker build --target base -t "ocelotsocialnetwork/backend:latest-base" -t "ocelotsocialnetwork/backend:${VERSION}-base" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/
+ docker build --target code -t "ocelotsocialnetwork/backend:latest-code" -t "ocelotsocialnetwork/backend:${VERSION}-code" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/
+ docker build --target production -t "ocelotsocialnetwork/backend:latest" -t "ocelotsocialnetwork/backend:${VERSION}" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/
+ - name: Backend | Save docker image
+ run: docker save "ocelotsocialnetwork/backend" > /tmp/backend.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
@@ -128,10 +132,13 @@ jobs:
##########################################################################
# BUILD WEBAPP DOCKER IMAGE (build) ######################################
##########################################################################
- - name: webapp | Build `production` image
+ - name: Webapp | Build `production` image
run: |
- docker build --target production -t "ocelotsocialnetwork/webapp:latest" -t "ocelotsocialnetwork/webapp:${VERSION}" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}" webapp/
- docker save "ocelotsocialnetwork/webapp" > /tmp/webapp.tar
+ docker build --target base -t "ocelotsocialnetwork/webapp:latest-base" -t "ocelotsocialnetwork/webapp:${VERSION}-base" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/
+ docker build --target code -t "ocelotsocialnetwork/webapp:latest-code" -t "ocelotsocialnetwork/webapp:${VERSION}-code" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/
+ docker build --target production -t "ocelotsocialnetwork/webapp:latest" -t "ocelotsocialnetwork/webapp:${VERSION}" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/
+ - name: Webapp | Save docker image
+ run: docker save "ocelotsocialnetwork/webapp" > /tmp/webapp.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
@@ -165,11 +172,13 @@ jobs:
##########################################################################
# BUILD MAINTENANCE DOCKER IMAGE (build) #################################
##########################################################################
- - name: maintenance | Build `production` image
- # TODO: --target production
+ - name: Maintenance | Build `production` image
run: |
- docker build -t "ocelotsocialnetwork/maintenance:latest" -t "ocelotsocialnetwork/maintenance:${VERSION}" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}" webapp/ -f webapp/Dockerfile.maintenance
- docker save "ocelotsocialnetwork/maintenance" > /tmp/maintenance.tar
+ docker build --target base -t "ocelotsocialnetwork/maintenance:latest-base" -t "ocelotsocialnetwork/maintenance:${VERSION}-base" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance
+ docker build --target code -t "ocelotsocialnetwork/maintenance:latest-code" -t "ocelotsocialnetwork/maintenance:${VERSION}-code" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance
+ docker build --target production -t "ocelotsocialnetwork/maintenance:latest" -t "ocelotsocialnetwork/maintenance:${VERSION}" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance
+ - name: Maintenance | Save docker image
+ run: docker save "ocelotsocialnetwork/maintenance" > /tmp/maintenance.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 9b8025ea3..2bec6cebb 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -253,7 +253,6 @@ jobs:
##########################################################################
# COVERAGE REPORT FRONTEND ################################################
##########################################################################
- # TODO: Maybe remove this later on to avoid spam?
#- name: frontend | Coverage report
# uses: romeovs/lcov-reporter-action@v0.2.21
# with:
@@ -268,7 +267,7 @@ jobs:
report_name: Coverage Webapp
type: lcov
result_path: ./coverage/lcov.info
- min_coverage: 52
+ min_coverage: 65
token: ${{ github.token }}
##############################################################################
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 487dbe2a6..e7e69342a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,11 +4,43 @@ 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).
-#### [v1.0.2](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/1.0.1...v1.0.2)
+#### [v1.0.4](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/1.0.3...v1.0.4)
+- fixed wrong env variable [`#4474`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4474)
+- chore: [WIP] π° New Deployment With 'base' And 'code' Docker Images [`#4452`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4452)
+- feat: π° Flexible Footer Links [`#4468`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4468)
+- docs: π° Correct 'Contribution.md' [`#4466`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4466)
+- docs: π° Correct Discord Links And Divers [`#4461`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4461)
+- Implement flexible page footer links [`1bd4af6`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/1bd4af6fd3b5db167575910948a0a72461a1129a)
+- Implement tests for flexible page footer links [`627a20f`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/627a20f66a65450996a5fe3128fd37769fdfd629)
+- Correct Discord links and divers [`0318910`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/0318910488e245c4a1d09181265de63d05a89cf1)
+
+#### [1.0.3](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/1.0.2...1.0.3)
+
+> 19 May 2021
+
+- chore: π° Release v1.0.3 [`#4435`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4435)
+- chore: π° Refactor Logos [`#4433`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4433)
+- feat: π° Show Password Component [`#4370`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4370)
+- chore: π° Replace Ocelot Logos 619x593 With 600x570 [`#4428`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4428)
+- Coverage [`#4393`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4393)
+- correct_docker_tagging [`#4391`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4391)
+- π° Get Cypress Tests Running Again [`#4338`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4338)
+- frontend + backend coverage tests [`#4367`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4367)
+- refactor: π° Refactor E-Mail Templates [`#4350`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4350)
+- feat: π° Remove More-Info Of Post [`#4316`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4316)
+- have cypress running locally - the tests still fail [`e3e0341`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/e3e03415e1bd9e0be88f33930a52e63d8af64ee1)
+- have cypress running locally - the tests still fail [`0ec0574`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/0ec05743751cfef0cb86c17b87e9e4ef9a2c9e47)
+- Refactor logos, first step [`ff6cc30`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/ff6cc306aff6150a924f1a647387e498d050ea9f)
+
+#### [1.0.2](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/1.0.1...1.0.2)
+
+> 6 April 2021
+
+- fix: Email Confirmation-Link When An Invite-Code Is Given [`#4336`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4336)
+- release v1.0.2 [`e583010`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/e5830101e4b449905fe2d0018627d75af62b2a20)
- slider jumps to enter-nonce when link contains invite-code, email and nonce and method is invite-code. Thanks @tirokk [`c80b3a2`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/c80b3a212835f76cfc2f11542345d6c3b226995b)
- fix enail confirmation link when an invite-code is given [`27f0de9`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/27f0de9464685c8f960bde9d07986fdc5b20f8f9)
-- linting [`21a667e`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/21a667eb25a236c69f69b61f24d1578ea005a910)
#### [1.0.1](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/1.0.0...1.0.1)
@@ -136,21 +168,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
- file upload: refactored [`650e83f`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/650e83f4c250389477933a2e7d21d8245b0ce882)
- change user role: tests are working [`14dfe2a`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/14dfe2ae2cd4a24c06c9229893b33586dfceae4f)
-#### [0.6.5](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/v0.6.4...0.6.5)
+#### [0.6.5](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/0.6.4...0.6.5)
> 8 February 2021
-- - adjusted changelog to ocelot-social repo [`9603882`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/9603882edebf8967e05abfa94e4e1ebf452d4e24)
-- - first steps towards docker image deployment & github autotagging [`5503216`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/5503216ad4a0230ac533042e4a69806590fc2a5a)
-- - deploy structure image [`a60400b`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/a60400b4fe6f59bbb80e1073db4def3ba205e1a7)
-
-#### [v0.6.4](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/0.6.4...v0.6.4)
-
-> 9 February 2021
-
-- chore(release): 0.6.4 [`8b7570d`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/8b7570dc35d0ea431f673a711ac051f1e1320acb)
-- change user roles is working, test fails [`8c3310a`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/8c3310abaf87c0e5597fec4f93fb37d27122c9e7)
-- change user role: tests are working [`f10da4b`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/f10da4b09388fe1e2b85abd53f6ffc67c785d4c1)
+- updated CHANGELOG.md [`9d9075f`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/9d9075f2117b2eb4b607e7d59ab18c7e655c6ea7)
#### [0.6.4](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/0.6.3...0.6.4)
@@ -160,15 +182,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
- fetch full history [`5ecee4d`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/5ecee4d73a92d2e5c5ae971d79848ed27f65a72c)
- don't fail if tag exists (release) [`39c82fc`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/39c82fcb37d5c8e7e78a79288e1ef6280f8d0892)
-#### [0.6.3](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/v0.6.3...0.6.3)
-
-> 8 February 2021
-
-- - adjusted changelog to ocelot-social repo [`9603882`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/9603882edebf8967e05abfa94e4e1ebf452d4e24)
-- - fixed changelog [`cf70b12`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/cf70b12ed74011924ea788ab932fc9d7ac0e6bd9)
-- - yarn install to allow yarn auto-changelog [`fc496aa`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/fc496aa04cb7e804da4335da0cb5cda26f874ea2)
-
-#### [v0.6.3](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/0.6.0...v0.6.3)
+#### [0.6.3](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/0.6.0...0.6.3)
> 8 February 2021
@@ -177,9 +191,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
- feat: π° Allow Only Supported Image File Formats [`#3928`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/3928)
- refactor: Disbale Emoji, Language And Catgeory Filter [`#4193`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4193)
- refactor: Remove Catgeories From Post Teaser [`#4191`](https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/4191)
+- - adjusted changelog to ocelot-social repo [`9603882`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/9603882edebf8967e05abfa94e4e1ebf452d4e24)
- - first steps towards docker image deployment & github autotagging [`5503216`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/5503216ad4a0230ac533042e4a69806590fc2a5a)
- - lots of additional tests [`0ba37aa`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/0ba37aab18f537d722aede7b87fa0b8e79f80e66)
-- - deploy structure image [`a60400b`](https://github.com/Ocelot-Social-Community/Ocelot-Social/commit/a60400b4fe6f59bbb80e1073db4def3ba205e1a7)
#### [0.6.0](https://github.com/Ocelot-Social-Community/Ocelot-Social/compare/v0.6.0...0.6.0)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b5f74d879..50d3721d1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,31 +4,33 @@ Thank you so much for thinking of contributing to the Human Connection project!
## Getting Set Up
-Instructions for how to install all the necessary software and some code guidelines can be found in our [documentation](https://docs.human-connection.org/human-connection/).
+Instructions for how to install all the necessary software and some code guidelines can be found in our main [Readme](/README.md) or in our [documentation](https://docs.human-connection.org/human-connection/).
-To get you started we recommend that you join forces with a regular contributor. Please join [our discord instance](https://human-connection.org/discord) to chat with developers or just get in touch directly on an issue on either [Github](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues) or [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089):
+To get you started we recommend that you join forces with a regular contributor. Please join [our Discord instance](https://discord.gg/AJSX9DCSUA) to chat with developers or just get in touch directly on an issue on either [Github](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues) or [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089):

-We also have regular pair programming sessions that you are very welcome to join! We feel this is often the best way to get to know both the project and the team. Most developers are also available for spontaneous sessions if the times listed below don't work for you β just ping us on discord.
+We also have regular pair programming sessions that you are very welcome to join! We feel this is often the best way to get to know both the project and the team. Most developers are also available for spontaneous sessions if the times listed below don't work for you β just ping us on Discord.
## Development Flow
We operate in two week sprints that are planned, estimated and prioritised on [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089). All issues are also linked to and synced with [Github](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues). Look for the `good first issue` label if you're not sure where to start!
-We try to discuss all questions directly related to a feature or bug in the respective issue, in order to preserve it for the future and for other developers. We use discord for real-time communication.
+We try to discuss all questions directly related to a feature or bug in the respective issue, in order to preserve it for the future and for other developers. We use Discord for real-time communication.
This is how we solve bugs and implement features, step by step:
+
1. We find an issue we want to work on, usually during the sprint planning but as an open source contributor this can happen at any time.
2. We communicate with the team to see if the issue is still available. (When you comment on an issue but don't get an answer there within 1-2 days try to mention @Human-Connection/hc-dev-team to make sure we check in.)
3. We make sure we understand the issue in detail β what problem is it solving and how should it be implemented?
-4. We assign ourselves to the issue and move it to `In Progress` on [Zenhub](https://app.zenhub.com/workspaces/human-connection-nitro-5c0154ecc699f60fc92cf11f).
+4. We assign ourselves to the issue and move it to `In Progress` on [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089).
5. We start working on it in a `new branch` and open a `pull request` prefixed with `[WIP]` (work in progress) to which we regularly push our changes.
6. When questions come up we clarify them with the team (directly in the issue on Github).
7. When we are happy with our work and our PR is passing all tests we remove the `[WIP]` from the PR description and ask for reviews (if you're not sure who to ask there is @Human-Connection/hc-dev-team which pings all core developers).
8. We then incorporate the suggestions from the reviews into our work and once it has been approved it can be merged into master!
Every pull request needs to:
+
* fix an issue (if there is something you want to work on but there is no issue for it, create one first and discuss it with the team)
* include tests for the code that is added or changed
* pass all tests (linter, backend, frontend, end-to-end)
@@ -38,37 +40,46 @@ Every pull request needs to:
There are many volunteers all around the world helping us build this network and without their contributions we wouldn't be where we are today. Big thank you to all of you!
-You can see the core team behind Human Connection [on our website](https://human-connection.org/en/the-team/). On Github you will mostly run into our developers:
-* Robert (@roschaefer)
-* Matt (@mattwr18)
+You can talk to our core team on [Discord](https://discord.gg/AJSX9DCSUA). And on Github you will mostly run into our core developers:
+
+* Ulf (@ulfgebhardt)
+* Moriz (@Mogge)
* Wolle (@Tirokk)
* Alex (@ogerly)
+
+
## Meetings and Pair Programming Sessions
Times below refer to **German Time** β that's CET (GMT+1) in winter and CEST (GMT+2) in summer β because most Human Connection core team members are living in Germany.
Daily standup
-* every MondayβFriday 11:30
-* in the discord `Conference Room`
+
+* every MondayβThursday 11:30 am (german time see above ππΌ)
+* in our [Discord](https://discord.gg/AJSX9DCSUA) `Office Cube`
* all contributors welcome!
* everybody shares what they are working on and asks for help if they are blocked
+
## Philosophy
@@ -102,10 +115,9 @@ We use pair programming sessions as a tool for knowledge sharing. We can learn a
As a volunteeer you have no commitment except your own self development and your awesomeness by contributing to this free and open-source software project. Cheers to you!
-
## Open-Source Bounties
-There are so many good reasons to contribute to Human Connection
+There are so many good reasons to contribute to ocelot.social
* You learn state-of-the-art technologies
* You build your portfolio
@@ -121,7 +133,7 @@ pull request approved and merged for free**. You can choose something really
quick and easy. What's important is starting a working relationship with the
team, learning the workflow, and understanding this contribution guide. You can
filter issues by 'good first issue', to get an idea where to start. Please join
-our our [community chat](https://human-connection.org/discord), too.
+our our [Discord community chat](https://discord.gg/AJSX9DCSUA), too.
You can filter Github issues with label [bounty](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues?q=is%3Aopen+is%3Aissue+label%3Abounty). These issues should have a second label `β¬`
which indicate their respective financial compensation in Euros.
diff --git a/README.md b/README.md
index 9c948e7fb..416fcaefb 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ ocelot.social is a nonprofit social, action and knowledge network that connects
* **Action**: Don't just read about how to make the world a better place, but come into **Action** by following provided suggestions on the **Action** tab provided by other people or **Organisations**.
-
+
## Live demo
@@ -31,6 +31,7 @@ Logins:
## Directory Layout
There are four important directories:
+
* [Backend](./backend) runs on the server and is a middleware between database and frontend
* [Frontend](./webapp) is a server-side-rendered and client-side-rendered web frontend
* [Cypress](./cypress) contains end-to-end tests and executable feature specifications
@@ -46,16 +47,19 @@ There are two approaches:
## Installation
### Clone the Repository
+
Clone the repository, this will create a new folder called `Ocelot-Social`:
Using HTTPS:
+
```bash
$ git clone https://github.com/Ocelot-Social-Community/Ocelot-Social.git
```
Using SSH:
+
```bash
-$ git clone git@github.com:Human-Connection/Human-Connection.git
+$ git clone git@github.com:Ocelot-Social-Community/Ocelot-Social.git
```
Change into the new folder.
@@ -88,13 +92,15 @@ docker-compose version 1.23.2
#### Start Ocelot-Social via Docker-Compose
For Development:
+
```bash
-docker-compose up
+$ docker-compose up
```
-For Production
+For Production:
+
```bash
-docker-compose -f docker-compose.yml up
+$ docker-compose -f docker-compose.yml up
```
This will start all required Docker containers
@@ -107,12 +113,12 @@ The only deployment method in this repository is `docker-compose` for developmen
## Developer Chat
-Join our friendly open-source community on [Discord](https://discordapp.com/invite/DFSjPaX) :heart_eyes_cat:
+Join our friendly open-source community on [Discord](https://discord.gg/AJSX9DCSUA) :heart_eyes_cat:
Just introduce yourself at `#introduce-yourself` and mention `@@Mentor` to get you onboard :neckbeard:
Check out the [contribution guideline](./CONTRIBUTING.md), too!
We give write permissions to every developer who asks for it. Just text us on
-[Discord](https://discord.gg/6ub73U3).
+[Discord](https://discord.gg/AJSX9DCSUA).
## Technology Stack
@@ -131,4 +137,5 @@ Browser compatibility testing with [BrowserStack](https://www.browserstack.com/)
## License
+
See the [LICENSE](LICENSE.md) file for license rights and limitations (MIT).
diff --git a/backend/Dockerfile b/backend/Dockerfile
index 2f2b70f04..0ebdfb1eb 100644
--- a/backend/Dockerfile
+++ b/backend/Dockerfile
@@ -1,17 +1,20 @@
##################################################################################
-# BASE ###########################################################################
+# BASE (Is pushed to DockerHub for rebranding) ###################################
##################################################################################
FROM node:12.19.0-alpine3.10 as base
-# ENVs (available in production aswell, can be overwritten by commandline or env file)
+# ENVs
## DOCKER_WORKDIR would be a classical ARG, but that is not multi layer persistent - shame
ENV DOCKER_WORKDIR="/app"
## We Cannot do `$(date -u +'%Y-%m-%dT%H:%M:%SZ')` here so we use unix timestamp=0
-ENV BUILD_DATE="1970-01-01T00:00:00.00Z"
+ARG BBUILD_DATE="1970-01-01T00:00:00.00Z"
+ENV BUILD_DATE=$BBUILD_DATE
## We cannot do $(yarn run version)-${BUILD_NUMBER} here so we default to 0.0.0-0
-ENV BUILD_VERSION="0.0.0-0"
+ARG BBUILD_VERSION="0.0.0-0"
+ENV BUILD_VERSION=$BBUILD_VERSION
## We cannot do `$(git rev-parse --short HEAD)` here so we default to 0000000
-ENV BUILD_COMMIT="0000000"
+ARG BBUILD_COMMIT="0000000"
+ENV BUILD_COMMIT=$BBUILD_COMMIT
## SET NODE_ENV
ENV NODE_ENV="production"
## App relevant Envs
@@ -56,12 +59,18 @@ FROM base as development
CMD /bin/sh -c "yarn install && yarn run dev"
##################################################################################
-# BUILD (Does contain all files and is therefore bloated) ########################
+# CODE (Does contain all code files and is pushed to DockerHub for rebranding) ###
##################################################################################
-FROM base as build
+FROM base as code
-# Copy everything
+# copy everything, but do not build.
COPY . .
+
+##################################################################################
+# BUILD (Does contain all files and the compilate and is therefore bloated) ######
+##################################################################################
+FROM code as build
+
# yarn install
RUN yarn install --production=false --frozen-lockfile --non-interactive
# yarn build
@@ -82,7 +91,6 @@ FROM base as production
# Copy "binary"-files from build image
COPY --from=build ${DOCKER_WORKDIR}/dist ./dist
-COPY --from=build ${DOCKER_WORKDIR}/node_modules ./node_modules
# Copy static files
# TODO - externalize the uploads so we can copy the whole folder
COPY --from=build ${DOCKER_WORKDIR}/public/img/ ./public/img/
@@ -91,4 +99,4 @@ COPY --from=build ${DOCKER_WORKDIR}/public/providers.json ./public/providers.jso
COPY --from=build ${DOCKER_WORKDIR}/package.json ./package.json
# Run command
-CMD /bin/sh -c "yarn run start"
\ No newline at end of file
+CMD /bin/sh -c "yarn run start"
diff --git a/backend/package.json b/backend/package.json
index 8148593c4..c923cb0e3 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -1,6 +1,6 @@
{
"name": "ocelot-social-backend",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "GraphQL Backend for ocelot.social",
"repository": "https://github.com/Ocelot-Social-Community/Ocelot-Social",
"author": "ocelot.social Community",
@@ -39,6 +39,12 @@
]
},
"dependencies": {
+ "@babel/cli": "~7.8.4",
+ "@babel/core": "~7.9.0",
+ "@babel/node": "~7.8.7",
+ "@babel/plugin-proposal-throw-expressions": "^7.8.3",
+ "@babel/preset-env": "~7.9.5",
+ "@babel/register": "^7.9.0",
"@hapi/joi": "^17.1.1",
"@sentry/node": "^5.15.4",
"apollo-cache-inmemory": "~1.6.5",
@@ -48,12 +54,15 @@
"apollo-server": "~2.14.2",
"apollo-server-express": "^2.14.2",
"aws-sdk": "^2.652.0",
+ "babel-core": "~7.0.0-0",
+ "babel-eslint": "~10.1.0",
+ "babel-jest": "~25.2.6",
"babel-plugin-transform-runtime": "^6.23.0",
"bcryptjs": "~2.4.3",
"cheerio": "~1.0.0-rc.3",
"cors": "~2.8.5",
"cross-env": "~7.0.2",
- "date-fns": "2.11.1",
+ "date-fns": "2.22.1",
"debug": "~4.1.1",
"dotenv": "~8.2.0",
"express": "^4.17.1",
@@ -72,7 +81,7 @@
"languagedetect": "^2.0.0",
"linkifyjs": "~2.1.8",
"lodash": "~4.17.14",
- "merge-graphql-schemas": "^1.7.7",
+ "merge-graphql-schemas": "^1.7.8",
"metascraper": "^5.11.8",
"metascraper-audio": "^5.14.26",
"metascraper-author": "^5.14.22",
@@ -111,16 +120,7 @@
"xregexp": "^4.3.0"
},
"devDependencies": {
- "@babel/cli": "~7.8.4",
- "@babel/core": "~7.9.0",
- "@babel/node": "~7.8.7",
- "@babel/plugin-proposal-throw-expressions": "^7.8.3",
- "@babel/preset-env": "~7.9.5",
- "@babel/register": "^7.9.0",
"apollo-server-testing": "~2.11.0",
- "babel-core": "~7.0.0-0",
- "babel-eslint": "~10.1.0",
- "babel-jest": "~25.2.6",
"chai": "~4.2.0",
"cucumber": "~6.0.5",
"eslint": "~6.8.0",
@@ -134,7 +134,7 @@
"eslint-plugin-standard": "~4.0.1",
"jest": "~25.3.0",
"nodemon": "~2.0.2",
- "prettier": "~2.2.0",
+ "prettier": "~2.3.2",
"rosie": "^2.0.1",
"supertest": "~4.0.2"
},
diff --git a/backend/src/config/index.js b/backend/src/config/index.js
index 4acf8e675..f3a8fb63c 100644
--- a/backend/src/config/index.js
+++ b/backend/src/config/index.js
@@ -40,8 +40,8 @@ const server = {
const smtp = {
SMTP_HOST: env.SMTP_HOST,
SMTP_PORT: env.SMTP_PORT,
- SMTP_IGNORE_TLS: env.SMTP_IGNORE_TLS === 'true' || true,
- SMTP_SECURE: env.SMTP_IGNORE_TLS === 'true' || false,
+ SMTP_IGNORE_TLS: env.SMTP_IGNORE_TLS !== 'false', // default = true
+ SMTP_SECURE: env.SMTP_SECURE === 'true',
SMTP_USERNAME: env.SMTP_USERNAME,
SMTP_PASSWORD: env.SMTP_PASSWORD,
}
diff --git a/backend/src/config/links.js b/backend/src/config/links.js
index 494e449ba..6b945a5e0 100644
--- a/backend/src/config/links.js
+++ b/backend/src/config/links.js
@@ -1,6 +1,13 @@
+// this file is duplicated in `backend/src/config/links.js` and `webapp/constants/links.js` and replaced on rebranding
export default {
ORGANIZATION: 'https://ocelot.social',
- DONATE: 'https://ocelot-social.herokuapp.com/donations',
- FAQ: 'https://ocelot.social',
SUPPORT: 'https://ocelot.social',
+
+ // on null or empty strings internal imprint is used, see 'webapp/locales/html/'
+ DONATE: 'https://ocelot-social.herokuapp.com/donations', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
+ IMPRINT: 'https://ocelot-social.herokuapp.com/imprint', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
+ TERMS_AND_CONDITIONS: null,
+ CODE_OF_CONDUCT: null,
+ DATA_PRIVACY: null,
+ FAQ: 'https://ocelot.social',
}
diff --git a/backend/src/config/logos.js b/backend/src/config/logos.js
new file mode 100644
index 000000000..d093c7b46
--- /dev/null
+++ b/backend/src/config/logos.js
@@ -0,0 +1,10 @@
+// this file is duplicated in `backend/src/config/logos.js` and `webapp/constants/logos.js` and replaced on rebranding
+// this are the paths in the webapp
+export default {
+ LOGO_HEADER_PATH: '/img/custom/logo-horizontal.svg',
+ LOGO_SIGNUP_PATH: '/img/custom/logo-squared.svg',
+ LOGO_WELCOME_PATH: '/img/custom/logo-squared.svg',
+ LOGO_LOGOUT_PATH: '/img/custom/logo-squared.svg',
+ LOGO_PASSWORD_RESET_PATH: '/img/custom/logo-squared.svg',
+ LOGO_MAINTENACE_RESET_PATH: '/img/custom/logo-squared.svg',
+}
diff --git a/backend/src/config/metadata.js b/backend/src/config/metadata.js
index 68d353eea..d40308e80 100644
--- a/backend/src/config/metadata.js
+++ b/backend/src/config/metadata.js
@@ -1,7 +1,9 @@
+// this file is duplicated in `backend/src/config/metadata.js` and `webapp/constants/metadata.js` and replaced on rebranding
export default {
APPLICATION_NAME: 'ocelot.social',
APPLICATION_SHORT_NAME: 'ocelot',
APPLICATION_DESCRIPTION: 'ocelot.social Community Network',
+ COOKIE_NAME: 'ocelot-social-token',
ORGANIZATION_NAME: 'ocelot.social Community',
ORGANIZATION_JURISDICTION: 'City of Angels',
}
diff --git a/backend/src/db/seed.js b/backend/src/db/seed.js
index 713a03142..7d9b5e954 100644
--- a/backend/src/db/seed.js
+++ b/backend/src/db/seed.js
@@ -137,100 +137,93 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
}),
])
- const [
- peterLustig,
- bobDerBaumeister,
- jennyRostock,
- huey,
- dewey,
- louie,
- dagobert,
- ] = await Promise.all([
- Factory.build(
- 'user',
- {
- id: 'u1',
- name: 'Peter Lustig',
- slug: 'peter-lustig',
- role: 'admin',
- },
- {
- email: 'admin@example.org',
- },
- ),
- Factory.build(
- 'user',
- {
- id: 'u2',
- name: 'Bob der Baumeister',
- slug: 'bob-der-baumeister',
- role: 'moderator',
- },
- {
- email: 'moderator@example.org',
- },
- ),
- Factory.build(
- 'user',
- {
- id: 'u3',
- name: 'Jenny Rostock',
- slug: 'jenny-rostock',
- role: 'user',
- },
- {
- email: 'user@example.org',
- },
- ),
- Factory.build(
- 'user',
- {
- id: 'u4',
- name: 'Huey',
- slug: 'huey',
- role: 'user',
- },
- {
- email: 'huey@example.org',
- },
- ),
- Factory.build(
- 'user',
- {
- id: 'u5',
- name: 'Dewey',
- slug: 'dewey',
- role: 'user',
- },
- {
- email: 'dewey@example.org',
- },
- ),
- Factory.build(
- 'user',
- {
- id: 'u6',
- name: 'Louie',
- slug: 'louie',
- role: 'user',
- },
- {
- email: 'louie@example.org',
- },
- ),
- Factory.build(
- 'user',
- {
- id: 'u7',
- name: 'Dagobert',
- slug: 'dagobert',
- role: 'user',
- },
- {
- email: 'dagobert@example.org',
- },
- ),
- ])
+ const [peterLustig, bobDerBaumeister, jennyRostock, huey, dewey, louie, dagobert] =
+ await Promise.all([
+ Factory.build(
+ 'user',
+ {
+ id: 'u1',
+ name: 'Peter Lustig',
+ slug: 'peter-lustig',
+ role: 'admin',
+ },
+ {
+ email: 'admin@example.org',
+ },
+ ),
+ Factory.build(
+ 'user',
+ {
+ id: 'u2',
+ name: 'Bob der Baumeister',
+ slug: 'bob-der-baumeister',
+ role: 'moderator',
+ },
+ {
+ email: 'moderator@example.org',
+ },
+ ),
+ Factory.build(
+ 'user',
+ {
+ id: 'u3',
+ name: 'Jenny Rostock',
+ slug: 'jenny-rostock',
+ role: 'user',
+ },
+ {
+ email: 'user@example.org',
+ },
+ ),
+ Factory.build(
+ 'user',
+ {
+ id: 'u4',
+ name: 'Huey',
+ slug: 'huey',
+ role: 'user',
+ },
+ {
+ email: 'huey@example.org',
+ },
+ ),
+ Factory.build(
+ 'user',
+ {
+ id: 'u5',
+ name: 'Dewey',
+ slug: 'dewey',
+ role: 'user',
+ },
+ {
+ email: 'dewey@example.org',
+ },
+ ),
+ Factory.build(
+ 'user',
+ {
+ id: 'u6',
+ name: 'Louie',
+ slug: 'louie',
+ role: 'user',
+ },
+ {
+ email: 'louie@example.org',
+ },
+ ),
+ Factory.build(
+ 'user',
+ {
+ id: 'u7',
+ name: 'Dagobert',
+ slug: 'dagobert',
+ role: 'user',
+ },
+ {
+ email: 'dagobert@example.org',
+ },
+ ),
+ ])
await Promise.all([
peterLustig.relateTo(Berlin, 'isIn'),
@@ -561,7 +554,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
const hashtagAndMention1 =
'The new physics of #QuantenFlussTheorie can explain #QuantumGravity! @peter-lustig got that already. ;-)'
const createPostMutation = gql`
- mutation($id: ID, $title: String!, $content: String!, $categoryIds: [ID]) {
+ mutation ($id: ID, $title: String!, $content: String!, $categoryIds: [ID]) {
CreatePost(id: $id, title: $title, content: $content, categoryIds: $categoryIds) {
id
}
@@ -618,7 +611,7 @@ const languages = ['de', 'en', 'es', 'fr', 'it', 'pt', 'pl']
const mentionInComment2 =
'Did @peter-lustig tell you?'
const createCommentMutation = gql`
- mutation($id: ID, $postId: ID!, $content: String!) {
+ mutation ($id: ID, $postId: ID!, $content: String!) {
CreateComment(id: $id, postId: $postId, content: $content) {
id
}
diff --git a/backend/src/middleware/email/templateBuilder.js b/backend/src/middleware/email/templateBuilder.js
index 2c7038d27..872b86b29 100644
--- a/backend/src/middleware/email/templateBuilder.js
+++ b/backend/src/middleware/email/templateBuilder.js
@@ -1,10 +1,11 @@
import mustache from 'mustache'
import CONFIG from '../../config'
+import logosWebapp from '../../config/logos.js'
import * as templates from './templates'
const from = CONFIG.EMAIL_DEFAULT_SENDER
-const welcomeImageUrl = new URL(`/img/custom/welcome.svg`, CONFIG.CLIENT_URI)
+const welcomeImageUrl = new URL(logosWebapp.LOGO_WELCOME_PATH, CONFIG.CLIENT_URI)
const defaultParams = {
supportUrl: CONFIG.SUPPORT_URL,
diff --git a/backend/src/middleware/hashtags/hashtagsMiddleware.spec.js b/backend/src/middleware/hashtags/hashtagsMiddleware.spec.js
index be9039a6f..613bd6b62 100644
--- a/backend/src/middleware/hashtags/hashtagsMiddleware.spec.js
+++ b/backend/src/middleware/hashtags/hashtagsMiddleware.spec.js
@@ -13,7 +13,7 @@ const driver = getDriver()
const neode = getNeode()
const categoryIds = ['cat9']
const createPostMutation = gql`
- mutation($id: ID, $title: String!, $postContent: String!, $categoryIds: [ID]!) {
+ mutation ($id: ID, $title: String!, $postContent: String!, $categoryIds: [ID]!) {
CreatePost(id: $id, title: $title, content: $postContent, categoryIds: $categoryIds) {
id
title
@@ -22,7 +22,7 @@ const createPostMutation = gql`
}
`
const updatePostMutation = gql`
- mutation($id: ID!, $title: String!, $postContent: String!, $categoryIds: [ID]!) {
+ mutation ($id: ID!, $title: String!, $postContent: String!, $categoryIds: [ID]!) {
UpdatePost(id: $id, content: $postContent, title: $title, categoryIds: $categoryIds) {
title
content
@@ -95,7 +95,7 @@ describe('hashtags', () => {