🐛 [firebase_messaging] .onTokenRefresh not called even when it actually got refreshed

Bug report
FirebaseMessaging.instance.onTokenRefresh.listen((newToken) {...}) is not called even in the expected situation (app running on the foreground, internet connected, foreground notification implemented, Firebase Messaging backend starting to throw "Requested entity was not found" error)
As a result, users (me) suddenly became unavailable to receive notifications while using the app.
Once I quit the app and relaunch it, the regenerated token is well updated by calling FirebaseMessaging.instance.getToken()
Until I relaunch the app, the backend throws "Requested entity was not found" error and I become unavailable to receive notification
Check this video for more info: https://vimeo.com/785835642
Steps to reproduce
(It's gonna be a bit tricky, cause the app should be opened when the token is regenerated)
(I found this bug on iOS. I'm not sure if this also happens on other platforms)

Launch the app
The app should have some codes to .getToken() and update it
The app should also initialize FirebaseMessaging.instance.onTokenRefresh properly by .listen()ing to it
Wait
Wait
Wait
Wait
One day, it suddenly becomes unavailable to receive notifications. When I check the logs, .onTokenRefresh hasn't been called. When I relaunch the app, .getToken() gives me a different token from the one that was previously registered.

Expected behavior
.onTokenRefresh should be called when the token is regenerated

Additional context
Nope

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.10, on macOS 13.1 22C65 darwin-arm, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.74.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand

Dart SDK 2.18.6
Flutter SDK 3.3.10
atrable 1.3.0

dependencies:
- audio_session 0.1.13 [flutter flutter_web_plugins rxdart meta]
- build_runner 2.3.2 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- camera 0.10.1 [camera_android camera_avfoundation camera_platform_interface camera_web flutter flutter_plugin_android_lifecycle quiver]
- cloud_firestore 4.3.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.5
- emoji_picker_flutter 1.5.1 [flutter flutter_web_plugins plugin_platform_interface shared_preferences]
- eraser 2.0.1 [flutter]
- ffmpeg_kit_flutter 4.5.1 [ffmpeg_kit_flutter_platform_interface flutter]
- firebase_auth 4.2.3 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.4.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_database 10.0.8 [firebase_core firebase_core_platform_interface firebase_database_platform_interface firebase_database_web flutter]
- firebase_messaging 14.2.0 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_storage 11.0.9 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_emoji 2.4.0 [characters http]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_video_info 1.3.1 [flutter path]
- image_cropper 3.0.1 [flutter image_cropper_platform_interface image_cropper_for_web]
- image_picker 0.8.6 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface]
- infinite_scroll_pagination 3.2.0 [flutter sliver_tools]
- overlay_support 2.0.1 [flutter async]
- path_provider 2.0.11 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- permission_handler 10.2.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface]
- pinch_zoom_image_last 0.4.1 [flutter]
- provider 6.0.3 [collection flutter nested]
- qr_flutter 4.0.0 [flutter qr]
- realm 0.8.0+rc [flutter args build_cli_annotations collection crypto ffi json_annotation logging meta package_config path pubspec_parse pub_semver realm_common realm_generator tar build_runner http cancellation_token]
- record 4.4.3 [flutter record_platform_interface record_web record_windows record_macos record_linux]
- scrolls_to_top 2.0.0 [flutter]
- share_plus 6.3.0 [cross_file meta mime flutter flutter_web_plugins share_plus_platform_interface file url_launcher_web url_launcher_windows url_launcher_linux url_launcher_platform_interface ffi win32]
- shared_preferences 2.0.15 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shimmer 2.0.0 [flutter]
- sign_in_with_apple 4.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web]
- transparent_image 2.0.0
- uni_links 0.5.1 [flutter uni_links_platform_interface uni_links_web]
- url_launcher 6.1.7 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- video_player 2.4.10 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web]
- video_thumbnail 0.5.3 [flutter]
- wave 0.2.2 [flutter]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _fe_analyzer_shared 47.0.0 [meta]
- _flutterfire_internals 1.0.11 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 4.7.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.3.1
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_cli_annotations 2.1.0 [args meta]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.10 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.2 [built_collection collection fixnum meta]
- camera_android 0.10.0+3 [camera_platform_interface flutter flutter_plugin_android_lifecycle stream_transform]
- camera_avfoundation 0.9.8+6 [camera_platform_interface flutter stream_transform]
- camera_platform_interface 2.2.2 [cross_file flutter plugin_platform_interface stream_transform]
- camera_web 0.3.0+1 [camera_platform_interface flutter flutter_web_plugins stream_transform]
- cancellation_token 1.5.0 [meta collection]
- characters 1.2.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.10.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.2.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.3.0 [built_collection built_value collection matcher meta]
- collection 1.16.0
- convert 3.1.1 [typed_data]
- cross_file 0.3.3+2 [js meta]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- ffmpeg_kit_flutter_platform_interface 0.2.1 [flutter plugin_platform_interface]
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.11.6 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.2.3 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_database_platform_interface 0.2.2+16 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.2.1+18 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js]
- firebase_messaging_platform_interface 4.2.9 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.2.10 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_storage_platform_interface 4.1.25 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.3.18 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.0.1
- flutter_plugin_android_lifecycle 2.0.7 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.2.0 [async path]
- glob 2.1.1 [async collection file path string_scanner]
- graphs 2.2.0 [collection]
- html 0.15.0 [csslib source_span]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.1 [collection source_span string_scanner typed_data]
- image_cropper_for_web 1.0.3 [flutter flutter_web_plugins image_cropper_platform_interface js]
- image_cropper_platform_interface 3.0.3 [flutter plugin_platform_interface http]
- image_picker_android 0.8.5+3 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 2.1.10 [flutter flutter_web_plugins image_picker_platform_interface]
- image_picker_ios 0.8.6+1 [flutter image_picker_platform_interface]
- image_picker_platform_interface 2.6.2 [cross_file flutter http plugin_platform_interface]
- intl 0.17.0 [clock path]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- json_annotation 4.7.0 [meta]
- logging 1.1.0
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- mime 1.0.2
- nested 1.0.0 [flutter]
- objectid 2.1.0
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.20 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.11 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.6 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.5 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.3 [ffi flutter path path_provider_platform_interface win32]
- permission_handler_android 10.2.0 [flutter permission_handler_platform_interface]
- permission_handler_apple 9.0.7 [flutter permission_handler_platform_interface]
- permission_handler_platform_interface 3.9.0 [flutter meta plugin_platform_interface]
- permission_handler_windows 0.1.2 [flutter permission_handler_platform_interface]
- petitparser 5.0.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.3 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.3 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- qr 2.1.0 [meta]
- quiver 3.1.0 [matcher]
- realm_common 0.8.0+rc [objectid sane_uuid]
- realm_generator 0.8.0+rc [analyzer build_resolvers build dart_style realm_common source_gen source_span]
- record_linux 0.3.4 [flutter record_platform_interface path]
- record_macos 0.2.2 [flutter record_platform_interface]
- record_platform_interface 0.5.0 [flutter plugin_platform_interface]
- record_web 0.5.0 [flutter flutter_web_plugins record_platform_interface]
- record_windows 0.6.2 [flutter record_platform_interface path]
- rxdart 0.27.5
- sane_uuid 1.0.0-alpha.4 [meta crypto]
- share_plus_platform_interface 3.2.0 [cross_file flutter meta mime plugin_platform_interface path_provider uuid]
- shared_preferences_android 2.0.13 [flutter shared_preferences_platform_interface]
- shared_preferences_ios 2.1.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.4 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.1.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.0.4 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.3 [shelf stream_channel web_socket_channel]
- sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta]
- sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js]
- sky_engine 0.0.99
- sliver_tools 0.2.8 [flutter]
- source_gen 1.2.6 [analyzer async build dart_style glob meta path source_span yaml]
- source_span 1.9.0 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.1
- string_scanner 1.1.1 [source_span]
- tar 0.5.6 [async meta typed_data]
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.1 [collection]
- uni_links_platform_interface 1.0.0 [flutter plugin_platform_interface]
- uni_links_web 0.1.0 [flutter flutter_web_plugins uni_links_platform_interface]
- url_launcher_android 6.0.19 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.0.17 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.1 [flutter plugin_platform_interface]
- url_launcher_web 2.0.13 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.1 [flutter url_launcher_platform_interface]
- uuid 3.0.6 [crypto]
- vector_math 2.1.2
- video_player_android 2.3.9 [flutter video_player_platform_interface]
- video_player_avfoundation 2.3.7 [flutter video_player_platform_interface]
- video_player_platform_interface 5.1.4 [flutter plugin_platform_interface]
- video_player_web 2.0.12 [flutter flutter_web_plugins video_player_platform_interface]
- watcher 1.0.2 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- win32 3.0.0 [ffi]
- xdg_directories 0.2.0+2 [meta path process]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Thanks for the report @Shawn-sudo
Does it only happen when you are installing the app for the first time ? or every time when you run the app ?
Can you try the plugin example and see if using it, you get same behavior ?

8. One day, it suddenly becomes unavailable to receive notifications.

There's no code changes or updates related to token recently, so if you are seeing this behavior intermittently, then it could be a server or native side issue.

It happens occasionally: not necessarily after the first install.
Once the token gets refreshed while the app is on foreground without .onTokenRefresh.listen() being called, I don't receive any further notifications until I reopen the app and get the refreshed token.
I have no clue how long it would take to reproduce this issue. It sometimes take a week, sometime take an hour.
Do you know if there's a way to force refreshing the FCM token from the backend so that we can test if .onTokenRefresh.listen() and my code inside it is working well?
I'm quite sure that mine should be working well, but just in case.

Seeing this source code here, I'm guessing that .onTokenRefresh is called every time when .didReceiveRegistrationToken is called. Then I saw this comment which says // Don't crash if the token is reset. I think this is somehow related to the issue that I'm facing, but not really sure.

By the way, one thing to mention, the fcm token for my phone changes at least once in a day. This StackOverflow Answer says that key rotation is such a rare event, so I think something else is going wrong on my app, too.

I'm trying the plugin example rn. I'll come back when I find the issue

Thanks for the update.

Do you know if there's a way to force refreshing the FCM token from the backend so that we can test if .onTokenRefresh.listen() and my code inside it is working well?

Maybe not from the backend, but one of the ways is to delete the fcm token and then request for it again which will provide a new token.

@darshankawar Oh thanks
Then should I expect .onTokenRefresh.listen() to be called once I delete the fcm token and call .getToken()?

Then should I expect .onTokenRefresh.listen() to be called once I delete the fcm token and call .getToken()?

Ideally it should be called. So, if you are deleting the token like below and then call getToken():
Future<void> refreshToken() async {
    await FirebaseMessaging.instance.deleteToken();
    await FirebaseMessaging.instance.getToken();
  }

And then:
tokenSubscriptionStream = FirebaseMessaging.instance.onTokenRefresh.listen(
          (String _token) {
        print("NEW TOKEN: $_token");
        setState(() => token = _token);
      },
    );

where tokenSubscriptionStream is late StreamSubscription<String>

@darshankawar
Hi
.onTokenRefresh was called well as expected once I delete the token and .getToken() again.
One thing I noticed, when I run the app on my phone using Flutter release mode through Xcode, it seems to disable receiving the notifications. Probably I was confused with that.
Thanks!


RANSAC docstring improvements & related cleanup

PR Description
Basically, I started writing a new PR to add a public API for matlab_strict mode and ended up doing a bunch of unrelated cleanup of the RANSAC docstrings while I was at it. To keep things organized, I've moved all that cleanup to a separate PR here.
Basically, this PR:

Makes RANSAC capitalization consistent throughout the docs (it's capitalized in the original paper, so that's what I stuck with here)
Elaborated on the purposes and defaults for a lot of the RANSAC and RANSAC-related function/class parameters
Removed an unnecessary argument (signal_len) to find_bad_by_ransac, since it's already contained in the shape of the input data
Updated the .gitignore to exclude invisible files unless explicitly included, to filter out random types of system/IDE files we're not already excluding (e.g. .DS_Store files on macOS, which keep showing up in my git changes). I added this one on to here since I figured it was too minor to warrant a separate pull request.

Merge Checklist

[ ] the PR has been reviewed and all comments are resolved
[ ] all CI checks pass
[ ] (if applicable): the PR description includes the phrase closes #<issue-number> to automatically close an issue
[ ] (if applicable): bug fixes, new features, or API changes are documented in whats_new.rst

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@032cad1). Click here to learn what that means.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master      #69   +/-   ##
=========================================
  Coverage          ?   96.99%
=========================================
  Files             ?        7
  Lines             ?      566
  Branches          ?        0
=========================================
  Hits              ?      549
  Misses            ?       17
  Partials          ?        0

Impacted Files
Coverage Δ

pyprep/find_noisy_channels.py
96.34% <ø> (ø)

pyprep/prep_pipeline.py
100.00% <ø> (ø)

pyprep/reference.py
96.39% <ø> (ø)

pyprep/utils.py
98.38% <ø> (ø)

pyprep/ransac.py
97.22% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 032cad1...fe1df0f. Read the comment docs.

Okay, I've pushed changes based on your review: let me know if there's anything more to fix!


Bump dcos-net

High-level description
Bump dcos-net
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS_OSS-3593 Add support for multiple port resources
DCOS_OSS-3602 L4LB unstable when something is deployed in the cluster

Related tickets (optional)
Other tickets related to this change:
Checklist for all PRs

[x] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change: no user-facing change
[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here: none
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[x] Test Results: [link to CI job test results for component]
[x] Code Coverage (if available): [link to code coverage report]

https://github.com/dcos/dcos-net/compare/03d5b4d0f54581c59ff898896be22740fd230331...84e6278a6916e7f2481256b33b25db06a16907ae
https://github.com/dcos/dcos-net/pull/59
https://github.com/dcos/dcos-net/pull/61
https://circleci.com/gh/dcos/dcos-net/531
https://codecov.io/gh/dcos/dcos-net/commit/84e6278a6916e7f2481256b33b25db06a16907ae

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label [Ready For Review]

@orsenthil @GoelDeepak could you please review this PR? it contains two small important fixes for dcos-net. it would be great to merge them today as soon as possible


When swiping up from safe area to show app switcher, bottom sheet can be dragged to position not included in switchablePositions

Describe the bug
When swiping up from safe area to show app switcher, bottom sheet can be dragged to position not included in switchablePositions.
Minimal reproduce-able code
import SwiftUI
import BottomSheet

struct ContentView: View {
    @State var bottomSheetPosition: BottomSheetPosition = .hidden

    var body: some View {
        GeometryReader { proxy in
            ZStack {
                VStack {
                    Button(action: {
                        bottomSheetPosition = .absolute(250)
                    }) {
                        Text("Show sheet")
                    }
                }
                Text("250 px")
                    .position(x: 20, y: proxy.size.height - 250)
            }
            .padding()
            .bottomSheet(bottomSheetPosition: $bottomSheetPosition, switchablePositions: [
                .absolute(250)
            ], headerContent: {
                Text("Testing").font(.title).bold().padding()
            }) {
                Text("Testing")
            }
            .showCloseButton()
        }
    }
}

#Preview {
    ContentView()
}

Expected behavior
Bottom sheet should not resize when dragging on safe area to show app switcher. At least it should not switch to position not included in switchablePositions.
Video
In this slow motion video, I drag on the bottom safe area to show app switcher. While the app switcher is displayed, the bottom sheet is simultaneously being resized and switched to position not included in the switchablePositions. The maximum size in the switchablepositions is 250px but the sheet ends up taller than that (it covers the text positioned at 250px).
https://github.com/lucaszischka/BottomSheet/assets/2369584/eff1a43a-6f3d-40bc-9c23-a618630c12b1
Target version

Environment: iOS
Version: 3.1.1

Suggested fix in PR #149


Tagged releases

Hello there,
Please consider tagging releases so that various GNU/Linux distributions could package qmsetup for use by other projects that depend on it.
Thanks!

I think we need more tests before tagging releases...

What sort of tests? @SineStriker


added Groq

Thank you man @john-adeojo, here is the updated models for using GROQs llama3-70b-8192 and the minimal requirements.txt
just add: GROQ_API_KEY: 'YOUR__GROQ_KEY' into config.yaml
You've done everything nice. Thanks!
USAGE in agent:
from models.groq_models import GroqModel
.... into your main
# Uncoment below to run with GroqAI
model_service = GroqModel
model_name = 'llama3-70b-8192'
stop = None
i am working on enabling LM
Works as good as gpt-4o!
groq_models.zip
requirements.txt

Hi @dalijon-byte
To streamline the process and make it easier for everyone to review and integrate the changes, could you please create a pull request with the updated models and requirements instead of adding them to the issue?
Thanks.

@DeanChugall si mi dobar? ;)
alright - pull requested -
closing this one. best


How to elevate the training results?

After training with the default hyperparameters, my evaluation result from kitti server is not as good as in your report:
MaxF
UM_Road: 95.12%
UMM_Road: 97.05%
UU_Road : 94.39%
urban_road: 95.76%
Could you please give me any suggestions to improve the performance?
Thanks in advance.

Hi, zeng. Sorry for the late response. You can try to use some data augmentation techniques.

Thank you for the advice!

Yes, I think this performance degradation is due to overfitting.
It is right, since there is no lidar data in the upper half area. It does not matter, because the empty area only contains sky, tall trees and buildings.

Thanks for your kind reply!


Document that create_topic requires a named argument to work

Nevermind, there is a way to create a room from admin panel. Will fix that in a separate pull request, I'm silly.


Timeout can't take error as parameter

RxJS version: 5.1.1
Code to reproduce:
            let sub = this.http.get(this.url + 'teams/' + teamId, {
                headers: this.headers
            })
                .retryWhen(error => error.delay(500))
                .timeout(2000, new Error('delay exceeded'))

Expected behavior: Should not throw compiler error when using error as a parameter for the timeout method of an observable.
Actual behavior: It throws an error saying that Argument of type 'Error' is not assignable to parameter of type 'IScheduler'.
Additional information: Angular v4

https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md#500-rc5-2016-12-07

@kwonoj how can I pass data into the timeout error?

@wbhob it is no longer supported to carry forward different error (or any other object) when timeout error is being thrown. If you really need to deliver error other than default timeouterror, you may need .catch() then rethrow by Observable.throw your custom error.

What does that look like (thanks for all your help by the way)

For people who stumble on this later, you can use .timeoutWith(2000, Observable.throw(new Error('delay exceeded'))) 😊


Changes in sonnx.py and Added ShufflenetV2.py

Changed contents in sonnx.py as follows:
ceil_mode = onnx_node.getattr("ceil_mode",0)
count_include_pad = onnx_node.getattr("count_include_pad",0)
if ceil_mode!=0 or count_include_pad!=0:
raise ValueError("Not implemented yet for count_include_pad or ceil_mode")
Added Shufflenetv2.py
SONNX implementation of ONNX shufflenetv2 from https://github.com/onnx/models/raw/master/vision/classification/shufflenet/model/shufflenet-v2-10.tar.gz

@Shashankwer
Hi, please refer to our code style to reformat your commit.
https://github.com/apache/singa-doc/blob/master/docs-site/docs/contribute-code.md

Hi @joddiy,
Updating sonnx.py gives an error Class 'TensorProto' has no 'BOOL' member in pylint. Is it possible to add no-member under disable parameter in .pylintrc of the project to suppress the error?
The commit has been made reformatting the code and no changes were made in .pylintrc
Thanks,
Shashank

Hi, @Shashankwer, thanks for the report on this issue. However, since I've refactored lots of code in dev branch, as well as this issue. So I think it's a good time to switch our work from master branch to dev branch.
And for an example, I've re-code this PR to dev branch in PR https://github.com/apache/singa/pull/735, you can compare the code and try to learn the implement in dev branch.

Hi @joddiy,
Updating sonnx.py gives an error Class 'TensorProto' has no 'BOOL' member in pylint. Is it possible to add no-member under disable parameter in .pylintrc of the project to suppress the error?
The commit has been made reformatting the code and no changes were made in .pylintrc
Thanks,
Shashank

Hi @joddiy ,
Thanks, will make further updates on dev branches.
Thanks and Regards,
Shashank Nigam

Hi @joddiy ,
Thanks, will make further updates on dev branches.
Thanks and Regards,
Shashank Nigam

Hi, @Shashankwer , can you close this PR, since we have moved the code to https://github.com/apache/singa/pull/735


Use Rails 6 defaults

Note that this will also switch us to the zeitwork loader.

The default configuration for Rails 6
# config/application.rb
config.load_defaults "6.0"

enables zeitwerk autoloading mode on CRuby. In that mode, autoloading, reloading, and eager loading are managed by Zeitwerk.

-- https://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-5-2-to-rails-6-0

It seems that the Travis tests are failing because of a loading issue (which I am guessing is related to the fact that we are now using the zeitwork loader).

I can't seem to reproduce the issue when running bin/rails spec:rb locally

I can reproduce locally by setting CI=true bin/rails spec:rb; in other words, I think that one or both of these settings are causing this issue on CI (and probably will also cause this issue when trying to boot in production): https://github.com/davidrunger/david_runger/blob/9bdc854d52ad932d835621d1a2401b684f9d5da4/config/environments/test.rb#L11-L16

I found a solution to the Zeitwerk eager-loading issue; see here: https://github.com/davidrunger/david_runger/pull/1580/files#diff-b1fe55db50c712fef0673345e5b9c0d9R48


Feature/fri 85 add component id to failure

Hi @kaicode , @CoderMChu
The component id can be added to most of the assertions. But some of them can not. Please have a look the following assertions and let me know if they require any changes:
component-centric-snapshot-expression-association-unique-mapTarget.sql
component-centric-snapshot-attribute-value-only-one-active-inactivation-reason.sql
component-centric-snapshot-ctv3-code-unique.sql
component-centric-snapshot-ctv3-ratio.sql
component-centric-snapshot-inferred-unique-per-concept.sql
component-centric-snapshot-no-duplicate-association-of-SEP.sql
component-centric-snapshot-referenced-refsetId-of-refeset-member-must-be-valid.sql
file-centric-snapshot-association-expression-valid-referencecomponentid.sql
file-centric-snapshot-association-valid-key.sql
file-centric-snapshot-map-correlation-origin-referencecomponentid.sql
file-centric-snapshot-simple-map-valid-key.sql
file-centric-snapshot-simple-refset-valid-key.sql
component-centric-snomed-ct-expression-validation-proc.sql

Hi @QuyenLy87, when the assertion is validating a reference set, like a map or association, we should be able to use the refset member uuid as the component id? It looks like there is also a unique inferred relationship test there, in the case could multiple relationships ids be reported?

Yes, that's true. @kaicode  . I'm doing that way. However, if the assertion use some aggregating functions (example: group by), then we can not use the id as component id

@CoderMChu I don't think this is sufficient.
It would be a bad idea to whitelist the assertion file-centric-snapshot-simple-refset-valid-key.sql at the concept level because that would whitelist the concept under all reference sets. It should be possible to select the refset members even when using "group by" with the use of a subquery?
I've built an example of how to do this to report the duplicate refset member ids when using group by across multiple fields - http://sqlfiddle.com/#!9/fbe6edd/1/0

@kaicode Sorry I didn't leave a comment here but I have discussed with @QuyenLy87 about this. He is going to update these. He had mysql errors before due to mysql config:  "sql_mode=only_full_group_by". After removing this config it seems to be working for him now.

Hi @kaicode , @CoderMChu  all remaining assertions have been updated. Could you please review again? Thanks

I've not reviewed the code but this sounds good to me. Will leave Michael to do final review. Thanks.


Correction for raw affiliation AO Laboratory, Mech. Eng. Dept., UVic, PO Box 3055 STN CSC, Victoria, BC, V8W 3P6, CANADA

Correction needed for raw affiliation AO Laboratory, Mech. Eng. Dept., UVic, PO Box 3055 STN CSC, Victoria, BC, V8W 3P6, CANADA
raw_affiliation_name: AO Laboratory, Mech. Eng. Dept., UVic, PO Box 3055 STN CSC, Victoria, BC, V8W 3P6, CANADA
new_rors: 04s5mat29
previous_rors:
works_examples: W2114058042
contact: 3fadfe0edc9ae4b7f9898e4d711b374a:cd4b9299 @ ourresearch.org

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Must Support

PR 3/4 for must-support.
Updates the text importer to add a content profile listener, to read in and store content profile data.

@cmoesel I've addressed your comments, and added error handling for another couple errors I noticed could occur.

Great, I'll check it out!

I need to fix some broken tests, hold on just a second!

Alright @cmoesel it's actually ready!

Re-requesting review from @cmoesel. I have added support for inherited attributes in content profiles.
You can test these changes on the dev branch of shr_spec. Do so by adding this to the config.json:
"contentProfile": "test_cp.txt"

and by adding the following to a file called test_cp.txt in the shr_spec/spec directory.
Grammar:        ContentProfile 1.0

Namespace: oncocore

MorphologyBehavior:

CodeableConcept.Coding.DisplayText MS

Namespace: shr.core

DomainResource:

Narrative.NarrativeQualifier.Value.Coding MS
Metadata MS

This will test a typical content profile rule for MorphologyBehavior and then inherited attributes in fields and values in DomainResource.

@cmoesel I have addressed your comments above, and this should hopefully be all set now.

@kjmahalingam -- see #89.

Builds are stuck due to Travis CI issues, but everything passes locally.


TOS enforceability comment

Corporate TOS issue: Section R4, “If any part of this Agreement is held invalid or unenforceable, that portion of the Agreement will be construed to reflect the parties’ original intent.” Consider if this works as a blue pencil clause—if the intent unenforceable, no other expression of that intent would be enforceable, so a court might reject wholesale the applicable part of the agreement. Consider if you would be better protected by saying “[the parties] [a court] will reform that portion of the agreement to reflect the parties’ original intent as nearly as possible.”

Hey, @MarcM001,
We took a closer look at this, and I think the wording in the Terms of Service says pretty much the same thing as your suggested wording. Additionally, it's very standard phrasing in contract law. Thanks for the suggestion!


fix overflow crash when displaying ETA

Possible fix for https://github.com/console-rs/indicatif/issues/554, but I wasn't thorough checking for other possible sources of overflow (in particular in the ETA calculation itself, though from a glance it seems OK)

Right, thanks!


drivers: clock_control: Agilex5 clock control driver updates

The Agilex5 clock controller/manager IP registers are updated with the correct divider values by bootloader via hand-off
data, so now we can use the clock controller to get the clock value of each peripheral during run time.
As an example and test, remove hard-coded clock values from device tree nodes of UART and TIMER, and instead
read the clock values from the clock controller during run time.

@nordic-krch @carlocaione Kindly review this PR and let me know your feedback. Thank you.

Dear @nordic-krch, kindly review this PR whenever you are available and provide your feedback for the same. Thank you.

Dear @carlocaione, Kindly review this PR whenever you are available and provide your feedback for the same. Thank you.

Dear @SgrrZhf @povergoing @carlocaione @npitre, kindly review this PR and let me know your comments. Thank you.

Hello @carlocaione , @npitre , @povergoing , @SgrrZhf ,
Kindly review this PR and let me know your feedback. Thank you.


Maven repo can't access

https://hephaestus.dev/release/dev/hephaestus/FibLib/1.3.1+1.18.2/FibLib-1.3.1+1.18.2.pom is 404

Hi, I ended up publishing FibLib to my own maven for projects due to this problem. If you're still interested in using FibLib, check out the 1.18.2 branch for my maven details.
@Haven-King could I bother you to switch the default repository branch to 1.18.2, or give me permission to do it? Thanks so much <3!


Contracting words.

Suggested words to be contracted to "don't" to project friendliness in accordance with Top 10 Tips for Microsoft style and voice.
@j-martens #hold-off

@eavelar10 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

#sign-off


Swift 3.1 Builds fail

This package depends on CloudConfiguration (IBM-Swift/CloudConfiguration) which needs v 2.0.0 to support Swift 3.1.
That package depends on CloudFoundryEnv (/IBM-Swift/Swift-cfenv), which needs v 4.0.0 to support Swift 3.1.
Builds currently fail for Kitura apps using CloudFoundry.  (But only on Linux)

@benspratling4 This library had not been migrated to Swift 3.1 at the time you encountered those problems. It is not migrated to Swift 3.1 and has been tagged 3.0.0.


update jekyll instructions to avoid empty index.html

@matdillen noted that:

Also, the index.html problem happens each time you make a new jekyll site. Deleting the file fixes it.

Suggest to update jekyll install instructions to avoid an empty index.html that prevents the generated index.md from rendering.

@matdillen thanks for sharing that the index.html is generated when using jekyll v3 . I've added instructions to use jekyll. Also, I've added the Jekyll version number in the index.md page template.


Fix grading issue

try to help fix https://github.com/Lab-Lab-Lab/CPR-Music/issues/6

New issue on select "grade" button now, see slack


Missing quote in string

There seems to be a missing double quote in a string in src/event/ngx_event_openssl.c. Specifically, this line:
                  "SSL_CTX_set0_tmp_dh_pkey(\%s\") failed", file->data);

should probably be this (added a double quote before the percent sign):
                  "SSL_CTX_set0_tmp_dh_pkey(\"%s\") failed", file->data);

The original string has the nonstandard escape %, and it seems quite clear by looking at other strings in the file that the intent was to write "%.

Thank you, @ericwhitmansmith, for reporting this issue!
This is the fix https://github.com/nginx/nginx/pull/339


Cosmos client missing support for direct connection mode (TCP and HTTPS)

Currently the Cosmos client does not support direct connection mode:
https://learn.microsoft.com/en-us/python/api/azure-cosmos/azure.cosmos.cosmos_client.cosmosclient?view=azure-python
Could you add the support?
Similar to https://github.com/Azure/azure-cosmos-python/issues/121

Thanks for the feedback, we’ll investigate asap.

Hi @grzjab, thank you for expressing interest in our SDK. We are not planning on developing a direct mode connection for this SDK at the moment - like Steve pointed out in the issue you linked, there are several reasons for this. If you'd like to leverage this functionality, I'd recommend you consider using our Java or .NET SDKs instead.


PSA: Shared code between module-specific integration work

This PR replaces #2184.
Summary: This PR adds common code used by the various module-specific PSA integration PRs. Specifically:

It adds a header mbedtls/psa_util.h containing several helper functions, e.g. slot allocation and identifier translation.
It initializes PSA Crypto in the tests and ssl_server2 and ssl_client2.

This might further expand over time and so far contains only the functions introduced by @mpg and @AndrzejKurek in PRs #2162 and #2159.
@AndrzejKurek @mpg Please let me know what else you need and I'll add it here.
Note: will need rebasing on the submodule work before merging! The "DO NOT MERGE" label can be removed once it's done.
Internal Reference: IOTSSL-2621.

Note: regarding the discussion that started in the previous incarnation of this PR about whether we should guard case statements with #ifdef: I'm not fully convinced by Hanno's arguments, and I'll note that currently some functions use them and some don't, but I don't think it's worth arguing about it at this point. IMO both approaches are good enough and we're very likely to revisit all of this very soon anyway, so in the interest of keeping things moving, I'll approve the PR even if some switch statements include #ifdefs and others don't.

@mpg Thank you for your review! I added the requested warning in https://github.com/ARMmbed/mbedtls/pull/2206/commits/552a5a4c9e15eebc859689b3bae0dcdc26ebfdd9. Could you please re-review?

@mpg I rebased on top of the latest feature-psa which now includes all PSK code we need. You can see that the diff with the old PR consists of PSA implementation code only.

MBEDTLS_USE_PSA_CRYPTO still needs to be excluded from config.pl full.

@mpg @AndrzejKurek @k-stachowiak I rebased this PR on top of development-psa. Please re-review.
Manual changes were the addition of -D USE_CRYPTO_SUBMODULE=1 to the section in all.sh exercising MBEDTLS_USE_PSA_CRYPTO, as well as adding a call to config.pl set MBEDTLS_PSA_CRYPTO_C.


Google fonts bug

I'm getting the following error with prefixfree enabled on my site:
XMLHttpRequest cannot load http://fonts.googleapis.com/css?family=Ubuntu+Condensed. Origin http://www.andreaverlicchi.eu is not allowed by Access-Control-Allow-Origin
All ok if prefixfree is disabled.
Check it here:
http://www.andreaverlicchi.eu (prefixfree is now disabled by default, waiting for fixes)
http://www.andreaverlicchi.eu/?prefixfree=enable
Thank you in advance.

Is it fixed now?
Btw (and that's completely unrelated to prefixfree) I would recommend using the @import that Google Fonts provides. As it currently stands, if you want to change the font, you also have to change the markup, which is a kinda bad practice.

Right. Thank you for the advice.
Btw, how can I get the latest version of prefixfree without having to download it and upload it to my site at every update?
Inviato da iPhone
Il giorno 17/ott/2011, alle ore 03:04, Lea<EMAIL_ADDRESS>ha scritto:

Is it fixed now?
Btw (and that's completely unrelated to prefixfree) I would recommend using the @import that Google Fonts provides. As it currently stands, if you want to change the font, you also have to change the markup, which is a kinda bad practice.
--
Reply to this email directly or view it on GitHub:
https://github.com/LeaVerou/prefixfree/issues/15#issuecomment-2424019

Fixed!

For anyone else with this problem and looking at this issue, the solution to this problem was changed here https://github.com/LeaVerou/prefixfree/pull/39


tooling: Improve handling of duplicate migration numbers after rebase.

Currently, if you have a branch with a new migration, and you rebase onto master past someone else's migration, you have to manually renumber your migration.
It would be great to improve this in a couple of ways.

Write a script that automatically renumbers the migrations.
Update http://zulip.readthedocs.io/en/latest/schema-migrations.html (the section "Numbering conflicts across branches").
Update the advice given by tools/test-migrations in this case. (The advice should be to run the script you created above, plus a link to the documentation.)

Where exactly do I have to keep the script file? I really would like to try this one.

Great, thanks! tools/ directory seems like a good place

@zulipbot claim


Gltf importer doesn't import skeleton(s) correctly

Godot version:
Patched version of 99960d929435423b25e9bfb55051af60edbfcca9
OS/device including version:
gtx 1080. I don't think driver versions are related.
Issue description:
Gltf2 skeletons don't import correctly. It also breaks my gltf2fbx workflow.
License: Creative Commons Attribution
stepladder.zip
TheDrone (https://sketchfab.com/thedrone)
https://sketchfab.com/models/7ece1ee1b602436dbcfb77e4f58ba8e5# (See the animation playback online)
Steps to reproduce:

Import gltf2 by placing in a folder inside of the project
Play the animation. See that is is scaled incorrectly.

[ ] I searched the existing GitHub issues for potential duplicates.

Even if you scan the entire root to .01 xyz. The skeleton is incorrect.

gltf2_demonstration_project.zip

@RandomShaper https://github.com/KhronosGroup/glTF-Blender-Exporter/tree/master/polly This model fails to be imported in gltf2. Reduz said to ping you.

@reduz Seems to be related to https://github.com/KhronosGroup/glTF-Sample-Models/issues/83#issuecomment-334140006

Thanks. So RiggedFigure doesn't work in Godot even with your patch. Am I right?

@RandomShaper Tried with EmaSimpleSkin.dae converted to gltf2 using modo.
https://i.imgur.com/JUvd5bz.png
Sample model was from https://github.com/mrdoob/three.js/issues/11644

This issue hasn't changed after #18032, right?

Let me try it on master.

Thanks. It was just to be sure there's still an issue to investigate.

Works as of 5b70ad9d34d2777e3abd0a13118442eb132aff70


zdumpster updates

Readme.md updates ( changed my username and added the link to bomber profile instead of " me" )

License.md updates ( changed my old to my new username)

07-08-2024 > skidpaladin


Make Triton VM easy to run

It should be easy to run Triton VM. It's not so easy right now, and there aren't instructions.
There are two scenarios:

Import Triton VM in a Rust project, e.g. for benchmarking. Inclusion in zkp-compiler-shootout is one goal. The success criterion: It should be possible to import triton-vm as a dependency and use one easy to guess constructor for running the VM (*cough* #150 *cough*) by feeding it a program in the form of a &str and field elements in the form of u64s.
Run Triton VM as a command-line tool; Andrew Milson's demo of ministark is a good example; basically one sub-command for proving and dumping something into a file (or stdout), and another sub-command for verifying by reading that file (or stdin).

The first point is addressed by the resolution of #150, updated and improved documentation, and the scaffold repository.
The second point is extracted into #238.


Avoid an unnecessary pass in the copier, because Traverse does visi…

…t the root unit namespace and so traverses all of the members of that. It just doesn't traverse the  type so that still needs to be done.

cc @trylek @morganbr @vitek-karas @tijoytom

@trylek

Nick, can we port this optimization to our internal version too once that gets merged in

If we merge this and nmirror -> master then it will merge to the internal copy automatically. I haven't merged master to nmirror before because there were no substantive changes in master until this. I think we should decide on how to run tests before merging to nmirror. Is that something you can help with?

Please squash the two commits in this PR into one commit. Thanks!

OK, I have just locally verified that this code path is actually exercised in the .NET Native "ForwardRelocatedTypes" transform so basically every .NET Native compilation runs it. That makes me pretty confident w.r.t. test coverage for the change. I have already verified that it passes single-file unit tests, I'll kick off a precheckin test.


Add comparatives __gt__ and  __ge__

Add comparatives __gt__ and __ge__ (and by default lt and le as the sorting is symmetric)

@oselz Hello. Thanks for your contribution!
Could you check the lock file and update it? I added support for Python 3.12 in the main branch.

@oselz Hello. Thanks for your contribution! Could you check the lock file and update it? I added support for Python 3.12 in the main branch.

Hi @akhundMurad, I've rebased this PR to your updated main.  Hopefully should test ok now.


Failed at [C:\vcpkg\toolsrc\src\vcpkg\vcpkglib.cpp(216)] with message: no such file or directory

Currently I installed WSL (ubuntu version) on my pc, and use the commands as blow to create a Linux version of vcpkg executable:
cd /mnt/c/vcpkg
./bootstrap-vcpkg.sh

after this, no matters what packages I want install, it will build, while failed with an error when installing:
Failed at [../src/vcpkg/vcpkglib.cpp(216)] with message:
No such file or directory

for example of ./vcpkg install tinyxml2:x64-linux:
Computing installation plan...
The following packages will be built and installed:
    tinyxml2[core]:x64-linux
Starting package 1/1: tinyxml2:x64-linux
Building package tinyxml2[core]:x64-linux...
-- Using cached /mnt/c/vcpkg/downloads/leethomason-tinyxml2-8.0.0.tar.gz
-- Using source at /mnt/c/vcpkg/buildtrees/tinyxml2/src/8.0.0-5a686de2e4
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Fixing pkgconfig
-- Fixing pkgconfig - release
-- Checking file: /mnt/c/vcpkg/packages/tinyxml2_x64-linux/lib/pkgconfig/tinyxml2.pc
-- Fixing pkgconfig - debug
-- Checking file: /mnt/c/vcpkg/packages/tinyxml2_x64-linux/debug/lib/pkgconfig/tinyxml2.pc
-- Fixing pkgconfig --- finished
-- Installing: /mnt/c/vcpkg/packages/tinyxml2_x64-linux/share/tinyxml2/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package tinyxml2[core]:x64-linux... done
Installing package tinyxml2[core]:x64-linux...
Failed at [../src/vcpkg/vcpkglib.cpp(216)] with message:
No such file or directory

I want to debug with GDB to find what's going on in vcpkglib.cpp, but the GDB said that vcpkg do not have symbols:
(gdb) file ./vcpkg
Reading symbols from ./vcpkg...(no debugging symbols found)...done.

I'd like to help, so can anyone tells me how to debug vcpkg (either on Linux or Windows)?

Anybody knows how to build a debug version of VCPKG? It seems that it only build a release one with out debug symbols.

./vcpkg install tinyxml2:x64-linux --debug
?

@Voskrese I mean debug version of executable "vcpkg"

why? what will it give?
open .../src/vcpkg/vcpkglib.cpp -- str (216)
open portfile tinyxml2
vcpkg edit tinyxml2

@Voskrese
It gives me debug symbols so that I can debug with GDB because I cannot figure out what's wrong just from the source file.

Hi @psionic12
Thanks for posting this issue.
@ras0219-msft
Could you please help take a look about this issue?

@NancyLi1013 I found that if the error happened, both Windows and WSL sides will report No such file or directory error, I had to deleted the vcpkg directory and re-download the whole project.
And what's more, I use x64-windows triplet.
Hope these can help you.

@psionic12
Thanks for your above info.
I cannot reproduce this issue on Windows, WSL and Linux.
On WSL and Linux, you should use x64-linux triplet and on Windows, it should be x64-windows.
Could you please try to rebuild this in a new vcpkg repo?

Hi @NancyLi1013, did you use the same vcpkg directory both in Windows and WSL? I may not mentioned clearly, here are more details:
I put my vcpkg project at C:\, and it works well. And then I enable the WSL and installed Ubuntu 18.04 from Windows Store.
Then I accessed the vcpkg folder (which is originally on Windows C:/) from /mnt/c/vcpkg (where the C partition mounted), then run the script  bootstrap-vcpkg.sh
The key information here is that I use the exactly the same vcpkg through different systems.

@psionic12
Thanks for clarifying this. Now I see what you want to express.
But I didn't encounter the same error with you.
vruil@ruiltest01:/mnt/f/tools/vcpkg$ ./vcpkg install tinyxml2:x64-linux
Computing installation plan...
The following packages will be built and installed:
    tinyxml2[core]:x64-linux
Detecting compiler hash for triplet x64-linux...
Starting package 1/1: tinyxml2:x64-linux
Building package tinyxml2[core]:x64-linux...
Could not locate cached archive: /home/vruil/.cache/vcpkg/archives/64/6415a0267e4ce38392d7d424b7cc05d72f1524c5.zip
-- Using cached /mnt/f/tools/vcpkg/downloads/leethomason-tinyxml2-8.0.0.tar.gz
-- Cleaning sources at /mnt/f/tools/vcpkg/buildtrees/tinyxml2/src/8.0.0-5a686de2e4.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /mnt/f/tools/vcpkg/downloads/leethomason-tinyxml2-8.0.0.tar.gz
-- Applying patch fix-symbol-exports.patch
-- Applying patch fix-debug-postfix.patch
-- Using source at /mnt/f/tools/vcpkg/buildtrees/tinyxml2/src/8.0.0-5a686de2e4.clean
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Fixing pkgconfig
-- Fixing pkgconfig - release
-- Checking file: /mnt/f/tools/vcpkg/packages/tinyxml2_x64-linux/lib/pkgconfig/tinyxml2.pc
-- Fixing pkgconfig - debug
-- Checking file: /mnt/f/tools/vcpkg/packages/tinyxml2_x64-linux/debug/lib/pkgconfig/tinyxml2.pc
-- Fixing pkgconfig --- finished
-- Installing: /mnt/f/tools/vcpkg/packages/tinyxml2_x64-linux/share/tinyxml2/copyright
-- Performing post-build validation
-- Performing post-build validation done
sh: 1: zip: not found
Failed to store binary cache /home/vruil/.cache/vcpkg/archives/64/6415a0267e4ce38392d7d424b7cc05d72f1524c5.zip: Invalid cross-device link
Building package tinyxml2[core]:x64-linux... done
Installing package tinyxml2[core]:x64-linux...
Installing package tinyxml2[core]:x64-linux... done
Elapsed time for package tinyxml2:x64-linux: 9.753 s

Total elapsed time: 12.48 s

well... so you can use the same directory both in windows and WSL, right?
By the way do you know how to build a debug version of vcpkg executable on Ubuntu? With debug version with debug symbols I may figure out what happened in my case.

You might try to use gdb to debug.
BTW, does this issue only happen on tinyxml2 or not?

I'm sorry, I have no idea about this now.
Could you please try to clone vcpkg to another directory (which is not in C:) and rebuild this again?

Does this issue still exist on your machine?

Yes it does, and currently I use two machines for different operating system, I think it's acceptable to close this issue if no others occurs this problem.

Considering this special case and I cannot reproduce it. So I'm closing this issue for now.
Please feel free to reopen it if anyone else also happens the same problem.


Share sheet images cannot be copied to Aves

Describe the bug
When you share an image to Aves through the share sheet, you can't copy it to an album.
To Reproduce
Steps to reproduce the behavior:

Find an app that has shareable images. This could be done by searching for an image online and long pressing it to share.
Open the share sheet for that image
Select "Aves"
Tap the three dots
Select "Copy to album"
Select an album to copy to
It will say "Failed to copy 1 item"

Expected behavior
The image should be copied to the album you selected
Additional context
It would be nice if images shared to Aves get automatically downloaded. I can open a feature request, since there is no option under "Export"

I've just tried it and copy worked in my case.
Could you try again, and at step 4 instead of copying go to the Info page, take a screenshot of that page and attach it here?

And please paste your system info and logs from About > Bug Report (best is to save the logs right after you get the issue).

This works, but won't save it to the device, though.

Sorry for the confusion. I meant copy to album worked (not copy to clipboard).
Anyway, thanks for following up. I'll take another look.


Explorer should allow basename with dot

VSCode Version: v1.26.1 (1.26.1)
OS Version: macOS High Sierra v0.13.6
When doing @reasonml, it's very annoying to have all those **.bs.js files generated (just like it was with @typescriptlang at the beginning), so I tried to ignore them in my file tree but it doesn't seem to work.
Steps to Reproduce:

Add this to your settings.json

{
  "files.exclude": {
    "**/*.bs.js": { "when": "$(basename).re" }
  }
}

Reload, go to file explorer and see that you can still see the *.bs.js generated files. ⚠

Does this issue occur when all extensions are disabled?: Yes

In order to fix this I suggest to introduce a new option to the IGlobOptions
Something like allowBasenameWithDot and only explorer would opt into this.
Though @bpasero would be better to comment on the glob.ts

@rebornix did you accidently close this one maybe?


Steam Login proxy error

Hello. Soo i wanted to test this site out on my localhost. Site came up and once i clicked on steam login this error message came up:
Proxy error: Could not proxy request /auth from localhost:3000 to http://localhost:3001/.
[1] [HPM] Error occurred while trying to proxy request /auth from localhost:3000 to http://localhost:3001/ (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
i downloaded the whole project and did npm to all package folders. and then run the project by npm start.
Im testing it on windows 10 using node 8.11.03 and npm. Im glad if you guys could help me out!!!

Try running without port, meaning you can run on port 80

Well i got finally it work on windows development XD steam id was missing thats why it gave me that rpxoy error....For windows i needed to edit package json.Now it all good xD


Bug - Simulator Navbar disappears at the end of tutorials guide

Describe the bug
The end msg of the tutorials guide goes out of the screen and makes the navbar disappear. reloading is required to restore everything in a normal state
To Reproduce
Steps to reproduce the behaviour:

Go to 'circuitverse.org/simulator'
Click on 'help-->tutorials guide'
click next till the last msg appear
See error

Expected behavior
msg must not go out of screen and navbar shall not disappear
Screenshots

Are you working on this issue? (Yes/No)
No

I want to work on this issue

Go ahead!!

Go ahead!!

Sure


[alert addSubview:pickerView];

It would be awesome if I could add views, like a picker to ARAlertController.
I've already decided to use this is another project, for the alert functionality.
Thought I'd try the action sheet stuff in another, however I couldn't addSubview.
Any workarounds ?
Thanks in advance
Jules.

Sadly not natively supported, to add subviews i recommend wimagguc/ios-custom-alertview.
Thank you @Jules2010


Allow options to be passed down into slackclient instance

Currently it's not possible to start rtmbot with custom options for the underlying slackclient instance.
Related: #86

Related: https://github.com/slackapi/python-rtmbot/pull/4


Normalise MAC addresses to upper case in dhcpd.host

If dhcpd.host.erb normalises all MAC addresses into upper case then this makes duplicate MAC address detection easier.
In our use case XenServer only notices MACs are duplicated if they are the same case so we want to ensure that everywhere MACs are used they are in upper case.

Great, thanks for the contribution @drt24 !


probe-rs loses connection with stm32 if stm performs flash write

defmt version: overlap-fix#0ceade69
I am using stm32g081. In my app first couple of flash pages are allocated to bootloader and configuration.
When using defmt and at the same time stm32 tries to write to configuration page, communication with the probe will be lost:
0.000000 INFO app info: v0.9.2 hw: 8 ts: 0
Error: A core architecture specific error occured

Caused by:
    0: Failed to read register DRW at address 0x0000000c because: An error specific to a probe type occured
    1: An error specific to a probe type occured
    2: Command failed with status SwdDpWait

Maybe it is possible to reattach to the target without flashing it again?
Currently I run it as cargo rrb um8
Edit:
Unfortunately currently it is impossible:
probe-run um8 --chip STM32G081KBUxN --defmt --no-flash
error: The argument '--defmt' cannot be used with '--no-flash'

Does this issue also occur with rtt-target + cargo-embed? If yes, then this could be an upstream issue and should be reported to the probe-rs issue tracker.
I'm only familiar with the low level details of CMSIS-DAP + SWD (I'm not sure which probe you are using. st-link?) but RTT running in parallel to device-side Flash operations seems like it should be allowed at the architecture (ARM Cortex-M) level. Now if the stm32 chips in particular disallow this I wouldn't know.

Hi @andresv,
Does this problem persist when using the v0.2.0 of probe-run and defmt?

I am currently running into this with v0.1.x. I'll try to upgrade my stack to v0.2.0, and check if it still persists.
I would expect so though, as i had a chat with the probe.rs guys, who told me that it might be an ST-link v2 issue, that cannot be resolved by them.

Confirmed, this is still an issue with
probe-run --version
0.2.1
supported defmt version: 0.2

and defmt = "0.2.0"

Okay. Good to know it still persists.

I would expect so though, as i had a chat with the probe.rs guys, who told me that it might be an ST-link v2 issue, that cannot be resolved by them.

@MathiasKoch: Could you please quickly summarize what the probe-rs people told you? And if you think this could be resolved on our side?

MathiasKoch

 (HOST) DEBUG Scanning at exact address: 0x20000000
└─ probe_rs_rtt::rtt @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-rtt-0.10.1/src/rtt.rs:163
(HOST) DEBUG Read mem 8 bit, address=20000000, length=24
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:859
(HOST) DEBUG Read mem 8 bit, address=20000018, length=24
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:859
 (HOST) DEBUG Read mem 8 bit, address=08008dfc, length=64
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:859
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:700
 (HOST) WARN  too many retries, giving up
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:715
 (HOST) DEBUG Read mem 32 bit, address=e0002000, length=4
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:793
 (HOST) DEBUG Current device mode: Jtag
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs->0.10.1/src/probe/stlink/mod.rs:402
Error: Error communicating with probe: An error with the usage of the probe occured

Caused by:
   0: An error with the usage of the probe occured
   1: An error specific to a probe type occured
   2: Command failed with status SwdDpWait

dirbaio

https://github.com/probe-rs/probe-rs/pull/370/commits/e889c664ca4dda039c153b27aad51c1f125065d0
fixed in 0.10

yatekii

yep, as you can see, new probe-rs retries :)
but apparently not long enough

dirbaio

still fails? O_o
@yatekii:matrix.org
yeah, see log =)

MathiasKoch

for attempt in 0..13 { why 13 ? :p
@yatekii:matrix.org

MathiasKoch

That changed it a bit
(HOST) DEBUG Scanning at exact address: 0x20000000
└─ probe_rs_rtt::rtt @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-rtt-0.10.1/src/rtt.rs:163
(HOST) DEBUG Read mem 8 bit, address=20000000, length=24
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:859
(HOST) DEBUG Read mem 8 bit, address=20000018, length=24
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:859
(HOST) DEBUG Read mem 8 bit, address=08008dfc, length=64
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:859
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  send_jtag_command 242 got SwdDpWait, retrying
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:700
(HOST) WARN  too many retries, giving up
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:715
(HOST) DEBUG Read mem 32 bit, address=e0002000, length=4
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:793
(HOST) DEBUG Current device mode: Jtag
└─ probe_rs::probe::stlink @ /home/mathias/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-0.10.1/src/probe/stlink/mod.rs:402
Error: Error communicating with probe: An error with the usage of the probe occured
Caused by:
0: An error with the usage of the probe occured
1: An error specific to a probe type occured
2: Command failed with status SwdDpWait
this one

dirbaio

it does exponential backoff
it's supposed to wait for up to ~1s
very strange that the core stays busy for THAT long

MathiasKoch

feels like they are instant.. defo not 1 sec between the last two log statements atleast

dirbaio

maybe it's buggy, or maybe what's failing is in another code path?
ah no, it is retrying
is it not sleeping?

MathiasKoch

the uC?
it basically happens in
fn wait(&mut self) -> Result<(), Error> {
   while self.sr.sr().read().bsy().bit_is_set() {}
   self.status()
}

dirbaio

no, probe-rs
https://github.com/probe-rs/probe-rs/blob/master/probe-rs/src/probe/stlink/mod.rs#L714

MathiasKoch

doesn't feel like it.. Will try to patch probe-rs and have a check

dirbaio

the last sleep is 100<<11 which is ~0.2s
the total sleeps should add up to ~0.4s

MathiasKoch

ahh, in that case it might be sleeping, not sure i can distinguish at that level ;)

dirbaio

maybe increase the counter :P
the retry limit*
in that case it'll be obvious?

MathiasKoch

i'll se it that helps

dirbaio

or maybe sleeping is not the right approach? maybe it's better to retry in a hot loop?
like, if the core is busy 99% of the time retrying in a tight loop maximizes the chances of hitting the 1%

MathiasKoch

doesn't seem like it will ever get ok? now i have increased it to 20, and there are VERY long between..

MathiasKoch

Same result
for attempt in 0..250000 {
    self.device.write(cmd, write_data, read_data, timeout)?;

    match Status::from(read_data[0]) {
        Status::JtagOk => return Ok(()),
        Status::SwdDpWait => {
            // log::warn!("send_jtag_command {} got SwdDpWait, retrying", cmd[0])
        }
        Status::SwdApWait => {
            // log::warn!("send_jtag_command {} got SwdApWait, retrying", cmd[0])
        }
        status => {
            // log::warn!("send_jtag_command {} failed: {:?}", cmd[0], status);
            return Err(From::from(StlinkError::CommandFailed(status)));
        }
    }

    // Sleep with exponential backoff.
    std::thread::sleep(Duration::from_micros(100));
}

too many retries, giving up after 25 seconds
Guess the issue lies elsewhere?

yatekii

yeah I mean the problem is that we have no contro9l over the API here
the ST-Link just tells us some error code and we have to trust it and believe that it fixes the issue
MathiasKoch**
it basically happens in
fn wait(&mut self) -> Result<(), Error> {
while self.sr.sr().read().bsy().bit_is_set() {}
self.status()
}
what if your read here never resolves to bit set and thus it is in waiting state forever?

MathiasKoch

Yeah, that might be a valid issue.. But would that result in RTT crashing? i would have expected it to just be kinda idle?

dirbaio

yeah the mcu hanging somewhere shouldn't result in probe-rs exploding

MathiasKoch

Well, commenting out that wait doesn't seem to change anything

yatekii

well, that is something the toplevel user has to handle :)
that's why we return an error :=
also if it does not resolve that wait for that long, it might as well just shut down and display a hint
I'll def regard that in cargo embed v2 :)

dirbaio

the DP getting stuck is something the user has to handle?
how should the user handle it?
also
https://developer.arm.com/documentation/ddi0413/c/debug-access-port/sw-dp/protocol-description
Normally, when a debugger receives a WAIT response it retries the same operation. This enables it to process data as quickly as possible. However, if several retries have been attempted, and time permitted for a slow interconnection and memory system to respond, if appropriate, the debugger might write to the ABORT register. This signals to the active access port that it must terminate the transfer that it is currently attempting. An access port implementation might be unable to terminate a transfer on its ASIC interface. However, on receiving an ABORT request the access port must free up the SWD interface.
we're doing the retry thing, but not the ABORT thing

MathiasKoch

How would i go about debugging this further?
My knowledge of debugger probes is zero to none btw :)

dirbaio

the DP getting stuck is something the user has to handle?
well, how should we handle it? ;) I mean we can return an error "DP stuck". but what if it indeed takes longer? no way to get around. not nice!

dirbaio

pyocd does do ABORT
https://github.com/pyocd/pyOCD/blob/master/pyocd/probe/stlink/stlink.py#L72
https://github.com/pyocd/pyOCD/blob/db238bb515f8cc4d5d8825ade67cec015b1377a3/pyocd/coresight/dap.py#L798

yatekii

well, the thing is that the HLA of the ST-Link should already do this.
we do it for J-Link already.
so maybe we have to do it for ST-Link too, I am not sure
it's a blckbox

dirbaio

yeah it's horrible

yatekii

I mean, some registers litterally can't be written via ST-Link.
We should definitely try if we can fix it like this :) but I do not believe in success tbh. because for the J-Link the wait/fault responses were crazy amounts and it didn't work before
tiwalun implemented all the bits to handle them properly. we never had that problem with ST-Link/CMSIS-DAP because they do it for us already
so I do not have high hopes but it's worth a shot

dirbaio

you think the stlink itself already does the retry/abort?

yatekii

yap

dirbaio

and if it returns SwdDpWait to us it means it already did retries and gave up?
hmm
:S
the retry code I added did fix issues for me though
with nrf52+stlinkv2
haven't personally seen a SwdDpWait error since

yatekii

I mean I was always in the belief that it works like this. I wont rule out I am dead wrong lol

dirbaio

https://github.com/pyocd/pyOCD/issues/714
stuff's broken on pyocd too lol

dirbaio

let's port hs-probe-firmware to the chips used in stlinks, and tell people to flash them 😜
no more stlink nonsense

yatekii

^
I already discussed that with
tiwalun a few times :) I mean there is no good way unfortunately :D
what sets me off about this error is this:
flashing works fine without issue
but that uses the flash too
so I feel like this is really some kind of user error that keeps the bus busy forever. then again idk at all :D

dirbaio

you mean something like: the fw running inside the mcu is spamming the bus, so swd never has a chance to do stuff?
could be 🤷♂

yatekii

that is my assumption

dirbaio

it's horrible design if the mcu has higher bus priority than swd though O_o

yatekii

yeah, but there is different layers in the SWD layer too :)
I believe some have prio over others
the thing is: we might evenm be able to abort the flash procedure from SWD but do we want that? that'd lead to absolutely unpredictable FW weirdness in some cases involving the debugger

MathiasKoch

Hmm.. Updated the stlink FW.. No luck

dirbaio

I thought the ABORT aborts ap/dp transaction, not mcu transactions

yatekii

ah, I didn't mean that. I mean we could with some other command.

dirbaio

halting the core? but probe-rs does that already right?

dirbaio

I thought the ABORT aborts ap/dp transaction, not mcu transactions
ABORT does not really help if the CPU locks forever. so yeah ^^

dirbaio

halting the core? but probe-rs does that already right?
yeah but at points where specifically instructed to do so.
not just randomly on some timeout ^^
or rather: halting is okay
but not altering the control flow at some random point
imagine trying to use flash from your FW and the debugger always cancels the transfer because it takes a split second too long :D
I would become mad nuts :D

dirbaio

yeah it sucks 💩
I'd try the ABORT in the retry loop though, it's something we haven't tried and the ARM docs explicitly say to do that

yatekii

yes, ofc, I agree it's worth a try!

So the consensus is to try the ABORT, but more generally just not use this debugger?

Basically, the ST-Links are unpredictable because they do not have a documented interface. The issues we have in probe-rs are issues with other libs sometimes too and sometimes they handle things better. It's something that will get better over time with more time thrown onto the problem. As long as probe-rs is unpaid work, I doubt anyone is willing to invest substantial amounts of time for the remaining 5% of issues when one can use a properly documented probe and invest that time into solving actually unsolved problems.
We can try the ABORT fix; it should not be hard. We'll see.

Thanks for your answer @Yatekii! To help people stumbling upon this issue, could you maybe tell what probe would you recommend from a user experience and developer experience perspective?
Else I'd close this here and defer to probe-rs. Please send a small update in case there is progress!

So, hardware wise, the ST-Link is not bad. The same goes for the J-Link. But they both have a closed source interface which was partially reverse engineered.
The third probe type of the ones we support at the moment is the CMSIS-DAP. There is v1 and v2. v1 is limited in speed by USB HID (~20kBit actual transfer speed). v2 is actually really fast and can, if the chip allows it go to a few hundred kbit/s. Then it hits the limit of SWD and the on chip flash.
The cool thing about CMSIS-DAP is that it is open source. So we decide about every detail of the dependency chain basically :)
The problem with CMSIS-DAP is that there is more or less only "devkit-probes" which kind of require you to flash the firmware yourself and are a barebones PCB. For most people this is not an issue.
At this point I'd like tho throw in the hs-probe: https://docs.google.com/forms/d/1id0tnkM3Ail0QE4CNcp19bbWmHBvWrO-tu5cQtQ8Azc/ into the ring.
We are currently finalizing the orders for the first batch which got only held up by Chinese NY.
The hs-probe features a 100% Rust firmware with an implementation of CMSIS-DAP v1 and v2. It can also be used to program FPGAs. Currently we make no money of this (we have a little bit of safety margin, in just in case which would go into the probe-rs fund), so I hope it's ok to advertise this.

Thank you for your thoughts on the probes!
And hs-probe seems like an awesome project 🤯  Props for this 👏🏾

All props to @korken89, @disasm and @adamgreig :)


Execution of preseed command fail with exit code 1

Issue appears to be related to the execution of the getting first-boot folder. Specifically, the ftp command appears to not get the correct content required by later commands.


Question about Numerical Differentiation v Automatic Differentiation Comparison (Figure 3)

Hello,
If you get a chance, could you please clarify which numerical differentiation method was used for Figure 3 for the comparison between numerical and automatic differentiation? Is it the center difference (2nd order method), or just the 1st order method? It was shown that the 2nd order method achieves lower FID score, but in the Algorithm 1, 1st order method is specified for numerical differentiation in the PID training.
Also if possible, could I double check whether 1st or 2nd order method was used for numerical differentiation for the other comparison figures, and in general, which was used for the model training? If Algorithm 1 was used, then it must have been 1st order, but I'm not sure they were all based on Alg1.
Thank you for your help!

Thanks!

Great, thanks!


fix: schedule query option showing up

SUMMARY

The "schedule query" option in SQL Lab is showing up even when the feature is not configured... I suspect because of this change: https://github.com/apache/superset/pull/20256/files
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before:

After:

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

I was testing the 2.1 release last night and I noticed the same, took me a while to figure it out.


Look for JavaScript dependencies in lockfiles

Sometimes supported web or test frameworks are not direct
dependencies of the project but instead are transitively pulled
by another one; this is especially common with express.js.
AppMap should still work correctly with most of these projects.
To make this use case easier, make sure to look in package-lock.json
and yaml.lock in the project support detection in addition to package.json.
Fixes #711
NOTE Rebase the fixups before merging!

@dustinbyrne could you take a look at the fixup? This should take care of the issues you've raised.

Looks good!

:tada: This PR is included in version 0.86.0 :tada:
The release is available on:

v0.86.0
GitHub release

Your semantic-release bot :package::rocket:


Explain difference between "available balance" and "balance" or display only available balance?

With this enhancement https://github.com/hirosystems/wallet/pull/3525
Users can see the error in the image below (insufficient balance...):
When they have 350 STX in their wallet, and a pending transaction that will use 150 STX (100 STX transfer and 50 STX fee). There is only 200 STX available.
Showing two different values will lead to questions. Lets answer the likely question (A) or prevent the questions (B)?
A. By explaining the difference between available balance (shown on error) and the balance shown in the lower right corner.
I.e "Available balance takes into account pending transfers of STX and pending fees"
B. Or by showing available balance instead?
(...and other transactions with postconditions that suggest outgoing STX - https://github.com/hirosystems/wallet/issues/3568).

Because of a pending transaction like this (100 STX going out, and 50 STX fee)

@mica000 It seems most intuitive we just show available balance throughout the wallet?

We've started a document to better define the various balance types here: https://www.notion.so/Balances-UX-905c93b633b84e05a1428c1a9087ab82
Related design exploration: https://www.figma.com/file/aIhESuca3xWkJ7efpaivbV/Balances?node-id=0-1&t=hPcsHgJuzC0wTsea-0


Fill in wiring

Overview
See issue #10 for greater context
As part of an effort to streamline the course, it was agreed that filling in the 'wiring' ahead of time would be a positive change. The amount of time currently spent by presenters rushing through and filling making changes to AppRuntime and AppRoutes just adds unnecessary noise to the course and is thought of as 'low impact' in teams of what we are trying to teach students.
In Scope

Wiring for GET movies endpoint
Wiring for GET movie endpoint
Wiring for GET enrichedMovie endpoint
Wiring for POST movie endpoint
Wiring for POST movie/id/review endpoint

Out of scope

Wiring for endpoint ?

Questions

What endpoint is most appropriate to not fill in?

How can we indicate that we have already filled in the wiring, and point curious students in the right direction?

I think GET movie is appropriate to not fill in. It's the first endpoint the students work on.
👍 agree

How can we indicate that we have already filled in the wiring, and point curious students in the right direction?

I wonder if we can have two files, one filled out we use in course, and one not filled out that people can do themselves? That also might be a nice pattern to be like "here's some extra work to test your knowledge if you want"
But yes also READMEs should be useful and up to date

I updated the comments and the README to communicate these things accurately


Add time split support

I took a stab at adding the newer valueTimeSplit tags. I needed to grab the nested remoteItem from the parent valueTimeSplit tag, and modified getItemsWithAttrs to return another level of nestedTags.
The new valueTimeSplits are returned alongside the valueRecipients list that was already there
e.g.
{
  method: 'keysend',
  suggested: '0.00000005000',
  type: 'lightning',
  recipients: [
    {
      address: '03...a3',
      customKey: 'key',
      customValue: 'value',
      name: 'Some recipient',
      split: '5',
      type: 'node'
    }
  ],
  timeSplits: [
    {
      startTime: '20.051',
      duration: '98.35102',
      remotePercentage: '90',
      feedGuid: '53...48',
      itemGuid: '1e...60'
    }
  ]
}

I tested this change with a feed that was lacking valueTimeSplit tags and the code produces a value block with an empty array:
{
  method: 'keysend',
  suggested: '0.00000005000',
  type: 'lightning',
  recipients: [<list-of-valueRecipients>],
  timeSplits: []
}


Does not work on Umbraco 7.3.2

When I tried to install the package on Umbraco 7.3.2 using NuGet, it throws the error at the end of the installation step as below:
Could not load file or assembly 'System.Web.Http.WebHost, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Then the whole Umbraco back office broken. I have tried to download the source code from master and rebuild the dll with Umbraco 7.3.4 - and copy the output dll to Umbraco/bin folder. However, then all of rule sets doesn't work

Did a build with 7.3.2 no problems here, so far

Hi there, I'd like to add that I've just attempted to install this on a site upgraded from 7.2.5 (were the package worked) and 7.3.5 were it breaks the site if you install it.
I get the following warning when starting the process in the back office package manager

Seems to be the same dependancy issue as reported by khoatran


WIP Update index.css removing remaining !important(s)

!important removal.
Description
!important removal as requested on issue #238
To-do list

[x ] If my change impacts other components, I have tested to make sure they don't break.
[x ] If my change impacts documentation, I have updated the documentation accordingly.
[ x] I have read the CONTRIBUTING document.

[x ] This pull request is ready to merge.

@tacoelho thanks for starting this work. If you want to, you can add WIP to your pr title and we will wait until you're done to review it. If it's ready for review now, let us know.

@GarthDB can you take a look at this one? IIRC you did some work on the Checkbox focus styles and were able to refactor it to not use !important.

@tacoelho thanks for starting this work. If you want to, you can add WIP to your pr title and we will wait until you're done to review it. If it's ready for review now, let us know.

Hi there, ready for review :)

@tacoelho I'm sorry, I should have made the issue clearer. The !importants are doing something right now. Just taking them out actually breaks the component in some way. The example of the calendar. Just taking out the border-bottom: none !important; makes it look like a dotted underline shows up.
Here's a screenshot of the current Calendar component on https://opensource.adobe.com/spectrum-css/2.13.0/docs/#calendar :

Here's a screenshot of the Calendar from this pull request:

So moving forward, if you're still comfortable working on it, I would recommend comparing the component between your fork and the current release to make sure that removing the !important doesn't break something visually.
To make things easier, I would also recommend making a pr for each component you work on. It would be easier to review and they aren't really impacting eachother.

@tacoelho I'm sorry, I should have made the issue clearer. The !importants are doing something right now. Just taking them out actually breaks the component in some way. The example of the calendar. Just taking out the border-bottom: none !important; makes it look like a dotted underline shows up.
Here's a screenshot of the current Calendar component on https://opensource.adobe.com/spectrum-css/2.13.0/docs/#calendar :

Here's a screenshot of the Calendar from this pull request:

So moving forward, if you're still comfortable working on it, I would recommend comparing the component between your fork and the current release to make sure that removing the !important doesn't break something visually.
To make things easier, I would also recommend making a pr for each component you work on. It would be easier to review and they aren't really impacting each other.

Hi @GarthDB
That would require more time and more attention. The best approach would be refactoring all the css files to get rid of these !importants and finding where some rules are overriding others. That would make the code more easier to maintain and compliable with modern css standards.

I'm going to go ahead and close this PR as each of these cases will require individual attention. Thanks @tacoelho!


Fix variable name

Hey, thanks for the project! A quick PR to fix a variable name in the readme.

Thanks!