Skip to content

Commit

Permalink
Merge branch 'main' into flutter_3_29_upgrade_fix
Browse files Browse the repository at this point in the history
  • Loading branch information
TheNoumanDev authored Feb 27, 2025
2 parents 9105130 + c3a9950 commit c822405
Show file tree
Hide file tree
Showing 39 changed files with 652 additions and 105 deletions.
226 changes: 226 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,232 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## 2025-02-24

### Changes

---

Packages with breaking changes:

- There are no breaking changes in this release.

Packages with other changes:

- [`ensemble` - `v1.1.27`](#ensemble---v1127)
- [`ensemble_chat` - `v0.0.1+1`](#ensemble_chat---v0011)
- [`ensemble_camera` - `v0.0.1+1`](#ensemble_camera---v0011)
- [`ensemble_auth` - `v1.0.1`](#ensemble_auth---v101)
- [`ensemble_contacts` - `v0.0.1+1`](#ensemble_contacts---v0011)
- [`ensemble_location` - `v0.0.1+1`](#ensemble_location---v0011)
- [`ensemble_file_manager` - `v0.0.1+1`](#ensemble_file_manager---v0011)
- [`ensemble_connect` - `v0.0.1+1`](#ensemble_connect---v0011)
- [`ensemble_bluetooth` - `v0.0.1+1`](#ensemble_bluetooth---v0011)
- [`ensemble_deeplink` - `v0.0.1+1`](#ensemble_deeplink---v0011)
- [`ensemble_network_info` - `v0.0.1+1`](#ensemble_network_info---v0011)

Packages with dependency updates only:

> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `ensemble_chat` - `v0.0.1+1`
- `ensemble_camera` - `v0.0.1+1`
- `ensemble_auth` - `v1.0.1`
- `ensemble_contacts` - `v0.0.1+1`
- `ensemble_location` - `v0.0.1+1`
- `ensemble_file_manager` - `v0.0.1+1`
- `ensemble_connect` - `v0.0.1+1`
- `ensemble_bluetooth` - `v0.0.1+1`
- `ensemble_deeplink` - `v0.0.1+1`
- `ensemble_network_info` - `v0.0.1+1`

---

#### `ensemble` - `v1.1.27`

- **FIX**: handle exceptions in getLocalAssetFullPath. ([8844d487](https://github.com/ensembleUI/ensemble/commit/8844d4874ddde3e7a3244e663c5cdcf0ee6520b7))


## 2025-02-21

### Changes

---

Packages with breaking changes:

- There are no breaking changes in this release.

Packages with other changes:

- [`ensemble` - `v1.1.26`](#ensemble---v1126)
- [`ensemble_auth` - `v1.0.1`](#ensemble_auth---v101)
- [`ensemble_file_manager` - `v0.0.1+1`](#ensemble_file_manager---v0011)
- [`ensemble_bluetooth` - `v0.0.1+1`](#ensemble_bluetooth---v0011)
- [`ensemble_location` - `v0.0.1+1`](#ensemble_location---v0011)
- [`ensemble_camera` - `v0.0.1+1`](#ensemble_camera---v0011)
- [`ensemble_connect` - `v0.0.1+1`](#ensemble_connect---v0011)
- [`ensemble_deeplink` - `v0.0.1+1`](#ensemble_deeplink---v0011)
- [`ensemble_network_info` - `v0.0.1+1`](#ensemble_network_info---v0011)
- [`ensemble_chat` - `v0.0.1+1`](#ensemble_chat---v0011)
- [`ensemble_contacts` - `v0.0.1+1`](#ensemble_contacts---v0011)

Packages with dependency updates only:

> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `ensemble_auth` - `v1.0.1`
- `ensemble_file_manager` - `v0.0.1+1`
- `ensemble_bluetooth` - `v0.0.1+1`
- `ensemble_location` - `v0.0.1+1`
- `ensemble_camera` - `v0.0.1+1`
- `ensemble_connect` - `v0.0.1+1`
- `ensemble_deeplink` - `v0.0.1+1`
- `ensemble_network_info` - `v0.0.1+1`
- `ensemble_chat` - `v0.0.1+1`
- `ensemble_contacts` - `v0.0.1+1`

---

#### `ensemble` - `v1.1.26`

- **FIX**: ensure EnsembleConfigService is initialized before accessing config. ([1f8df899](https://github.com/ensembleUI/ensemble/commit/1f8df8997f7a9ab2dffae88ad96ac898cb49fa0a))


## 2025-02-21

### Changes

---

Packages with breaking changes:

- There are no breaking changes in this release.

Packages with other changes:

- [`ensemble` - `v1.1.25`](#ensemble---v1125)
- [`ensemble_auth` - `v1.0.1`](#ensemble_auth---v101)
- [`ensemble_chat` - `v0.0.1+1`](#ensemble_chat---v0011)
- [`ensemble_location` - `v0.0.1+1`](#ensemble_location---v0011)
- [`ensemble_camera` - `v0.0.1+1`](#ensemble_camera---v0011)
- [`ensemble_bluetooth` - `v0.0.1+1`](#ensemble_bluetooth---v0011)
- [`ensemble_file_manager` - `v0.0.1+1`](#ensemble_file_manager---v0011)
- [`ensemble_deeplink` - `v0.0.1+1`](#ensemble_deeplink---v0011)
- [`ensemble_contacts` - `v0.0.1+1`](#ensemble_contacts---v0011)
- [`ensemble_connect` - `v0.0.1+1`](#ensemble_connect---v0011)
- [`ensemble_network_info` - `v0.0.1+1`](#ensemble_network_info---v0011)

Packages with dependency updates only:

> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `ensemble_auth` - `v1.0.1`
- `ensemble_chat` - `v0.0.1+1`
- `ensemble_location` - `v0.0.1+1`
- `ensemble_camera` - `v0.0.1+1`
- `ensemble_bluetooth` - `v0.0.1+1`
- `ensemble_file_manager` - `v0.0.1+1`
- `ensemble_deeplink` - `v0.0.1+1`
- `ensemble_contacts` - `v0.0.1+1`
- `ensemble_connect` - `v0.0.1+1`
- `ensemble_network_info` - `v0.0.1+1`

---

#### `ensemble` - `v1.1.25`


## 2025-02-20

### Changes

---

Packages with breaking changes:

- There are no breaking changes in this release.

Packages with other changes:

- [`ensemble` - `v1.1.24`](#ensemble---v1124)
- [`ensemble_contacts` - `v0.0.1+1`](#ensemble_contacts---v0011)
- [`ensemble_location` - `v0.0.1+1`](#ensemble_location---v0011)
- [`ensemble_chat` - `v0.0.1+1`](#ensemble_chat---v0011)
- [`ensemble_file_manager` - `v0.0.1+1`](#ensemble_file_manager---v0011)
- [`ensemble_auth` - `v1.0.1`](#ensemble_auth---v101)
- [`ensemble_connect` - `v0.0.1+1`](#ensemble_connect---v0011)
- [`ensemble_deeplink` - `v0.0.1+1`](#ensemble_deeplink---v0011)
- [`ensemble_network_info` - `v0.0.1+1`](#ensemble_network_info---v0011)
- [`ensemble_camera` - `v0.0.1+1`](#ensemble_camera---v0011)
- [`ensemble_bluetooth` - `v0.0.1+1`](#ensemble_bluetooth---v0011)

Packages with dependency updates only:

> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `ensemble_contacts` - `v0.0.1+1`
- `ensemble_location` - `v0.0.1+1`
- `ensemble_chat` - `v0.0.1+1`
- `ensemble_file_manager` - `v0.0.1+1`
- `ensemble_auth` - `v1.0.1`
- `ensemble_connect` - `v0.0.1+1`
- `ensemble_deeplink` - `v0.0.1+1`
- `ensemble_network_info` - `v0.0.1+1`
- `ensemble_camera` - `v0.0.1+1`
- `ensemble_bluetooth` - `v0.0.1+1`

---

#### `ensemble` - `v1.1.24`

- Bump "ensemble" to `1.1.24`.


## 2025-02-19

### Changes

---

Packages with breaking changes:

- There are no breaking changes in this release.

Packages with other changes:

- [`ensemble` - `v1.1.23`](#ensemble---v1123)
- [`ensemble_file_manager` - `v0.0.1+1`](#ensemble_file_manager---v0011)
- [`ensemble_bluetooth` - `v0.0.1+1`](#ensemble_bluetooth---v0011)
- [`ensemble_auth` - `v1.0.1`](#ensemble_auth---v101)
- [`ensemble_chat` - `v0.0.1+1`](#ensemble_chat---v0011)
- [`ensemble_contacts` - `v0.0.1+1`](#ensemble_contacts---v0011)
- [`ensemble_location` - `v0.0.1+1`](#ensemble_location---v0011)
- [`ensemble_camera` - `v0.0.1+1`](#ensemble_camera---v0011)
- [`ensemble_connect` - `v0.0.1+1`](#ensemble_connect---v0011)
- [`ensemble_deeplink` - `v0.0.1+1`](#ensemble_deeplink---v0011)
- [`ensemble_network_info` - `v0.0.1+1`](#ensemble_network_info---v0011)

Packages with dependency updates only:

> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
- `ensemble_file_manager` - `v0.0.1+1`
- `ensemble_bluetooth` - `v0.0.1+1`
- `ensemble_auth` - `v1.0.1`
- `ensemble_chat` - `v0.0.1+1`
- `ensemble_contacts` - `v0.0.1+1`
- `ensemble_location` - `v0.0.1+1`
- `ensemble_camera` - `v0.0.1+1`
- `ensemble_connect` - `v0.0.1+1`
- `ensemble_deeplink` - `v0.0.1+1`
- `ensemble_network_info` - `v0.0.1+1`

---

#### `ensemble` - `v1.1.23`


## 2025-02-13

### Changes
Expand Down
2 changes: 1 addition & 1 deletion modules/auth/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble

ensemble_ts_interpreter:
Expand Down
2 changes: 1 addition & 1 deletion modules/bracket/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble

dev_dependencies:
Expand Down
2 changes: 1 addition & 1 deletion modules/camera/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble
ensemble_ts_interpreter:
git:
Expand Down
2 changes: 1 addition & 1 deletion modules/chat/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble

ensemble_ts_interpreter:
Expand Down
2 changes: 1 addition & 1 deletion modules/connect/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble

plaid_flutter: ^3.1.2
Expand Down
2 changes: 1 addition & 1 deletion modules/contacts/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble

flutter_contacts: ^1.1.7+1
Expand Down
2 changes: 1 addition & 1 deletion modules/deeplink/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies:
ensemble:
git:
url: https://github.com/EnsembleUI/ensemble.git
ref: ensemble-v1.1.22
ref: ensemble-v1.1.27
path: modules/ensemble

flutter_branch_sdk: ^7.0.1
Expand Down
16 changes: 16 additions & 0 deletions modules/ensemble/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## 1.1.27

- **FIX**: handle exceptions in getLocalAssetFullPath. ([8844d487](https://github.com/ensembleUI/ensemble/commit/8844d4874ddde3e7a3244e663c5cdcf0ee6520b7))

## 1.1.26

- **FIX**: ensure EnsembleConfigService is initialized before accessing config. ([1f8df899](https://github.com/ensembleUI/ensemble/commit/1f8df8997f7a9ab2dffae88ad96ac898cb49fa0a))

## 1.1.25

## 1.1.24

- Bump "ensemble" to `1.1.24`.

## 1.1.23

## 1.1.22

- **REFACTOR**: remove no internet widget. ([e03359b2](https://github.com/ensembleUI/ensemble/commit/e03359b2dd6b1290bea39c71c69e2a3d5ad27c13))
Expand Down
8 changes: 5 additions & 3 deletions modules/ensemble/lib/ensemble.dart
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ class Ensemble extends WithEnsemble with EnsembleRouteObserver {
try {
// this code block is guaranteed to run at most once
await StorageManager().init();
await SecretsStore().initialize();
Device().initDeviceInfo();
AppInfo().initPackageInfo(_config);
_completer!.complete();
Expand Down Expand Up @@ -139,9 +140,10 @@ class Ensemble extends WithEnsemble with EnsembleRouteObserver {
if (_config != null) {
return Future<EnsembleConfig>.value(_config);
}
// Intialize the config service to get `ensemble-config.yaml` file to access the configuration using static property as `EnsembleConfigService.config`
await EnsembleConfigService.initialize();
await SecretsStore().initialize();
// Initialize the config service to get `ensemble-config.yaml` file to access the configuration using static property as `EnsembleConfigService.config`
if (!EnsembleConfigService.isInitialized) {
await EnsembleConfigService.initialize();
}

// get the config YAML
final YamlMap yamlMap = EnsembleConfigService.config;
Expand Down
29 changes: 29 additions & 0 deletions modules/ensemble/lib/framework/bindings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,18 @@ abstract class BindingSource {
String binding, DataContext dataContext) {
RegExp variableNameRegex = RegExp('^[0-9a-z_]+', caseSensitive: false);

// Check for device bindings (both patterns)
String deviceExpr = 'ensemble.device.';
if (binding.startsWith(deviceExpr)) {
// For ensemble.device.property pattern
String property = binding.substring(deviceExpr.length);
return DeviceBindingSource(property);
} else if (binding.startsWith('device.')) {
// For device.property pattern
String property = binding.substring('device.'.length);
return DeviceBindingSource(property);
}

// bindable storage
String storageExpr = 'ensemble.storage.';
String userExpr = 'ensemble.user.';
Expand Down Expand Up @@ -121,6 +133,18 @@ abstract class BindingSource {
String variable = expression.substring(2, expression.length - 1).trim();
RegExp variableNameRegex = RegExp('^[0-9a-z_]+', caseSensitive: false);

// Check for device bindings (both patterns)
String deviceExpr = 'ensemble.device.';
if (variable.startsWith(deviceExpr)) {
// For ensemble.device.property pattern
String property = variable.substring(deviceExpr.length);
return DeviceBindingSource(property);
} else if (variable.startsWith('device.')) {
// For device.property pattern
String property = variable.substring('device.'.length);
return DeviceBindingSource(property);
}

// storage bindable
String storageExpr = 'ensemble.storage.';
String userExpr = 'ensemble.user.';
Expand Down Expand Up @@ -202,6 +226,11 @@ class StorageBindingSource extends BindingSource {
StorageBindingSource(super.modelId);
}

/// bindable source backed by device
class DeviceBindingSource extends BindingSource {
DeviceBindingSource(super.modelId);
}

/// TODO: consolidate this with StorageBindingSource
class SystemStorageBindingSource extends BindingSource {
SystemStorageBindingSource(super.modelId, {required this.storagePrefix});
Expand Down
Loading

0 comments on commit c822405

Please sign in to comment.