Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
02bd3e4
Move old project to _temp_storage (#102)
Izchomatik Jul 12, 2024
ccf6e33
Project initialization (#101)
Izchomatik Jul 13, 2024
3aa3c0c
Update .gitignore, add minimal CI (#107)
gavv Jul 13, 2024
6697e82
Flutter model, UI and Logger (#108)
Izchomatik Aug 2, 2024
62ac86d
Update dodo.py (#110)
gavv Aug 2, 2024
ddb1009
Update identifiers & version (#111)
gavv Aug 2, 2024
8a272e7
Move metadata & license back (#112)
gavv Aug 2, 2024
ed28af7
Implement android bridge using pigeon (#98)
Izchomatik Aug 8, 2024
813f6e7
Refactoring and fixes in android bridge (#98)
gavv Sep 15, 2024
a39cd68
Start android service and call its methods (#98)
Izchomatik Sep 15, 2024
35fd6b6
Cleanup doit targets
gavv Oct 3, 2024
421c5dd
Add script/android_logcat.py
gavv Oct 3, 2024
64ac7a4
Android backend overhaul and fixes (#98)
gavv Sep 16, 2024
1b77b5d
Rename files in android backend (#98)
gavv Oct 5, 2024
afbdf04
Fix dart tests
gavv Oct 5, 2024
4fdbce6
Extract update_version.py and bump to 0.4.0
gavv Oct 5, 2024
bd9cf99
Build system update (#104)
gavv Oct 5, 2024
934d94c
Run code formatter
gavv Oct 5, 2024
b30b63f
Remove outdated files
gavv Oct 5, 2024
055d2c8
Cleanup android manifest (#104)
gavv Oct 5, 2024
40977d6
Add gradle wrapper to git
gavv Oct 5, 2024
818c505
Remove deprecated kotlin-android-extensions
gavv Oct 5, 2024
e5e2cfb
CI: Install JDK 17
gavv Oct 5, 2024
f50f4c8
Kotlin & gradle versions
gavv Oct 5, 2024
137f559
Rework version scripts
gavv Oct 9, 2024
28f1aed
Update CI (#99)
gavv Oct 9, 2024
102e1a9
Update documentation
gavv Oct 9, 2024
ac9dc29
Generate dependencies.json
gavv Oct 10, 2024
49b24da
Adjust documentation for mkdocs & expand docs
gavv Oct 10, 2024
a43107b
Gradle fixes
gavv Oct 10, 2024
d925f55
CI: default.yml => build.yml
gavv Oct 11, 2024
90f75ab
Restore & update README (#105)
gavv Oct 11, 2024
64a5165
Fix generate_docs.py
gavv Oct 11, 2024
06dd91b
Update docs generation
gavv Oct 11, 2024
47fe1cb
Rename workflow file
gavv Oct 11, 2024
99f760d
Cleanup dodo.py
gavv Oct 11, 2024
f419f08
Java and emulator docs (#119)
Izchomatik Oct 13, 2024
37c11f6
Documentation improvements
gavv Oct 13, 2024
7251101
Fix CI badge
gavv Oct 16, 2024
3edfd03
Docker build
gavv Oct 25, 2024
857489d
Kotlin service integration (#123)
Izchomatik Feb 7, 2025
badf35b
Update .gitignore
gavv Feb 7, 2025
dfb3305
Update flutter dependencies (#94)
gavv Feb 7, 2025
e622354
Make tests easier to run from CLI
gavv Feb 7, 2025
3da8438
Run linter when running build
gavv Feb 20, 2025
f3edb58
Enable more linter rules
gavv Feb 20, 2025
431d5bc
Connect to running service at start and reflect state in UI
gavv Feb 20, 2025
d7ca1a5
Refine event handling in android backend (#98)
gavv Feb 7, 2025
110c05f
About page (#109)
Izchomatik Feb 22, 2025
b48794c
Integration fixes (#98)
Izchomatik Feb 22, 2025
d392081
Minor refactoring
gavv Feb 22, 2025
f67f99c
Import model classes via model.dart
gavv Feb 22, 2025
8feda4c
Support multiple listeners in StreamingService
gavv Feb 22, 2025
f83a12f
Update doit targets & docs
gavv Feb 22, 2025
702d1bb
Don't use flutter_gen synthetic package
gavv Feb 22, 2025
c8fcdeb
Bump flutter_native_splash and re-generate splash screen
gavv Feb 22, 2025
4a23636
Bump kotlin to 1.8.10
gavv Feb 22, 2025
1178108
Downgrade flutter_native_splash to 2.4.4 and run "pub upgrade"
gavv Feb 22, 2025
6f96bb1
Skip malformed lines in android_logcat
gavv Feb 22, 2025
24c0cb2
Fix doit on Windows
gavv Feb 22, 2025
5805574
Fix command formatting in dodo.py
gavv Feb 23, 2025
e9e853c
Fix kotlin warnings
gavv Feb 23, 2025
9ef3b49
Simplify android notification
gavv Feb 23, 2025
5b9300d
Extract StreamingConnector class
gavv Feb 23, 2025
ca38a5f
Reimplement android tile
gavv Feb 23, 2025
f143f64
Delete old project (_temp_storage)
gavv May 16, 2025
3821b95
Fix default doit target
gavv May 16, 2025
89751dc
Update flutter deps
gavv May 16, 2025
7c15512
Rename AndroidConnector to AndroidController
gavv May 18, 2025
f80c5b1
Separate AndroidConnector and Agent
gavv May 18, 2025
4051334
Rework agent events
gavv May 18, 2025
0a32fac
Update CI
gavv May 18, 2025
95ff760
Bump compileSdkVersion to 35 (Android 15)
gavv May 18, 2025
dea89b6
Rework event and error handling (#98)
gavv May 19, 2025
369a9f4
Update mkdocs scripts (#139)
gavv May 19, 2025
a353819
Update documentation (#139)
gavv May 19, 2025
b85438b
Update .gitignore
gavv May 20, 2025
46d0ed6
Update dependencies
gavv May 20, 2025
161a993
Add dto and storage and use in models (#130)
gavv May 20, 2025
00d4dd0
Update internals documentation (#139)
gavv May 20, 2025
da0128d
Add authors list (#139)
gavv May 20, 2025
f2bf394
Restore screencast (#139)
gavv May 20, 2025
3cc9e8b
Handle notification dismissal (#98)
gavv May 20, 2025
83790d7
Improve scripts
gavv May 21, 2025
4d11892
Relax intl version requirement
gavv May 21, 2025
9e81cf0
Run code formatter
gavv May 21, 2025
a67d605
Propagate permission errors as agent exceptions (#98)
gavv May 21, 2025
757dda6
Fixes in permission dialog (#98)
gavv May 21, 2025
1bb6d1e
Fix POST_NOTIFICATIONS on targetSdkVersion <= 32 (#98)
gavv May 21, 2025
d8b9b83
Fix async/await error
gavv May 21, 2025
0c42a5f
Update scripts and docs
gavv May 22, 2025
d8ca582
Renames on kotlin side
gavv Jun 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .aiderignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.g.dart
*.g.kt
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
github: roc-streaming
open_collective: roc-streaming
liberapay: roc-streaming
85 changes: 0 additions & 85 deletions .github/workflows/build.yaml

This file was deleted.

161 changes: 161 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
name: "build"

on:
push:
branches:
- flutter

pull_request:

repository_dispatch:
types:
- trigger_build

workflow_dispatch:
workflow_call:

schedule:
- cron: '0 0 * * 1'

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
# native build on desktop
desktop:
strategy:
matrix:
include:
- host: linux
image: ubuntu-latest

runs-on: ${{ matrix.image }}
name: desktop/${{ matrix.host }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install dependencies
uses: roc-streaming/ci/actions/install-packages@main
with:
packages: ninja-build libgtk-3-dev

- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: stable
cache: true

- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install doit
run: |
pip install doit

- name: Run checks
run: |
doit desktop:check

- name: Run build (debug)
run: |
doit desktop:build variant=debug

- name: Run build (release)
run: |
doit desktop:build variant=release

- name: Run tests
run: |
doit desktop:test

# build for android on different hosts
android:
strategy:
matrix:
include:
- host: linux
image: ubuntu-latest

- host: macos
image: macos-latest

- host: windows
image: windows-latest

runs-on: ${{ matrix.image }}
name: android/${{ matrix.host }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install JDK
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin

- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: stable
cache: true

- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install doit
run: |
pip install doit

- name: Run checks
run: |
doit android:check

- name: Run build (debug)
run: |
doit android:build variant=debug

- name: Run build (release)
run: |
doit android:build variant=release

- name: Run tests
run: |
doit android:test

# build for different targets on different hosts using docker
docker:
strategy:
matrix:
include:
- host: linux
target: android
image: ubuntu-latest

runs-on: ${{ matrix.image }}
name: docker/${{ matrix.target }}-${{ matrix.host }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build
if: runner.os != 'Windows'
run: |
./script/docker_build.sh

- name: Build (Windows)
if: runner.os == 'Windows'
run: |
.\script\docker_build.bat
71 changes: 71 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: "release"

on:
push:
tags:
- v*

workflow_dispatch:

permissions:
contents: write

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}

jobs:
build:
uses: ./.github/workflows/build.yml

release:
needs: [build]

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install JDK
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin

- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: stable
cache: true

- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install doit
run: |
pip install doit

- name: Check manifests
run: |
./script/version_ctl.py check_release

- name: Build APK
env:
SIGNING_STORE_FILE: roc-droid.jks
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
run: |
echo "${{ secrets.SIGNING_STORE_BASE64 }}" | base64 -di > app/${{ env.SIGNING_STORE_FILE }}
doit android:build variant=release

- name: Deploy APK
uses: softprops/action-gh-release@v2
with:
draft: true
files: dist/android/release/roc-droid-*.apk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50 changes: 42 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,46 @@
# build
/build
/dist
/site

# flutter
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
app.*.map.json
app.*.symbols

# java
*.class
*.iml
.gradle
*.jks
/local.properties
/.idea/*
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
.idea
.externalNativeBuild
.gradle
local.properties

# doit and scripts
.doit.db*
*.pyc

# temp
.DS_Store
.buildlog

# editors
*.iml
*.ipr
*.iws
*.swp
.atom
.idea/
.vscode
.$*

# personal
/TODO.org
.aider.*
Loading