diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 7305412d..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,411 +0,0 @@ -variables: - FLUTTER_VERSION: 3.10.0 - -image: ghcr.io/cirruslabs/flutter:${FLUTTER_VERSION} - -.shared_windows_runners: - tags: - - shared-windows - - windows - - windows-1809 - -stages: - - test - - build - - deploy - -code_analyze: - stage: test - script: - - flutter pub get - - dart run import_sorter:main --no-comments --exit-if-changed - - dart format lib/ test/ --set-exit-if-changed - - flutter analyze - - git apply ./scripts/enable-android-google-services.patch - - flutter pub get - - flutter analyze - - flutter pub run dart_code_metrics:metrics lib -r gitlab > code-quality-report.json || true - artifacts: - reports: - codequality: code-quality-report.json - -widget_test: - stage: test - script: [flutter test] - -# the basic integration test configuration testing FLOSS builds on Synapse -.integration_test: - image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/integration/stable:${FLUTTER_VERSION} - stage: test - services: - - name: docker:dind - alias: docker - parallel: - matrix: - - HOMESERVER_IMPLEMENTATION: - - synapse - - dendrite - - conduit - variables: - # activate container-to-container networking - FF_NETWORK_PER_BUILD: "true" - # Tell docker CLI how to talk to Docker daemon. - DOCKER_HOST: tcp://docker:2375/ - # Use the btrfs driver for improved performance. - DOCKER_DRIVER: btrfs - # Disable TLS since we're running inside local network. - DOCKER_TLS_CERTDIR: "" - HOMESERVER: docker - before_script: - - scripts/integration-prepare-host.sh - # create test user environment variables - - source scripts/integration-create-environment-variables.sh - # create Synapse instance - - scripts/integration-server-${HOMESERVER_IMPLEMENTATION}.sh - # properly set the homeserver IP and create test users - - scripts/integration-prepare-homeserver.sh - script: - # start AVD and keep running in background - - scripts/integration-start-avd.sh & - - flutter pub get - - scrcpy --no-display --record video.mkv & - - flutter test integration_test --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW || ( sleep 10 && exit 1 ) - after_script: - - ffmpeg -i video.mkv -vf scale=iw/2:-2 -crf 40 -b:v 2000k -preset fast video.mp4 || true - timeout: 30m - retry: 2 - only: - - tags - artifacts: - when: always - paths: - - video.mp4 - tags: - - docker - - famedly - -# integration tests for Linux builds -### disabled because of Linux headless issues -.integration_test_linux: - extends: .integration_test - parallel: - matrix: - - HOMESERVER_IMPLEMENTATION: - - conduit - script: - - apt-get update - - apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev libjsoncpp-dev - - flutter pub get - - flutter test integration_test -d linux --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW || ( sleep 10 && exit 1 ) - after_script: [] - artifacts: - -# extending the default tests to test the Google-flavored builds -.integration_test_proprietary: - extends: .integration_test - parallel: - matrix: - - HOMESERVER_IMPLEMENTATION: - - conduit - script: - # start AVD and keep running in background - - scripts/integration-start-avd.sh & - - git apply ./scripts/enable-android-google-services.patch - - flutter pub get - - scrcpy --no-display --record video.mkv & - - flutter test integration_test --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW || ( sleep 10 && exit 1 ) - -release_mode_launches: - parallel: - matrix: - - FLAVOR: - - floss - - proprietary - image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/integration/stable:${FLUTTER_VERSION} - stage: test - before_script: - - | - if [ "$FLAVOR" == "proprietary" ]; then - git apply ./scripts/enable-android-google-services.patch - fi - script: - # start AVD and keep running in background - - scripts/integration-start-avd.sh & - # generate temporary release build configuration and ensure app launches - - scripts/integration-check-release-build.sh - timeout: 20m - only: - - tags - tags: - - docker - - famedly - -build_web: - stage: build - before_script: - [sudo apt update && sudo apt install curl -y, ./scripts/prepare-web.sh] - script: - - flutter build web --release --verbose --source-maps - artifacts: - paths: - - build/web/ - -# yes, we *do* build a Windows DLL on Linux. More reliable. -build_olm_windows: - image: archlinux:latest - stage: test - before_script: - - pacman-key --init - - pacman --noconfirm -Sy mingw-w64 cmake git base-devel - script: - - ./scripts/build-olm-windows.sh - - mv olm/build/libolm.dll . - artifacts: - paths: - - libolm.dll - allow_failure: true - only: - - main - - tags - -build_windows: - extends: - - .shared_windows_runners - stage: test - before_script: - - ./scripts/prepare-windows.ps1 - # workarounding artifacts download being broken - - $response = Invoke-WebRequest -Uri "$CI_API_V4_URL/projects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/jobs" -UseBasicParsing - - $jobs = $response | ConvertFrom-Json - - $job = $jobs | where { $_.name -eq "build_olm_windows" } - - $jobId = $job.id - - Invoke-WebRequest -Uri "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/$jobId/artifacts/libolm.dll" -UseBasicParsing -OutFile libolm.dll - script: - - ./scripts/build-windows.ps1 - - Copy-Item -Path "libolm.dll" -Destination "build/windows/runner/Release" - - ./scripts/package-windows.ps1 - artifacts: - paths: - - build/windows/runner/Release - allow_failure: true - only: - - main - - tags - -build_android_debug: - stage: build - script: [flutter build apk --debug] - artifacts: - when: on_success - paths: - - build/app/outputs/apk/debug/app-debug.apk - tags: - - docker - - famedly - except: - - main - - tags - -build_android_apk: - stage: build - before_script: - - git apply ./scripts/enable-android-google-services.patch - - ./scripts/prepare-android-release.sh - script: [flutter build apk --release] - artifacts: - when: on_success - paths: - - build/app/outputs/apk/release/app-release.apk - tags: - - docker - - famedly - only: - - main - - tags - -deploy_playstore_internal: - stage: deploy - before_script: - - git apply ./scripts/enable-android-google-services.patch - - ./scripts/prepare-android-release.sh - script: [./scripts/release-playstore-beta.sh] - artifacts: - when: on_success - paths: - - build/android/app-release.aab - resource_group: playstore_release - tags: - - docker - - famedly - only: - - main - -fdroid_repo: - image: debian:testing - stage: deploy - before_script: - - apt-get update && apt-get -qy install fdroidserver wget curl jq --no-install-recommends || true - - ./scripts/prepare-fdroid.sh || true - script: - - ./scripts/create_fdroid_repos.sh || true - artifacts: - when: always - paths: - - repo - needs: - - "build_android_apk" - resource_group: playstore_release - allow_failure: true - only: - - main - -pages: - needs: - - "build_web" - - "fdroid_repo" - stage: deploy - image: node:alpine - before_script: - - apk update - - apk add jq unzip curl wget bash - script: - - cd docs - - npx tailwindcss -o ./tailwind.css --minify - - cd .. - - mv docs public - - mv repo public || true - - mv build/web/ public/web - artifacts: - paths: - - public - only: - - main - -build_linux_x86: - stage: build - image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/flutter-linux/stable:${FLUTTER_VERSION} - before_script: - - sudo apt-get update - - sudo apt-get install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 -y - script: [flutter build linux --release] - tags: - - docker - - famedly - artifacts: - when: on_success - paths: - - build/linux/x64/release/bundle/ - -build_linux_arm64: - stage: build - before_script: - - flutter upgrade $FLUTTER_VERSION --force - script: [flutter build linux --release] - tags: [docker_arm64] - only: - - main - - tags - allow_failure: true - artifacts: - when: on_success - paths: - - build/linux/arm64/release/bundle/ - -update_dependencies: - stage: build - needs: [] - only: - - schedules - variables: - HOST: ${CI_PROJECT_URL} - UPDATE_BRANCH: ci-bot/dependency-updates - PRIVATE_TOKEN: ${GITLAB_API_TOKEN} - before_script: - - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_BOT_KEY" | tr -d '\r' | ssh-add - > /dev/null - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - - ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts - - git config --global user.email "bot@fluffy.chat" - - git config --global user.name "Dependency Update Bot" - - sudo apt-get update && sudo apt-get install -y curl - script: - - ./scripts/update-dependencies.sh - - git remote set-url --push origin git@gitlab.com:$CI_PROJECT_PATH - - 'git diff --exit-code || (git checkout -B ${UPDATE_BRANCH} && git add . && git commit -m "chore: Update dependencies" && git push -f origin ${UPDATE_BRANCH} && ./scripts/open-mr.sh)' - -.release: - stage: deploy - image: curlimages/curl:latest - rules: - - if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/' - - if: '$CI_COMMIT_TAG =~ /^rc\d+\.\d+\.\d+-\d+$/' - before_script: - - export RELEASE_TYPE=$(echo $CI_COMMIT_TAG | grep -oE "[a-z]+") - - export RELEASE_VERSION=$(echo $CI_COMMIT_TAG | grep -oE "\d+\.\d+\.\d+") - - export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fluffychat/${RELEASE_VERSION}" - -upload_android: - extends: .release - script: - - | - curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file build/app/outputs/apk/release/app-release.apk ${PACKAGE_REGISTRY_URL}/fluffychat.apk - -upload_web: - extends: .release - script: - - tar czf package.tar.gz -C build/web/ . - - | - curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz - -upload_linux_x86: - extends: .release - script: - - tar czf package.tar.gz -C build/linux/x64/release/bundle/ . - - | - curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz - -upload_linux_arm64: - extends: .release - script: - - tar czf package.tar.gz -C build/linux/arm64/release/bundle/ . - - | - curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz - allow_failure: true - -upload_windows: - extends: .release - image: alpine:latest - script: - - apk add --no-cache curl zip - - mv build/windows/runner/Release/fluffychat.msix fluffychat.msix - - cd build/windows/runner/Release; zip -r ../../../../package.zip . ; cd - - - | - curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.zip ${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip - curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file fluffychat.msix ${PACKAGE_REGISTRY_URL}/fluffychat-windows.msix - allow_failure: true - -deploy_playstore: - stage: deploy - before_script: - - git apply ./scripts/enable-android-google-services.patch - - ./scripts/prepare-android-release.sh - script: [./scripts/release-playstore.sh] - resource_group: playstore_release - only: - - tags - -release: - extends: .release - image: registry.gitlab.com/gitlab-org/release-cli:latest - - script: - - | - release-cli create --name "Release ${CI_COMMIT_TAG}" --tag-name $CI_COMMIT_TAG \ - --assets-link "{\"name\":\"fluffychat.apk\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat.apk\"}" \ - --assets-link "{\"name\":\"fluffychat-linux-x86.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz\"}" \ - --assets-link "{\"name\":\"fluffychat-linux-arm64.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz\"}" \ - --assets-link "{\"name\":\"fluffychat-windows.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip\"}" \ - --assets-link "{\"name\":\"fluffychat-windows.msix\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-windows.msix\"}" \ - --assets-link "{\"name\":\"fluffychat-web.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz\"}" diff --git a/README.md b/README.md index 2f8a4375..b3bb3e91 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![](https://i.imgur.com/wi7RlVt.png)

- Join the community - Follow me on Mastodon - Translate FluffyChat - Translate the website - Website - Famedly Matrix SDK - Server hosting and professional support + Join the community - Follow me on Mastodon - Translate FluffyChat - Website - Server hosting and professional support

@@ -37,7 +37,7 @@ https://fluffychat.im Please visit our Wiki for build instructions: -https://gitlab.com/famedly/fluffychat/-/wikis/How-To-Build +https://github.com/krille-chan/fluffychat/wiki/How-To-Build # Special thanks diff --git a/android/fastlane/metadata/android/en-US/changelogs/50 (0.22.1).txt b/android/fastlane/metadata/android/en-US/changelogs/50 (0.22.1).txt deleted file mode 100644 index 10f77f4f..00000000 --- a/android/fastlane/metadata/android/en-US/changelogs/50 (0.22.1).txt +++ /dev/null @@ -1 +0,0 @@ -Check out https://gitlab.com/ChristianPauly/fluffychat-flutter/-/blob/main/CHANGELOG.md for the changelog. \ No newline at end of file diff --git a/docs/en/privacy.html b/docs/en/privacy.html deleted file mode 100644 index 6651972a..00000000 --- a/docs/en/privacy.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - -

Please follow this link.

- - \ No newline at end of file diff --git a/docs/how_to_fork.md b/docs/how_to_fork.md deleted file mode 100644 index 2452c13f..00000000 --- a/docs/how_to_fork.md +++ /dev/null @@ -1,39 +0,0 @@ -# How to create your own FluffyChat fork - -## 1. License -FluffyChat is licensed under AGPL. Read the license -(https://gitlab.com/ChristianPauly/fluffychat-flutter/-/blob/main/LICENSE) and -make sure that your fork is open source under the same license and that you -fulfill all requirements. Maybe you should consider contacting a lawyer **before** -you publish your fork. - -## 2. Disable end-to-end encryption! -Due to US export regulations you are not allowed to publish your app in -a store or anywhere on a US server before you have removed everything regarding -the encryption or fulfill the regulations. - -Learn more: -https://www.bis.doc.gov/index.php/policy-guidance/encryption - -If you need help from us with using E2EE in your fork read more below under the -topic "**Official Support**". - -## 3. Stay up to date! -FluffyChat contains security related stuff. If we find a security bug, we will -try to fix it as soon as possible and ship it with a new version. But this -means that your fork is out of date and a security risk. You can't be awake -24 hours a day so you must decide how you protect your users by chosing one -of the following methods: - -1. Make your fork as minimal as possible and enable repository mirroring. Set -up a CI which publishes new versions automatically if FluffyChat publishes a -bug fix. -2. Never sleep and pay a big team where one guy at least is never sleeping. -3. Contact [famedly.com](https://famedly.com) to buy official support. - -## 4. Official Support -FluffyChat is free as in free speech and not free beer! Please contact -my company [famedly.com](https://famedly.com) for offers and official support -and take in mind that it costs a lot of work and time to maintain FluffyChat -or the Famedly Matrix SDK. So we can't give you support for free. So please -expect around 1$ per month per user of your fork. diff --git a/docs/index.html b/docs/index.html index 1834ca2f..edfb771d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -90,20 +90,20 @@
Source + href="https://github.com/krille-chan/fluffychat">Source code - Privacy + href="https://github.com/krille-chan/fluffychat/-/blob/main/PRIVACY.md">Privacy - Changelog + href="https://github.com/krille-chan/fluffychat/-/blob/main/CHANGELOG.md">Changelog - Translations - FluffyChat F-Droid + href="https://github.com/krille-chan/fluffychat/-/blob/main/docs/fdroid_repo.md">FluffyChat F-Droid repository - _privacyUrl; static const String enablePushTutorial = - 'https://gitlab.com/famedly/fluffychat/-/wikis/Push-Notifications-without-Google-Services'; + 'https://github.com/krille-chan/fluffychat/wiki/User-Guide:-Push-Notifications'; static const String encryptionTutorial = - 'https://gitlab.com/famedly/fluffychat/-/wikis/How-to-use-end-to-end-encryption-in-FluffyChat'; + 'https://github.com/krille-chan/fluffychat/wiki/User-Guide:-End-To-End-Encryption'; static const String appId = 'im.fluffychat.FluffyChat'; static const String appOpenUrlScheme = 'im.fluffychat'; static String _webBaseUrl = 'https://fluffychat.im/web'; static String get webBaseUrl => _webBaseUrl; - static const String sourceCodeUrl = 'https://gitlab.com/famedly/fluffychat'; + static const String sourceCodeUrl = + 'https://github.com/krille-chan/fluffychat'; static const String supportUrl = - 'https://gitlab.com/famedly/fluffychat/issues'; + 'https://github.com/krille-chan/fluffychat/issues'; static final Uri newIssueUrl = Uri( scheme: 'https', host: 'gitlab.com', diff --git a/test_driver/integration_test.dart b/test_driver/integration_test.dart deleted file mode 100644 index b38629cc..00000000 --- a/test_driver/integration_test.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:integration_test/integration_test_driver.dart'; - -Future main() => integrationDriver();