Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f7e6306
Merge pull request #50 from ob-f/master
sparsh3dwe Feb 25, 2026
e9835bc
update: react blockly dependencies
hardikgarg02 Mar 12, 2026
d9a3a0d
update: controller-dependency
hardikgarg02 Mar 12, 2026
f11f07a
added: blockly config workflow
harishthakur52 Mar 16, 2026
a42d7bd
Merge pull request #52 from 3dwesupport/feature/web-packages-workflow
hardikgarg02 Mar 17, 2026
9941871
fix: open-code directory path
harishthakur52 Mar 17, 2026
8b947fb
Merge pull request #53 from 3dwesupport/feature/web-packages-workflow
hardikgarg02 Mar 17, 2026
9f16596
update pull and push brach for blockly
harishthakur52 Mar 17, 2026
2868ea3
Merge pull request #54 from 3dwesupport/feature/web-packages-workflow
hardikgarg02 Mar 17, 2026
5512520
chore: update dependencies and versions for flutter controller
harishthakur52 Mar 18, 2026
dbdb5a1
updated: ios robot app pod deployment target version
hardikgarg02 Mar 19, 2026
8d11748
Merge branch 'chore/dependency-updates' of https://github.com/3dwesup…
harishthakur52 Mar 20, 2026
48b5b82
solve merge conflict
harishthakur52 Mar 20, 2026
8d5f660
updated blockly core 12.5.0
harishthakur52 Mar 20, 2026
52137f4
fix: Update Blockly Sub-pakages and align toolbox colour and spacing
harishthakur52 Mar 23, 2026
1b2ff67
fix: Adjust the height blocklyToolbox
harishthakur52 Mar 23, 2026
1b27ae8
Merge pull request #55 from 3dwesupport/feature/web-packages-workflow
hardikgarg02 Mar 23, 2026
677f7ed
change node-versionto 20 for blockly workflow
harishthakur52 Mar 23, 2026
762f322
Merge pull request #56 from 3dwesupport/feature/web-packages-workflow
hardikgarg02 Mar 23, 2026
95f1ed5
Fixed ios flutter controller build
harishthakur52 Apr 1, 2026
789a568
added: clean up job for running server
harishthakur52 Apr 7, 2026
ac28108
ios: align deployment target to 13.0
harishthakur52 Apr 7, 2026
21537bc
Sync iphone deployment target to 13.0
harishthakur52 Apr 7, 2026
0dbc78e
Updated framework to VITE
harishthakur52 Apr 10, 2026
5be81dc
correct malformed video tag causing parse error
harishthakur52 Apr 13, 2026
c218508
removed unused sound block feild
harishthakur52 Apr 17, 2026
80829f4
update Flutter controller Android versioning to match git releases
harishthakur52 May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/blockly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Blockly Config

on:
push:
branches: [ master ]
paths:
- 'open-code/**'
- '.github/workflows/blockly.yml'
pull_request:
branches: [ master ]
paths:
- 'open-code/**'
- '.github/workflows/blockly.yml'

jobs:
blockly:
name: Blockly Config
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install dependencies
working-directory: open-code
run: npm install

- name: Start server in background
working-directory: open-code
run: npm start &

- name: Wait for server to start
run: sleep 10

- name: Test HTTP server
run: curl -I http://localhost:3000

- name: Stop server
if: always()
run: fuser -k 3000/tcp || true
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,12 @@ wandb/
# build
/bin
/node_modules/

/caches
/wrapper
controller/flutter/android/build
/daemon
kotlin-profile
native
jdks
/android/FakeDependency.jar
2 changes: 2 additions & 0 deletions controller/flutter/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/

# IntelliJ related
Expand Down
80 changes: 30 additions & 50 deletions controller/flutter/android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,73 +1,53 @@
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
plugins {
id "com.android.application"
id "org.jetbrains.kotlin.android"
id "dev.flutter.flutter-gradle-plugin"
id "io.github.reactivecircus.app-versioning" version "1.1.2"
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
appVersioning {
gitRootDirectory.set(rootProject.file("../../../"))
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
namespace "org.openbot.flutter_controller"

compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}

kotlinOptions {
jvmTarget = '11'
}
// 1. Updated to match the new plugin requirements
compileSdk 36

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
// 2. Explicitly setting the NDK version requested by nsd_android
ndkVersion = "28.2.13676358"

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "org.openbot.flutter_controller"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
minSdkVersion 21

// 3. Changed from 'flutter.minSdkVersion' to 24 to support modern WebRTC/Sensors
minSdkVersion 24

// 4. Updated to match the latest Android standards
targetSdk 36
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = "17"
}
}

flutter {
source '../..'
source "../.."
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

}
// Leave this empty unless adding specific native libraries
}
25 changes: 19 additions & 6 deletions controller/flutter/android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
buildscript {
ext.kotlin_version = '1.6.10'
ext.kotlin_version = '2.1.0'
repositories {
google()
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath 'com.android.tools.build:gradle:8.6.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
Expand All @@ -18,14 +18,27 @@ allprojects {
}
}

rootProject.buildDir = '../build'
rootProject.layout.buildDirectory.set(file("../build"))

subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.layout.buildDirectory.set(file("${rootProject.layout.buildDirectory.get()}/${project.name}"))

// This block fixes the "Namespace not specified" error for all plugins
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
if (namespace == null) {
namespace = project.group ?: "org.openbot.${project.name.replace(':', '.')}"
}
}
}
}
}

subprojects {
project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
delete rootProject.buildDir
}
delete rootProject.layout.buildDirectory
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
30 changes: 22 additions & 8 deletions controller/flutter/android/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
include ':app'
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def sdkPath = properties.getProperty("flutter.sdk")
assert sdkPath != null, "flutter.sdk not set in local.properties"
return sdkPath
}()

def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
includeBuild "${flutterSdkPath}/packages/flutter_tools/gradle"

assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}

def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.6.0" apply false
id "org.jetbrains.kotlin.android" version "2.1.0" apply false
}

include ":app"
2 changes: 0 additions & 2 deletions controller/flutter/ios/Flutter/AppFrameworkInfo.plist
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,5 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion controller/flutter/ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'
# platform :ios, '13.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
Expand Down
39 changes: 15 additions & 24 deletions controller/flutter/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,34 +1,29 @@
PODS:
- Flutter (1.0.0)
- flutter_webrtc (0.9.17):
- flutter_webrtc (1.4.0):
- Flutter
- WebRTC-SDK (= 104.5112.07)
- WebRTC-SDK (= 144.7559.01)
- fluttertoast (0.0.2):
- Flutter
- Toast
- nsd_ios (0.0.1):
- Flutter
- path_provider_ios (0.0.1):
- Flutter
- sensors_plus (0.0.1):
- Flutter
- Toast (4.0.0)
- video_player_avfoundation (0.0.1):
- Flutter
- WebRTC-SDK (104.5112.07)
- FlutterMacOS
- WebRTC-SDK (144.7559.01)

DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- nsd_ios (from `.symlinks/plugins/nsd_ios/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- sensors_plus (from `.symlinks/plugins/sensors_plus/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)

SPEC REPOS:
trunk:
- Toast
- WebRTC-SDK

EXTERNAL SOURCES:
Expand All @@ -40,24 +35,20 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/fluttertoast/ios"
nsd_ios:
:path: ".symlinks/plugins/nsd_ios/ios"
path_provider_ios:
:path: ".symlinks/plugins/path_provider_ios/ios"
sensors_plus:
:path: ".symlinks/plugins/sensors_plus/ios"
video_player_avfoundation:
:path: ".symlinks/plugins/video_player_avfoundation/ios"
:path: ".symlinks/plugins/video_player_avfoundation/darwin"

SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_webrtc: 6767eafaa728c1e58026e901ca19f3fd5d713397
fluttertoast: eb263d302cc92e04176c053d2385237e9f43fad0
nsd_ios: 8c37babdc6538e3350dbed3a52674d2edde98173
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
sensors_plus: 5717760720f7e6acd96fdbd75b7428f5ad755ec2
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
video_player_avfoundation: e489aac24ef5cf7af82702979ed16f2a5ef84cff
WebRTC-SDK: ef83f71e443c135d98de109940343bcf6d313e8f
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_webrtc: ec91d94b484ad49cf191ef93413f64a40ffd3b4c
fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1
nsd_ios: 596ad79109ddd3e52d665f650f36428049e3653e
sensors_plus: 6a11ed0c2e1d0bd0b20b4029d3bad27d96e0c65b
video_player_avfoundation: dd410b52df6d2466a42d28550e33e4146928280a
WebRTC-SDK: ab9b5319e458c2bfebdc92b3600740da35d5630d

PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
PODFILE CHECKSUM: 0dbd5a87e0ace00c9610d2037ac22083a01f861d

COCOAPODS: 1.11.3
COCOAPODS: 1.16.2
Loading
Loading