ruby_everywhere 0.1.14 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/bridge/README.md +57 -2
  3. data/bridge/everywhere/bridge.js +803 -9
  4. data/bridge/package.json +1 -1
  5. data/lib/everywhere/builders/ios.rb +364 -0
  6. data/lib/everywhere/cli.rb +2 -0
  7. data/lib/everywhere/commands/build.rb +17 -1
  8. data/lib/everywhere/commands/clean.rb +19 -10
  9. data/lib/everywhere/commands/dev.rb +182 -19
  10. data/lib/everywhere/commands/doctor.rb +45 -3
  11. data/lib/everywhere/commands/icon.rb +14 -0
  12. data/lib/everywhere/commands/install.rb +37 -6
  13. data/lib/everywhere/commands/logs.rb +56 -0
  14. data/lib/everywhere/commands/platform/build.rb +74 -15
  15. data/lib/everywhere/commands/platform/runner.rb +10 -1
  16. data/lib/everywhere/commands/release.rb +1 -1
  17. data/lib/everywhere/commands/shell_dir.rb +11 -4
  18. data/lib/everywhere/config.rb +366 -1
  19. data/lib/everywhere/engine.rb +33 -1
  20. data/lib/everywhere/icon.rb +50 -0
  21. data/lib/everywhere/log_filter.rb +28 -2
  22. data/lib/everywhere/mobile_config_endpoint.rb +75 -0
  23. data/lib/everywhere/mobile_configs_controller.rb +46 -0
  24. data/lib/everywhere/native_helper.rb +156 -0
  25. data/lib/everywhere/paths.rb +41 -0
  26. data/lib/everywhere/raster.rb +17 -0
  27. data/lib/everywhere/shellout.rb +3 -1
  28. data/lib/everywhere/simulator.rb +74 -0
  29. data/lib/everywhere/ui.rb +82 -0
  30. data/lib/everywhere/version.rb +1 -1
  31. data/support/mobile/ios/App/App.xcconfig +6 -0
  32. data/support/mobile/ios/App/AppDelegate.swift +163 -0
  33. data/support/mobile/ios/App/Assets.xcassets/AccentColor.colorset/Contents.json +20 -0
  34. data/support/mobile/ios/App/Assets.xcassets/AppIcon.appiconset/AppIcon.png +0 -0
  35. data/support/mobile/ios/App/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
  36. data/support/mobile/ios/App/Assets.xcassets/Contents.json +6 -0
  37. data/support/mobile/ios/App/Assets.xcassets/LaunchBackground.colorset/Contents.json +38 -0
  38. data/support/mobile/ios/App/Base.lproj/LaunchScreen.storyboard +32 -0
  39. data/support/mobile/ios/App/Bridge/BiometricsComponent.swift +276 -0
  40. data/support/mobile/ios/App/Bridge/HapticsComponent.swift +47 -0
  41. data/support/mobile/ios/App/Bridge/NotificationComponent.swift +56 -0
  42. data/support/mobile/ios/App/Bridge/PermissionsComponent.swift +142 -0
  43. data/support/mobile/ios/App/Bridge/StorageComponent.swift +63 -0
  44. data/support/mobile/ios/App/ErrorViewController.swift +64 -0
  45. data/support/mobile/ios/App/EverywhereConfig.swift +268 -0
  46. data/support/mobile/ios/App/EverywhereHost.swift +34 -0
  47. data/support/mobile/ios/App/Extensions/EverywhereExtensions.swift +32 -0
  48. data/support/mobile/ios/App/Info.plist +28 -0
  49. data/support/mobile/ios/App/Resources/everywhere.json +8 -0
  50. data/support/mobile/ios/App/Resources/path-configuration.json +19 -0
  51. data/support/mobile/ios/App/SceneDelegate.swift +443 -0
  52. data/support/mobile/ios/App.xcodeproj/project.pbxproj +454 -0
  53. data/support/mobile/ios/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  54. data/support/mobile/ios/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +14 -0
  55. data/support/mobile/ios/App.xcodeproj/xcshareddata/xcschemes/App.xcscheme +77 -0
  56. data/support/mobile/ios/NativeExtensions/Package.swift +26 -0
  57. data/support/mobile/ios/NativeExtensions/Sources/NativeExtensions/Exports.swift +5 -0
  58. data/support/mobile/ios/README.md +66 -0
  59. data/support/shell/src-tauri/Cargo.lock +16 -0
  60. data/support/shell/src-tauri/Cargo.toml +1 -0
  61. data/support/shell/src-tauri/gen/schemas/acl-manifests.json +1 -1
  62. data/support/shell/src-tauri/gen/schemas/desktop-schema.json +42 -0
  63. data/support/shell/src-tauri/gen/schemas/macOS-schema.json +42 -0
  64. data/support/shell/src-tauri/src/main.rs +17 -0
  65. metadata +35 -1
@@ -2533,6 +2533,48 @@
2533
2533
  "type": "string",
2534
2534
  "const": "notification:deny-show",
2535
2535
  "markdownDescription": "Denies the show command without any pre-configured scope."
2536
+ },
2537
+ {
2538
+ "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`",
2539
+ "type": "string",
2540
+ "const": "window-state:default",
2541
+ "markdownDescription": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`"
2542
+ },
2543
+ {
2544
+ "description": "Enables the filename command without any pre-configured scope.",
2545
+ "type": "string",
2546
+ "const": "window-state:allow-filename",
2547
+ "markdownDescription": "Enables the filename command without any pre-configured scope."
2548
+ },
2549
+ {
2550
+ "description": "Enables the restore_state command without any pre-configured scope.",
2551
+ "type": "string",
2552
+ "const": "window-state:allow-restore-state",
2553
+ "markdownDescription": "Enables the restore_state command without any pre-configured scope."
2554
+ },
2555
+ {
2556
+ "description": "Enables the save_window_state command without any pre-configured scope.",
2557
+ "type": "string",
2558
+ "const": "window-state:allow-save-window-state",
2559
+ "markdownDescription": "Enables the save_window_state command without any pre-configured scope."
2560
+ },
2561
+ {
2562
+ "description": "Denies the filename command without any pre-configured scope.",
2563
+ "type": "string",
2564
+ "const": "window-state:deny-filename",
2565
+ "markdownDescription": "Denies the filename command without any pre-configured scope."
2566
+ },
2567
+ {
2568
+ "description": "Denies the restore_state command without any pre-configured scope.",
2569
+ "type": "string",
2570
+ "const": "window-state:deny-restore-state",
2571
+ "markdownDescription": "Denies the restore_state command without any pre-configured scope."
2572
+ },
2573
+ {
2574
+ "description": "Denies the save_window_state command without any pre-configured scope.",
2575
+ "type": "string",
2576
+ "const": "window-state:deny-save-window-state",
2577
+ "markdownDescription": "Denies the save_window_state command without any pre-configured scope."
2536
2578
  }
2537
2579
  ]
2538
2580
  },
@@ -2533,6 +2533,48 @@
2533
2533
  "type": "string",
2534
2534
  "const": "notification:deny-show",
2535
2535
  "markdownDescription": "Denies the show command without any pre-configured scope."
2536
+ },
2537
+ {
2538
+ "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`",
2539
+ "type": "string",
2540
+ "const": "window-state:default",
2541
+ "markdownDescription": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`"
2542
+ },
2543
+ {
2544
+ "description": "Enables the filename command without any pre-configured scope.",
2545
+ "type": "string",
2546
+ "const": "window-state:allow-filename",
2547
+ "markdownDescription": "Enables the filename command without any pre-configured scope."
2548
+ },
2549
+ {
2550
+ "description": "Enables the restore_state command without any pre-configured scope.",
2551
+ "type": "string",
2552
+ "const": "window-state:allow-restore-state",
2553
+ "markdownDescription": "Enables the restore_state command without any pre-configured scope."
2554
+ },
2555
+ {
2556
+ "description": "Enables the save_window_state command without any pre-configured scope.",
2557
+ "type": "string",
2558
+ "const": "window-state:allow-save-window-state",
2559
+ "markdownDescription": "Enables the save_window_state command without any pre-configured scope."
2560
+ },
2561
+ {
2562
+ "description": "Denies the filename command without any pre-configured scope.",
2563
+ "type": "string",
2564
+ "const": "window-state:deny-filename",
2565
+ "markdownDescription": "Denies the filename command without any pre-configured scope."
2566
+ },
2567
+ {
2568
+ "description": "Denies the restore_state command without any pre-configured scope.",
2569
+ "type": "string",
2570
+ "const": "window-state:deny-restore-state",
2571
+ "markdownDescription": "Denies the restore_state command without any pre-configured scope."
2572
+ },
2573
+ {
2574
+ "description": "Denies the save_window_state command without any pre-configured scope.",
2575
+ "type": "string",
2576
+ "const": "window-state:deny-save-window-state",
2577
+ "markdownDescription": "Denies the save_window_state command without any pre-configured scope."
2536
2578
  }
2537
2579
  ]
2538
2580
  },
@@ -195,10 +195,27 @@ fn free_port() -> u16 {
195
195
  fn main() {
196
196
  let config = load_config();
197
197
 
198
+ // Window geometry (size/position/maximized/fullscreen) persists across
199
+ // launches. Every app compiles from this one shell — same tauri.conf
200
+ // identifier, same app-config dir — so the state filename is keyed on the
201
+ // per-app bundle_id (everywhere.yml), like NATIVE_APPDATA, or apps would
202
+ // overwrite each other's geometry.
203
+ let window_state = {
204
+ use tauri_plugin_window_state::{Builder, StateFlags};
205
+ let id = config.bundle_id.as_deref().unwrap_or("com.rubyeverywhere.app");
206
+ Builder::default()
207
+ .with_filename(format!(".window-state-{id}.json"))
208
+ .with_state_flags(
209
+ StateFlags::SIZE | StateFlags::POSITION | StateFlags::MAXIMIZED | StateFlags::FULLSCREEN,
210
+ )
211
+ .build()
212
+ };
213
+
198
214
  tauri::Builder::default()
199
215
  .plugin(tauri_plugin_notification::init())
200
216
  .plugin(tauri_plugin_dialog::init())
201
217
  .plugin(tauri_plugin_clipboard_manager::init())
218
+ .plugin(window_state)
202
219
  .invoke_handler(tauri::generate_handler![notify_command])
203
220
  .setup(move |app| {
204
221
  // A persisted user channel choice (Everywhere.updates.setChannel)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_everywhere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrea Fomera
@@ -86,6 +86,7 @@ files:
86
86
  - lib/everywhere.rb
87
87
  - lib/everywhere/blake2b.rb
88
88
  - lib/everywhere/boot.rb
89
+ - lib/everywhere/builders/ios.rb
89
90
  - lib/everywhere/cli.rb
90
91
  - lib/everywhere/commands/build.rb
91
92
  - lib/everywhere/commands/clean.rb
@@ -93,6 +94,7 @@ files:
93
94
  - lib/everywhere/commands/doctor.rb
94
95
  - lib/everywhere/commands/icon.rb
95
96
  - lib/everywhere/commands/install.rb
97
+ - lib/everywhere/commands/logs.rb
96
98
  - lib/everywhere/commands/platform/auth_status.rb
97
99
  - lib/everywhere/commands/platform/build.rb
98
100
  - lib/everywhere/commands/platform/login.rb
@@ -110,6 +112,9 @@ files:
110
112
  - lib/everywhere/ignore.rb
111
113
  - lib/everywhere/log_filter.rb
112
114
  - lib/everywhere/minisign.rb
115
+ - lib/everywhere/mobile_config_endpoint.rb
116
+ - lib/everywhere/mobile_configs_controller.rb
117
+ - lib/everywhere/native_helper.rb
113
118
  - lib/everywhere/paths.rb
114
119
  - lib/everywhere/platform/client.rb
115
120
  - lib/everywhere/platform/credentials.rb
@@ -119,6 +124,7 @@ files:
119
124
  - lib/everywhere/receipt.rb
120
125
  - lib/everywhere/s3.rb
121
126
  - lib/everywhere/shellout.rb
127
+ - lib/everywhere/simulator.rb
122
128
  - lib/everywhere/ui.rb
123
129
  - lib/everywhere/update_manifest.rb
124
130
  - lib/everywhere/version.rb
@@ -126,6 +132,34 @@ files:
126
132
  - support/github/build.yml
127
133
  - support/macos/entitlements.plist
128
134
  - support/macos/notarize.sh
135
+ - support/mobile/ios/App.xcodeproj/project.pbxproj
136
+ - support/mobile/ios/App.xcodeproj/project.xcworkspace/contents.xcworkspacedata
137
+ - support/mobile/ios/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
138
+ - support/mobile/ios/App.xcodeproj/xcshareddata/xcschemes/App.xcscheme
139
+ - support/mobile/ios/App/App.xcconfig
140
+ - support/mobile/ios/App/AppDelegate.swift
141
+ - support/mobile/ios/App/Assets.xcassets/AccentColor.colorset/Contents.json
142
+ - support/mobile/ios/App/Assets.xcassets/AppIcon.appiconset/AppIcon.png
143
+ - support/mobile/ios/App/Assets.xcassets/AppIcon.appiconset/Contents.json
144
+ - support/mobile/ios/App/Assets.xcassets/Contents.json
145
+ - support/mobile/ios/App/Assets.xcassets/LaunchBackground.colorset/Contents.json
146
+ - support/mobile/ios/App/Base.lproj/LaunchScreen.storyboard
147
+ - support/mobile/ios/App/Bridge/BiometricsComponent.swift
148
+ - support/mobile/ios/App/Bridge/HapticsComponent.swift
149
+ - support/mobile/ios/App/Bridge/NotificationComponent.swift
150
+ - support/mobile/ios/App/Bridge/PermissionsComponent.swift
151
+ - support/mobile/ios/App/Bridge/StorageComponent.swift
152
+ - support/mobile/ios/App/ErrorViewController.swift
153
+ - support/mobile/ios/App/EverywhereConfig.swift
154
+ - support/mobile/ios/App/EverywhereHost.swift
155
+ - support/mobile/ios/App/Extensions/EverywhereExtensions.swift
156
+ - support/mobile/ios/App/Info.plist
157
+ - support/mobile/ios/App/Resources/everywhere.json
158
+ - support/mobile/ios/App/Resources/path-configuration.json
159
+ - support/mobile/ios/App/SceneDelegate.swift
160
+ - support/mobile/ios/NativeExtensions/Package.swift
161
+ - support/mobile/ios/NativeExtensions/Sources/NativeExtensions/Exports.swift
162
+ - support/mobile/ios/README.md
129
163
  - support/shell/splash/index.html
130
164
  - support/shell/src-tauri/Cargo.lock
131
165
  - support/shell/src-tauri/Cargo.toml