Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
448b1ba
A working skeleton prototype of Pyodide and Flet
FeodorFitsner Jan 16, 2023
93eff31
Fix pubsubhub
FeodorFitsner Jan 17, 2023
249360d
FletJavaScriptServerProtocol for web/io
FeodorFitsner Jan 17, 2023
2d4f76a
Fix PubSub
FeodorFitsner Jan 17, 2023
b85b905
Integrate with Python
FeodorFitsner Jan 17, 2023
50796a0
Working prototype
FeodorFitsner Jan 18, 2023
992978a
renamed flet_pyodide to flet
FeodorFitsner Jan 18, 2023
918fc6b
Package flet-pyodide
FeodorFitsner Jan 18, 2023
bfec2d2
Fix archive creation
FeodorFitsner Jan 18, 2023
fac6b61
patch flet-pyodide
FeodorFitsner Jan 18, 2023
6c5006f
patch flet-pyodide/src/flet/version.py
FeodorFitsner Jan 18, 2023
0d5e355
Merge branch 'main' into pyodide
FeodorFitsner Jan 18, 2023
3ea6948
Added python.js
FeodorFitsner Jan 19, 2023
bfee95b
Route strategy changed from "hash" to "path"
FeodorFitsner Jan 19, 2023
2fb2811
Load python app from app.tar.gz
FeodorFitsner Jan 19, 2023
36f0a92
Publish command - almost done
FeodorFitsner Jan 19, 2023
06e81c2
Publish command - almost complete
FeodorFitsner Jan 19, 2023
de9d464
Host "web" dir inside module
FeodorFitsner Jan 20, 2023
9e8ffc8
Run Python in web worker
FeodorFitsner Jan 20, 2023
461e73e
Fix writing dependencies
FeodorFitsner Jan 20, 2023
1c50d68
Fix hanging async connection on Windows
FeodorFitsner Jan 21, 2023
2a54286
Fix cryptic error in async local connection on Windows
FeodorFitsner Jan 21, 2023
38c7313
Support sync apps in Pyodide
FeodorFitsner Jan 21, 2023
5c2f1c5
Set page.url for pyodide
FeodorFitsner Jan 21, 2023
5ee72f5
Pass documentUrl to web worker
FeodorFitsner Jan 21, 2023
1f9326c
Centered error message
FeodorFitsner Jan 22, 2023
51ad0e2
`flet publish --base-url`
FeodorFitsner Jan 22, 2023
e1a32bf
Replace "flet" req with "flet-pyodide"
FeodorFitsner Jan 22, 2023
f306bc2
Patching app title and description
FeodorFitsner Jan 22, 2023
6e7829d
Introduce get_package_bin_dir()
FeodorFitsner Jan 23, 2023
2b1d005
Remove embedded resources from fletd
FeodorFitsner Jan 23, 2023
4ab196b
Include "web" into source package
FeodorFitsner Jan 23, 2023
d67ac4a
Fix paths to web resources
FeodorFitsner Jan 23, 2023
64dfc7f
Remove entire web/canvaskit
FeodorFitsner Jan 24, 2023
0e3ebd8
Loading animation changed to SVG
FeodorFitsner Jan 24, 2023
1c55edb
flutter downgrade v3.3.10
FeodorFitsner Jan 24, 2023
40ce7ba
which flutter
FeodorFitsner Jan 24, 2023
1ccca23
git checkout v3.3.10
FeodorFitsner Jan 24, 2023
f8237e5
git checkout 3.3.10
FeodorFitsner Jan 24, 2023
bf758b0
Trying to build on Flutter 3.7
FeodorFitsner Jan 24, 2023
db9d027
Try Linux ARM on master
FeodorFitsner Jan 24, 2023
5e76bbf
try latest master channel
FeodorFitsner Jan 25, 2023
abfcf1e
search for "shader_lib*"
FeodorFitsner Jan 25, 2023
3158e09
Build a simple app on arm
FeodorFitsner Jan 25, 2023
d73f7ab
Look for shader_lib in arm
FeodorFitsner Jan 25, 2023
4f374ec
flutter config --enable-linux-desktop
FeodorFitsner Jan 25, 2023
781636f
Fix Flutter 3.7 on ARM
FeodorFitsner Jan 25, 2023
8f6abcb
Optimize shader_lib.tar.gz patch
FeodorFitsner Jan 25, 2023
3f23d7d
Dart 2.19.0
FeodorFitsner Jan 25, 2023
5389d30
Material icons updated to Flutter 3.7
FeodorFitsner Jan 25, 2023
dec3025
Enable all CI jobs
FeodorFitsner Jan 25, 2023
4816e88
Remove --no-tree-shake-icons option
FeodorFitsner Jan 25, 2023
c2d9419
Cleanup ARM job
FeodorFitsner Jan 25, 2023
a2f17af
Tabs.scrollable
FeodorFitsner Jan 25, 2023
8e9ae53
Update readmes
FeodorFitsner Jan 25, 2023
1bc82aa
update readmes
FeodorFitsner Jan 25, 2023
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
35 changes: 29 additions & 6 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -256,13 +256,18 @@ for:
# Flutter SDK
- sudo apt update
- sudo apt install -y clang libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
- git clone https://github.com/flutter/flutter.git -b master "$HOME/flutter"
- git clone https://github.com/flutter/flutter.git -b stable "$HOME/flutter"
- export PATH="$PATH:$HOME/flutter/bin"
- flutter --version
- flutter channel stable
- flutter upgrade
- flutter doctor

# Fix Flutter on ARM
- pushd /tmp
- curl -O https://appveyordownloads.blob.core.windows.net/misc/shader_lib.tar.gz
- tar -zxf shader_lib.tar.gz
- cp -R shader_lib $HOME/flutter/bin/cache/artifacts/engine/linux-arm64
- popd

build_script:
- cd client
- flutter build linux --build-name=$APPVEYOR_BUILD_VERSION
Expand Down Expand Up @@ -380,10 +385,9 @@ for:
- rm -rf build/web/canvaskit
- ls -alR build/web
- cd ..
- tar -czvf flet-web.tar.gz -C client/build/web .

# Flet Server in Go
- mkdir server/server/content
- cp -rf client/build/web/* server/server/content
- cd server
- sh: |
if [[ "$APPVEYOR_REPO_TAG" == "true" ]]; then
Expand All @@ -396,6 +400,16 @@ for:
artifacts:
- path: server/dist/fletd-*
- path: server/dist/fletd_*/*
- path: flet-web.tar.gz
name: flet_web

deploy:
provider: GitHub
auth_token: $(GITHUB_TOKEN)
release: $(APPVEYOR_REPO_TAG_NAME)
artifact: flet_web
on:
APPVEYOR_REPO_TAG: true

######################
# Python Tests #
Expand Down Expand Up @@ -436,8 +450,10 @@ for:
$ErrorActionPreference = "Stop"
$env:PYPI_VER = $env:APPVEYOR_BUILD_VERSION.replace("+", ".dev")
$vp = "packages/flet/src/flet/version.py"; (Get-Content $vp).replace("version = `"`"", "version = `"$env:PYPI_VER`"") | Set-Content $vp
$vp = "packages/flet-pyodide/src/flet/version.py"; (Get-Content $vp).replace("version = `"`"", "version = `"$env:PYPI_VER`"") | Set-Content $vp
- python3 patch_toml.py packages/flet/pyproject.toml $PYPI_VER
- python3 patch_toml.py packages/flet-core/pyproject.toml $PYPI_VER
- python3 patch_toml.py packages/flet-pyodide/pyproject.toml $PYPI_VER

# build "flet-core" package
- pushd packages/flet-core
Expand All @@ -446,17 +462,24 @@ for:

# build "flet" package
- pushd packages/flet
- python3 download-web.py
- poetry build
- python3 build-wheels.py
- popd

# build "flet-pyodide" package
- pushd packages/flet-pyodide
- poetry build
- popd

# publish package
- sh: |
if [[ ("$APPVEYOR_REPO_BRANCH" == "main" || "$APPVEYOR_REPO_TAG_NAME" != "") && "$APPVEYOR_PULL_REQUEST_NUMBER" == "" ]]; then
twine upload packages/flet-core/dist/* packages/flet/dist/*
twine upload packages/flet-core/dist/* packages/flet/dist/* packages/flet-pyodide/dist/*
fi


artifacts:
- path: sdk/python/packages/flet-core/dist/*
- path: sdk/python/packages/flet/dist/*
- path: sdk/python/packages/flet-pyodide/dist/*
8 changes: 6 additions & 2 deletions client/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'dart:io';

import 'package:flet/flet.dart';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:url_strategy/url_strategy.dart';

const bool isProduction = bool.fromEnvironment('dart.vm.product');
Expand All @@ -20,7 +20,11 @@ void main([List<String>? args]) async {
//debugPrint("Uri.base: ${Uri.base}");

if (kDebugMode) {
pageUrl = "http://localhost:8550";
if (kIsWeb) {
pageUrl = "http://localhost:8550";
} else {
pageUrl = "tcp://localhost:8550";
}
}

if (kIsWeb) {
Expand Down
2 changes: 1 addition & 1 deletion client/macos/Flutter/GeneratedPluginRegistrant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Foundation
import audioplayers_darwin
import path_provider_macos
import screen_retriever
import shared_preferences_macos
import shared_preferences_foundation
import url_launcher_macos
import window_manager
import window_to_front
Expand Down
2 changes: 1 addition & 1 deletion client/macos/Podfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
platform :osx, '10.11'
platform :osx, '10.14'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
Expand Down
19 changes: 10 additions & 9 deletions client/macos/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ PODS:
- FlutterMacOS
- screen_retriever (0.0.1):
- FlutterMacOS
- shared_preferences_macos (0.0.1):
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- url_launcher_macos (0.0.1):
- FlutterMacOS
Expand All @@ -20,7 +21,7 @@ DEPENDENCIES:
- FlutterMacOS (from `Flutter/ephemeral`)
- path_provider_macos (from `Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos`)
- screen_retriever (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos`)
- shared_preferences_macos (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos`)
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/macos`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
- window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`)
- window_to_front (from `Flutter/ephemeral/.symlinks/plugins/window_to_front/macos`)
Expand All @@ -34,8 +35,8 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos
screen_retriever:
:path: Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos
shared_preferences_macos:
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_macos/macos
shared_preferences_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/macos
url_launcher_macos:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
window_manager:
Expand All @@ -45,14 +46,14 @@ EXTERNAL SOURCES:

SPEC CHECKSUMS:
audioplayers_darwin: dcad41de4fbd0099cb3749f7ab3b0cb8f70b810c
FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811
path_provider_macos: 3c0c3b4b0d4a76d2bf989a913c2de869c5641a19
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
path_provider_macos: 05fb0ef0cedf3e5bd179b9e41a638682b37133ea
screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38
shared_preferences_macos: a64dc611287ed6cbe28fd1297898db1336975727
url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3
shared_preferences_foundation: 297b3ebca31b34ec92be11acd7fb0ba932c822ca
url_launcher_macos: c04e4fa86382d4f94f6b38f14625708be3ae52e2
window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8
window_to_front: 4cdc24ddd8461ad1a55fa06286d6a79d8b29e8d8

PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7

COCOAPODS: 1.11.3
9 changes: 5 additions & 4 deletions client/macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 51;
objectVersion = 54;
objects = {

/* Begin PBXAggregateTarget section */
Expand Down Expand Up @@ -277,6 +277,7 @@
};
3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
Expand Down Expand Up @@ -403,7 +404,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.11;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down Expand Up @@ -482,7 +483,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.11;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
Expand Down Expand Up @@ -529,7 +530,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.11;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down
Loading