SWIFT_COMPILATION_MODE = wholemodule
                        SWIFT_OBJC_BRIDGING_HEADER = Runner/Runner-Bridging-Header.h
                        SWIFT_OPTIMIZATION_LEVEL = -O
                        SWIFT_PLATFORM_TARGET_PREFIX = ios
                        SWIFT_VERSION = 5.0
                        SYMROOT = /Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Products
                        SYSTEM_ADMIN_APPS_DIR = /Applications/Utilities
                        SYSTEM_APPS_DIR = /Applications
                        SYSTEM_CORE_SERVICES_DIR = /System/Library/CoreServices
                        SYSTEM_DEMOS_DIR = /Applications/Extras
                        SYSTEM_DEVELOPER_APPS_DIR = /Applications/Xcode.app/Contents/Developer/Applications
                        SYSTEM_DEVELOPER_BIN_DIR = /Applications/Xcode.app/Contents/Developer/usr/bin
                        SYSTEM_DEVELOPER_DEMOS_DIR = /Applications/Xcode.app/Contents/Developer/Applications/Utilities/Built Examples
                        SYSTEM_DEVELOPER_DIR = /Applications/Xcode.app/Contents/Developer
                        SYSTEM_DEVELOPER_DOC_DIR = /Applications/Xcode.app/Contents/Developer/ADC Reference Library
                        SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR = /Applications/Xcode.app/Contents/Developer/Applications/Graphics Tools
                        SYSTEM_DEVELOPER_JAVA_TOOLS_DIR = /Applications/Xcode.app/Contents/Developer/Applications/Java Tools
                        SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR = /Applications/Xcode.app/Contents/Developer/Applications/Performance Tools
                        SYSTEM_DEVELOPER_RELEASENOTES_DIR = /Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes
                        SYSTEM_DEVELOPER_TOOLS = /Applications/Xcode.app/Contents/Developer/Tools
                        SYSTEM_DEVELOPER_TOOLS_DOC_DIR = /Applications/Xcode.app/Contents/Developer/ADC Reference Library/documentation/DeveloperTools
                        SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR = /Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes/DeveloperTools
                        SYSTEM_DEVELOPER_USR_DIR = /Applications/Xcode.app/Contents/Developer/usr
                        SYSTEM_DEVELOPER_UTILITIES_DIR = /Applications/Xcode.app/Contents/Developer/Applications/Utilities
                        SYSTEM_DEXT_INSTALL_PATH = /System/Library/DriverExtensions
                        SYSTEM_DOCUMENTATION_DIR = /Library/Documentation
                        SYSTEM_KEXT_INSTALL_PATH = /System/Library/Extensions
                        SYSTEM_LIBRARY_DIR = /System/Library
                        TAPI_VERIFY_MODE = ErrorsOnly
                        TARGETED_DEVICE_FAMILY = 1,2
                        TARGETNAME = Runner
                        TARGET_BUILD_DIR = /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos
                        TARGET_NAME = Runner
                        TARGET_TEMP_DIR = /Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Runner.build/Release-iphoneos/Runner.build
                        TEMP_DIR = /Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Runner.build/Release-iphoneos/Runner.build
                        TEMP_FILES_DIR = /Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Runner.build/Release-iphoneos/Runner.build
                        TEMP_FILE_DIR = /Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Runner.build/Release-iphoneos/Runner.build
                        TEMP_ROOT = /Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex
                        TOOLCHAIN_DIR = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
                        TREAT_MISSING_BASELINES_AS_TEST_FAILURES = NO
                        UID = 501
                        UNLOCALIZED_RESOURCES_FOLDER_PATH = Runner.app
                        UNSTRIPPED_PRODUCT = NO
                        USER = robclother
                        USER_APPS_DIR = /Users/robclother/Applications
                        USER_LIBRARY_DIR = /Users/robclother/Library
                        USE_DYNAMIC_NO_PIC = YES
                        USE_HEADERMAP = YES
                        USE_HEADER_SYMLINKS = NO
                        USE_LLVM_TARGET_TRIPLES = YES
                        USE_LLVM_TARGET_TRIPLES_FOR_CLANG = YES
                        USE_LLVM_TARGET_TRIPLES_FOR_LD = YES
                        USE_LLVM_TARGET_TRIPLES_FOR_TAPI = YES
                        VALIDATE_PRODUCT = YES
                        VALIDATE_WORKSPACE = NO
                        VALID_ARCHS = arm64 arm64e armv7 armv7s
                        VERBOSE_PBXCP = NO
                        VERBOSE_SCRIPT_LOGGING = YES
                        VERSIONING_SYSTEM = apple-generic
                        VERSIONPLIST_PATH = Runner.app/version.plist
                        VERSION_INFO_BUILDER = robclother
                        VERSION_INFO_FILE = Runner_vers.c
                        VERSION_INFO_STRING = "@(#)PROGRAM:Runner  PROJECT:Runner-1"
                        WRAPPER_EXTENSION = app
                        WRAPPER_NAME = Runner.app
                        WRAPPER_SUFFIX = .app
                        WRAP_ASSET_PACKS_IN_SEPARATE_DIRECTORIES = NO
                        XCODE_APP_SUPPORT_DIR = /Applications/Xcode.app/Contents/Developer/Library/Xcode
                        XCODE_PRODUCT_BUILD_VERSION = 11C29
                        XCODE_VERSION_ACTUAL = 1130
                        XCODE_VERSION_MAJOR = 1100
                        XCODE_VERSION_MINOR = 1130
                        XPCSERVICES_FOLDER_PATH = Runner.app/XPCServices
                        YACC = yacc
                        arch = arm64
                        variant = normal
[   +7 ms] Failed to build iOS app
[        ] Error output from Xcode build:
           ↳
[   +1 ms]     ** BUILD FAILED **

               The following build commands failed:
               	Ld

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/Binary/google_places_sdk
               	normal arm64
               	Ld

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/Binary/google_places_sdk
               	normal armv7
               (2 failures)

[        ] Xcode's output:
           ↳
[   +5 ms]     Build settings from command line:
                   BUILD_DIR = /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios
                   COMPILER_INDEX_STORE_ENABLE = NO
                   DEVELOPMENT_TEAM = 4ELE7F3X84
                   FLUTTER_SUPPRESS_ANALYTICS = true
                   SCRIPT_OUTPUT_STREAM_FILE = /var/folders/61/jdl6jswj1074x3ckkxs6fzbr0000gn/T/flutter_build_log_pipe.352VwF/pipe_to_stdout
                   SDKROOT = iphoneos13.2
                   VERBOSE_SCRIPT_LOGGING = YES

               note: Using new build system
               note: Planning build
               note: Constructing build description
               ProcessInfoPlistFile /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos/google_places_sdk/google_places_sdk.framework/Info.plist
               /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/Target\ Support\ Files/google_places_sdk/google_places_sdk-Info.plist (in target 'google_places_sdk' from project 'Pods')
                   cd /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods
                   builtin-infoPlistUtility /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/Target\ Support\ Files/google_places_sdk/google_places_sdk-Info.plist -producttype
com.apple.product-type.framework
                   -expandbuildsettings -format binary -platform iphoneos -o
/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos/google_places_sdk/google_places_sdk.framework/Info.plist

               Ld

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/Binary/google_places_sdk
               normal arm64 (in target 'google_places_sdk' from project 'Pods')
                   cd /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods
                   /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios9.0 -dynamiclib -isysroot
                   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk
-L/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos/google_places_sdk
                   -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos/google_places_sdk -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/../Flutter
                   -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/GoogleMaps/Base/Frameworks -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/GoogleMaps/Maps/Frameworks
                   -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/GooglePlaces/Frameworks -filelist

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/google_places_sdk.Lin
                   kFileList -install_name @rpath/google_places_sdk.framework/google_places_sdk -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker
                   @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/google_places_sdk_lto
                   .o -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/google_places_sdk.swi
                   ftmodule -framework Foundation -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/google_places_sdk_dep
                   endency_info.dat -o

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/arm64/Binary/google_places_
                   sdk
               Undefined symbols for architecture arm64:
                 "_OBJC_CLASS_$_GMSPlacesClient", referenced from:
                     objc-class-ref in SwiftGooglePlacesSdkPlugin.o
               ld: symbol(s) not found for architecture arm64
               clang: error: linker command failed with exit code 1 (use -v to see invocation)

               Ld

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/Binary/google_places_sdk
               normal armv7 (in target 'google_places_sdk' from project 'Pods')
                   cd /Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods
                   /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target armv7-apple-ios9.0 -dynamiclib -isysroot
                   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk
-L/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos/google_places_sdk
                   -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/build/ios/Release-iphoneos/google_places_sdk -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/../Flutter
                   -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/GoogleMaps/Base/Frameworks -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/GoogleMaps/Maps/Frameworks
                   -F/Users/robclother/GitHub/hypatia-st/google_places_sdk/example/ios/Pods/GooglePlaces/Frameworks -filelist

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/google_places_sdk.Lin
                   kFileList -install_name @rpath/google_places_sdk.framework/google_places_sdk -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker
                   @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/google_places_sdk_lto
                   .o -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/google_places_sdk.swi
                   ftmodule -framework Foundation -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/google_places_sdk_dep
                   endency_info.dat -o

/Users/robclother/Library/Developer/Xcode/DerivedData/Runner-fpgsgqkjmhemtlaybpfqejhcokqz/Build/Intermediates.noindex/Pods.build/Release-iphoneos/google_places_sdk.build/Objects-normal/armv7/Binary/google_places_
                   sdk
               Undefined symbols for architecture armv7:
                 "_OBJC_CLASS_$_GMSPlacesClient", referenced from:
                     objc-class-ref in SwiftGooglePlacesSdkPlugin.o
               ld: symbol(s) not found for architecture armv7
               clang: error: linker command failed with exit code 1 (use -v to see invocation)

[  +10 ms] "flutter ios" took 10,446ms.
Encountered error while building for device.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      BuildIOSCommand.runCommand (package:flutter_tools/src/commands/build_ios.dart:90:7)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:615:18)
#3      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#4      _rootRunUnary (dart:async/zone.dart:1134:38)
#5      _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#6      _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#8      Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#9      Future._completeWithValue (dart:async/future_impl.dart:524:5)
#10     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:554:7)
#11     _rootRun (dart:async/zone.dart:1126:13)
#12     _CustomZone.run (dart:async/zone.dart:1023:19)
#13     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#14     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
#15     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#17     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#18     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)

[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G2022, locale en-GB)
    • Flutter version 1.12.13+hotfix.5 at /Users/robclother/sdk/flutter
    • Framework revision 27321ebbad (8 days ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
    • Android SDK at /Users/robclother/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.7.5

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 41.0.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.41.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.7.1

[!] Connected device
    ! No devices available

I'm able to reproduce.  The google_places_sdk.xcconfig OTHER_LDFLAGS is missing -framework "GooglePlaces" but I'm not sure why.  When I add it (not recommended, it should be generated) I get

Undefined symbol: _OBJC_METACLASS_$_GMSx_GPBMessage
Undefined symbol: _OBJC_METACLASS_$_GMSx_GPBRootObject
...

which are missing protobuf symbols.
This is an issue with the GooglePlaces pod, not Flutter.  Can you file the issue with https://b.corp.google.com/savedsearches/5050150?q=status:open componentid:188842%2B?


Refactor dev branch with Python package structure

First, thanks for the great work on this. In order to make full use of Ryven for my application, I needed to be able to easily pip install ryven. I did basic refactoring of your latest dev branch into a traditional Python package format, with a directory structure:
Ryven/
├─ docs/
├─ ryven/
│  ├─ core/
│  │  ├─ <files that I thought are needed for basic Ryven operation>
│  ├─ gui/
│  │  ├─ <files related to the GUI execution>
│  ├─ packages/
│  ├─ resources/
│  ├─ saves/
│  ├─ stuff/
├─ setup.py
├─ setup.cfg
├─ <other top level files>

I didn't make any functional changes to the code. In order to have everything still function and import properly, I changed all local relative imports to absolute imports (e.g. from NENV import * becomes from ryven.core.NENV import *.)
If you find this useful, feel free to pull it, or if not, I'll just continue using it from my own fork.
Best,
Marcin

That can be changed to anything you feel is appropriate. I've seen core used in many other projects, but maybe main or shared would be better.
I don't see a problem with it, and it wouldn't cause any issues. If it's important for the user to read, maybe it could be moved into the docs directory instead. I've used Sphinx in the past to make documentation, and was able to add links in the Markdown files in docs pointing to files elsewhere. You could link to these readmes so they're visible in the docs as well?
Yes, both work. In setup.cfg I have added entrypoints, which map the command ryven to the main function in Ryven.py.
Correct, those should be outside the package directory. I think it's fairly common for packages to use a directory in the user's home, like ~/.ryven/. I think that having some fundamental nodes packaged with ryven would be fine, but sourcing from another location for additional files would be a good idea. In the future (probably a different pull request) we could implement a plugin system for nodes. That would allow someone to write a new package containing nodes and have them register themselves with Ryven.

You have another repo for the website. Do the docs in the Ryven repo get used/linked in the website, or are they simply viewed on the github page?
Before publishing to PyPI there are some files that probably need to be cleaned up. I tried not to change anything in this PR, so you could potentially pull this in and start your own branch to clean up as you see fit. I don't know if you want to keep those *.bat files at the top level, for instance.

Especially from ryven.core. ... import ... might cause confusion, main might be better (I would then move Ryven.py there too). The reason I placed NENV.py and NWENV.py in the top-level package is that node files are then unaffected by such changes, and I'd say from ryven.NENV import * is more intuitive (see changes below)
Yes, I think that would be neat.
nice.
Importing node packages as well as loading projects should then somehow have an option import example nodes resp. load example project (see changes below)
The docs folder also includes node tutorials, the rest was used for the introductory guide which is now indeed part of the website repo and therefore useless here. (see changes below)
Yes, clean up is on my todo, including some refactoring of folders and files. The batch files I will probably exclude (I need them for development, but they don't have to be part of the repo). But this kind of cleaning I think I will do once the PR is merged, as it is not directly related to the new package structure.

I just cloned your fork and worked on the points above, in particular

I added the necessary path utils for example_projects, example_nodes, ~/.ryven/saves/  and ~/.ryven/nodes/ and the options to load from example directories; and extended auto import
I moved NENV.py and NWENV.py to Ryven/ryven/ to enable from ryven.NENV import * syntax
I renamed core/ to main/, and moved Ryven.py into main/
cleaned the docs folder
and I did some renaming of stuff somehow related to this PR's project structure

If you agree with those changes and give me write access, I can commit to the PR.

I have "allow edits by maintainers" checked, so you should have write permissions to the branch.
Instead of moving content (i.e. NENV.py) to the top level of ryven, I would suggest importing any functions you want accessible from the top level in the __init__.py file. For instance, to have NENV available, leave it in ryven/main/NENV.py and simply add from .main import NENY to the ryven/__init__.py file. Repeat for any other modules, classes, or functions you want available at the top level for convenience.
I also thought of another possible name, common, for the previous core directory. That would prevent possible confusion with the commonly used main() function.

I would suggest importing any functions you want accessible from the top level in the __init__.py file

yeah, that would be the cleaner approach, but I think I can't do it like this right now, or at least I don't know how. NENV.py imports different stuff based on whether Ryven or RyvenConsole is running. This determined through and environment variable RYVEN_MODE, which currently gets set in Ryven.py (I will likely change that; when installed as package, Ryven.py doesnt actually need to be able to start RyvenConsole at all, but it doesn't solve the problem). However, when running cmd ryven or ryven_console (thus importing the ryven package in python), the top-level __init__.py is the first scripts that's executed, so I cannot already import NENV there.

I also thought of another possible name, common, for the previous core directory. That would prevent possible confusion with the commonly used main() function.

Nice suggestion, but I'm not sure about that, at least I can't imagine a scenario where someone would reference both am might confuse them, and  common sounds more like utils to me, which is I think not exactly accurate. Furthermore, the actual main() function would be part of the main directory, along with all core components to start the application that are not directly gui related. Why do you think it might be a problem?

just pushed my changes so you have them; small remaining adjustments (location of NENV/NWENV and name of main) can be done easily

Sorry for the radio silence the last 2 weeks. Had some other life events pull me away from work for a while. I'll continue work from your merged branch, and help where I can moving forward.

Hey no worries! I hope you are doing well, and thanks a lot for the refactoring, this might become quite useful in the future.
I am currently experimenting a bit with some enhancements of ryvencore (looking towards Cython 👀) for which having ryven itself as a pypi package would also be nice.


ZAP regen on master

Fixes merge error that broke the zap check.

some submodule sha changes. revert those


Missing plural forms for jump forward/back strings

Skip back/jump forward strings do not allow for multiple plural forms (see here and here).
This does not present a problem in English language, as there is only one plural form. But for other (Baltic, Slavic, etc.) languages there will be a problem. For example, Lithuanian language uses one form of word for all numbers ending with 0, another for all other numbers. And on top of that singular form has to be used for all numbers ending with 1 (like 21, 325251, etc.), except for the ones that and with 11 ( 211, 23423511, etc. ).
This came to my attention when translating WordPress and has been filed as a bug there. They suggested this should be reported here, too.

@ideag Any suggestions for a library that allows this?

If it's of any help, for translating singular & plural strings in WordPress we were looking at Jed recently. Its maintainer is now focused on messageformat.js though which allows doing similar.

@swissspidy Thanks, I'll take a look to them

For information, and absolutely not as a suggestion of implementation, but just to provide somes resources to better understand the issues and why properly adding L10N is very difficult ... :

the Unicode CLRD (Common Locale Data Repository) chart for language plural rules (and it is just for plural... they are many more charts for dates, timezone, etc ...)
http://www.unicode.org/cldr/charts/28/supplemental/language_plural_rules.html
the ICU message format (yuck!) which allow proper plural support even for language with complex plural rules such as russian
http://userguide.icu-project.org/formatparse/messages

@swissspidy your links to Jed or messageformat are very interesting, thanks !

@OlivierJaquemet I'm working on replacing the current i18n implementation with something similar but simplistic, given that for our needs we just need basic translations and the plurals. I'll keep you posted about this.

Closing this one since fix has been merged


feat(TX-982): Private sales review step changes

The type of this PR is: Feat
This PR solves TX-982
Description
This PR updates the review step for private sale orders.
1- button texts is updated to 'Complete Purchase'
2- 'Change' option for shipment is hidden
3- PS conditions of sales and extra condition of sales are added
4- footer email is updated
Video
https://user-images.githubusercontent.com/42584148/212665602-cefbcd48-031b-4237-a711-988b1d7bd792.mov

note: I have rebased this from https://github.com/artsy/force/pull/11748 because some changes in this other PR applies here as well.


The @hashmap.T[K, V]::op_get(K) ->Option[V] method should not return a Option

The current get and op_get of @hashmap.T[K, V] type both return a Option[V], but the methods of the same names of Array type return an Option[T] and a T  respectively. Their behavior should be aligned.

This is for map pattern and cannot be changed.


HELP with filtering

Hello, I'm new to DB Folder and I'm having some issues with filtering my books list (118 entries with cover image yaml field)
I've set 4 group filters according to this rules:

Reading: status is reading
Unread (non fiction): status is unread & genre is non-fiction
Unread (fiction): status is unread & genre is fiction
Buy: Buy is true
To my understanding every filter if it's the only which is colored should be independent from the others (I mean: it should not create nested conditions), am I right?
Here's what happens:
when the first group filter is set (with disable group filter) everything works: if I click on the "reading" button, the plugin filters accordingly;
when I set the second group filter everything works too, but I notice that, even if none of the buttons is selected the number of db entries has decreased;
with the third group filter same situation has second one;
when I set the fourth group filter (buy is true) it returns 0 entries even though in the database there are entries with Yaml metadata set to "Buy: true".
After that first group filter doesn't return any result, group filter second filter works and third filter works.

I also noticed that if I delete all group filter and If I set a new group filter to: buy "contains true" it works.

Finally I see that almost every time when filters don't work in the Table filters modal the kind of property is set to "filename" and not to "fields from notes" or "metadatafields" which are grayed-out and not selectionable (see above)
Dunno if it is some kind of bug or if I don't understand the logic of filtering & group filtering.
I broke my head deleting the database and creating a new one, made a new database in a new fault but no way, so what am I doing wrong? any help appreciated! :-)

Same issue - set group filters then all properties set to filename & options greyed out when trying to change

same issue, It may be due to only one filter can apply to the same column.


validate sharding relabel action

Fixes #2468
Signed-off-by: ranjithkumar007<EMAIL_ADDRESS>

[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end user.

Changes

Logged and returned an error if the relabel config is not supported currently by Thanos.

Verification

Verified correctness by adding a unit test.

I am very new to Go(Wrote hello world in Go a few days back). Though this is a small PR, any suggestions regarding the code style would be really great.

Thanks for your contribution. Really nice work!
But I am wondering is it better to put the validation phase here? https://github.com/thanos-io/thanos/blob/209fd88cbb66385c6a7d239b7e2c179094a747ee/cmd/thanos/store.go#L356

Thanks for your contribution. Really nice work!
But I am wondering is it better to put the validation phase here?
https://github.com/thanos-io/thanos/blob/209fd88cbb66385c6a7d239b7e2c179094a747ee/cmd/thanos/store.go#L356

Thanks for the quick review. Yes, I think store.go is a much better place for validation.
Actually, I came across a piece of code in fetcher_test.go where parsing from yaml is done directly inline. I think I should also update such instances with a call to parseRelabelConfig?
Also,  Is store_test.go(doesn't exist now) the right place for adding tests to parseRelabelConfig,?

ping @yeya24

Sorry for the late response. To me, I think it is better to add the test at store_test.go since we just need to test parseRelabelConfig. However, I am not sure whether parseRelabelConfig will be used in other places in the future, which we need to support all the relabel actions. Then we need to change that code again.
Maybe @bwplotka has a better idea. WDYT @ranjithkumar007 ?

Sorry for the late response

No worries.

To me, I think it is better to add the test at store_test.go since we just need to test parseRelabelConfig. However, I am not sure whether parseRelabelConfig will be used in other places in the future, which we need to support all the relabel actions. Then we need to change that code again.
Maybe @bwplotka has a better idea. WDYT @ranjithkumar007 ?

Yeah. I also think store_test.go might be the right way.
With a quick grep of usages of yaml.Unmarshal  across the codebase, I see there are lots of places where different types of configs are parsed. I am not sure if its a good idea but maybe we can have such parsing of configs at a single place with a param to decide on the type of config?

To me, I think it is better to add the test at store_test.go since we just need to test parseRelabelConfig

On second thought, I think it might be better to move parseRelabelConfig to pkg(not sure which sub dir exactly, maybe store?) as this functionality is needed in places like fetcher_test.go. If it is used in other places in future, this can be easily imported.
thoughts @yeya24 ?

I think we need exactly the same thing in compact.go.

compact.go uses the same parseRelabelConfig function. So, no change might be required for this.
Other places of unmarshalling relabel yaml I found are in test files: fetcher_test.go, bucket_test.go
But these are inside pkg/block and pkg/store respectively.
So, what would be the best place for keeping parseRelabelConfig?

I think we need exactly the same thing in compact.go.

compact.go uses the same parseRelabelConfig function. So, no change might be required for this.
Other places of unmarshalling relabel yaml I found are in test files: fetcher_test.go, bucket_test.go
But these are inside pkg/block and pkg/store respectively.
So, what would be the best place for keeping parseRelabelConfig?

Nice. Sorry for the late response.
Maybe you can make the logic below a helper function and reuse it. WDYT?
	supportedActions := map[relabel.Action]struct{}{relabel.Keep: {}, relabel.Drop: {}, relabel.HashMod: {}}

	for _, cfg := range relabelConfig {
		if _, ok := supportedActions[cfg.Action]; !ok {
			return nil, errors.Errorf("unsupported relabel action: %v", cfg.Action)
		}
	}

I think we need exactly the same thing in compact.go.

compact.go uses the same parseRelabelConfig function. So, no change might be required for this.
Other places of unmarshalling relabel yaml I found are in test files: fetcher_test.go, bucket_test.go
But these are inside pkg/block and pkg/store respectively.
So, what would be the best place for keeping parseRelabelConfig?

Nice. Sorry for the late response.
Looks very good. Regarding other places of unmarshalling relabel yaml, what about moving the parseRelabelConfig function to pkg/block, then updating  fetcher_test.go, bucket_test.go to use that function?
WDYT @ranjithkumar007

what about moving the parseRelabelConfig function to pkg/block, then updating fetcher_test.go, bucket_test.go to use that function?

Okay, sounds good to me. Does that mean parseRelabelConfig should be moved to pkg/block/fetcher.go?

what about moving the parseRelabelConfig function to pkg/block, then updating fetcher_test.go, bucket_test.go to use that function?

Okay, sounds good to me. Does that mean parseRelabelConfig should be moved to pkg/block/fetcher.go?

Sounds good.

Any updates @ranjithkumar007 ?

Any updates @ranjithkumar007 ?

@yeya24 sorry for not updating here. I was busy lately.
fetcher_test.go:379             unexpected error: parsing relabel configuration: yaml: line 8: found character that cannot start any token

I am not really sure why there is above error on CI. I haven't changed the yaml, just updated the parsing function.  any idea why this might be failing?

PTAL @yeya24 .
failing e2e tests don't look relevant to this PR.

I restarted e2e tests, let's see.

Tests have passed :tada:

@ranjithkumar007 Hey, would you mind rebasing master? Sorry for the late, @bwplotka  @kakkoyun It would be great if you can have a chance to give :eye: on it

Updated 👍


Remove timestamp from free space entry

Signed-off-by: Jiayu Wu<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
As we removed delay free mechanism in #140 , we do not need to store timestamp in space entry now
What is changed and how it works?
What's Changed:
Removed timestamp from free space entry, and removed SizedSpaceEntry structure
Check List
Tests

Unit test
Integration test

Side effects

Save memory for storing space entries in PMem allocator

LGTM.


[Bug] - auto_open setup property opening telescope with modifiable off

Description
When the property auto_open is set with value true, and we open in a previous added project the telescope open with modifiable off.
P.S. If it's not a workspaces bug, can someone give me a hand to fix it?
https://github.com/natecraddock/workspaces.nvim/assets/14323599/de6a2d24-afab-4407-a5f3-a534721f1030
Config
local vim = vim
local M = {}

local ok, package = pcall(require, "workspaces")
if not ok then
  return vim.notify("Failed to require package `workspaces`")
end

package.setup({
  auto_open = true, -- FIX: Cannot make changes, 'modifiable' is off
  notify_info = false,
  hooks = {
    open = "Telescope find_files",
    -- open = "NvimTreeOpen",
  }
})

local telescope_ok, telescope = pcall(require, "telescope")
if not telescope_ok then
  return vim.notify("Failed to require package `telescope`")
end

telescope.load_extension("workspaces")

M.open = function()
  telescope.extensions.workspaces.workspaces()
end

return M

Hi @nitaicharan I'm sorry for the long delay on replying here.
I just tested this and I cannot reproduce the issue. I expect this may be some interference with another plugin or something else in your config

Hey! I still can't reproduce. I'm closing this. If you want me to look into it again, please let me know!


watch flag for run-webos

Generate IPK and connect with device/emulator for every file change

This will be replaced by deploy-webos <device>


Fatal Error: Missing 'rclcpp/event_handler.hpp' during Build of master

Describe the bug
When attempting to build the ros-controls repository using the colcon build --symlink-install command, a fatal error is encountered. The error message indicates that the file rclcpp/event_handler.hpp is missing or cannot be located.
To Reproduce
Steps to reproduce the behavior:

Clone repo
Build repo with colcon build --symlink-install
See that you get include error with "rclcpp/event_handler.hpp"

Expected behavior
The build process should proceed without any errors or missing file references.
Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

OS: Ubuntu 22.04
Version Humble

Can you check you're building the humble branch?
Only master tries to #include that file.

Can you check you're building the humble branch?
Only master tries to #include that file.

correct, there was an upstream change of the header files from iron on, and the rolling-version (from master branch) won't build on a humble distro.

That was the issue, tanks


[BUG] Crusher move once-per-turn is checked but never set

In the move function of the crusher macro, there is a call to check that it is only executed once per turn, but on a successful move the flag is not set on the item. This results in asking me if I want to move a target on every attack, even if I already moved someone this turn.

Well be fixed in next v12 release.


Handling of default Redux actions

This is a:

[ ] Bug Report
[ ] Feature Request
[x] Question
[ ] Other

Which concerns:

[x] flow-runtime
[ ] babel-plugin-flow-runtime
[ ] flow-runtime-validators
[ ] flow-runtime-mobx
[ ] flow-config-parser
[ ] The documentation website

What is the current behaviour?

We are attempting to use disjoint unions to strongly type our Redux reducer actions.  The problem that occurs is that Redux sends several default actions through all reducers at initialization specifically including:
{ type: "@@redux/INIT" }
{ type: "@@INIT" }
{ type: "@@redux/PROBE_UNKNOWN_ACTION_8.q.v.z.d.o.8.y.f.o.1.4.r.d.z.b.m.x.6.r" }

For the last action, the latter part of the string is a randomized set of characters so it cannot be strongly typed, and by adding a type such as { type: string } to our disjoint union of actions, we lose the guarantee that a specific action type will have a specific payload.  If we do not add types for these actions, we receive a type error from the runtime.
This issue has come up with other type-checking runtimes (See https://github.com/reactjs/redux/issues/792), however I have not been able to find any discussion of this issue in relation to flow-runtime.  Are there any known workarounds for this issue?

What is the expected behaviour?

Ideally there would be a way to either ignore or specifically add types for these default Redux initialization actions.

Which package versions are you using?

0.10.0

There is a bit of a challenge here because the ideal solution would still let Flow catch the errors statically. I can think of a fairly ugly solution that should work: Create a union type which approximates the cases you're looking to deal with, then add a type to that union at runtime, e.g.:
import t, {reify} from 'flow-runtime';
import type {Type} from 'flow-runtime';

type ReduxInternalActionType
  = '@@redux/INIT'
  | '@@INIT'
  ;

const ReduxProbeUnknownActionType = t.refinement(t.object({type: t.string()), input => {
  if (!/^@@redux\/PROBE_UNKNOWN_ACTION/.test(input.type)) {
    return 'can only be a redux probe unknown action';
  }
});

(reify: Type<ReduxInternalActionType>).type.types.push(ReduxProbeUnknownActionType);

type ReduxInternalAction = {
  type: ReduxInternalActionType;
};

type ReduxCustomAction = {
  type: 'your' | 'actions' | 'here'
}

type ReduxAction = ReduxInternalAction | ReduxCustomAction;

function reducer (state: State, action: ReduxAction) {
  ...
}

Thank you!

@jwoldan Maybe use https://github.com/acdlite/redux-actions better than use switch with ugly patch


Merge JournalContext for persistence

What changes are proposed in this pull request?
PersistenceChecker and PersistenceScheduler will regularly check all files that need persistence. Some fields in the inode is used to track the persistence status. So PersistenceChecker and PersistentSchedule will constantly update inodes, which creates journal entries.
Currently one JournalContext is created on processing each file, and closed after this file is processed. This means the journal entries are flushed once per file. In this change, we merge those flushes to:

Reduce frequent JournalContext usage, which acquires the state lock
Reduce the number of synchronous journal flushes

The idea is also consistent with https://github.com/Alluxio/alluxio/pull/16529
The correctness is guaranteed by:

It is fine to lose those journal entries on async persist on failover. If an inode status is not PERSISTED, the new primary will attempt to persist it anyways.

Why are the changes needed?
Mentioned above
Does this PR introduce any user facing changes?
Users should not perceive this change.

alluxio-bot, merge this please


[WATCH@STREAMS!] Brighton vs Aston Villa Live Free Online Broadcast 30 December 2024

Aston Villa vs Brighton live stream: How to watch Premier League game online and on TV, team news. Aston Villa will take on Brighton in the Premier League at the Villa Park on Monday.
Click Here to Watch Aston Villa vs Brighton Live Online
Click Here to Watch Aston Villa vs Brighton Live Online
Click Here to Watch Aston Villa vs Brighton Live Online
Villa are heading into the fixture on the back of a 3-0 loss against Newcastle and will be looking to bounce back to winning ways. They beat Manchester City 2-1 in the fixture before that though, and will be hoping that is the kind of performance they can keep delivering in 2025.
Brighton are winless in their last five games and are struggling to pick up points and climb up from their 11th spot in the standings.
Aston Villa vs Brighton live stream, date, time, channels
The Aston Villa vs Brighton live stream takes place today (Dec. 30).
Time: 7.45 p.m. GMT / 2.45 p.m. ET / 11.45 a.m. PT / 6.45 a.m. AEDT (Tuesday)
U.S. — Watch on Peacock
Watch anywhere
Villains look to bounce back after heavy defeat
Today's Aston Villa vs Brighton live stream sees two evenly matched sides looking to end the year on a high by gaining an important victory
Aston Villa endured another torrid away day on Thursday as they fell to a 3-0 defeat to Newcastle. Not only did Unai Emery’s side suffer a fifth straight away defeat, but in-form striker Jhon Dhuran received a straight red card and will miss the Brighton game. That could mean a chance for Ollie Watkins to impress as Villa look to get back to winning ways.
Much like their opponents, Brighton have struggled for consistency this season but will still believe they can finish in the European places come the end of the campaign. Fabian Hürzeler’s side have had no problem scoring goals, but they will need to tighten up at the back if they home to become just the second team to secure an away win at Villa Park this season.
Villa have a strong record against Brighton, having won eight of their nine top-flights home matches. Will this impressive run continue?
Villa's appeal against Jhon Durán's red card from the Newcastle match was unsuccessful, meaning the Colombian forward will serve a three-match suspension.
Matty Cash will also miss out after receiving his fifth yellow card of the season. It remains to be seen if Jacob Ramsey recovers from a hamstring issue in time.
For Brighton, Solly March made his long-awaited return in the draw against Brentford after a 14-month absence due to an ACL injury.
Head coach Fabian Hurzeler expects Ferdi Kadioglu and Jack Hinshelwood to return soon, while Adam Webster is nearing recovery from a hamstring injury suffered in October.
James Milner, Danny Welbeck and Evan Ferguson may be unavailable for selection due to injuries.
The hosts will head into the contest after a disappointing 0-3 loss to Newcastle United at St. James' Park in their Thursday Premier League clash. Unai Emery’s side has now slipped to 9th in the league standings.
Meanwhile, Brighton are just two points behind the hosts in the league table. They will be heading into this contest after a 1-1 draw against West Ham United and a goalless draw against Brentford. Fabian Hurzeler's side is winless from the last six matches.
The hosts will be missing their star Colombian striker, Jhon Duran, for this clash as he picked a red card against Newcastle United. The striker will be in the upcoming next three games for his team. In his absence, Ollie Watkins is likely to return.
Matty Cash is also suspended for this clash after picking his fifth yellow card against Newcastle United. Jacob Ramsey, who is recovering from a hamstring issue, will remain doubtful for this clash. There is no shortage of players for Emery's side; he is likely to field a stronger and nearly full-strength squad for this clash.
Brighton is currently dealing with a long list of injuries. It includes Ferdi Kadioglu (muscle), Jack Hinshelwood (knee), James Milner (hamstring), and Danny Welbeck (ankle), who will remain out from this clash with their respective injuries.
Solly March, who was recovering from a ligament injury, made his return after 14 months against Brentford.


HOP-3116 Open help documentation to default browser

Windows tested only

The build will work now, but there is something going wrong in DimensionLookupDialog.java...
I will see if I can find the issue tomorrow

Strange, I'm sure I recompiled everything! Thanks

Everything seems to be working again, the help pages also open on default browser in MacOS!
Thanks @nadment !!!!!!


Why does the template for aspnet core mvc create 2 azure AD applications?

I am using VS 2019 (16.8.4), when I create a new aspnet mvc project and configure it to use 'work or school account', I find that on the azure ad two apps have been created, one called
<projectname> and the other <projectname>_<timestamp>.
Could you briefly explain here why this is? The tenant I am pointing towards is a B2C tenant.
Regards
Gopal

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 479bff62-927a-9f71-c85f-4a1188c72bb2
Version Independent ID: df934d01-7a9d-f7f9-d9ea-320454e32d77
Content: Quickstart: Add sign-in with Microsoft to an ASP.NET Core web app - Microsoft identity platform
Content Source: articles/active-directory/develop/quickstart-v2-aspnet-core-webapp.md
Service: active-directory
Sub-service: develop
GitHub Login: @jmprieur
Microsoft Alias: jmprieur

@ksgopal4 , I have tried creating ASP.NET MVC project with my B2C tenant but I could only see just single app registration entry as shown below and I was unable to replicate above issue.
VS 2019 community 16.0.31105.61
MVC App creation:

Azure AD App Registration:

Thanks for testing this @ssivas. I am still getting the same issue, please see screenshots. Please note I am using ASP.NET Core .NET 5 project template and I have 'read directory data' not selected (default) .

this results in

@vijayrkn @deepchoudhery can we try to see if we can reproduce this issue? @ssivas has tried to repro it with no luck.

Adding @Phenning since it is in the one ASP.NET dialog. I think we created 2 applications only for the Blazor scenarios.

For Blazor WebAssembly hosted scenarios, the second application we add would have _Server as a suffix to the app name. We touched the provisioning code for this in 16.8. I am currently reproing this for MVC as well as described above,
I'm going to install a 16.7 build to see if it repros the same way to see if this was a regression from the changes in 16.8 or existed the whole time we supported .NET Core app AD provisioning.

This is a great discussion, however, from my understanding there isn't a doc issue here. Feel free to continue discussion in this thread and if any doc updates surface we can get them added.
#please-close


CI fail with java.io.IOException emulator 21, 23

Kind (Required)

Improvement

Overview (Required)
> Task :uicomponent-compose:main:packageDebugAndroidTest

> Task :uicomponent-compose:feed:connectedDebugAndroidTest

com.android.build.gradle.internal.testing.ConnectedDevice > runTests[test(AVD) - 5.0.2] FAILED
	java.io.IOException: Unexpected output of command get-current-user, expected a user id found the following output:
	> usage: am [subcommand] [options]
[no message defined]
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.io.IOException: Unexpected output of command get-current-user, expected a user id found the following output:
> usage: am [subcommand] [options]
> usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>]
> [--sampling INTERVAL] [-R COUNT] [-S] [--opengl-trace]
> [--user <USER_ID> | current] <INTENT>
> am startservice [--user <USER_ID> | current] <INTENT>
> am stopservice [--user <USER_ID> | current] <INTENT>
> am force-stop [--user <USER_ID> | all | current] <PACKAGE>
> am kill [--user <USER_ID> | all | current] <PACKAGE>
> am kill-all
> am broadcast [--user <USER_ID> | all | current] <INTENT>

Links

I started looking into this issue, and then I found that the min SDK version of this app is now 24, so it doesn't really apply anymore. Is the min SDK going to be reduced later, or could this issue be closed now?
What I found so far is that API 21's ActivityManager likely didn't support the get-current-user command (note: added here), and a different approach would probably be needed there.

👀

Thank you for your wonderful consideration! 🆒
Currently, I think MinSdk Version can be 21.
Because the bug has been fixed.
https://issuetracker.google.com/issues/194289155#comment23
It may be good to change min sdk with the fix to this issue and add the following fix that you told me. 👍
https://android.stackexchange.com/questions/103824/how-to-find-out-currently-running-user-name-id-from-adb/123209#123209


First join teleporting players into the floor.

Please describe the bug
No response
Steps to reproduce the behavior
No response
Expected behavior
No response
Server information:
Minecraft Version: [e.g. 1.20.4] - Server Implementation: [e.g. Bukkit, Spigot, Paper, etc.] - Essence Version: [e.g. 1.1.0]
Please enter a link to your logs
No response
Anything else?
No response

Testing env. issue


[dojo-sdk] fixed the calldata of the execute function

I am closing this pull request because it duplicates another one.


Getting Error "Command 'SnippetsLab: Show All Snippets' resulted in an error"

I am getting the following error, any ideas?
Command 'SnippetsLab: Show All Snippets' resulted in an error
command 'snippetslab.showAllSnippets' not found

Hi! Thanks for reaching out!
The only thing I can think of is checking the backup folder to ensure everything is as expected. First, I would verify if backups are activated.

Then, I would check if the path matches the one in vscode:  ~/Library/Containers/com.renfei.SnippetsLab/Data/Library/Application Support/Backups
And a backup file would look like this
Backups/
└── main 9-9-23, 4-08-42 PM (automatic).snippetslab-backup
    ├── library.json
    ├── main.snippetslablibrary
    └── meta.json

Let me know

Yes the issue was with the path, I had the full path there and I edit it to start with ~/
Thank you, great extension!!


📄🚀 – Include vehicle location information from passenger count and fare transaction records

Describe the feature you want and how it meets your needs or solves a problem

As a creator of TIDES data, I want capture the location of passenger count and fare transaction events
The current spec does not include location information (lat/long, GPS quality, etc.) for passenger_events or fare_transactions records.  If an AFC or APC system includes location data, then the correct application of TIDES would be to create both a passenger_events or fare_transaction record and a vehicle_locations record.
Question 1: Does this still sound right?  Or should we add location fields to the passenger_events and fare_transactions records?
Question 2: If we leave the fields as they are, do we want to be more explicit about how two records that represent the same event are related to each other.
For example, if I have  single APC record that has both passenger counts and a location, I would create both a passenger_events record and a vehicle_locations record.  I want to be able to link those.
Option 1: allow and require that the unique identifier for the two records match. So if the passenger_event_id and the location_ping_id are the same, that means the records are for the same event.
Option 2: add an optional reference to the a vehicle_locations record from the passenger_events and fare_transactions tables.
My preference is currently Option 2.
Describe the solution you'd like
Add field passenger_events.location_ping_id to identify the location of a passenger count
Add field fare_transactions.location_ping_id to identify the location of a fare transaction
Describe alternatives you've considered
Allow passenger_events.passenger_event_id and fare_transactions.transaction_id to match vehicle_locations.location_ping_id and define this to mean that the records are associated with the same event.

If there are no objections, I'd appreciate if someone could create a PR to implement Option 2.  This would add the following fields.  This should also include any necessary references to foreign keys
Add field passenger_events.location_ping_id to identify the location of a passenger count
Add field fare_transactions.location_ping_id to identify the location of a fare transaction

Closed in PR #164


Slug generation performance improvement

The EXISTS sql statement will return true at the first existing value where the COUNT will uselessly continue to loop through the whole table which is inaccurate for this use case.
The syntax is more readable too IMO.

I've given this a test by running the following in the Sluggable tests:
    public function testSlugGenerationLargeDataset()
    {
        // Create 2500 records
        for ($i = 0; $i < 2500; ++$i) {
            TestModelSluggable::create([
                'name' => 'test row ' . $i,
            ]);
        }

        $testModel1 = TestModelSluggable::create(['name' => 'test']);

        // Create another 2500 records
        for ($i = 2500; $i < 5000; ++$i) {
            TestModelSluggable::create([
                'name' => 'test row ' . $i,
            ]);
        }

        DB::listen(function ($query) {
            print_r([
                'query' => $query->sql,
                'bindings' => $query->bindings,
                'time' => $query->time,
            ]);
        });

        $testModel2 = TestModelSluggable::create(['name' => 'test']);

I found a very, very, very small performance benefit for using exists() over count(). I mean incredibly minuscule - even with 5000 records. exists() ran in 0.05 seconds, count() ran in 0.06 seconds, but it fluctuated, so I assume there's rounding going on. This is with SQLite.
The logic is sound, so I'm not against merging it - it makes sense that we only care if a record exists with a given slug, we don't need to know how many records have the slug, but I just wanted to make it clear this is a micro-optimisation.

While the gains are small, the change does take it from an issue that gets slower with scale and turns it into a consistent performance operation instead which is always better IMO.


UI - Add Application name needs additional validation to avoid submitting invalid names

Describe the bug
The application name should have some additional validation on it in the Add Application UI.
The application name can only be in RFC1123 format:
'a-z0-9?(\.a-z0-9?)*'
At present it's possible to create applications with invalid names
What is the severity of the bug
severity/Low
Environment

gitops: [e.g. v0.1.0]
kubernetes:  [e.g. 1.20.4]

[ ] KinD - version]
[ ] k3s - version
[ ] cloud [e.g., EKS, AKS]  version
[ ] other - name version

Browser + version: [e.g. chrome 74, safari 12, firefox 87]

Affects versions
To Reproduce
Steps to reproduce the behavior:

Go to Add Application
Click on application name and enter something like: "foo " or "foo_bar_*"
Make everything else valid on the form and submit.
See error in the Kustomize pod logs :

Kustomization/wego-system/podinfo_dave dry-run failed, reason: Invalid, error: Kustomization.kustomize.toolkit.fluxcd.io "podinfodave" is invalid: metadata.name: Invalid value: "podinfo_dave": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is 'a-z0-9?(\.a-z0-9?)')\n"}
Expected behavior
I would expect a validation error to bubble up either when loss of focus on the application name text box or when clicking submit or any other method that seems appropriate.

I would like to keep the validation logic in the back-end, so doing this onBlur will require a new endpoint to validate the name.
I think we can just add this to the list of server validation tasks and return an error on form submission instead of onBlur as described here.

Without enforcing the name, it's trivial to make mistakes like I did - extra space in the name.  This causes flux to fail syncing, which means the application isn't listed and additionally prohibits resources after this application from being applied.  Here is the flux error:

kustomization/kind-kind-user    False   Kustomization/wego-system/phlegm  dry-run failed, reason: Invalid, error: Kustomization.kustomize.toolkit.fluxcd.io "phlegm " is invalid: metadata.name: Invalid value: "phlegm ": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is 'a-z0-9?(.a-z0-9?)*')

Which blocks my other application deployment.
CC @sympatheticmoose

AC:

Error out when a user tries to add an app with an invalid name


API documentation

Hi!
I couldn't find documentation for the API. Does it exist?
Also, the README.md states the API is similar to OpenAI Gym. Would someone please share why OpenAI Gym was not sufficient for this project?
Thanks!

Hi,
Unfortunately, what's here is what there is. The example agents hopefully give some insight into the API.
As to your other question, I'm not exactly sure what it's asking -- OpenAI Gym doesn't provide a Hanabi environment per se. AFAIK Gym also doesn't support multiplayer games.
Best,

Marc

To the first question I would just add, as a starting point check out
game_example.cc or .py. They are simple and demonstrate the core methods.
Also pyhanabi.py has doc strings for most of the non-obvious methods.
Is there anything in particular that is unclear?
On Wed, Mar 13, 2019, 8:14 PM Marc G. Bellemare<EMAIL_ADDRESS>wrote:

Hi,
Unfortunately, what's here is what there is. The example agents hopefully
give some insight into the API.
As to your other question, I'm not exactly sure what it's asking -- OpenAI
Gym doesn't provide a Hanabi environment per se. AFAIK Gym also doesn't
support multiplayer games.
Best,

Marc

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/deepmind/hanabi-learning-environment/issues/12#issuecomment-472677199,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADv0r3ZTTYEjVAKTP904gH80FRtazXaQks5vWbBygaJpZM4bx-HO
.

Thanks for your explanations. It wasn't clear to me where to start, so the guidance to begin with game_example.cc or game_example.py is very helpful.
WRT my second question, the Hanabi Learning Environment has potential to be used as a template or gold-standard for developing learning environments for other games. I was hoping to get a sense if this is encouraged, especially for multiplayer games.

No problem, maybe we can add a pointer to those files in the README.
On the comment to the second question: I think for this code base will
continue to focus on Hanabi, but yes I agree that it seems like a good way
to do multiagent games generally. To the best of my knowledge, as Marc said
part of the problem with gym compatibility is limited support for
multiagent games. For example, the game environments, like Blackjack and
(previously?) Hex, assume specific policies for the opponents. From my
experience, to do MARL in games, you need two things: (i) the environment
needs to handle the specific use case of multiple decision-makers, (ii) the
algorithms/agents need specific support for this as well. For example, in
(i) the environment may have to handle turn-based games and simultaneous
games (like gridworlds) quite differently. For games specifically, in (ii)
you need the learning algorithms to handle things like a subset of the
actions being legal vs others illegal.
It would be great to have gym environments for multiagent games, but AFAICT
these features do not exist yet. People have been talking about adding
support for it, though: see https://github.com/openai/gym/issues/934 .
On Wed, Mar 13, 2019 at 10:03 PM karhohs<EMAIL_ADDRESS>wrote:

Thanks for your explanations. It wasn't clear to me where to start, so the
guidance to begin with game_example.cc or game_example.py is very helpful.
WRT my second question, the Hanabi Learning Environment has potential to
be used as a template or gold-standard for developing learning environments
for other games. I was hoping to get a sense if this is encouraged,
especially for multiplayer games.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepmind/hanabi-learning-environment/issues/12#issuecomment-472696349,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADv0r77DlOXcMT-k35lgk4ssHqB2aGVcks5vWcoJgaJpZM4bx-HO
.

anybody understand what the output of train.py means?


Get weird indentation inside @if directive

Thanks for this valuable package but my code block gets weird indentations in the below code. I did everything to fix it for hours but no luck.
Input
<div
    @click="if($wire.loginRequired){return}; isLiked = !isLiked; showUsers=false"
    wire:click="handle('{{ $key }}', '{{ $value["model"] }}')"
    @if ($authMode)
        @mouseover="
              if(
                  !$wire.loginRequired &&
                  $wire.reactions['{{ $key }}']['count'] > 0 &&
                   !showUsers
               ) {
                      showUsers = true;
                      $wire.lastReactedUser('{{ $key }}')
                  }
              "
    @endif
    class="flex cursor-pointer items-center"
    title="like"
>

Output
<div
    @click="if($wire.loginRequired){return}; isLiked = !isLiked; showUsers=false"
    wire:click="handle('{{ $key }}', '{{ $value["model"] }}')"
    @if ($authMode)
           @mouseover
            ="
                                                                    if(
                                                                        !$wire.loginRequired &&
                                                                        $wire.reactions['{{ $key }}']['count'] > 0 &&
                                                                         !showUsers
                                                                     ) {
                                                                            showUsers = true;
                                                                            $wire.lastReactedUser('{{ $key }}')
                                                                        }
                                                                    "
  @endif
  class="flex cursor-pointer items-center"
  title="like"
>

Thanks for the report! Are you using the default settings (just to help debug when I look into it)?
Thanks!

Yes. Here the link  it is an open-source package due to be released soon.

Thanks for the extra info, it really helps! I'll update here once I start working through this and have a fix 👍

That was a tough one! I've released a fix to prevent excessive indentation for these types of scenarios with 2.1.15


I am a new user, this is not syncing my existing Bookmarks

Hi @nomandhoni-cs,
Thanks for trying out my extension and I'm happy to help you out! Unfortunately your issue is lacking some detail. Could you please expand on:

What your intent is / what you are attempting to accomplish
Your current configuration of the extension
The observed problem

Thanks!

Closing due to lack of feedback. Feel free to re-open with additional information.
I hope you managed to get it working in the meantime.


Can't delete some containers -- dataset is busy

When copying and moving containers, it seems that containers on foundation-1 cannot be deleted.
It appears to be a snapd/lxd combination issue. We might be able to delete them if we disable lxd temporarily.
See upstream issue: https://github.com/canonical/lxd/issues/11168

We've encountered this before. I didn't find a proper fix, but I got it working through this workaround.

Oh, cool! In this case, it was fixed with a reboot, but ideally you wouldn't have to.

We've encountered this before. I didn't find a proper fix, but I got it working through this workaround.

What was the workaround? The link is now dead.

@ExpatUK below is a workaround. We grab all pids and then run the sudo nsenter -t ... command on them (as per the discussion) until we're able to destroy the container. It's super hacky, but it works. The solution from the discussion might be enough for you.
def _destroy_container(host: Host, name: str):
    print(f"--- Destroying container {name} and its data")
    try:
        host.run(f"sudo lxc delete --force {name}")
    except SystemExit:
        # This is LXC bug https://discuss.linuxcontainers.org/t/lxc-delete-result-in-failed-to-destroy-zfs-filesystem-dataset-is-busy/5728
        # We get the following error when trying to delete a container:
        # Error: Error deleting storage volume: Failed to run: zfs destroy -r lxd/containers/staging-site-scripts-relative-url:
        # exit status 1 (cannot destroy 'lxd/containers/staging-site-scripts-relative-url': dataset is busy)
        # The workaround is to unmount the filesystem and try again.
        print("!!! Container could not be destroyed, trying workaround")
        pids = host.run('pgrep -fl "lxc monitor"', capture_output=True).replace(
            "lxd", ""
        )
        # try all pids in random order (perhaps there's a better way?)
        pids = [pid.strip() for pid in pids.split("\n")]
        random.shuffle(pids)

        for pid in pids:
            try:
                host.run(
                    f"sudo nsenter -t {pid} -m -- umount /var/snap/lxd/common/lxd/storage-pools/lxd_zfs/containers/{name}"
                )
            except SystemExit:
                print(f"... Could not be unmounted with pid {pid}, trying new pid")
                continue

            host.run(f"sudo lxc delete --force {name}")
            print("!!! Container destroyed")
            break
        else:
            print("!!! Container could not be destroyed")


how to access plot level data

[x] Vpro 64- interfaces with Microsoft Access database for plot level data - Will sending
[x] mostly using Site/Veg data
[ ] Postgres database -Will/Kiri working on

.rds file directly from will

[ ] what are the different cover, height, total classes in veg layer?
[ ] some columns all NA- Height1, Cover/Height 5, LL:FFA, Cultural 1, 2, Other 1, 2

Deb MacKillop describing potential issues with South Area not adequately checked feasibility tables

[ ] incorporate aSMR info into models

weird site unit names from new dataframe
-115_W56


Clarify reproduction steps requirements in BUG_REPORT.yml

Since some newly reported issues still don't include SwiftPM CLI reproduction steps and only provide Xcode-specific steps, let's make this requirement more visible in the template.

@swift-ci test


broadcast the two input shapes for transposed matmul

modified:   py/torch_tensorrt/fx/converters/acc_ops_converters.py
modified:   py/torch_tensorrt/fx/test/passes/test_fuse_permute_matmul_trt.py

Description
This is identical to #1413 , but I will do this for @FelixXidddd

@frank-wei can you take a look at this PR?

Also @nvpohanh Can you run pre-commit to lint the code?

@nvpohanh could you pull from https://github.com/pytorch/TensorRT/pull/1413, I have just reformat the test file using black[jupyter].
Or you could do this by :

Looks like our CI is all broken due torch version deps?


Consider capping the number of events that out_queue.js can fire at once

If somebody enters their collector incorrectly in tracker construction, then GET requests will always fail. Every time a new event tries to fire, all the old events will also try to fire. The large number of failed GET requests this causes may look alarming.

Size of localStorage queue is now capped.


[Bug]: ValueError: Could not connect to tenant default_tenant. Are you sure it exists?

What happened?
I am using chromadb with pyinstaller to create client and collection. However I am getting an error on creating collection where it can not connect to a tenant.
I have tried downgrading to earlier versions up to 0.4.15, did not work.
any ideas of how to solve this?
Versions
chromadb==0.4.19, python==3.11.4, macOS Sonoma 14.2
Relevant log output
Traceback (most recent call last):
  File "/Users/.../dist/ai-assistant/_internal/chromadb/api/client.py", line 427, in _validate_tenant_database
    self._admin_client.get_tenant(name=tenant)
  File "/Users/.../dist/ai-assistant/_internal/chromadb/api/client.py", line 472, in get_tenant
    return self._server.get_tenant(name=name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/.../dist/ai-assistant/_internal/chromadb/api/segment.py", line 139, in get_tenant
    return self._sysdb.get_tenant(name=name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/.../dist/ai-assistant/_internal/chromadb/db/mixins/sysdb.py", line 134, in get_tenant
    row = cur.execute(sql, params).fetchone()
          ^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: tenants

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "grpc/_server.py", line 552, in _call_behavior
  File "controller.py", line 41, in Index
  File "vectorstore.py", line 29, in index_initial
  File "vectorstore.py", line 145, in initialize_db
  File "vectorstore.py", line 148, in create_collection
  File "/Users/.../dist/ai-assistant/_internal/chromadb/__init__.py", line 137, in PersistentClient
    return ClientCreator(tenant=tenant, database=database, settings=settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/.../dist/ai-assistant/_internal/chromadb/api/client.py", line 143, in __init__
    self._validate_tenant_database(tenant=tenant, database=database)
  File "/Users/.../dist/ai-assistant/_internal/chromadb/api/client.py", line 433, in _validate_tenant_database
    raise ValueError(
ValueError: Could not connect to tenant default_tenant. Are you sure it exists?

I have solved it by adding missing migrations in the pyinstaller

I have solved it by adding missing migrations in the pyinstaller ？ how to adding that ,i also havfe this problem.


Replaces the recipe

Ender io replaces the recipe for silicon crafting from aplied energistics. how to disable it?

Correction: Applied Energistics 2 detects that another mod adds silicon and disables its own version.  There should be an option to keep it enabled in that mod's config.


Windows Color settings

I do not like windows dark colors, but it seems editing Sophia.ps1 settings "WindowsColorScheme" and "AppMode" to light isn't enough.
I end up with a messed up taskbar with black text in the system area (note, i use "StartIsBack").
What else needs to be edited to stop this?
Thanks

Couldn't reproduce. Works as it should: I switch from dark to light, and vice versa instantly, without any pixel artifacts on my personal Surface Laptop 3.
May be it causes for you because of StartIsBack.

Thanks for the answer,
It's not any kind of artifacts.
I use the light color theme, so the text and icon color on the right side are white (the clock text, network icon, language icon battery etc).
After the script is done (with the 2 settings edited), i end up with the same color theme all over windows, except the taskbar icon and text color which turn black. Every time i apply the script.
I found out how to change them back to white, but it's quite tricky.
PS, GREAT script, the taskbar color glitch i experience is really minor.

It works even in my VM. :)

Hopefully, the v5.10.8 will be released tomorrow with Wrapper 2.0.2. 😸


Feat/memote

Main improvements in this PR:
As a follow-up to #162, this PR merges in the devel and feat/yaml-validation branches in order to convert the Travis CI pipeline that runs memote to GH Actions. Just as before, the history_report.html gets commited to the gh-pages branch automatically.

Some thoughts on the GitHub action:

Rather than using a number of conditions you could set up two different actions. One that runs on push and another that runs on pull_request.
You may want to use memote run --skip-unchanged in more places.

@Midnighter can we directly take results from results.db for this, or do we have to re-run the memote suit for those 2 models?

At the moment, you would have to re-run memote. However, I have been wanting this feature for a very long time... Let me see what I can do.

Items one and two are implemented. In addition to the biomass rxn issue, memote doesn't like the uncommitted model

critical: Please git commit or git stash all changes before running the memote suite.

It sounds to me like the model conversion should be commented out for now, and enabled when the two issues above are fixed.

@BenjaSanchez as you mentioned above, I agree with elevating what's left from these issues and cannot be solved now back to #162

Items one and two are implemented. In addition to the biomass rxn issue, memote doesn't like the uncommitted model

critical: Please git commit or git stash all changes before running the memote suite.

It sounds to me like the model conversion should be commented out for now, and enabled when the two issues above are fixed.

If you are not interested in that file, you could indeed just git stash or remove it.

@Midnighter stashing would defeat the point raised above by @BenjaSanchez through:
model = io.read_yeast_model(make_bigg_compliant=True)  # load with BiGG ids
io.write_yeast_model(model)

@Midnighter stashing would defeat the point raised above by @BenjaSanchez through:
model = io.read_yeast_model(make_bigg_compliant=True)  # load with BiGG ids
io.write_yeast_model(model)

I see two immediate approaches. The problem is that you want a model with BiGG compliant IDs that improves the behaviour on some memote tests. Memote complains about a dirty repository because we did not want to be responsible for committing any other files than the results. We could make memote smarter about this but this is the current behaviour. Possible solutions:

You create a BiGG compatible model file as part of your pre-commit hooks just like YAML and JSON and point memote at that file.
You could also call the memote test suite from within Python. That means, you would load the model file in a BiGG compliant model and then directly pass the model instance to the memote function call.

I prefer 1. to 2. because it is much more reproducible. If a user downloads your normal XML model in scenario 2., they will get a different score and be confused.

@Midnighter cool ideas, both of them. Thanks for the background story. Some thoughts:

I have no idea if this would lead to the versioning of two xml files - there must be a reason why BiGG complaint model is not the default one.
Do you mean it's possible to run memote report history from within Python?

Do you mean it's possible to run memote report history from within Python?

Certainly, you can look at the CLI commands in the cli.py module which then call functions in the https://github.com/opencobra/memote/blob/develop/src/memote/suite/api.py module. In this case, I meant test_model which is the equivalent of memote run.

I have no idea if this would lead to the versioning of two xml files

It would indeed, and this is something I think should be avoided: having 2 different xml would create confusion for users + make it harder for developers, as 2 xml would have to be updated on each commit, one using cobratoolbox and one using cobrapy.

there must be a reason why the BiGG complaint model is not the default one

BiGG annotation was only added recently (#188), so the model has existed for more than 10 years with the current ids. We could change the ids and use the BiGG dictionaries to convert when loading into Matlab using the loadYeastModel wrapper, but that would not work for users that directly download the model instead of cloning the repo / using the wrappers. Therefore, I think keeping the current ids is the most sensible option in terms of guaranteeing backward compatibility to all users. I'm ofc up for discussing it further, but maybe in a separate issue?
WRT the 2 possibilities @Midnighter suggests then, I would say the 2nd one would be the way to go for now; we can then ease any worried users with a disclaimer in the README/landing page mentioning the extra steps taken.
Finally, note that met/rxn ids is not the only thing that changes when the model is taken through an I/O cycle in cobrapy, but will be once https://github.com/SysBioChalmers/yeast-GEM/issues/218 is fully addressed (although that will likely take time)

I'm trying the 2nd suggestion, but I get stuck.
import memote
import git

repoRM = memote.RepoResultManager(git.Repo(), "sqlite:///results.db")
historyM = memote.HistoryManager(repoRM, 'devel')
print(historyM._history)
memote.history_report(historyM)

History is None, and the last line fails.
Now, even if it would succeed, history_report does not run like test_model - it cannot take the model as a parameter. This means it is likely that we would get to the same error as above, where the HistoryManager dislikes the uncommitted model. I still can't get this 2nd suggestion to run - any ideas?

Let me see, I think that .github/workflows/memote-run.yml should be straight forward since it only needs to run test_model, right?
Replicating .github/workflows/memote-history.yml may indeed be trickier.

You first test the model but this time memote actually commits the result (to the deployment branch). You should be able to see how that's done in the cli.py module. And I'd suggest that you read the relevant information from the configuration file, i.e., do not hard code values.
After that it should be possible to simply run memote report history since you don't need access to the model at that point.

update: the biomass issue https://github.com/opencobra/memote/issues/689 is now solved: using the latest version of memote 0.11.1 (which we can get in this branch if we pip-compile --upgrade ci-requirements.in) only 1 biomass reaction is detected. Thanks @Midnighter for looking into it :)
PS @mihai-sysbio I noticed you combined both the memote badge + Travis badge into a single one. I see value in having both (one directs to the history report and the other to the test suite to see if it's passing), but we can get back to it once the history report is properly created.

I was thinking that I should add a GH workflow to memote in addition to or instead of the Travis CI one. I'm glad that you're already going ahead with that.

@Midnighter that would be great.
This very large PR has been in progress for a long time, but finally it passes all checks. It would be nice to merge it and let  subsequent ideas/issues surface as different PRs.
Note: the fix/requirements PR #256 should be merged before this one.


Clean up feature list formatting.

Signed-off-by: Peter Salvatore<EMAIL_ADDRESS>

Current coverage is 55.22% (diff: 100%)

Merging #1319 into master will increase coverage by 0.19%

@@             master      #1319   diff @@
==========================================
  Files            80         80
  Lines         12558      12558
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6910       6935    +25
+ Misses         4689       4674    -15
+ Partials        959        949    -10

Powered by Codecov. Last update af23e13...78e1950

LGTM, thanks!

LGTM


added wrapper type and todos

@GlenDC I have attempted to add some wrapper types, and I have some doubts implementing them which I have put as TODO in the comments. I would need your guidance on this.

Hi @AnkurRathore , not that it's a blocker or urgent. But given this is already a month stale. I do want to at least check in.

Are you stuck?
Need guidance, mentoring, or help of any kind?
Or did you move one and want to hand this over to someone else?

EIther and everything is fine. And hope you're in good health and condition. Take care!

Understood. Do take care. For now I'll leave it with you then. It's not blocking any release schedule, as I still have plenty of other and much bigger fish to fry.
Should it still be left open in some weeks, I might re-assign it in case nothing changed by than. Either way good though, this is all voluntary. If you do feel ready by than to continue work on it, also good, I'll gladly support you with that. But otherwise also ok. Take care either way!

@GlenDC  please review the latest changes. Let me know if I am on the correct path.

@GlenDC I am doing good. Hope the same from your end.
I will go through the review comments.
Thanks.

@GlenDC I have made the changes as per the comments. Please review them.

@GlenDC I have made the changes as per the comments. Please review them.

Added the requested review, some comments that already existed are still unresolved as well. Do let me know if you have more questions, need more guidance or anything else. Here, in the original github ticket (https://github.com/plabayo/rama/issues/331) or on Discord.

@GlenDC addressed the required changes in enum. Please review

@GlenDC addressed the required changes in enum. Please review

Those changes look excellent. Do you need guidance for the remaining TODOs:

respect ip version preference when resolving dns
respect ipConnectMode when establishing a transport connection

@GlenDC addressed the required changes in enum. Please review

Those changes look excellent. Do you need guidance for the remaining TODOs:

respect ip version preference when resolving dns
respect ipConnectMode when establishing a transport connection

@GlenDC need your guidance on the remaining TODOs. Can you elaborate more on this.

@GlenDC need your guidance on the remaining TODOs. Can you elaborate more on this.

Sure thing

respect ip version preference when resolving dns

These sleep intervals would need to be swapped in case Ipv4 is prefered over ipv6
https://github.com/plabayo/rama/blob/1e2acaecb4dd868492ea076426112103eee817a5/rama-tcp/src/client/connect.rs#L279-L280

respect ipConnectMode when establishing a transport connection

In these locations you would need to block connections with an error in case of an Ipv4 address but ipv4 not allowed, and same for ipv6:

https://github.com/plabayo/rama/blob/1e2acaecb4dd868492ea076426112103eee817a5/rama-tcp/src/client/connect.rs#L138
https://github.com/plabayo/rama/blob/1e2acaecb4dd868492ea076426112103eee817a5/rama-tcp/src/client/connect.rs#L272


Update supported-accounts-validation.md

Minor update to try to clarify that there is no specific limit on certain properties, but they are not unlimited.

@cilwerner
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@cliwerner,
I'll merge this PR based on your approval. If this article requires further changes, please open a separate pull request.


Add Pris as an admin to hubs

Add myself as a new engineering hire to administer hubs

This deploy failed due to a configuration issue for cloudbank cluster lacc hub having the configurator set to use a default image of english which doesn't exist on docker hub. I'm  handling through other channels


Short description edits

Edited metadata descriptions to increase character length to at least 100. From the Enterprise spreadsheet.

@DaniHalfin


Clippy won't start if configuration file doesn't already exist

(node:77229) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/Users/phillco/Library/Application Support/clippy/config.json'
(Use `Electron --trace-warnings ...` to show where the warning was created)
(node:77229) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

Creating an empty JSON dictionary at that path fixes it

Fixed!


Bandit.HTTP1.Adapter.chunk/2 errors on non-string iodata chunk argument

Describe the bug
The implementation of the Plug.Conn.chunk callback in Bandit.HTTP1.Adapter uses byte_size/1 which only accepts bitstring().
The Plug.Conn.Adapter callback chunk expects body :: Conn.body() for the second argument, where @type body :: iodata.
** (ArgumentError) errors were found at the given arguments:

  * 1st argument: not a bitstring

This typically happens when calling Kernel.byte_size/1 with an invalid argument or when performing binary construction or binary concatenation with <> and one of the arguments is not a binary

It should be possible to resolve by replacing byte_size with IO.iodata_length here:
https://github.com/mtrudel/bandit/blob/main/lib/bandit/http1/adapter.ex#L298
I can confirm that this replacement eliminates the error in my codebase.
To Reproduce
Pass a list as the second argument for Plug.Conn.chunk/2 when using Bandit as an adapter with HTTP 1.
Expected behavior
Chunk sends the iodata without issue.
Runtime

Elixir version - 1.13.3
Erlang version - 25 [erts-13.0.2]
Bandit version - 0.6.2
Plug version - 1.14.0

Additional context
Add any other context about the problem here.

Dang, that's unfortunate. byte_size/1 is O(1) and IO.iodata_length is O(n)....

IO.iodata_length inlines to :erlang.iolist_size.
It does appear to probably be O(n):
https://github.com/erlang/otp/blob/master/erts/emulator/beam/utils.c#L3020
Though it's obvious that's it's been heavily optimized,
And I couldn't tell you how that code works.
That said, we're already using it, in a sense.
We're giving Socket.send an iolist right in the function call.
ThousandIsland defdelegates to :gen_tcp.send:
https://github.com/mtrudel/thousand_island/blob/main/lib/thousand_island/transports/tcp.ex#L73
:gen_tcp_socket.send/2 uses iolist_size in its implementation:
https://github.com/erlang/otp/blob/master/lib/kernel/src/gen_tcp_socket.erl#L342
If we combine that with the performance benefits of iodata mentioned in the IO module:
https://hexdocs.pm/elixir/1.12/IO.html#module-use-cases-for-io-data
It's probably for the best that we support it.
That said, in researching my response here, I found this code:
https://github.com/erlang/otp/blob/master/lib/inets/src/http_lib/http_chunk.erl#L74
Which is an implementation of the same HTTP primitive chunk.
Here they use pattern matching to separate the is_binary case from the is_list case,
Allowing them to defer to :erlang.size/1 instead of :erlang.iolist_size/1.
Notably, they also have a pattern match for an empty string in a list:
encode([<<>>]) ->
  [];

Which might be a further optimization we could borrow.

Deferring to iodata_length is fine in this case, I think. My understanding is that it's O(n) in the number of elements of the iolist, not in its overall length, which is about as good as we could ever hope to do.
I've profiled the HTTP/1.1 code paths pretty extensively and byte wrangling isn't high up on the list of heavy hitters (mostly, it's calls internal to :gen_tcp et al). I think this is more than good enough

Closing since the related PR has been merged


Typo in command in readme file

Just a quick heads-up about a typo in the Test section of the readme in the python file.
souce env/bin/activate
souce --> source.
cheers

Thank you for reporting! Just fixed: https://github.com/stripe/stripe-payments-demo/pull/51


duplicate entry error related to okhttp3 when integrating React Native into existing Android project

Description
After adding React Native to an existing Android project, I get the following error when running ./gradlew assembleDebug:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':driver:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: okhttp3/internal/ws/RealWebSocket$1.class

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

This project already had a dependency on okhttp3, so I'm not sure how to make Gradle ignore the React Native dependency on it.
Additional Information

React Native version: 0.31
Platform: Android
Operating System: MacOS 10.11.6 (15G1217)

React Native v0.31.0 uses OkHttp v3.2.0
The latest version of react native uses OkHttp v3.4.1
The newest version of OkHttp you can use is v3.4.2 due to breaking changes in v3.5.0
https://github.com/square/okhttp/blob/master/CHANGELOG.md

@facebook-github-bot answered

You'll be able to use the latest version once this has been merged https://github.com/facebook/react-native/pull/11835

@AndrewJack won't it not matter what version of okhttp3 React Native uses, because the project I'm adding RN to already uses okhttp3, it will still have this error?

@lyahdav What version of okhttp does your project use? If it is 3.5 or later you'll get a build failure due to some breaking api changes.
By including okhttp in your project you'll be updating the transitive dependency of okhttp that react native uses.

I don't know much about Gradle (I'm an iOS developer), but I found the following in a build.gradle of a dependent library of the project:
dependencies {
  compile 'com.squareup.okhttp:okhttp:12.7.7'
  compile 'com.squareup.okhttp3:okhttp:13.5.0'
}

I'm a bit confused by those version numbers (12.x and 13.x) because if I go to https://github.com/square/okhttp/releases it shows 3.6.0 as the latest version. Considering the original error message mentions okhttp3 I assume it's only an issue related to the com.squareup.okhttp3 dependency. Shouldn't there be a way for multiple libraries in an Android project to depend on the same library (okhttp3) but not give compiler errors? Or do they have to be the same exact version?

I figured this out. It was the same issue listed here:

To fix this on your end, include the following in your build.gradle:
configurations.all {
    // OkHttp 3.5.0+ includes the websockets API, so we need this to prevent a conflict
    exclude module: 'okhttp-ws'
}

Actually it's possible my previous comment is incorrect. After making that change the project compiles fine, but I get a runtime error. Since it's specific to my situation, I'm not sure if it makes more sense to continue here or on Stack Overflow. For now I created a separate Stack Overflow post.

any fix about this?

No fix yet. I haven't had time to investigate further. Like I said above, also not sure if this belongs here or on my Stack Overflow question above.

I resolved that forcing for all my dependencies would be the same. I had already some dependencies using v3.5.0 and having the conflict with new okhttp-ws integrated into v3.5.0 :man_facepalming:
It's a workaround. Be aware that with this one we cannot use v3.5.0.
configurations.all {     resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.4.1' }

@lyahdav if you use an old version of socket.io try to upgrade its version. This rescued me.


Could you publish the new version?

The latest version of responders on rubygems.org is 2.3.0 which depends on "railties", ">= 4.2.0", "< 5.1".
Recently Ruby on Rails 5.1 has been released, but Rails 5.1.0 cannot use responders 2.3.0 from rubygems.org.
So could you bump up the version and publish it to rubygems.org?

+1

This is blocking a release of devise.

+1

Done

Thanks @rafaelfranca 😀


Debugging doesn't work on WebStorm

Description
When using the plugin none of the errors inside Vue components trigger breakpoints during SSR.
This is universal to all experiments I've run.
Is there support at all for debugging on WS?
Not sure if this is a bug report or a feature request.
Error Message + Error Stack
No response

I'm not familiar with WebStorm, so I'm not sure here. Do you think this is related to VPS or Vite? I'd guess it's related to WebStorm not supporting Vue SFCs?


Blend file?

What's in the blend :D

@drcd1 ping

@drcd1 ping

Sorry for the delay, I wasn't able to get the exact same simulation again. I have uploaded the blend file (works with blender 2.80).

Sorry for the delay, I wasn't able to get the exact same simulation again. I have uploaded the blend file (works with blender 2.80).


bundler: avoid reparsing same gemspec

This is a slight performance improvement that will help with grouped updates.
I noticed in a flamegraph that gemspec_dependencies is called multiple times for each call of parse, so memoizing the call improves the performance.

For grouped updates, we'll create a new FileParser after every update right, so this will just prevent re-work during the update of a single dependency?

@jurre yep, exactly