Flutter upgrade then flutter pub get changes lockfile

Steps to reproduce
Note that this was initially observed in a gitlab CI environment, then informally reproduced on Windows, and all the following is more painstakingly reproduced on Ubuntu 20.04.6 LTS, 64-bit.
(go to flutter sdk dir)
git checkout 3.16.5
flutter doctor
(go to your projects folder)
flutter create lockfile_bug_test
(copy in pubspec.yaml.txt ; remove .txt extension I added because github didn't want to attach a yaml)
git init
git add .
git commit -m "initial commit"
flutter pub get
git status
(observe pubspec.lock is created)
git add .
git commit -m "flutter pub get"
flutter channel stable
flutter upgrade
git status
(observe no change)
flutter pub get
(note "Changed 8 dependencies!")
git status
(note changed pubspec.lock)
Expected results
As per https://docs.flutter.dev/packages-and-plugins/using-packages , "Flutter saves the concrete package version found in the pubspec.lock lockfile. This ensures that you get the same version again if you, or another developer on your team, run flutter pub get."  Therefore, when I flutter pub get, then flutter upgrade, then flutter pub get, the second get should get the dependencies listed in the lockfile, and not alter the lockfile.
Actual results
When I flutter pub get, then flutter upgrade, then flutter pub get, the second get gets different dependencies than are listed in the lockfile, and alters the lockfile.  (This caused an error in a CI pipeline we were running.)
Code sample
Code not relevant, aside from the pubspec.yaml I linked in the instructions.
Screenshots or Video
No response
Logs
Logs
erhannis@mnode7:~/tmp$ flutter --version
Flutter 3.19.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision<PHONE_NUMBER> (8 days ago) • 2024-02-27 16:51:22 -0500
Engine • revision 04817c99c9
Tools • Dart 3.3.0 • DevTools 2.31.1
erhannis@mnode7:~/tmp$ cd /home/erhannis/snap/flutter/common/flutter
erhannis@mnode7:~/snap/flutter/common/flutter$ git checkout 3.16.5
Note: switching to '3.16.5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 78666c8dc5 [flutter release] Update Engine revision to 3f3e560236539b7e2702f5ac790b2a4691b32d49 fo… (#140424)
erhannis@mnode7:~/snap/flutter/common/flutter$ flutter doctor
Downloading Linux x64 Dart SDK from Flutter engine 3f3e560236539b7e2702f5ac790b2a4691b32d49...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  208M  100  208M    0     0  3250k      0  0:01:05  0:01:05 --:--:-- 2360k
Building flutter tool...
Resolving dependencies... (2.0s)
Got dependencies.
Downloading package sky_engine...                                1,754ms
Downloading flutter_patched_sdk tools...                         1,818ms
Downloading flutter_patched_sdk_product tools...                 1,867ms
Downloading linux-x64 tools...                                     11.8s
Downloading linux-x64/font-subset tools...                         335ms
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel [user-branch], 3.16.5, on Ubuntu 20.04.6 LTS 5.15.0-94-generic,
    locale en_US.UTF-8)
    ! Flutter version 3.16.5 on channel [user-branch] at
      /home/erhannis/snap/flutter/common/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official
      channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at
      https://flutter.dev/docs/get-started/install.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this
      error.
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2022.2)
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Community Edition (version 2022.1)
[✓] VS Code (version 1.86.2)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 1 category.
erhannis@mnode7:~/snap/flutter/common/flutter$ cd ~/tmp
erhannis@mnode7:~/tmp$ flutter create lockfile_bug_test
Creating project lockfile_bug_test...
Resolving dependencies in lockfile_bug_test... (1.0s)
Got dependencies in lockfile_bug_test.
Wrote 129 files.

All done!
You can find general documentation for Flutter at: https://docs.flutter.dev/
Detailed API documentation is available at: https://api.flutter.dev/
If you prefer video documentation, consider: https://www.youtube.com/c/flutterdev

In order to run your application, type:

  $ cd lockfile_bug_test
  $ flutter run

Your application code is in lockfile_bug_test/lib/main.dart.

erhannis@mnode7:~/tmp$ cd lockfile_bug_test
erhannis@mnode7:~/tmp/lockfile_bug_test$ cp ../pubspec.yaml .
erhannis@mnode7:~/tmp/lockfile_bug_test$ git init
Initialized empty Git repository in /home/erhannis/tmp/lockfile_bug_test/.git/
erhannis@mnode7:~/tmp/lockfile_bug_test$ git add .
erhannis@mnode7:~/tmp/lockfile_bug_test$ git commit -m "initial commit"
[master (root-commit) 24db8f2] initial commit
 128 files changed, 4864 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .metadata
 create mode 100644 README.md
 create mode 100644 analysis_options.yaml
 create mode 100644 android/.gitignore
 create mode 100644 android/app/build.gradle
 create mode 100644 android/app/src/debug/AndroidManifest.xml
 create mode 100644 android/app/src/main/AndroidManifest.xml
 create mode 100644 android/app/src/main/kotlin/com/example/lockfile_bug_test/MainActivity.kt
 create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml
 create mode 100644 android/app/src/main/res/drawable/launch_background.xml
 create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
 create mode 100644 android/app/src/main/res/values-night/styles.xml
 create mode 100644 android/app/src/main/res/values/styles.xml
 create mode 100644 android/app/src/profile/AndroidManifest.xml
 create mode 100644 android/build.gradle
 create mode 100644 android/gradle.properties
 create mode 100644 android/gradle/wrapper/gradle-wrapper.properties
 create mode 100644 android/settings.gradle
 create mode 100644 ios/.gitignore
 create mode 100644 ios/Flutter/AppFrameworkInfo.plist
 create mode 100644 ios/Flutter/Debug.xcconfig
 create mode 100644 ios/Flutter/Release.xcconfig
 create mode 100644 ios/Runner.xcodeproj/project.pbxproj
 create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
 create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
 create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata
 create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
 create mode 100644 ios/Runner/AppDelegate.swift
 create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
 create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
 create mode 100644<EMAIL_ADDRESS> create mode 100644<EMAIL_ADDRESS> create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
 create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard
 create mode 100644 ios/Runner/Base.lproj/Main.storyboard
 create mode 100644 ios/Runner/Info.plist
 create mode 100644 ios/Runner/Runner-Bridging-Header.h
 create mode 100644 ios/RunnerTests/RunnerTests.swift
 create mode 100644 lib/main.dart
 create mode 100644 linux/.gitignore
 create mode 100644 linux/CMakeLists.txt
 create mode 100644 linux/flutter/CMakeLists.txt
 create mode 100644 linux/flutter/generated_plugin_registrant.cc
 create mode 100644 linux/flutter/generated_plugin_registrant.h
 create mode 100644 linux/flutter/generated_plugins.cmake
 create mode 100644 linux/main.cc
 create mode 100644 linux/my_application.cc
 create mode 100644 linux/my_application.h
 create mode 100644 macos/.gitignore
 create mode 100644 macos/Flutter/Flutter-Debug.xcconfig
 create mode 100644 macos/Flutter/Flutter-Release.xcconfig
 create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift
 create mode 100644 macos/Runner.xcodeproj/project.pbxproj
 create mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
 create mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata
 create mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 macos/Runner/AppDelegate.swift
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
 create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
 create mode 100644 macos/Runner/Base.lproj/MainMenu.xib
 create mode 100644 macos/Runner/Configs/AppInfo.xcconfig
 create mode 100644 macos/Runner/Configs/Debug.xcconfig
 create mode 100644 macos/Runner/Configs/Release.xcconfig
 create mode 100644 macos/Runner/Configs/Warnings.xcconfig
 create mode 100644 macos/Runner/DebugProfile.entitlements
 create mode 100644 macos/Runner/Info.plist
 create mode 100644 macos/Runner/MainFlutterWindow.swift
 create mode 100644 macos/Runner/Release.entitlements
 create mode 100644 macos/RunnerTests/RunnerTests.swift
 create mode 100644 pubspec.lock
 create mode 100644 pubspec.yaml
 create mode 100644 test/widget_test.dart
 create mode 100644 web/favicon.png
 create mode 100644 web/icons/Icon-192.png
 create mode 100644 web/icons/Icon-512.png
 create mode 100644 web/icons/Icon-maskable-192.png
 create mode 100644 web/icons/Icon-maskable-512.png
 create mode 100644 web/index.html
 create mode 100644 web/manifest.json
 create mode 100644 windows/.gitignore
 create mode 100644 windows/CMakeLists.txt
 create mode 100644 windows/flutter/CMakeLists.txt
 create mode 100644 windows/flutter/generated_plugin_registrant.cc
 create mode 100644 windows/flutter/generated_plugin_registrant.h
 create mode 100644 windows/flutter/generated_plugins.cmake
 create mode 100644 windows/runner/CMakeLists.txt
 create mode 100644 windows/runner/Runner.rc
 create mode 100644 windows/runner/flutter_window.cpp
 create mode 100644 windows/runner/flutter_window.h
 create mode 100644 windows/runner/main.cpp
 create mode 100644 windows/runner/resource.h
 create mode 100644 windows/runner/resources/app_icon.ico
 create mode 100644 windows/runner/runner.exe.manifest
 create mode 100644 windows/runner/utils.cpp
 create mode 100644 windows/runner/utils.h
 create mode 100644 windows/runner/win32_window.cpp
 create mode 100644 windows/runner/win32_window.h
erhannis@mnode7:~/tmp/lockfile_bug_test$ flutter pub get
Resolving dependencies... (2.5s)
+ _fe_analyzer_shared 64.0.0 (67.0.0 available)
+ analyzer 6.2.0 (6.4.1 available)
+ args 2.4.2
+ bloc 8.1.3
+ build 2.4.1
+ build_config 1.1.1
+ build_daemon 4.0.1
+ build_resolvers 2.4.2
+ build_runner 2.4.8
+ build_runner_core 7.3.0
+ built_collection 5.1.1
+ built_value 8.9.1
+ checked_yaml 2.0.3
+ code_builder 4.10.0
+ convert 3.1.1
+ cross_file 0.3.3+8 (0.3.4+1 available)
+ crypto 3.0.3
+ dart_style 2.3.6
+ dio 5.4.1
+ dio_response_validator 0.2.3
+ equatable 2.0.5
+ ffi 2.1.0 (2.1.2 available)
+ file 7.0.0
+ fixnum 1.1.0
+ fl_chart 0.65.0 (0.66.2 available)
+ flutter_bloc 8.1.4
> flutter_lints 3.0.1 (was 2.0.3) (from dev dependency to transitive dependency)
+ flutter_web_auth_2 3.1.1
+ flutter_web_auth_2_platform_interface 3.1.0
+ flutter_web_plugins 0.0.0 from sdk flutter
+ freezed 2.4.7
+ freezed_annotation 2.4.1
+ fresh 0.4.2
+ fresh_dio 0.4.1
+ frontend_server_client 3.2.0
+ get_it 7.6.7
+ glob 2.1.2
+ graphs 2.3.1
+ http_multi_server 3.2.1
+ http_parser 4.0.2
+ intl 0.18.1 (0.19.0 available)
+ io 1.0.4
+ js 0.6.7 (0.7.1 available)
+ json_annotation 4.8.1
+ json_serializable 6.7.1
> lints 3.0.0 (was 2.1.1)
+ logger 2.1.0
+ logging 1.2.0
  matcher 0.12.16 (0.12.16+1 available)
  material_color_utilities 0.5.0 (0.8.0 available)
  meta 1.10.0 (1.12.0 available)
+ mime 1.0.5
+ nested 1.0.0
+ package_config 2.1.0
  path 1.8.3 (from transitive dependency to direct dependency) (1.9.0 available)
+ path_provider 2.1.2
+ path_provider_android 2.2.2
+ path_provider_foundation 2.3.2
+ path_provider_linux 2.2.1
+ path_provider_platform_interface 2.1.2
+ path_provider_windows 2.2.1
+ pedantic 1.11.1
+ platform 3.1.4
+ plugin_platform_interface 2.1.8
+ pool 1.5.1
+ popover 0.2.9 (0.3.0 available)
+ provider 6.1.2
+ pub_semver 2.1.4
+ pubspec_parse 1.2.3
+ recase 4.1.0
+ record 5.0.4
+ record_android 1.0.4
+ record_darwin 1.0.1
+ record_linux 0.7.1
+ record_platform_interface 1.0.2
+ record_web 1.0.5
+ record_windows 1.0.2
+ rexios_lints 6.0.1
+ shared_preferences 2.2.2
+ shared_preferences_android 2.2.1
+ shared_preferences_foundation 2.3.5
+ shared_preferences_linux 2.3.2
+ shared_preferences_platform_interface 2.3.2
+ shared_preferences_web 2.2.2 (2.3.0 available)
+ shared_preferences_windows 2.3.2
+ shelf 1.4.1
+ shelf_web_socket 1.0.4
+ source_gen 1.5.0
+ source_helper 1.3.4
+ speech_to_text 6.6.0 (6.6.1 available)
+ speech_to_text_macos 1.1.0
+ speech_to_text_platform_interface 2.2.0
+ sprintf 7.0.0
+ stream_transform 2.1.0
  test_api 0.6.1 (0.7.0 available)
+ timing 1.0.1
+ typed_data 1.3.2
+ url_launcher 6.2.5
+ url_launcher_android 6.3.0
+ url_launcher_ios 6.2.4 (6.2.5 available)
+ url_launcher_linux 3.1.1
+ url_launcher_macos 3.1.0
+ url_launcher_platform_interface 2.3.2
+ url_launcher_web 2.2.3 (2.3.0 available)
+ url_launcher_windows 3.1.1
! uuid 4.0.0-beta3-1 from git https://github.com/erhannis/dart-uuid.git at 262971 (overridden)
+ watcher 1.1.0
  web 0.3.0 (0.5.1 available)
+ web_socket_channel 2.4.0 (2.4.4 available)
+ win32 5.2.0
+ window_to_front 0.0.3
+ xdg_directories 1.0.4
+ yaml 3.1.2
These packages are no longer being depended on:
- cupertino_icons 1.0.6
Changed 108 dependencies!
19 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
erhannis@mnode7:~/tmp/lockfile_bug_test$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   linux/flutter/generated_plugin_registrant.cc
	modified:   linux/flutter/generated_plugins.cmake
	modified:   macos/Flutter/GeneratedPluginRegistrant.swift
	modified:   pubspec.lock
	modified:   windows/flutter/generated_plugin_registrant.cc
	modified:   windows/flutter/generated_plugins.cmake

no changes added to commit (use "git add" and/or "git commit -a")
erhannis@mnode7:~/tmp/lockfile_bug_test$ git add .
erhannis@mnode7:~/tmp/lockfile_bug_test$ git commit -m "flutter pub get"
[master c962fe9] flutter pub get
 6 files changed, 883 insertions(+), 11 deletions(-)
erhannis@mnode7:~/tmp/lockfile_bug_test$ flutter channel stable
Switching to flutter channel 'stable'...

Upgrading engine...
Downloading Linux x64 Dart SDK from Flutter engine 04817c99c9fd4956f27505204f7e344335810aed...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0  213M    0 1822k    0     0  2281k      0  0:01:35 --:--:--  0:01:35 2278k
  3  213M    3 8590k    0     0  4653k      0  0:00:47  0:00:01  0:00:46 4651k
  6  213M    6 14.4M    0     0  5277k      0  0:00:41  0:00:02  0:00:39 5275k
  8  213M    8 18.8M    0     0  5077k      0  0:00:43  0:00:03  0:00:40 5076k
 10  213M   10 22.1M    0     0  4682k      0  0:00:46  0:00:04  0:00:42 4681k
 11  213M   11 23.9M    0     0  4228k      0  0:00:51  0:00:05  0:00:46 4539k
 11  213M   11 25.3M    0     0  3813k      0  0:00:57  0:00:06  0:00:51 3500k
 12  213M   12 26.6M    0     0  3502k      0  0:01:02  0:00:07  0:00:55 2510k
 13  213M   13 27.9M    0     0  3224k      0  0:01:07  0:00:08  0:00:59 1833k
 13  213M   13 28.8M    0     0  2958k      0  0:01:14  0:00:09  0:01:05 1338k
 13  213M   13 29.5M    0     0  2798k      0  0:01:18  0:00:10  0:01:08 1134k
 14  213M   14 30.4M    0     0  2644k      0  0:01:22  0:00:11  0:01:11 1050k
 15  213M   15 32.5M    0     0  2600k      0  0:01:24  0:00:12  0:01:12 1192k
 16  213M   16 34.2M    0     0  2544k      0  0:01:26  0:00:13  0:01:13 1324k
 16  213M   16 36.2M    0     0  2511k      0  0:01:27  0:00:14  0:01:13 1581k
 17  213M   17 37.4M    0     0  2425k      0  0:01:30  0:00:15  0:01:15 1619k
 18  213M   18 38.7M    0     0  2360k      0  0:01:32  0:00:16  0:01:16 1691k
 18  213M   18 39.5M    0     0  2181k      0  0:01:40  0:00:18  0:01:22 1251k
 18  213M   18 39.5M    0     0  2139k      0  0:01:42  0:00:18  0:01:24 1049k
 18  213M   18 40.4M    0     0  2081k      0  0:01:45  0:00:19  0:01:26  830k
 19  213M   19 41.5M    0     0  2042k      0  0:01:47  0:00:20  0:01:27  835k
 19  213M   19 42.3M    0     0  1990k      0  0:01:49  0:00:21  0:01:28  743k
 20  213M   20 43.4M    0     0  1915k      0  0:01:54  0:00:23  0:01:31  852k
 20  213M   20 44.0M    0     0  1891k      0  0:01:55  0:00:23  0:01:32  934k
 21  213M   21 45.2M    0     0  1868k      0  0:01:57  0:00:24  0:01:33 1011k
 21  213M   21 46.4M    0     0  1842k      0  0:01:58  0:00:25  0:01:33 1007k
 22  213M   22 47.6M    0     0  1819k      0  0:02:00  0:00:26  0:01:34 1073k
 23  213M   23 49.7M    0     0  1832k      0  0:01:59  0:00:27  0:01:32 1413k
 24  213M   24 52.9M    0     0  1881k      0  0:01:56  0:00:28  0:01:28 1835k
 25  213M   25 55.0M    0     0  1892k      0  0:01:55  0:00:29  0:01:26 2008k
 26  213M   26 57.1M    0     0  1900k      0  0:01:55  0:00:30  0:01:25 2202k
 27  213M   27 58.5M    0     0  1886k      0  0:01:56  0:00:31  0:01:25 2243k
 28  213M   28 60.8M    0     0  1898k      0  0:01:55  0:00:32  0:01:23 2263k
 29  213M   29 63.8M    0     0  1933k      0  0:01:53  0:00:33  0:01:20 2230k
 31  213M   31 66.4M    0     0  1955k      0  0:01:51  0:00:34  0:01:17 2331k
 33  213M   33 71.4M    0     0  2044k      0  0:01:47  0:00:35  0:01:12 2927k
 35  213M   35 76.8M    0     0  2137k      0  0:01:42  0:00:36  0:01:06 3737k
 38  213M   38 81.3M    0     0  2202k      0  0:01:39  0:00:37  0:01:02 4211k
 40  213M   40 87.0M    0     0  2293k      0  0:01:35  0:00:38  0:00:57 4711k
 42  213M   42 89.9M    0     0  2313k      0  0:01:34  0:00:39  0:00:55 4806k
 44  213M   44 94.4M    0     0  2370k      0  0:01:32  0:00:40  0:00:52 4710k
 46  213M   46 99.4M    0     0  2435k      0  0:01:29  0:00:41  0:00:48 4627k
 48  213M   48  104M    0     0  2493k      0  0:01:27  0:00:42  0:00:45 4642k
 51  213M   51  109M    0     0  2551k      0  0:01:25  0:00:43  0:00:42 4581k
 53  213M   53  114M    0     0  2618k      0  0:01:23  0:00:44  0:00:39 5046k
 55  213M   55  118M    0     0  2648k      0  0:01:22  0:00:45  0:00:37 4908k
 58  213M   58  124M    0     0  2703k      0  0:01:20  0:00:46  0:00:34 4865k
 59  213M   59  127M    0     0  2715k      0  0:01:20  0:00:47  0:00:33 4591k
 60  213M   60  128M    0     0  2676k      0  0:01:21  0:00:49  0:00:32 3672k
 60  213M   60  129M    0     0  2670k      0  0:01:21  0:00:49  0:00:32 3136k
 61  213M   61  131M    0     0  2618k      0  0:01:23  0:00:51  0:00:32 2376k
 61  213M   61  131M    0     0  2602k      0  0:01:24  0:00:51  0:00:33 1612k
 62  213M   62  132M    0     0  2576k      0  0:01:24  0:00:52  0:00:32 1198k
 62  213M   62  134M    0     0  2550k      0  0:01:25  0:00:53  0:00:32 1182k
 64  213M   64  137M    0     0  2571k      0  0:01:25  0:00:54  0:00:31 1590k
 65  213M   65  140M    0     0  2579k      0  0:01:24  0:00:55  0:00:29 2133k
 67  213M   67  143M    0     0  2592k      0  0:01:24  0:00:56  0:00:28 2489k
 69  213M   69  149M    0     0  2650k      0  0:01:22  0:00:57  0:00:25 3435k
 72  213M   72  154M    0     0  2684k      0  0:01:21  0:00:58  0:00:23 4119k
 73  213M   73  157M    0     0  2703k      0  0:01:20  0:00:59  0:00:21 4161k
 75  213M   75  162M    0     0  2730k      0  0:01:20  0:01:00  0:00:20 4450k
 77  213M   77  166M    0     0  2758k      0  0:01:19  0:01:01  0:00:18 4672k
 80  213M   80  172M    0     0  2810k      0  0:01:17  0:01:02  0:00:15 4658k
 83  213M   83  178M    0     0  2862k      0  0:01:16  0:01:03  0:00:13 4950k
 86  213M   86  185M    0     0  2924k      0  0:01:14  0:01:04  0:00:10 5570k
 88  213M   88  189M    0     0  2946k      0  0:01:14  0:01:05  0:00:09 5571k
 90  213M   90  193M    0     0  2967k      0  0:01:13  0:01:06  0:00:07 5531k
 93  213M   93  200M    0     0  3023k      0  0:01:12  0:01:07  0:00:05 5697k
 96  213M   96  205M    0     0  3056k      0  0:01:11  0:01:08  0:00:03 5547k
 97  213M   97  208M    0     0  3060k      0  0:01:11  0:01:09  0:00:02 4766k
 99  213M   99  212M    0     0  3069k      0  0:01:11  0:01:10  0:00:01 4682k
100  213M  100  213M    0     0  3077k      0  0:01:11  0:01:11 --:--:-- 4776k
Building flutter tool...
Resolving dependencies...
Got dependencies.
Downloading package sky_engine...                                  761ms
Downloading flutter_patched_sdk tools...                         2,823ms
Downloading flutter_patched_sdk_product tools...                 2,823ms
Downloading linux-x64 tools...                                     23.0s
Downloading linux-x64/font-subset tools...                       1,352ms
Successfully switched to flutter channel 'stable'.
To ensure that you're on the latest build from this channel, run 'flutter upgrade'
erhannis@mnode7:~/tmp/lockfile_bug_test$ flutter upgrade
Flutter is already up to date on channel stable
Flutter 3.19.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision<PHONE_NUMBER> (8 days ago) • 2024-02-27 16:51:22 -0500
Engine • revision 04817c99c9
Tools • Dart 3.3.0 • DevTools 2.31.1
erhannis@mnode7:~/tmp/lockfile_bug_test$ git status
On branch master
nothing to commit, working tree clean
erhannis@mnode7:~/tmp/lockfile_bug_test$ flutter pub get
Resolving dependencies... (1.3s)
  _fe_analyzer_shared 64.0.0 (67.0.0 available)
  analyzer 6.2.0 (6.4.1 available)
  cross_file 0.3.3+8 (0.3.4+1 available)
  ffi 2.1.0 (2.1.2 available)
  fl_chart 0.65.0 (0.66.2 available)
  intl 0.18.1 (0.19.0 available)
  js 0.6.7 (0.7.1 available)
+ leak_tracker 10.0.0 (10.0.4 available)
+ leak_tracker_flutter_testing 2.0.1 (3.0.3 available)
+ leak_tracker_testing 2.0.1 (3.0.1 available)
> matcher 0.12.16+1 (was 0.12.16)
> material_color_utilities 0.8.0 (was 0.5.0)
> meta 1.11.0 (was 1.10.0) (1.12.0 available)
> path 1.9.0 (was 1.8.3)
  popover 0.2.9 (0.3.0 available)
  shared_preferences_web 2.2.2 (2.3.0 available)
  speech_to_text 6.6.0 (6.6.1 available)
  test_api 0.6.1 (0.7.0 available)
  url_launcher_ios 6.2.4 (6.2.5 available)
  url_launcher_web 2.2.3 (2.3.0 available)
! uuid 4.0.0-beta3-1 from git https://github.com/erhannis/dart-uuid.git at 262971 (overridden)
+ vm_service 13.0.0 (14.1.0 available)
  web 0.3.0 (0.5.1 available)
  web_socket_channel 2.4.0 (2.4.4 available)
Changed 8 dependencies!
20 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
erhannis@mnode7:~/tmp/lockfile_bug_test$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   pubspec.lock

no changes added to commit (use "git add" and/or "git commit -a")
erhannis@mnode7:~/tmp/lockfile_bug_test$

Flutter Doctor output
Doctor output
On new version:
erhannis@mnode7:~/tmp/lockfile_bug_test$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.2, on Ubuntu 20.04.6 LTS 5.15.0-94-generic, locale
    en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2022.2)
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Community Edition (version 2022.1)
[✓] VS Code (version 1.86.2)
[✓] Connected device (2 available)
[✓] Network resources

• No issues found!

and on old version:
erhannis@mnode7:~/snap/flutter/common/flutter$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel [user-branch], 3.16.5, on Ubuntu 20.04.6 LTS 5.15.0-94-generic,
    locale en_US.UTF-8)
    ! Flutter version 3.16.5 on channel [user-branch] at
      /home/erhannis/snap/flutter/common/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official
      channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at
      https://flutter.dev/docs/get-started/install.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this
      error.
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2022.2)
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Community Edition (version 2022.1)
[✓] VS Code (version 1.86.2)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 1 category.

Similar issue here https://github.com/flutter/flutter/issues/119091

Thanks for the report. I was able to replicate the reported behavior as described in original post.
Note that, without adding any new dependencies in pubspec.yaml, we don't see the reported behavior, but adding the dependencies as mentioned in given pubspec.yaml seems to show the reported error.
Labeling this for tracking and for team's input / attention.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.19.2, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.19.2 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (5 days ago), 2024-02-27 16:51:22 -0500
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.21.0-1.0.pre.47, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.21.0-1.0.pre.47 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f677027655 (87 minutes ago), 2024-03-06 22:57:32 -0500
    • Engine revision 6c1751bd77
    • Dart version 3.4.0 (build 3.4.0-207.0.dev)
    • DevTools version 2.33.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

I believe this is due to different flutter versions pinning different files: https://github.com/dart-lang/sdk/wiki/Flutter-Pinned-Packages
This means that the pubspec.lock no longer resolves.
pub get will resolve the current lockfile when possible. Otherwise it will attempt to unlock as few as possible packages as possible to get to a resolution. This is mainly such that adding, removing or changing a constraint in pubspec.yaml leads to an update of pubspec.lock.
For production environements where you want to prevent this from happening you can use:
https://dart.dev/tools/pub/cmd/pub-get#enforce-lockfile

As per https://docs.flutter.dev/packages-and-plugins/using-packages , "Flutter saves the concrete package version found in the pubspec.lock lockfile. This ensures that you get the same version again if you, or another developer on your team, run flutter pub get."

I think this documentation is imprecise, and should be updated. I didn't even know we had pub-specific documentation on flutter.dev - that seems to be overlapping with https://dart.dev/guides/packages#upgrading-a-dependency (which seems to have the same imprecision).

I opened a separate issue for the documentation updates

Thanks; updating the docs to mention "flutter version changes may change the lockfile for reasons X; --enforce-lockfile if you want true 'locking'" sounds like an acceptable resolution.  Is it feasible to determine when dependency changes occurred because of a Flutter version change, and mention that in the output of flutter pub get, to help point confused users towards the docs?  (It doesn't look like e.g. the lockfile tracks flutter versions directly, but I'm not certain.)

Is it feasible to determine when dependency changes occurred because of a Flutter version change, and mention that in the output of flutter pub get

Good question. We do have a message if a version resolution fails due to a pinned package.
https://github.com/dart-lang/pub/blob/a42800e5a2f539dd5d86fdc3a6f3beefc971c753/lib/src/solver/incompatibility_cause.dart#L54
But in this case the version resolution doesn't really "fail" (from the solver's perspective) it merely finds a new resolution...
Maybe there is a good way... It is not yet clear to me how we would do it anyways...

Thanks, I am closing this in favor of https://github.com/dart-lang/pub/issues/4164


Parse Query always returns Error NSCocoaErrorDomain 3840 on iOS 7

After upgrading my production app to Parse iOS SDK 1.9.0, the first Parse query the app executes returns the above error with this description:
JSON text did not start with array or object and option to allow fragments not set.
The app works fine on iOS 8.x and iOS 9.x. The error only happens on iOS 7.x. But it happens everytime on every device.
I have found a similar thread in the Parse Developers forum:
https://groups.google.com/forum/#!searchin/parse-developers/JSON$20text$20did$20not$20start$20with$20array$20or$20object$20and$20option$20to$20allow$20fragments$20not$20set/parse-developers/k2rP33XccBg/cHLs0xp3CgAJ

Same error for me on iOS 7:
Failed to run command eventually with error:
Error Domain=NSCocoaErrorDomain
Code=3840
"The operation couldn’t be completed. (Cocoa error 3840.)"
(JSON text did not start with array or object and option to allow fragments not set.)
UserInfo=0x15f1f4d0
{
    NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.
}

When I try this code just after install:
let installation = PFInstallation.currentInstallation()
installation["key"] = "value"
installation.saveEventually()

Feedback on this? This is a major production issue!

This definitely seems wrong. I'll see if something recently changed with our JSON parsing, and let you know what I find.

Duplicate of #388, fixed in 1.9.1, which is releasing soon.

Thank you, I'm relieved to hear that.
However, I currently have a production app that now 15% of my users are completely blocked out of. This is a horrible situation for my business!
What is the release date for 1.9.1? Does soon mean tomorrow? Or next week?

Ideally later today, barring no setbacks. No promises however.

Hai guys , me too face this same error for ios7
Error Domain=NSCocoaErrorDomain
Code=3840
"The operation couldn’t be completed. (Cocoa error 3840.)"
(JSON text did not start with array or object and option to allow fragments not set.)
Please help me out from this. when 1.9.1 will release?

Already released --> https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/tree/1.9.1
Thanks for this release Parse Team.

Thanks wavs, updated...

I'm facing this issue in SDK 1.12.0. I started facing this issue by migrating code from api.parse.com to parse server hosted at Heroku. Is working fine with api.parse.com


Selection box disappears

This shader pack is really good, but my selection box vanishes when the shaders are on.
(Really digging how the clouds look, though! :D)

This isn't an issue with the shader. This is an Iris issue. See https://github.com/IrisShaders/Iris/issues/403

@MinecraftMoments I just realized, there's been a hotfix released which fixes the selection box. What version of Iris are you using? (Include logs too)

this may have something to do with the absence of a line shader :stuck_out_tongue:

I've been distracted and not on github for quite a while, but I will update my iris and test out things real quick
Okay, after finally focusing and testing, it DOES appear on 1.16.5 but the color is missing and it vanishes entirely when clouds are enabled. it also seems to vanish at random points while moving around without the clouds on?


Right align few columns

Hi,
Can we right align any column header and data. Please respond asap. need it very urgently if it is possible
Thanks

Yes! You have to do it yourself however in the drawCell function like in the custom style example (demo).

Thanks for your quick response. Which code block this represents.

Check for if (key === 'expenses') {

I tried the code. Its working but linebreaks are failing coz of this code.

Try the solution in #43. I will update the examples as soon as possible with this fix.

Marking this as an enhancement as it will be easier to add right aligned columns in version 2.0 which I'm at work on now.

Version 2.0 is now released and this is now easy to do using the halign style set to right.


Build properties seem incorrect

Describe the bug
For staging, build properties in dockstore-deploy.properties are
UiVersion=2.7-fa4b99a
ComposeSetupVersion=1.10
WebserviceTag=1.10.0
DockstoreLambdaKey=0.1.4-cac4598/upsertGitHubTag/function.zip
StackName=Dockstore-1-10-0

but the UI reports
Webservice - 1.10.0
UI - 2.7
Compose Setup - 1.1
Deploy - 1.1
in the footer
┆Issue is synchronized with this Jira Story
┆Fix Versions: Dockstore 1.10.X
┆Issue Number: DOCK-1662
┆Sprint: Sprint 52- Angel shark
┆Issue Type: Story

Compose setup is probably cut-off in a regex somewhere

Also a problem with dockstore-deploy :(

So I think I figured out why this popped up. For the first release of 1.10, both dockstore-deploy and compose_setup were tagged 1.10 instead of 1.10.0. Then I'm guessing that somewhere the version value is being interpreted as a decimal number, so the trailing 0 gets stripped off.
https://github.com/dockstore/dockstore-deploy/releases/tag/1.10
https://github.com/dockstore/compose_setup/releases/tag/1.10

So I think I figured out why this popped up. For the first release of 1.10, both dockstore-deploy and compose_setup were tagged 1.10 instead of 1.10.0. Then I'm guessing that somewhere the version value is being interpreted as a decimal number, so the trailing 0 gets stripped off.
https://github.com/dockstore/dockstore-deploy/releases/tag/1.10
https://github.com/dockstore/compose_setup/releases/tag/1.10

Then I'm guessing that somewhere the version value is being interpreted as a decimal number, so the trailing 0 gets stripped off.

Yes, pretty sure that's it -- I think I meant to comment on this but forgot to. At any rate, I believe if you put these values in double quotes it would fix it: https://github.com/dockstore/compose_setup/blob/47a7d7fcf8e64e86d33fb09a821ce00a35fc5254/templates/web.yml.template#L185

Then I'm guessing that somewhere the version value is being interpreted as a decimal number, so the trailing 0 gets stripped off.

Yes, pretty sure that's it -- I think I meant to comment on this but forgot to. At any rate, I believe if you put these values in double quotes it would fix it: https://github.com/dockstore/compose_setup/blob/47a7d7fcf8e64e86d33fb09a821ce00a35fc5254/templates/web.yml.template#L185

It looks like the answer is in the problem - the fix is still only in develop of dockstore-compose, thus the push to staging using 1.10.0 won't show the fix.
Paradoxically, the fix is to make a 1.10.1 hotfix for dockstore-deploy, however since dockstore-deploy is the only remaining 1.10 showing as 1.1, then the hotfix would still cover up the issue even without my PR, thus making this unreviewable until someone accidentally types 1.X instead of 1.X.Y again 😆

As @Richard-Hansen pointed out, let's wait until 1.20 ;)

Sigh and sure ...
@melainalegaspi not sure how to describe something unreviewable until 1.2.0

Closing bc verification is not easily do-able and the code was reviewed.


fix for long passwords

i ran into a little bug, where the password obviously exceeded the linewrap threshold, as i am tryiing to follow NIST guidelines on passwords.
this resulted in a line wrap in the middle of the encoded string, thus invalidating the password. the chomp only removes the whitespaces before an after. strict mode does help with not even adding line feeds.

Appreciate this.


react-router 3.0.4 own react elements become

Version
3.0.4
Steps to reproduce
Project with 3.0.3:

npm i -D<EMAIL_ADDRESS>
Expected Behavior
React-Router elements are still recognizable
Actual Behavior
React-Router elements are <Unknown/> (but still works).
Causes enzyme-tests and react-inspecting to bug

Looks like this is related to babel/babel#5554.

Note that we can fix this on our end by just manually setting a displayName for our components. Would be an easy PR if anyone wants to take it on.

OK, 3.0.5 is out which should fix this.


sim_camera: modify sim camera init videosize using imgsensor extend p…

Summary
Adapt to the latest imgsensor_s interface.
Impact
Impact resolution of camera output in sim environment.
Testing
CI

[Experimental Bot, please feedback here]
No, this PR does not meet the NuttX requirements.
Missing Information:

Summary:

Lacks a clear explanation of why the change is necessary. Is it a bug fix, an update to a dependency, or a new feature?
Doesn't specify the functional part of the code being modified (e.g., camera driver, sensor API).
Omits details on how the change works. What exactly is being adapted? How does the adaptation affect the code?
No issue references provided for context.

Impact:

Impact on user: Simply stating "Impact resolution of camera output in sim environment" is vague. Specify:

How does the resolution change (e.g., higher, lower, user-configurable)?
Will existing user applications break?
Are there new configuration options users need to be aware of?

Impact on build, hardware, documentation, security, compatibility: All marked "NO" without justification. This is unlikely for a change affecting camera output. Provide details if applicable; otherwise, explain why these areas are not impacted.

Testing:

Build Host(s) and Target(s): Provide specifics about the environments where you tested the changes.
Testing logs:  "CI" is not sufficient. Include relevant snippets of logs showing the camera output behavior before and after the change. Demonstrate that the adaptation works as expected.

Recommendations:

Expand the Summary: Provide a concise but informative description addressing the missing points mentioned above.
Clarify Impact: Be specific about the consequences of the change, particularly for users and potentially affected system components.
Provide Detailed Testing Information: List the build hosts and target environments, and include relevant log excerpts showing the impact of your changes on camera output.

By addressing these points, you'll significantly improve the quality of your PR and make it easier for reviewers to understand and approve your changes.

@Joneyao remove change-id


finetune on my own synthetic data is good,  but test on real data not good

hello,
I finetune on my own synthetic data, the result is good on synthetic data,  but when I test on real data, it performs not good.
If I use the pretrained sceneflow model to test real data, it is better than the finetune result.
synthetic data:

real data:

What should I do?
Thanks

hi,  I am also intereted  at how do you generate the synthetic data?


[Relay] Migrate to latest API

As described in this doc https://github.com/facebook/relay/pull/1254

@alloy should this be replaced with an issue for moving to Relay Modern?

Yup 👍 Closing in favour of #616.


Document remote write config.

Fixes #582
Fixes #583

:+1: Since this configuration is only useful in combination with something Prometheus-external, there should be another document at some point (or even embed it here if it's short?) that explains the remote write payload format and how to make use of it. Maybe just don't close issue https://github.com/prometheus/docs/issues/583 completely yet?

As it stands I think the demo receiver covers it mostly. It's an experimental feature, I think digging through the code for the few users who want it is okay for now.

Hmm, maybe link to the demo app then at least?

:+1: Thanks


Unable to upload file when using setFilesToUpload function

What is your Scenario?
Would like to upload file and move on automatically to next step after it uploads
What is the Current behavior?
File is seemingly uploaded but the automatic next step doesn't start
What is the Expected behavior?
File should be uploaded and then automatic next step should start (as seen in manual mode)
What is the public URL of the test page? (attach your complete example)
www.chegg.com
What is your TestCafe test code?
import { Selector, t } from "testcafe";
export const emailForSignIn = Selector('input[id*="email"]');
export const passForSignin = Selector('input[type="password"]');
export const signInButton = Selector("button").withText("Sign in");

const letsGetStartedBtn = Selector("span").withText("Get started");

const upload = Selector('div[data-test="file-upload-area-upload-drop-zone"]');

const uploadOntoCanvas = Selector('input[type="file"]');

const pathToFile = path.resolve(__dirname, `./file_sample.docx`);

// user log in
async function userLogInWithCredentials(
  email: string,
  password: string
): Promise<void> {
  await t.navigateTo(
    "https://www.chegg.com/auth?redirect=https%3A%2F%2Fwww.chegg.com%2F"
  );
  await t
    .typeText(emailForSignIn, email, { paste: true })
    .typeText(passForSignin, password, { paste: true })
    .click(signInButton)
    .wait(6000);
  console.log(`Logged in as user: ${email}`);
}

fixture`Upload should work`;
test.meta({
  testID: "t-0001",
})("Upload should work", async (t) => {
  await<EMAIL_ADDRESS>"Password@1");
  await t.navigateTo("/pla/powernotes");
  await t.click(letsGetStartedBtn);
  await t.setFilesToUpload(uploadOntoCanvas, pathToFile);
});

Your complete configuration file
No response
Your complete test report
No response
Screenshots
No response
Steps to Reproduce

Clone https://github.com/ayemelyanenko-chegg/nextjs-nodejs-example
cd into repo
cd into my-app
npm install
npx testcafe chrome tests/sampleUploadTest.ts -L or npx testcafe chrome tests/sampleUploadTest.ts --experimental-multiple-windows or npx testcafe chrome tests/sampleUploadTest.ts --disable-native-automation
File is seemingly uploaded but no next step begins in any of the three runs above

To see correct behavior manually:

Go to https://www.chegg.com/auth?redirect=https%3A%2F%2Fwww.chegg.com%2F
Sign in as test_user_upload@chegg.us/Password@1
Go to www.chegg.com/pla/powernotes
Click on Get Started button
Upload a docx document
See the modal show up with next steps

TestCafe version
3.5
Node.js version
No response
Command-line arguments
npx testcafe chrome tests/sampleUploadTest.ts -L
Browser name(s) and version(s)
No response
Platform(s) and version(s)
No response
Other
No response

Hello,
I tried reproducing the issue and indeed, it does not automatically proceed to next steps after file uploading.
However, I noticed that there is an error, after we call setFilesToUpload:

Please note that, according to documentation (https://testcafe.io/documentation/402808/recipes/basics/test-file-upload), setFilesToUpload directly changes the state of the  element. So, there might be some discrepancies between manually clicking the upload and using setFilesToUpload.
Please check what could be the cause of this error, and let us know if the issue is on our side.

Hello, I tried uploading other allowed formats (pptx, pdf) and it doesn't go through each time.
When I opened the console log of the automated browser, I notice an error that points to hammerhead
hammerhead.js:42066
This leads me to believe that the error is on the TestCafe side as it mentions hammerhead

I also tried to upload the file with a different automation framework as a test (which also uses an input file method) and it worked fine which further leads me to believe that the issue is on the TestCafe side

Hello,
I tried running your usage scenario again and made sure that file uploading works as expected with
await t.setFilesToUpload(uploadOntoCanvas, "./test_pdf.pdf");
console.log(await uploadOntoCanvas.value);

(https://testcafe.io/documentation/402808/recipes/basics/test-file-upload#observe-input-state)
Could you please share a Minimal Working Example](https://testcafe.io/documentation/402636/faq/general-info?search#how-to-create-a-minimal-working-example-when-you-submit-an-issue)) that we can run locally?

Hello, this doesn't proceed onto the next step though. Once the file is uploaded, it should move on to the next steps of analyzing the documents and it doesn't do so in automation.
Here is a screenshot of where TestCafe stops

Here is where it should do after an upload, I listed the steps to reproduce the proper flow manually and I believe you tried it and saw it

Go to https://www.chegg.com/auth?redirect=https%3A%2F%2Fwww.chegg.com%2F
Sign in as test_user_upload@chegg.us/Password@1
Go to www.chegg.com/pla/powernotes
Click on Get Started button
Upload a docx document
See the pop up show up with next steps

Here is a video of how it will look after an upload (doing this manually):
https://github.com/DevExpress/testcafe/assets/14633459/898395fe-f182-4f53-bea6-3af3f98d92e3
The minimally working example is present in the steps to reproduce and in the repo that I provided. I will adjust the automation in the sample repo that I provided to assert that the next step is visible and it will fail because the next steps after the upload don't go through.

Hello,
I understand that after uploading a file, it should move on to the next steps. I managed to reproduce this behavior using your example. However, we can not determine the cause of the issue without seeing the logic behind your source code.
As I mentioned earlier, there could be differences between manually clicking the upload and using setFilesToUpload.
By "Minimal Working Example", I meant a simple page with file upload and the logic of the next automatic steps. In this minimal example, we don't have to navigate to https://www.chegg.com.
Thank you for your understanding.

@Bayheck Hello, looks like this issue resolved itself for our team. We didn't even need to go to version 3.6, it was fixed with 3.5. Thanks for your help.

@ayemelyanenko-chegg I have the same problem in v3.6.0, did you guys updated something to make the step after de setFilesToUpload work?

@Gandhi11 No, it just resolved itself in our case. Seems like our developers made some changes to the code that got TestCafe upload function to work.


Add context property to template

It's a very small change, but it allows context to be stored in the template, meaning that it doesn't always have to be given upon rendering. It's not terribly useful but I need the change for a project I'm working on, maybe others do too :)

Ping?

I'm not sure I understand the use case, are you wishing to call render multiple times with the same context?

Currently a Template is immutable and I'd prefer to keep it that way, unless there is a good reason for making templates mutable.

Well in my case I'm trying to make it conform to a general protocol
protocol Template {
    var context: {get}
    func render() throws -> String
}

And this is impossible to do without the context property.
This would make templates mutable though, which isn't a great thing.

After giving it some thought I think this is a bad idea for the reasons you gave. I think I can achieve my goal with partially applied arguments, anyway.


Reat-tooltip test linked from README is a 404

https://wwayne.com/react-tooltip is linked in two places in README.md, but that is actually a 404
Might be worth putting a demo somewhere else or fixing the link

Should be fixed now.


update discord link

to point to the correct room, the existing one points at anime.....

@bitkarrot the link works for me. @juangb87 might have already fixed it (since it is a short link, we can change the destination at any time).


Default register method negates the requirement for one in the plugin.

Signed-off-by: davemackintosh<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling dd9c1dde7f914aa999192be25d859f648a2f6287 on hotfix/73-plugin-register into 3ea534d4d051da05f246802c4607742d85e205d6 on master.


How can we modify or remove completely the server name as a title in the app on mobile devices

I believe the module sends the server and attaches that as a title in the google-authenticator app on mobile devices. How can we modify what name to be shown there?

With -s. The other data is changed with `-l'.

Thank you very much for the response. So we need to issue the following command on the server:
.google-authenticator - s "servername"?
Is the above correct?
Where can I find documentation on all the options? I searched but was unsuccessful.

Yes, when you set up Google Authenticator for the user you provide these options.
You can see the options by running google-authenticator -h, or see the same here.
I've created #59 to create a manpage for better documentation, as I don't see it being documented elsewhere.


Reenable automerge for new version PRs of community packages

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

In #2705, automerge got disabled for new version PRs of community packages due to some artifacts missing from the community package.
Since then, I have been following up on the PRs created by the "new version check" workflow for community packages and hitting the merge button manually for these.
Since the introduction of the pull request template (#3366) to add a new community package, new community packages have a "complete" setup before the first version of the package gets published in our registry. The new version PRs for community packages rarely have a failing build because of the initial completeness check.
Can we enable automerge again for new version PRs having a green build?
Affected area/feature

Registry publishing for community packages.

I'd be completely fine with enabling auto-merge for these PRs that are just new version releases, as we manually just push these through anyway whenever we see them. I think the only ones that should need a manual check are the initial PRs to add the package, but any version updates following should just auto-merge. I am fairly confident in this since we build all the packages anyway on a PR build now so if something was to break the build, it wouldn't be able to merge through anyway. What do you think @cnunciato?


Translation File Select

Hi there
Thanks for this great extension!
One thing I could not get to work is to specify the location of the target file. The default convention is not the same as xliffmerge is using which is problematic to me. Is it possible to just choose 2 xliff files instead of providing a file and a target locale?

I read the ngx-i18nsupport documentation for xliffmerge command slightly. So, if I make the editor support editing for single xliff, will this solve your problem?

I think it will. My use case is actually simple: I have a messages.de.xlf I want to translate meaning add target tags in this file)

I think it will. My use case is actually simple: I have a messages.de.xlf I want to translate meaning add target tags in this file)

I've published a new version (0.2.0). In order to gain more flexibility, I added some new settings. By your case, you can update your .ngI18nconfig setting by the following:
{
  locales: ['de-DE'], // add all your translation locales in this field.
  editor: {
     "messageLocations": [
        "<rel/path/from/workspace/to/your/source/message.xlf>"
      ],
     "mode": "target-file", // 'target-file' mode allows you to edit directly on the target xliff (based on the `messageLocations` and the given `translationFileNamePattern`)
     "translationFileNamePattern": "${name}.{lang}" // using this field to resolve your translation xliff location
  }
}

There is one more new setting emptyTranslationHandling, which can let you to control how to deal with the empty translation, since I saw xliffmerge allows you to reserve the 'useless' trans unit, and also give you the source message as the default translation value for the trans unit.
I've updated the README.md, so you can find all the available configuration settings in it.
I'm closing this issue. But if you still have questions, please feel free to leave a message. Hope you like this extension.


when will vjs-youtube update to latest video.js?

as said - when will it update?
vs is v4.11.4  now, youtube works with 4.6 :( and causes errors when updating to the latest

it's compatible 4.11, I use it

have a link to a demo?

https://git.popcorntime.io/popcorntime/desktop/tree/nw11
Oh, you should note that I don't use vjs-youtube release, but a snapshot from dev builds.

ah. ok, thanks

A new release will be pushed in the upcoming week. I know it's been a while
so I'll try to take care of that quick
On Fri, Mar 6, 2015 at 10:23 AM mahakala<EMAIL_ADDRESS>wrote:

ah. ok, thanks
—
Reply to this email directly or view it on GitHub
https://github.com/eXon/videojs-youtube/issues/243#issuecomment-77576163
.

wow! thanks :)


Convert legacy local dev run configuration names

fixes #1427

@patflynn, @nbashirbello  ready for review:
This PR updates the converter to also update the name of the Local Dev Run Config (appends "(migrated)" to it):

Question: should we also update the name of the deployment run config to have that wording? Currently I am not - the out of the box naming from the old run config is fine (as show in the screenshot above). But I think I will to them both to keep it consistent and to indicate that it was, in fact, migrated.

done - also updating the name of the converted deploy configuration to have the "(migrated)" suffix.


Featured content on homepage doesn't match V1 featured content

New specification of desired behavior:
Footers:

[x] Convert V1 footers to V2 articles and add them to the V2 footer index page
[x] Add V1 surveys/polls from their index page to the respective V2 index page, and additionally as PageLinks (see #663) to the V2 footer index page

Featured content:

Add articles with 'Featured in homepage start date' to the V2 featured content

[ ] Only articles that are LIVE
[ ] Sort articles by section, with 'Featured in homepage start date' as tie-breaker
[ ] Translated articles inherit the 'Featured in homepage start date' from the English version (if it is not set) and go to the featured content of their respective locale

Add V1 surveys/polls from their index page to the V2 featured content (at the end of the list).

[ ] Only questionnaires that are LIVE
[ ] Polls should be displayed directly (i.e. embedded)
[ ] Surveys should be linked or displayed directly, depending on their direct display flag -- This might require having both embedded survey and linked survey as featured content blocks

Current state (outdated):

All featured homepage content ends up on the English homepage, rather than being on the homepage of the appropriate language --> Move pages to their respective locale
Pages in draft state appear in featured content -> don't show these (this is not migration related)
Banners don't appear (Any banner that's not in draft state appears in V1) --> Add these to features banners during migration
Featured polls/surveys don't appear (Any survey/poll in the respective index page that's not in draft state appears in V1; this also respects their 'direct display' flag) --> Add these to the list of featured content
Footers: why does Terms and Conditions not appear as a footer on https://www.internetofgoodthings.org/? Which setting determines this?

V2 currently only allows embedded questionnaires on the homepage. For polls that probably makes sense as a default, but for surveys and quizzes it might be more sensible to have page links instead?
Should both options be supported?

Reopening as some tasks are still to be done.


Alternative yield if partial doesn't exists

Lets say we have component, which can be  customized by {{yield partialContent}}.
My question is  there is a way to define "default" partialContent somewhere in component, which will be use if partial is not passed, or we have to always initialize our component with definition of this partial?

You can supply a default in the component partials, though with a yield,
you won't really be able to access any data because you'll be in a weird
(callers) context. If it's just plain text/dom it should work out fine. If
you supply a context to the yield ({{yield somePartial with .}}), you'll be
able to access that context.
On Sat, Sep 15, 2018, 13:04 Lukasz Streszewski<EMAIL_ADDRESS>wrote:

Lets say we have component, which can be customized by {{yield
partialContent}}.
My question is there is a way to define "default" partialContent somewhere
in component, which will be use if partial is not passed, or we have to
always initialize our component with definition of this partial?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ractivejs/ractive/issues/3268, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJ4upuGXUrwe-vxzPQs_PUlNF86Mu8hks5ubTM2gaJpZM4WqcnJ
.

thanks for fast answer

If it's any help, I needed a way to check if a partial was passed and wrote this helper function:
Ractive.defaults.data.containsPartial = function (partialName) {
	const containspartial = Object.keys(this.partials).some(k => k === partialName)
	return containspartial
}

Then you can use it like:
{{#if containsPartial('buttonLabel')}}
{{yield buttonLabel with selected as selected}}
{{/if}}

Works for my needs, but not sure if this violates any best practices.
Cheers,
-John


Create transition from main menu / title scene to player's hand. (Beginning of first round of 21).

As mentioned before on discord.

As a player, I should be able to press a button to initiate a game.
For this story to be considered done, players should be able to begin our game by pressing a button to transition to the 21 phase. It should be obvious to the player that they have transitioned to the gameplay portion of our app and that a round has begun.
Tasks include:

[ ] Linking the start button on the main menu to an event that starts the game
[ ] Adding a smooth transition between the menu scene and the 21 scene
[ ] Indicating that the game has begun by using graphics, text, or otherwise.

Blockers include:

[ ] Creating the main menu screen #2 , this needs to be done first
[ ] Creating a 21 scene (can be blank if necessary)

This issue is blocked by #2 , and should be simple to implement after it is completed.

I need to configure SceneTransitionRect to wait for the scene to be finished loading before revealing the scene so assets don't pop in, otherwise this issue is complete.

[ ] Wait for scene to be finished before revealing it


Remove targets/ completely.

No more Targets cache. Also, temporarily
removed transform_test.go (don't forget to
bring it back - it's just that updating
it to match the expected values will take
for-ever).
Resolves #109.

Maybe remove the --use-meta-labels option/config.


Rocket.chat Desktop App not Connecting to Server

My Setup

Operating System: Windows 10
App Version: Version 3.2.2
Installation type: exe

[x] I have tested with the latest version
[x] I can simulate the issue easily

Description
Upon opening rocket.chat and trying to connect to server, it gives you the option to sign in, then select your CAC certification. Once selected, it stays idle in the Sign In page.
Screenshot:

Current Behavior
Never connects. Stays on Sign In screen.
Expected Behavior
Server should connect, select certificate, and rocket.chat should be able to be used as opposed to using web version.

Possible duplicate of #2035

Please test if the problem persists with our latest release. I will be closing the issue but if there is any problem yet, we will open it again.


Error when uploading gist

🐛 Describe the bug
A clear and concise description of what the bug is. You are always welcome to check the Troubleshooting section before filing the ticket.
🌴 **Visual Studio Code Version : 1.33.0
🌴 **Code Settings Sync Version : 3.2.8
🌴 **Standard or Insiders : Standard
🌴 **OSS or Portable :
🌴 **Operating System : Windows 10 Pro
🌴 **Occurs On: Upload
🌴 **Proxy Enabled: No
🌴 **Gist Id: 9bd30bdd1594daff0a48b5f72b330db4ea087997
📰 To Reproduce
Steps to reproduce the behavior:

Go to Command prompt, Sync, Upload (Shift+Alt+U does not work)
Click on Immediate error Sync : Error Logged In Console (Help menu > Toggle Developer Tools).
Scroll down to
See error

💪 Expected behavior
A clear and concise description of what you expected to happen.
📺 Console Error Log
IHttpError: Not Found
at module.exports.e.exports.then.n.text.then.r (c:\Users\Larry.vscode\extensions\shan.code-settings-sync-3.2.8\out\extension.js:130:50403)
at process._tickCallback (internal/process/next_tick.js:68:7)
📺  Additional context
Add any other context about the problem here.

Can you try removing the sync.gist setting from settings.json and trying to upload again? The error is caused by a 404 status from octokit, which might mean your gist id is invalid.

Yes, that did it. I am sorry I categorized this situation as a bug.
On Sat, Apr 6, 2019 at 4:18 PM Arno Hovhannisyan<EMAIL_ADDRESS>wrote:

Can you try removing the sync.gist setting from settings.json and trying
to upload again? The error is caused by a 404 status from octokit, which
might mean your gist id is invalid.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/shanalikhan/code-settings-sync/issues/829#issuecomment-480545024,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABTD7pzY18S3yXz8rFvsZsfL4JkFz18Jks5veStcgaJpZM4cfTJl
.

@larrym It's ok, at least you got it working :)

please, i want to know how to remove the sync.gist setting from settings.json ?   is that delete the  "token" in thesynclocalsettings.json,  if that's right, why i failed when i try upload again?


Fix CIS details for new EFS Controls

Context
The new EFS controls for CIS have incorrect information. EFS is not part of RDS (DATABASES)
EFS is elastic file system. Much like NFS and has no correlation to RDS
This is also an automated check and not manual.
I have updated the CIS Standards to reflect the correct information
Description
Updated the Section to create a new EFS section as RDS is not related to this control
Updated Check on 2 of the controls to Automated as per efs_encryption_at_reset_enabled.py
Checklist

Are there new checks included in this PR? No

License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for the heads up @garym-krrv ! We will review it soon

Thanks, replied to both. Its not a manual check

Arhh @pedrooot my appoligies.. Thats good to know now.. Apprecaite the explination on this one..
Makes sense. Thank you for your time!
Shall I update the PR?

@garym-krrv Yes please! 🙏🏼

Actually looking into it more, I have found a bug on this check now too i will raise.
https://www.tenable.com/audits/items/CIS_Amazon_Web_Services_Foundations_v3.0.0_L1.audit:9d05e25a7e6737aad235e40ea80f5de7
States it should be using KMS. The check only checks if Encryption is enabled. Its passing even though KMS is NOT used and default AWS encryption key used

Actually looking into it more, I have found a bug on this check now too i will raise.
https://www.tenable.com/audits/items/CIS_Amazon_Web_Services_Foundations_v3.0.0_L1.audit:9d05e25a7e6737aad235e40ea80f5de7
States it should be using KMS. The check only checks if Encryption is enabled. Its passing even though KMS is NOT used and default AWS encryption key used

Though techincally the AWS managed key is in KMS and not customer managed.. I will double check this

@pedrooot Good to go on this now..
Many thanks


Add portuguese lang

Needs review for pt_BR and refactor for pt_PT

Codecov Report

Merging #1699 (0ada91a) into main (7e0beb5) will decrease coverage by 0.23%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main    #1699      +/-   ##
==========================================
- Coverage   48.43%   48.20%   -0.23%
==========================================
  Files          47       47
  Lines        7047     7049       +2
==========================================
- Hits         3413     3398      -15
- Misses       3634     3651      +17

see 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Tal clearly isnt portugese! Opsec fail

You need to add to frontend and bundle. Checkout all the files changed in a previously merged language pr

https://github.com/lnbits/lnbits/pull/1696/files


wg-performance Status Update 2021-10-11

cc @ampproject/wg-performance
What was accomplished
Lessons Learned
What's Next

What was accomplished

submitted for review Gzip Utilities for prepending an uncompressed piece of string to a gzip compressed content.

Lessons Learned
What's Next

work on the amp-stories transformer css inlining work


feat(Catalog Management): re-gen service after recent API changes

PR summary

This PR includes support for API changes to fix the "Compliance" information on an offering, and a new feature called "TargetAccountContexts".
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Correcting the "Compliance" field on an offering, it was broken in the previous sdk version and we've slightly updated it since then.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

:tada: This PR is included in version 0.45.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Issues with verify transaction test endpoint

Hello @corneliusyaovi
I can confirm this issue still persists. I get the following response when I try to verify a transaction with either trx_ref or transaction ID using the following endpoints I found in the verify transaction docs.
{     "status": "error",     "message": "No transaction was found for this id",     "data": null }
I have tried the following endpoints:

https://api.flutterwave.com/v3/transactions/:id/verify
https://api.flutterwave.com/v3/transactions/verify_by_reference/?tx_ref=:tx_ref

Could you please confirm what I need to do to solve this issue?
Thank you.
Originally posted by @umohpyro in https://github.com/Flutterwave/Node-v3/issues/32#issuecomment-1732186507

I just experienced this issue. I hope this helps:
In your url
https://api.flutterwave.com/v3/transactions/:id/verify
replace :id with your actual transaction_id or trx_ref


add notification to inform user of an unsuccessful species entry and reasons why it failed

Implemented in #307


Filter seem to slow down as graph size increases

While porting the petrol pump example from the FRP book, I noticed that running the just the lifecycle portion (rust equivalent of listing 4.5) of the example that when sending events in debug mode took 1-2s to process a single event, and in production mode this was reduced to 200ms. The code is written to be as close to the Java code in form as I could make it (all of the inputs are modeled as sinks, which then generate the "inputs" interface that the book presents)
In another test application of my own I noticed a x5 slow down when using filter_option (but from my testing the timing is very similar for a plain filter as well), this time going from 200uS to ~1ms in debug mode, and ~27uS to 200uS in production.
One thing to note is that this is being built on Linux using the latest release of Rust.
The code is as follows for the normal case:
pub fn charger_setup( s: &SodiumCtx, charger_events: &Stream<ChargingStatus> ) -> ChargerCtx {
    let state = charger_events.map( | e: &ChargingStatus | -> ChargingStatus { e.clone() } ).hold( ChargingStatus::Disconnected );

    let updates = charger_events.map( | e: &ChargingStatus | -> UiUpdates {
        match e {
            ChargingStatus::Disconnected => UiUpdates::LedAnimation{ led: LedName::Green1, animation: OFF },
            ChargingStatus::Charging => UiUpdates::LedAnimation{ led: LedName::Green1, animation: THROB },
            ChargingStatus::Charged => UiUpdates::LedAnimation{ led: LedName::Green1, animation: SOLID },
        }
    } );

    ChargerCtx {
        state,
        updates,
    }
}

and the filter enabled code:
pub fn charger_setup_filter_option( s: &SodiumCtx, charger_events: &Stream<ChargingStatus> ) -> ChargerCtx {
    let state = charger_events.map( | e: &ChargingStatus | -> ChargingStatus { e.clone() } ).hold( ChargingStatus::Disconnected );

    let updates1 = Stream::filter_option( &charger_events.snapshot( &state, | evt: &ChargingStatus, state_: &ChargingStatus | -> Option<UiUpdates> {
            if evt != state_ {
                match evt {
                    ChargingStatus::Disconnected => Some( UiUpdates::LedAnimation{ led: LedName::Green1, animation: OFF } ),
                    ChargingStatus::Charging => Some( UiUpdates::LedAnimation{ led: LedName::Green1, animation: THROB } ),
                    ChargingStatus::Charged => Some( UiUpdates::LedAnimation{ led: LedName::Green1, animation: SOLID } ),
                }
            } else {
                None
            }
        }
    ) );

    ChargerCtx {
        state,
        updates: updates1,
    }
}

The above code is the only portion using filters, and as such it results in the following timings. For the non-filtered case:
  setup: 552us
  send( charging ): 146us
  send( charged ): 132us
  send( disconnected ): 129us

and for the filter using case:
  setup: 1699us
  send( charging ): 910us
  send( charged ): 915us
  send( disconnected ): 963us

The above are the debug timings, but the ratio between the cases remains similar even in a release build. In the release build the timings are ~23uS (with no filters) and ~160uS (with filters).

The timings appear to be similar in a windows build of the lifecycle portion of the petrol pump example.
The main issue is not necessarily the increase in the time taken when using filter, but the fact that in order to maintain a responsive UI processing a single event should ideally be >1ms and definitely >25ms. The code posted above forms a pretty trivial example and is already approaching the 1ms mark (admittedly in debug)

I haven't had time to maintain sodium lately. I did read the code you emailed me, and the performance issue does seem to be on the sodium-rust side.
I suggest forking sodium rust and start profiling it internally. I suspect it may be calling collect_cycles() too often (the internal garbage collector for sodium objects). We could comment out collect_cycles or add an early return inside to see if it makes a difference to performance.
Another thing I can think of is all the reference counting is atomic at the moment (Arc). Replacing all the Arc<> with Rc<> could help too.

collect_cycles is behaving sensibly in that for a simple test that still shows this issue it is only being called 3 times.
It turns out this issue is unrelated to the use of filter but is instead more to do with the number of nodes (in what appears to be a chain). I created a test that strings together a number of maps in the following way:
#[derive(Clone,Copy)]
enum SomeVal {
    Val1,
    Val2,
    Val3,
}

fn generate_nodes( s: &Stream<SomeVal>, count: u32 ) -> Stream<SomeVal> {
    let new_s= s.map( | v: &SomeVal | -> SomeVal { v.clone() } );
    match count {
        0 => new_s,
        _ => generate_nodes( &new_s, count - 1 ),
    }
}

The test results for this show a clearly exponential trend:

Count
Node Count
Time to send 1 event (us)

0
2
44

1
3
61

2
4
93

3
5
145

4
6
299

5
7
655

6
8
1049

7
9
2300

8
10
2402

9
11
8057

10
12
12567

11
13
18865

12
14
37039

13
15
64412

14
16
195225

15
17
383411

16
18
504266

17
19
982780

18
20
2041202

19
21
3885266

20
22
7953937

21
23
15776052

22
24
32014120

The majority of this time is spend in mark_roots() and more specifically in resetting the reference count of the adjacent nodes:
fn mark_roots(&self) {
    ...
    for root in &old_roots {
         self.reset_ref_count_adj(root);
    }
    ...
}

If there were an index associated with each of the roots in old_roots in the above loop, then the time taken for each iteration would be <Index>^2. Digging further into this, the problem seems to be occurring due to reset_ref_count_adj() never exiting early. The tracing added is as follows:
fn mark_roots(&self) {
    ...
    let mut root_num = 0;
    for root in &old_roots {
        let tt1 = Instant::now();
        let depth = self.reset_ref_count_adj(root);
        let tt2 = Instant::now();
        println!( "mark_root: reset_ref: {},{},{}", root_num, depth, (tt2-tt1).as_micros() );
        root_num = root_num + 1;
    }
    ...
}

and
fn reset_ref_count_adj(&self, s: &GcNode) -> i32 {
        println!( "ref_reset: {},{},{}", s.id, s.name, s.data.visited.get() );
        if s.data.visited.get() {
            return 0;
        }
        s.data.visited.set(true);
        s.data.ref_count_adj.set(0);
        let mut depth = 0;
        s.trace(|t| {
            depth = self.reset_ref_count_adj(t) + 1;
        });
        s.data.visited.set(false);
        return depth;
    }

When running this with generate_nodes( &sink, 4 ), it produces the following pattern:
ref_reset: 0,Stream::new,false
mark_root: reset_ref: 0,0,2
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
mark_root: reset_ref: 1,1,3
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
mark_root: reset_ref: 2,2,7
ref_reset: 3,Stream::map,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
mark_root: reset_ref: 3,3,16
...
ref_reset: 5,Stream::map,false
ref_reset: 4,Stream::map,false
ref_reset: 3,Stream::map,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 3,Stream::map,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 4,Stream::map,false
ref_reset: 3,Stream::map,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 3,Stream::map,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 2,Stream::map,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
ref_reset: 1,Stream::map,false
ref_reset: 0,Stream::new,false
ref_reset: 0,Stream::new,false
mark_root: reset_ref: 5,5,68

Thanks for digging into that. If I can find time, I can have a close look.

It does indeed appear to be the case. It would be much appreciated if you could give a quick description of how the GC algorithm is supposed to work. I am planning on looking into it a bit further in parallel, so would be good to have some guidance with the way it is intended to work

https://pages.cs.wisc.edu/~cymen/misc/interests/Bacon01Concurrent.pdf
The non-concurrent one in that pdf.

@alexgcrombie I believe you are right about that visited.set(true) and visited.set(false) pair causing problems. The false needs to be set later after the loop through the old_roots. Also the old_roots (and possibly roots) can probably make use of a HashSet instead of a Vec to avoid duplicate traces/visits.

@alexgcrombie I split reset_ref_count_adj into two so that visited is set to false on a second pass of the roots. It is commited to master branch but not update built for it. You can try it out to see if it helps with that exponential growth. It seemed faster when running the regular tests.


New Key Rotation Circuit + Java API updates

So as discussed with @i-Alex we need to do a couple of modifications:
1. msg_to_sign cannot include the quality as we don't know the number of valid signatures on the msg_to_sign beforehand (it's the chicken and egg problem !). The WithdrawalCertificate class/struct we re-cycled was made on purpose for the CSW that needs the previous certificate so the quality was already known. We can quickly fix this by introducing another constructor for that class that doesn't accept the quality and Rust side we simply ignore the value of that parameter when addressing certificate circuit logic;

In regards to the chicken and egg problem, I just thought that the prover could know already how many valid signature is going to encode into the proof, and thus he can actually put this value in the quality and then use the whole certificate hash as the message to sign... However, this is just an idea, I will modify the circuit to ignore the quality.

So as discussed with @i-Alex we need to do a couple of modifications:
1. msg_to_sign cannot include the quality as we don't know the number of valid signatures on the msg_to_sign beforehand (it's the chicken and egg problem !). The WithdrawalCertificate class/struct we re-cycled was made on purpose for the CSW that needs the previous certificate so the quality was already known. We can quickly fix this by introducing another constructor for that class that doesn't accept the quality and Rust side we simply ignore the value of that parameter when addressing certificate circuit logic;

In regards to the chicken and egg problem, I just thought that the prover could know already how many valid signature is going to encode into the proof, and thus he can actually put this value in the quality and then use the whole certificate hash as the message to sign... However, this is just an idea, I modified the circuit to ignore the quality.

The problem is a priori: you cannot sign the certificate hash with the quality, as you don't know how many valid signatures there will be !

I did


Run UT/IT on all branches

Signed-off-by: Tyler Ohlsen<EMAIL_ADDRESS>Description
Currently only running test workflows on main. Changing to run on all branches, since release branches are maintained in non-main branches and should be checked before merging.
Because workflow files are different in 1.x, will have a separate PR to update there.
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@ohltyler have you looked into this CI failure?


Release latest version

Thanks for updated fork, can you release latest version and push it to Cocoapods?

Hello,
I recently have a very busy schedule, so I can do that only in a week.
If you want it faster, I added you as collaborator to this repo, so you should have enough control to make it by yourself.
Thanks for your interest and have a great weekend!

Thanks, will do a small update.


Make some containers final and add notes about assumptions about representation

Also, add tests to make sure that an empty pair can be EBO'd. This one is very important because a typical use case is to create a tuple of pairs of empty types (e.g. in hana::map), and we expect this to be empty.
Fixes #388

Perhaps hana::map<???> and others should be in the detail namespace.

Perhaps hana::map and others should be in the detail namespace.

No, because hana::map<...> can be used to specify the type of a map. The type exists, it's just that what the type is is unspecified.


Cannot install geemap on university's cluster

Discussed in https://github.com/giswqs/geemap/discussions/1000

Originally posted by yin00406 April  1, 2022
Hi there,
When I install the geemap package to our university's cluster, I am getting this error:
Collecting xyzservices>=2021.8.1 (from ipyleaflet>=0.14.0->geemap)   Could not find a version that satisfies the requirement xyzservices>=2021.8.1 (from ipyleaflet>=0.14.0->geemap) (from versions: ) No matching distribution found for xyzservices>=2021.8.1 (from ipyleaflet>=0.14.0->geemap)
Besides, when I used pip install geemap==0.12.0 to install a specific version, it shows as below:

It seems like the latest version is 0,9.2? It's weird.
Can anyone provide a solution? Thanks much!!

It works fine on my end. Try creating a fresh conda env to install geemap
conda create -n gee python=3.9
conda activate gee
conda install geemap -c conda-forge

or use pip
pip install geemap

Hi Prof. Wu,
I used a brand new env before. It's very weird.
When I used pip to install this package, it occurred the error shown above.
When I used conda to install this package, it showed "killed".

I suspected you are using Python 3.6. Geemap v0.9.3 and new versions require Python >3.6. You need to create a brand new conda env conda create -n gee python=3.9

Hi Prof. Wu,
It still not works. I guess the reason may from the cluster side but I don't know what it is. I can use it from local. So, I will use gee from local first. Thanks for your reply in patience!


Enhancement: Scrap first matrices in the chain if bad.

The case in which a bad transition matrix occurs at the beginning of a Markov chain is much less common than the opposite one (see issue #2), but nevertheless breaks the interpolation algorithm. This happens, for example, when n = 9, k = 20, and gamma = 0.
Vector q should automatically link to the first available well-defined transition matrices, and the first bad ones should be scrapped.

Commit f479fd8 solves the issue.
Now the algorithm automatically detects and scraps bad matrices if they occur at the beginning of the Markov chain.
Consider the case n = 9, k = 20, gamma = 0. The first matrix in the chain, P[0], is wrong, so q is automatically extended up to t = 0.10 (instead of 0.05). Additionally, all matrices P[6] to P[18] are also bad, so they are scrapped as well (T = 0.35, instead of 1).
Hence, the figure only shows q, and the sequence P[1] to P[5].


Update .travis.yml

Description
Describe the changes made and why they were made instead of how they were made.
Related issues and discussion
#fixes {Issue Number}
Screen-shots, if any
Checklist
Make sure you've done all the following (You can delete the checklist before submitting)

[ ] Apply the AndroidStyle.xml style template to your code in Android Studio.
[ ] Code is well documented
[ ] Include unit tests for new functionality
[ ] All user-visible strings are made translatable
[ ] Code passes Travis builds in your branch
[ ] If you have multiple commits please combine them into one commit by squashing them.
[ ] Read and understood the contribution guidelines .

You didn't actually merge it


fix: small typo in SECURITY.md

Just caught a small typo in SECURITY.md

One-ack merged as this is purely a doc typo PR.


Get guilds from cache instead of requesting it from Discord & removed send announcement command

With the addition of error handling (#172), there's now a bunch of errors being printed regarding trying to request a guild that the bot isn't in.
This PR fixes this by having the bot refer to its own guild cache instead of constantly fetching a guild from the API.
This PR also removes the sendannouncements command, since we now have a support server that can do just that.
I'm not sure if there are any downsides to having the bot use its own cache (does it lose any information that we might need?). Let me know if you think there are any downsides.

lol, i just checked because i thought it might be but
https://github.com/ToogaInc/ToogaBooga/blob/ae74d01033580b3884e38e29eea5d7cce13951da/src/utilities/fetch-get-request/GlobalFgrUtilities.ts#L73
this already refers to cache (internally, since you don't really need to fetch guilds/channels/roles, like ever), it's only when the guild doesn't exist that it falls back to the actual api fetch

Oh yeah, I completely forgot that's how it works. I believe the reason why the error exists is because Tooga has data for a guild that no longer exists, so it's constantly trying to get data about said guild.

lol, i just checked because i thought it might be but
https://github.com/ToogaInc/ToogaBooga/blob/ae74d01033580b3884e38e29eea5d7cce13951da/src/utilities/fetch-get-request/GlobalFgrUtilities.ts#L73
this already refers to cache (internally, since you don't really need to fetch guilds/channels/roles, like ever), it's only when the guild doesn't exist that it falls back to the actual api fetch

Oh yeah, I completely forgot that's how it works. I believe the reason why the error exists is because Tooga has data for a guild that no longer exists, so it's constantly trying to get data about said guild.
Not exactly much that can be done there, though, unless we want to just delete the guild document entirely if the bot leaves a guild.

deleting isn't a bad idea but it's not like it's going to act as if they were left again. Anyways, a possible solution to the last sentence could just be by checking like:
if (!client.guilds.cache.has(IDocumentInfo.guildId)) return;
// We know for certain that the client has the guild information cached, &
// since every guild is sent during the initial handshake, the only possible way
// for a return is when the client is not in the guild

Fair, yeah. That's more or less what I just did, except I'm making use of the cache directly.