diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 939b9d4f44..0000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,3 +0,0 @@
-# Skip generated files from showing up in diffs.
-**/*.g.dart linguist-generated=true
-**/*.freezed.dart linguist-generated=true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
deleted file mode 100644
index 641468247a..0000000000
--- a/.github/ISSUE_TEMPLATE/bug_report.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-name: Bug Report
-description: Create a report to help us improve
-labels: [bug]
-body:
- - type: markdown
- attributes:
- value: |
- Thanks for taking the time to fill out this bug report!
- - type: dropdown
- id: packages
- attributes:
- label: Which packages are you using?
- description: You may select more than one.
- multiple: true
- options:
- - stream_chat
- - stream_chat_flutter
- - stream_chat_flutter_core
- - stream_chat_persistance
- - stream_chat_localizations
- validations:
- required: true
- - type: dropdown
- id: platforms
- attributes:
- label: On what platforms did you experience the issue?
- description: You may select more than one.
- multiple: true
- options:
- - iOS
- - Android
- - Web
- - Windows
- - MacOS
- - Linux
- validations:
- required: true
- - type: textarea
- id: version
- attributes:
- label: What version are you using?
- description: Please specify the package names and versions
- placeholder: package - version
- validations:
- required: true
- - type: textarea
- id: what-happened
- attributes:
- label: What happened?
- description: Also, what did you expect to happen?
- placeholder: Description of the bug and what was expected.
- validations:
- required: true
- - type: textarea
- id: repro-steps
- attributes:
- label: Steps to reproduce
- description: How do you trigger this bug? Please walk us through it step by step.
- value: |
- 1. Go to '...'
- 2. Click on '...'
- 3. Scroll down to '...'
- ...
- render: bash
- validations:
- required: true
- - type: textarea
- id: reproduce
- attributes:
- label: Supporting info to reproduce
- description: Please add any relevant code, screenshots and info needed to reproduce this issue.
- - type: textarea
- id: logs
- attributes:
- label: Relevant log output
- description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
- render: shell
- - type: textarea
- id: flutter-analyze
- attributes:
- label: Flutter analyze output
- description: Paste the output of `flutter analyze` here.
- placeholder: If there are any analysis errors, try resolving them before filing this issue.
- render: shell
- - type: textarea
- id: flutter-doctor
- attributes:
- label: Flutter doctor output
- description: Paste the output of `flutter doctor -v` here.
- render: shell
- - type: checkboxes
- id: terms
- attributes:
- label: Code of Conduct
- description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/GetStream/stream-chat-flutter/blob/develop/CODE_OF_CONDUCT.md)
- options:
- - label: "I agree to follow this project's Code of Conduct"
- required: true
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml
deleted file mode 100644
index 997171d2b0..0000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
-name: Feature Request
-description: Suggest an idea for this project
-labels: [enhancement]
-body:
- - type: markdown
- attributes:
- value: |
- Thanks for taking the time to help us improve!
- - type: dropdown
- id: packages
- attributes:
- label: Please select which package this feature is related to
- description: You may select more than one.
- multiple: true
- options:
- - stream_chat
- - stream_chat_flutter
- - stream_chat_flutter_core
- - stream_chat_persistance
- - stream_chat_localizations
- validations:
- required: true
- - type: dropdown
- id: platforms
- attributes:
- label: Which platforms would this feature impact?
- description: You may select more than one.
- multiple: true
- options:
- - iOS
- - Android
- - Web
- - Windows
- - MacOS
- - Linux
- - type: textarea
- id: problem
- attributes:
- label: Is your feature request related to a problem?
- description: A clear description of what the problem is.
- placeholder: "Example: I'm always frustrated when [...]"
- - type: textarea
- id: solution
- attributes:
- label: "Describe the solution that you'd like"
- description: A clear description of what you want to happen.
- placeholder: "Example: When clicking this I want that."
- - type: textarea
- id: alternatives
- attributes:
- label: "Describe alternatives that you have considered"
- description: "A clear description of any alternative solutions or features you've considered."
- placeholder: "Example: Instead of this it should do that."
- - type: textarea
- id: additional
- attributes:
- label: "Additional context"
- description: "Add any other context or screenshots about the feature request here."
- - type: checkboxes
- id: terms
- attributes:
- label: Code of Conduct
- description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/GetStream/stream-chat-flutter/blob/develop/CODE_OF_CONDUCT.md)
- options:
- - label: "I agree to follow this project's Code of Conduct"
- required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index fac8f083b9..0000000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Submit a pull request
-
-## CLA
-
-- [ ] I have signed the [Stream CLA](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform) (required).
-- [ ] The code changes follow best practices
-- [ ] Code changes are tested (add some information if not applicable)
-
-## Description of the pull request
diff --git a/.github/actions/pana/action.yml b/.github/actions/pana/action.yml
deleted file mode 100644
index 997b2492ed..0000000000
--- a/.github/actions/pana/action.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-name: Pana Workflow
-
-inputs:
- min_score:
- required: false
- type: number
- default: 120
- pana_version:
- required: false
- type: string
- runs_on:
- required: false
- type: string
- default: "ubuntu-latest"
- working_directory:
- required: false
- type: string
- default: "."
-
-runs:
- using: "composite"
- steps:
- - name: Temporary Override Local Dependencies
- uses: mikefarah/yq@master
- with:
- cmd: |
- yq eval '.dependencies.stream_chat_flutter = {"path": "../stream_chat_flutter"}' -i packages/stream_chat_localizations/pubspec.yaml
- yq eval '.dependencies.stream_chat = {"path": "../stream_chat"}' -i packages/stream_chat_flutter_core/pubspec.yaml
- yq eval '.dependencies.stream_chat_flutter_core = {"path": "../stream_chat_flutter_core"}' -i packages/stream_chat_flutter/pubspec.yaml
- yq eval '.dependencies.stream_chat = {"path": "../stream_chat"}' -i packages/stream_chat_persistence/pubspec.yaml
-
- - name: Install Flutter
- uses: subosito/flutter-action@v2
- with:
- cache: true
- channel: stable
- flutter-version: "3.x"
- cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
-
- - name: Install Pana
- working-directory: ${{ inputs.working_directory }}
- shell: bash
- run: flutter pub global activate pana ${{inputs.pana_version}}
-
- - name: Verify Pana Score
- working-directory: ${{ inputs.working_directory }}
- shell: bash
- run: |
- PANA=$(pana . --no-warning); PANA_SCORE=$(echo $PANA | sed -n "s/.*Points: \([0-9]*\)\/\([0-9]*\)./\1\/\2/p")
- echo "Score: $PANA_SCORE"
- IFS='/'; read -a SCORE_ARR <<< "$PANA_SCORE"; SCORE=SCORE_ARR[0];
- if (( $SCORE < ${{inputs.min_score}} )); then echo "The minimum score of ${{inputs.min_score}} was not met!"; exit 1; fi
\ No newline at end of file
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 508508a7e0..0000000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "weekly"
- - package-ecosystem: "pub"
- directory: "/packages/stream_chat"
- schedule:
- interval: "weekly"
- - package-ecosystem: "pub"
- directory: "/packages/stream_chat_flutter_core"
- schedule:
- interval: "weekly"
- - package-ecosystem: "pub"
- directory: "/packages/stream_chat_flutter"
- schedule:
- interval: "weekly"
- - package-ecosystem: "pub"
- directory: "/packages/stream_chat_persistence"
- schedule:
- interval: "weekly"
- - package-ecosystem: "pub"
- directory: "/packages/stream_chat_localizations"
- schedule:
- interval: "weekly"
diff --git a/.github/workflows/housekeeping.yml b/.github/workflows/housekeeping.yml
deleted file mode 100644
index 3822641575..0000000000
--- a/.github/workflows/housekeeping.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Close inactive issues
-on:
- schedule:
- - cron: "0 */6 * * *"
-
-jobs:
- housekeeping:
- runs-on: ubuntu-latest
- permissions:
- issues: write
- pull-requests: write
- steps:
- - uses: actions/stale@v9
- with:
- days-before-issue-stale: 20
- days-before-issue-close: 7
- stale-issue-label: "stale"
- stale-issue-message: "This issue is stale because it has been open for 20 days with no activity."
- close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale."
- days-before-pr-stale: 20
- days-before-pr-close: -1
- repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/legacy_version_analyze.yml b/.github/workflows/legacy_version_analyze.yml
deleted file mode 100644
index dd1ee13258..0000000000
--- a/.github/workflows/legacy_version_analyze.yml
+++ /dev/null
@@ -1,71 +0,0 @@
-name: legacy_version_analyze
-
-env:
- # Note: The versions below should be manually updated after a new stable
- # version comes out.
- flutter_version: "3.27.4"
-
-on:
- push:
- branches:
- - master
- paths:
- - 'packages/**'
- - '.github/workflows/legacy_version_analyze.yml'
- pull_request:
- branches:
- - master
- paths:
- - 'packages/**'
- - '.github/workflows/legacy_version_analyze.yml'
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- # Does a sanity check that packages at least pass analysis on the N-1
- # versions of Flutter stable if the package claims to support that version.
- # This is to minimize accidentally making changes that break old versions
- # (which we don't commit to supporting, but don't want to actively break)
- # without updating the constraints.
- analyze_legacy_versions:
- timeout-minutes: 15
- if: github.event.pull_request.draft == false
- runs-on: ubuntu-latest
- steps:
- - name: "Git Checkout"
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: "Install Flutter"
- uses: subosito/flutter-action@v2
- with:
- flutter-version: ${{ env.flutter_version }}
- channel: stable
- cache: true
- cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
-
- - name: "Install Tools"
- run: flutter pub global activate melos
-
- - name: "Bootstrap Workspace"
- run: melos bootstrap --verbose
-
- # Only analyze lib/; non-client code doesn't need to work on
- # all supported legacy version.
- - name: "Stream Chat Analyze"
- run: cd packages/stream_chat/lib && dart analyze --fatal-infos .
-
- - name: "Stream Chat Flutter Core Analyze"
- run: cd packages/stream_chat_flutter_core/lib && dart analyze --fatal-infos .
-
- - name: "Stream Chat Flutter Analyze"
- run: cd packages/stream_chat_flutter/lib && dart analyze --fatal-infos .
-
- - name: "Stream Chat Persistence Analyze"
- run: cd packages/stream_chat_persistence/lib && dart analyze --fatal-infos .
-
- - name: "Stream Chat Localizations Analyze"
- run: cd packages/stream_chat_localizations/lib && dart analyze --fatal-infos .
\ No newline at end of file
diff --git a/.github/workflows/pana.yml b/.github/workflows/pana.yml
deleted file mode 100644
index 230e88d09a..0000000000
--- a/.github/workflows/pana.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-name: pana
-
-on:
- pull_request:
- branches:
- - master
- push:
- branches:
- - master
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- stream_chat:
- runs-on: ubuntu-latest
- steps:
- - name: š Git Checkout
- uses: actions/checkout@v4
- - name: š Verify Pana Score
- uses: ./.github/actions/pana
- with:
- working_directory: packages/stream_chat
- min_score: 120
-
- stream_chat_persistence:
- runs-on: ubuntu-latest
- steps:
- - name: š Git Checkout
- uses: actions/checkout@v4
- - name: š Verify Pana Score
- uses: ./.github/actions/pana
- with:
- working_directory: packages/stream_chat_persistence
- min_score: 120
-
- stream_chat_flutter_core:
- runs-on: ubuntu-latest
- steps:
- - name: š Git Checkout
- uses: actions/checkout@v4
- - name: š Verify Pana Score
- uses: ./.github/actions/pana
- with:
- working_directory: packages/stream_chat_flutter_core
- min_score: 120
-
- stream_chat_flutter:
- runs-on: ubuntu-latest
- steps:
- - name: š Git Checkout
- uses: actions/checkout@v4
- - name: š Verify Pana Score
- uses: ./.github/actions/pana
- with:
- working_directory: packages/stream_chat_flutter
- min_score: 120
-
- stream_chat_localizations:
- runs-on: ubuntu-latest
- steps:
- - name: š Git Checkout
- uses: actions/checkout@v4
- - name: š Verify Pana Score
- uses: ./.github/actions/pana
- with:
- working_directory: packages/stream_chat_localizations
- min_score: 120
\ No newline at end of file
diff --git a/.github/workflows/pr_title.yml b/.github/workflows/pr_title.yml
deleted file mode 100644
index 8b200d5d8c..0000000000
--- a/.github/workflows/pr_title.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-name: 'PR is Conventional and Semantic'
-on:
- pull_request_target:
- types:
- - opened
- - edited
- - synchronize
- branches:
- - master
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- conventional_pr_title:
- runs-on: ubuntu-latest
- steps:
- - uses: amannn/action-semantic-pull-request@v5.5.3
- with:
- scopes: |
- llc
- persistence
- core
- ui
- doc
- repo
- localization
- requireScope: true
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- semantic_changelog_update:
- needs: conventional_pr_title # Trigger after the [conventional_pr_title] completes
- runs-on: ubuntu-latest
- steps:
- - uses: GetStream/verify-semantic-changelog-update@main
- with:
- scopes: |
- {
- "llc": "packages/stream_chat",
- "ui": "packages/stream_chat_flutter",
- "core": "packages/stream_chat_flutter_core",
- "localization": "packages/stream_chat_localizations",
- "persistence": "packages/stream_chat_persistence"
- }
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/scripts/remove-from-coverage.sh b/.github/workflows/scripts/remove-from-coverage.sh
deleted file mode 100755
index 0ea18f975a..0000000000
--- a/.github/workflows/scripts/remove-from-coverage.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-# Fast fail the script on failures.
-set -e
-
-flutter pub global run remove_from_coverage:remove_from_coverage -f coverage/lcov.info -r '\.g\.dart$' -r '\.freezed\.dart$'
diff --git a/.github/workflows/scripts/validate-formatting.sh b/.github/workflows/scripts/validate-formatting.sh
deleted file mode 100755
index 27e33215f8..0000000000
--- a/.github/workflows/scripts/validate-formatting.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-if [[ $(git ls-files --modified) ]]; then
- echo ""
- echo ""
- echo "These files are not formatted correctly:"
- for f in $(git ls-files --modified); do
- echo ""
- echo ""
- echo "-----------------------------------------------------------------"
- echo "$f"
- echo "-----------------------------------------------------------------"
- echo ""
- git --no-pager diff --unified=0 --minimal $f
- echo ""
- echo "-----------------------------------------------------------------"
- echo ""
- echo ""
- done
- if [[ $GITHUB_WORKFLOW ]]; then
- git checkout . > /dev/null 2>&1
- fi
- echo ""
- echo "ā Some files are incorrectly formatted, see above output."
- echo ""
- echo "To fix these locally, run: 'melos run format'."
- exit 1
-else
- echo ""
- echo "ā
All files are formatted correctly."
-fi
\ No newline at end of file
diff --git a/.github/workflows/stream_flutter_workflow.yml b/.github/workflows/stream_flutter_workflow.yml
deleted file mode 100644
index 5c97dcbe3a..0000000000
--- a/.github/workflows/stream_flutter_workflow.yml
+++ /dev/null
@@ -1,149 +0,0 @@
-name: stream_flutter_workflow
-
-env:
- ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
- flutter_version: "3.x"
-
-on:
- pull_request:
- paths:
- - 'packages/**'
- - '.github/workflows/stream_flutter_workflow.yml'
- types:
- - opened
- - reopened
- - synchronize
- - ready_for_review
- push:
- branches:
- - master
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- analyze:
- timeout-minutes: 15
- if: github.event.pull_request.draft == false
- runs-on: ubuntu-latest
- steps:
- - name: "Git Checkout"
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: "Install Flutter"
- uses: subosito/flutter-action@v2
- with:
- flutter-version: ${{ env.flutter_version }}
- channel: stable
- cache: true
- cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
- - name: "Install Tools"
- run: |
- flutter pub global activate melos
- - name: "Bootstrap Workspace"
- run: melos bootstrap --verbose
- - name: "Dart Analyze"
- run: |
- melos run analyze
- - name: "Pub Check"
- if: github.base_ref == 'master'
- run: |
- melos run lint:pub
-
- format:
- runs-on: ubuntu-latest
- if: github.event.pull_request.draft == false
- timeout-minutes: 15
- steps:
- - name: "Git Checkout"
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: "Install Flutter"
- uses: subosito/flutter-action@v2
- with:
- flutter-version: ${{ env.flutter_version }}
- channel: stable
- cache: true
- cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
- - name: "Install Tools"
- run: |
- flutter pub global activate melos
- - name: "Bootstrap Workspace"
- run: melos bootstrap
- - name: "Melos Format"
- run: melos run format
- - name: "Validate Formatting"
- run: |
- ./.github/workflows/scripts/validate-formatting.sh
-
- test:
- runs-on: ubuntu-latest
- if: github.event.pull_request.draft == false
- timeout-minutes: 30
- steps:
- - name: "Git Checkout"
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: "Install Flutter"
- uses: subosito/flutter-action@v2
- with:
- flutter-version: ${{ env.flutter_version }}
- channel: stable
- cache: true
- cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
- # This step is needed due to https://github.com/actions/runner-images/issues/11279
- - name: Install SQLite3
- run: sudo apt-get update && sudo apt-get install -y sqlite3 libsqlite3-dev
- - name: "Install Tools"
- run: |
- flutter pub global activate melos
- flutter pub global activate remove_from_coverage
- - name: "Bootstrap Workspace"
- run: melos bootstrap
- - name: "Flutter Test"
- run: melos run test:all
- - name: "Collect Coverage"
- run: melos run coverage:ignore-file --no-select
- - name: "Upload Coverage"
- uses: codecov/codecov-action@v5
- with:
- token: ${{secrets.CODECOV_TOKEN}}
- files: packages/*/coverage/lcov.info
- - name: "Stream Chat Coverage Check"
- uses: VeryGoodOpenSource/very_good_coverage@v3.0.0
- with:
- path: packages/stream_chat/coverage/lcov.info
- min_coverage: 70
- - name: "Stream Chat Localizations Coverage Check"
- uses: VeryGoodOpenSource/very_good_coverage@v3.0.0
- with:
- path: packages/stream_chat_localizations/coverage/lcov.info
- min_coverage: 100
- - name: "Stream Chat Persistence Coverage Check"
- uses: VeryGoodOpenSource/very_good_coverage@v3.0.0
- with:
- path: packages/stream_chat_persistence/coverage/lcov.info
- min_coverage: 95
- - name: "Stream Chat Flutter Core Coverage Check"
- uses: VeryGoodOpenSource/very_good_coverage@v3.0.0
- with:
- path: packages/stream_chat_flutter_core/coverage/lcov.info
- min_coverage: 30
- - name: "Stream Chat Flutter Coverage Check"
- uses: VeryGoodOpenSource/very_good_coverage@v3.0.0
- with:
- path: packages/stream_chat_flutter/coverage/lcov.info
- min_coverage: 44
-
- draft-build:
- runs-on: ubuntu-latest
- if: github.event.pull_request.draft == true
- timeout-minutes: 1
-
- steps:
- - name: Run a one-line script
- run: echo Draft PR, you are good.
diff --git a/.github/workflows/update_goldens.yml b/.github/workflows/update_goldens.yml
deleted file mode 100644
index 3ee1ffd0d9..0000000000
--- a/.github/workflows/update_goldens.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: update_goldens
-
-on: workflow_dispatch
-
-jobs:
- update_goldens:
- runs-on: ubuntu-latest
- steps:
- - name: š Checkout branch
- uses: actions/checkout@v4
-
- - name: š¦ Install Flutter
- uses: subosito/flutter-action@v2
- with:
- flutter-version: "3.x"
- channel: stable
- cache: true
- cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
-
- - name: š¦ Install Tools
- run: flutter pub global activate melos
-
- - name: š§ Bootstrap Workspace
- run: melos bootstrap --verbose
-
- - name: š¼ļø Update Goldens
- continue-on-error: true
- run: melos run update:goldens
-
- - name: š¤ Commit Changes
- id: commit_changes
- uses: stefanzweifel/git-auto-commit-action@v5
- with:
- commit_message: "chore: Update Goldens"
- commit_user_name: github-actions[bot]
- commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c24b8110b1..0000000000
--- a/.gitignore
+++ /dev/null
@@ -1,132 +0,0 @@
-# Miscellaneous
-*.class
-*.log
-*.pyc
-*.swp
-.DS_Store
-.atom/
-.buildlog/
-.history
-.svn/
-.project
-.classpath
-.settings
-
-# IntelliJ related
-*.iml
-*.ipr
-*.iws
-.idea/
-
-# VS Code related
-.vscode/
-
-# Flutter/Dart/Pub related
-.dart_tool/
-.flutter-plugins
-.flutter-plugins-dependencies
-.packages
-.pub-cache/
-.pub/
-build/
-coverage/
-coverage_helper_test.dart
-**/doc/api/
-pubspec.lock
-pubspec_overrides.yaml
-flutter_export_environment.sh
-generated_plugin_registrant.*
-GeneratedPluginRegistrant.*
-
-# Android related
-**/android/**/gradle-wrapper.jar
-**/android/.gradle
-**/android/captures/
-**/android/gradlew
-**/android/gradlew.bat
-**/android/local.properties
-**/android/**/GeneratedPluginRegistrant.java
-
-# iOS/XCode related
-**/ios/**/*.mode1v3
-**/ios/**/*.mode2v3
-**/ios/**/*.moved-aside
-**/ios/**/*.pbxuser
-**/ios/**/*.perspectivev3
-**/ios/**/*sync/
-**/ios/**/.sconsign.dblite
-**/ios/**/.tags*
-**/ios/**/.vagrant/
-**/ios/**/DerivedData/
-**/ios/**/Icon?
-**/ios/**/Pods/
-**/ios/**/.symlinks/
-**/ios/**/profile
-**/ios/**/xcuserdata
-**/ios/.generated/
-**/ios/Flutter/App.framework
-**/ios/Flutter/Flutter.framework
-**/ios/Flutter/Flutter.podspec
-**/ios/Flutter/Generated.xcconfig
-**/ios/Flutter/app.flx
-**/ios/Flutter/app.zip
-**/ios/Flutter/flutter_assets/
-**/ios/Flutter/flutter_export_environment.sh
-**/ios/ServiceDefinitions.json
-**/ios/Runner/GeneratedPluginRegistrant.*
-Podfile.lock
-
-# Exceptions to iOS rules
-!**/ios/**/default.mode1v3
-!**/ios/**/default.mode2v3
-!**/ios/**/default.pbxuser
-!**/ios/**/default.perspectivev3
-
-# macOS-related
-**/macos/**/Pods/
-**/macos/**/xcuserdata
-**/macos/**/Flutter/ephemeral
-
-# Windows-related
-**/windows/flutter/ephemeral/
-
-# Linux-related
-**/linux/flutter/ephemeral/
-
-# Generated files
-*.dart.js
-*.info.json
-*.js
-*.js_
-*.js.deps
-*.js.map
-*.wasm
-**/lcov.info
-
-# Other ignored files
-google-services.json
-.melos_tool/
-.packages/flutter_widgets/example/ios/Flutter/.last_build_id
-.packages/dart_client/example/ios/Flutter/.last_build_id
-.packages/dart_client/example/ios/Runner.xcodeproj/project.pbxproj
-
-# Ignore FVM
-**/.fvm
-
-# Gradle related
-.gradle/
-gradlew
-gradlew.bat
-gradle-wrapper.jar
-
-# Non-CI golden files and failures
-**/test/**/goldens/**/*.*
-**/test/**/failures/**/*.*
-!**/test/**/goldens/ci/*.*
-
-# Exceptions to the above rules
-!/pubspec.lock
-!**/example/web/sql-wasm.js
-!**/example/web/sql-wasm.wasm
-!/sample_app/web/sql-wasm.js
-!/sample_app/web/sql-wasm.wasm
\ No newline at end of file
diff --git a/.last_build_id b/.last_build_id
new file mode 100644
index 0000000000..03c8d12413
--- /dev/null
+++ b/.last_build_id
@@ -0,0 +1 @@
+2b2b28d91c806f1c3455b7b05f0d5400
\ No newline at end of file
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index 131926c711..0000000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Code of conduct
-
-We expect Stream's contributors to act professionally and respectfully, and
-we expect our social spaces to be safe and dignified environments.
-
-Specifically:
-
-* Respect people, their identities, their culture, and their work.
-* Be kind. Be courteous. Be welcoming.
-* Listen. Consider and acknowledge people's points before responding.
-
-Should you experience anything that makes you feel unwelcome in Stream's
-community, please contact [support](https://getstream.io/contact/support/)
-or, if you prefer, directly contact someone on the team, for instance
-[Salvatore](mailto:salvatore@getstream.io) or [Nash](mailto:nash@getstream.io). We will
-not tolerate harassment from anyone in Stream's community, even outside
-of Stream's public communication channels.
-
-## Conflict resolution
-
-When multiple contributors disagree on the direction for a particular
-patch or the general direction of the project, the conflict should be
-resolved by communication. The people who disagree should get
-together, try to understand each other's points of view, and work to
-find a design that addresses everyone's concerns.
-
-This is usually sufficient to resolve issues. If you cannot come to an
-agreement, ask for the advice of a more senior member of the team.
-
-Be wary of agreement by attrition, where one person argues a point
-repeatedly until other participants give up in the interests of moving
-on. This is not conflict resolution, as it does not address everyone's
-concerns. Be wary of agreement by compromise, where two good competing
-solutions are merged into one mediocre solution. A conflict is
-addressed when the participants agree that the final solution is
-_better_ than all the conflicting proposals. Sometimes the solution is
-more work than either of the proposals.
-
-## Questions
-
-It's always ok to ask questions. Once you find the answer, document it in
-the first place you looked. That way, the next person will be brought
-up to speed even quicker.
-
-
-
-Source: _[xkcd, May 2012](https://xkcd.com/1053/)_
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 279e3bc4e2..0000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,344 +0,0 @@
-Welcome to Streamās Flutter repository. Thank you for taking the time to contribute to our codebase. š.
-
-This document outlines a set of guidelines for contributing to Stream and our packages. These are mostly guidelines, not necessarily a fixed set of rules. Please use your best judgment and feel free to propose changes to this document in a pull request.
-
----
-
-# If I have a question, do I need to read this guide? š¬
-
-Probably not. Most questions can be answered by looking at our Frequently Asked Questions (FAQ) or Flutter Cookbook.
-
-If you are still having doubts around a specific API, please create an issue on your repository with the label "Question". Community members or team members would be happy to assist.
-
-In cases where developers suspect the issue may be a defect or bug, please use one of our pre-made templates to file an issue. Be sure to include as many details as possible to help our team reproduce the error. A good bug report should have clear and consistent instructions for reproducing, screenshots or videos of the bug if applicable, and information on your environment setup and Flutter version.
-
-You can include the output of `flutter doctor --verbose` when filing an issue.
-
-š: [https://github.com/GetStream/stream-chat-flutter/issue](https://github.com/GetStream/stream-chat-flutter/issues)
-
----
-
-# What should I know before diving into code? š¤
-
-Stream's Flutter code is kept in a single mono-repository consisting of multiple packages. Source code for each package can be found under the top-level `/packages` directory.
-
-
-
-### Project Structure š§±
-
-`.github` - GitHub files including issue templates, pull request templates, and GitHub Action scripts.
-
-`images` - Static images used in our README and elsewhere.
-
-`package` - Directory containing Stream's Flutter source code. Each sub-directory represents a Flutter (or Dart) project.
-
-`.gitignore` - Listing of files and file extensions ignored for this project.
-
-`CODE_OF_CONDUCT` - Our values, approach to writing code, and expectations for Stream developers and contributors.
-
-`LICENSE` - Legal. Feast your eyes on the fine print.
-
-`README` - Project overview.
-
-`melos.yaml` - Configuration file used to control [Melos](https://pub.dev/packages/melos), our mono-repo management tool of choice.
-
-### Current Stream Packages
-
-`stream_chat` - Stream Chat is a low-level wrapper around Stream's REST API and web sockets. It contains minimal external dependencies and does not rely on Flutter. It is possible to use this package on most platforms supported by Dart.
-
-`stream_chat_flutter_core` - This package provides business logic to fetch common things required to integrate Stream Chat into your application. The core package allows more customization, providing business logic but no UI components.
-
-`stream_chat_flutter` - This library includes both a low-level chat SDK and a set of reusable and customizable UI components.
-
-`stream_chat_persistence` - This package provides a persistence client for fetching and saving chat data locally. Stream Chat Persistence uses Moor as a disk cache.
-
-`stream_chat_localizations` - This package provides a set of localizations for the SDK.
-
-### Local Setup
-
-Congratulations. š. You've successfully cloned our repository, and you are ready to make your first contribution. Before you can start making code changes, there are a few things to configure.
-
-**Melos Setup**
-
-Stream uses `Melos` to manage our mono-repository. For those unfamiliar, Melos is used to split up large code bases into separate independently versioned packages. To install Melos, developers can run the following command:
-
-```bash
-pub global activate melos
-```
-
-Once activated, users can now "bootstrap" their local clone by running the following:
-
-```bash
-melos bootstrap
-```
-
-Bootstrap will automatically fetch and link dependencies for all packages in the repository. It is the Melos equivalent of running `flutter pub get`.
-
-Bonus Tip: Did you know it is possible to define and run custom scripts using Melos? Our team uses custom scripts for all sorts of actions like testing, lints, and more.
-
-To run a script, use `melos run