General: Add exam live statistics documentation

Motivation and Context

Description

This PR adds some documentation for the newly implemented exam live statistics system.
Steps for Testing

View https://artemis-platform--5605.org.readthedocs.build/en/5605/user/exams/live_statistics/
View https://localhost:9000/features/instructors

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

@Santia-go That's a good idea - since I won't be available during the retake period, it would be good if you could take screenshots and replace them accordingly :+1:

@b-fein Thanks for your suggestions!


🐛 [cloud_firestore] First snapshot has cached data but should get permission-denied

Bug report
On macos, the first QuerySnapshot returned from CollectionReference.snapshots after a connection becomes active has data (which is seemingly cached?) even though it should get a permission-denied error. Immediately following this, a snapshot is received with no data and a permission-denied error.
On web, this does not happen, there's just one snapshot with the permission-denied error.
At first, I thought that I was incorrectly getting no data. But, I realized that the "test mode" rules that were automatically established when I created the project were now not allowing me to access the data.
These are the Firestore rules:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if
          request.time < timestamp.date(2020, 11, 14);
    }
  }
}

And the snapshots received in Flutter:
AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.active, Instance of 'QuerySnapshot', null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.active, null, [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.)

Expected behavior
The data isn't changing, so I wouldn't expect to receive more than one snapshot once the connection is active.

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 dev, 1.24.0-10.2.pre, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[!] Xcode - develop for iOS and macOS (Xcode 10.3)
    ✗ Flutter requires a minimum Xcode version of 11.0.0.
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.51.1)
[✓] Connected device (3 available)

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
- cloud_firestore 0.14.3 [flutter meta quiver firebase_core firebase_core_platform_interface cloud_firestore_platform_interface cloud_firestore_web]
- cupertino_icons 1.0.0
- firebase_core 0.5.2 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]

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

transitive dependencies:
- async 2.5.0-nullsafety.3 [collection]
- boolean_selector 2.1.0-nullsafety.3 [source_span string_scanner]
- characters 1.1.0-nullsafety.5
- charcode 1.2.0-nullsafety.3
- clock 1.1.0-nullsafety.3
- cloud_firestore_platform_interface 2.2.0 [flutter meta collection firebase_core plugin_platform_interface]
- cloud_firestore_web 0.2.1 [flutter flutter_web_plugins http_parser meta firebase_core firebase_core_web cloud_firestore_platform_interface js]
- collection 1.15.0-nullsafety.5
- fake_async 1.2.0-nullsafety.3 [clock collection]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.1 [firebase_core_platform_interface flutter flutter_web_plugins meta js]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- js 0.6.3-nullsafety.3
- matcher 0.12.10-nullsafety.3 [stack_trace]
- meta 1.3.0-nullsafety.6
- path 1.8.0-nullsafety.3
- plugin_platform_interface 1.0.3 [meta]
- quiver 2.1.3 [matcher meta]
- sky_engine 0.0.99
- source_span 1.8.0-nullsafety.4 [charcode collection path term_glyph]
- stack_trace 1.10.0-nullsafety.6 [path]
- stream_channel 2.1.0-nullsafety.3 [async]
- string_scanner 1.1.0-nullsafety.3 [charcode source_span]
- term_glyph 1.2.0-nullsafety.3
- test_api 0.2.19-nullsafety.6 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0-nullsafety.5 [collection]
- vector_math 2.1.0-nullsafety.5

That is expected behaviour - you can control the request of whether cache is used via https://pub.dev/documentation/cloud_firestore_platform_interface/latest/cloud_firestore_platform_interface/GetOptions-class.html

It sounds like the default is to attempt to fetch from the server first: attempt to fetch results from the server and fall back to the cache (which is the default)

Hi @mtcliatt
Could you paste the output for the same code on iOS?
Thank you

Sure, here's the output on iOS:
AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.active, Instance of 'QuerySnapshot', null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.active, null, [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.)

Seems like at the very least the behavior on web is differing here.
What version of the JS SDK are you importing in index.html? Are you able to provide a minimal complete reproducible code sample?

Seems like at the very least the behavior on web is differing here.

And the default behavior on macos and ios is not what is stated in the documentation.

What version of the JS SDK are you importing in index.html?

8.1.1 w/ firestore 7.20.0

Are you able to provide a minimal complete reproducible code sample?

The sample code on the Firestore usage page in the Flutter docs is an MRE: https://firebase.flutter.dev/docs/firestore/usage/#realtime-changes
For posterity, I'll include the code here:

class _MyHomePageState extends State {
  final Future _initialization = Firebase.initializeApp();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: FutureBuilder(
future: _initialization,
builder: (context, snapshot) {
if (snapshot.hasError) {
return Text('something went wrong...');
}
      if (snapshot.connectionState == ConnectionState.done) {
        final firestore = FirebaseFirestore.instance;
        return StreamBuilder<QuerySnapshot>(
          stream: firestore.collection('mycollection').snapshots(),
          builder: (context, snapshot) {
            print(snapshot);

            if (!snapshot.hasData ||
                snapshot.connectionState == ConnectionState.waiting) {
              return LinearProgressIndicator();
            }

            if (snapshot.hasError) {
              return Text('Something went wrong...');
            }

            return Text('Success.');
          },
        );
      }

      return Text('loading...');
    },
  ),
);

}
}

I can't repro this behavior on the latest flutter master 1.24.0-8.0.pre.373 with cloud_firestore: ^0.14.3.

flutter doctor -v
[✓] Flutter (Channel master, 1.24.0-8.0.pre.373, on macOS 11.0.1 20B29 darwin-x64, locale en-GB)
    • Flutter version 1.24.0-8.0.pre.373 at /Users/markus/development/flutter_master
    • Framework revision 8de72126e9 (9 hours ago), 2020-11-26 07:48:03 +0800
    • Engine revision 20caf54969
    • Dart version 2.12.0 (build 2.12.0-76.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/markus/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Users/markus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.6953283/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/markus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.6953283/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      � https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      � https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Connected device (4 available)
    • Nevercode’s iPhone (mobile) • b668e524315069f3db3661ac11ff1f66afafebdb • ios            • iOS 14.2
    • macOS (desktop)             • macos                                    • darwin-x64     • macOS 11.0.1 20B29 darwin-x64
    • Web Server (web)            • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)                • chrome                                   • web-javascript • Google Chrome 87.0.4280.67

• No issues found!

The behavior seems to be the same on all platforms (aside from a stack trace on web).

Android
I/flutter ( 4917): AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null, null)
W/Firestore( 4917): (21.7.1) [Firestore]: Listen for Query(target=Query(mycollection order by __name__);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
I/flutter ( 4917): AsyncSnapshot<QuerySnapshot>(ConnectionState.active, null, [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation., )
W/Firestore( 4917): (21.7.1) [WatchStream]: (ada63c8) Stream closed with status: Status{code=CANCELLED, description=Disconnecting idle stream. Timed out waiting for new targets., cause=null}.

iOS
flutter: AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null, null)
6.33.0 - [Firebase/Firestore][I-FST000001] Listen for query at mycollection failed: Missing or insufficient permissions.
flutter: AsyncSnapshot<QuerySnapshot>(ConnectionState.active, null, [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation., )
6.33.0 - [Firebase/Firestore][I-FST000001] WatchStream (282cf4718) Stream error: 'Cancelled: Disconnecting idle stream. Timed out waiting for new targets.'

Web
AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null, null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null, null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.waiting, null, null, null)
AsyncSnapshot<QuerySnapshot>(ConnectionState.active, null, [cloud_firestore/permission-denied] Missing or insufficient permissions., C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 216:49      throw_
packages/cloud_firestore_web/src/query_web.dart 161:7                                                                          <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 324:14  _checkAndCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 329:39  dcall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/async_error.dart 16:24                                         _invokeErrorHandler
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_pipe.dart 282:9                                         [_handleError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_pipe.dart 161:13                                        [_handleError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/zone.dart 1392:10                                              runBinaryGuarded
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_impl.dart 376:15                                        sendError
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_impl.dart 394:16                                        [_sendError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_impl.dart 294:7                                         [_addError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_pipe.dart 132:11                                        [_addError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_pipe.dart 97:9                                          [_handleError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_pipe.dart 161:13                                        [_handleError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/zone.dart 1392:10                                              runBinaryGuarded
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_impl.dart 376:15                                        sendError
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_impl.dart 394:16                                        [_sendError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_impl.dart 294:7                                         [_addError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/broadcast_stream_controller.dart 399:19                        <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/broadcast_stream_controller.dart 329:15                        [_forEachListener]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/broadcast_stream_controller.dart 398:5                         [_sendError]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/broadcast_stream_controller.dart 264:5                         addError
packages/cloud_firestore_web/src/interop/firestore.dart 286:54                                                                 <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 324:14  _checkAndCall
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 329:39  dcall
https://www.gstatic.com/firebasejs/7.20.0/firebase-firestore.js 1:228287                                                       <fn>
)

Thanks for testing. Since you weren't able to repro, I upgraded Flutter to the latest on dev which is 1.25.0-4.0.pre, which is now ahead of the version you tested, and I'm still able to reproduce unfortunately.

flutter doctor -v

[✓] Flutter (Channel dev, 1.25.0-4.0.pre, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-US)
    • Flutter version 1.25.0-4.0.pre at /Users/mtcliatt/code/flutter
    • Framework revision a7f5fd5360 (2 days ago), 2020-11-30 13:14:13 +0100
    • Engine revision 20caf54969
    • Dart version 2.12.0 (build 2.12.0-76.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/mtcliatt/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C505
    ! CocoaPods 1.8.4 out of date (1.9.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

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

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

[✓] Connected device (3 available)
    • macOS (desktop)  • macos      • darwin-x64     • Mac OS X 10.15.7 19H2 darwin-x64
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 87.0.4280.67

Can we re-add the "Needs Attention" label please?

Hey @mtcliatt, can you confirm you're still seeing this behaviour on macOS?


getLabelProps and accessibility

This is a really nice library, thank you.
I am seeing some accessibility errors (Missing form label, broken ARIA reference) and I guess I do not know how to use getLabelProps. In the base downshift library it seems straightforward but I start to get lost with the extra layer of abstraction. It seems that getRootProps should be getting the downshiftProps, which should contain the getLabelProps(). I don't know how to implement that though ... I'd appreciate a hint!

Thanks!  I've not done much accessibility work (and would appreciate PR's if we can make improvements here), but I think this might be what you're looking for:
<StarWarsSelect
      getInputProps={dowshiftProps => ({
        label: 'Star Wars character',
        labelProps: { /* ... */ }
      })}
    />

We might need to call downshift.getLabelProps() here as well.

Hey thanks for the reply. I only saw 4 accessibility issues, so am keen to explore and better understand the code (both yours and in the base downshift library) and hopefully offer suggestions. I'll open new issues with anything specific.

You are correct that downshift.getLabelProps() was needed, in order to find the label applied via the label property in mui-downshift getInputProps.
The aria-label properties on the buttons are required because the buttons themselves have no text, and assistive devices like screenreaders need to read something out.
I am only using an implementation in the "basic" story, but these small changes mean this is now AAA compliant which is a testament to material-ui, downshift, and the way you have brought them together. For info, you can use the WAVE Chrome extension for accessibility testing (although it doesn't work very well with the storybooks embedding).

@markau Thanks for the feedback and PR, I really appreciate it.  I've published your changes as version 1.2.0 if you want to take a look and let me know.


Public API Workspace

This is a workspace to demonstrate the potential of having a public workspace for your publicly available API, showing the building blocks of a public API and how you can engage with consumers--this issue is meant to drive conversation around what should be in there.

I have updated this to use the new space-themed APIs, rebranding to be about PM Corp enterprise APIs.


ImportError: cannot import name 'FeelingLuckyGenerator'

Describe the bug
When I updated the extension, I got this error in the terminal.
ImportError: cannot import name 'FeelingLuckyGenerator' from 'prompts.generators' (F:\repos\auto111\stable-diffusion-webui\extensions\sd-dynamic-prompts\prompts\generators\__init__.py)

Version used
Dynamic Prompts doesn't show in the scripts dropdown. But I just updated.
To Reproduce
Steps to reproduce the behaviour, include the prompt you used if applicable:

Updated extension
Saw error in terminal

Thanks for reporting this - I don't understand why it's happening. Is that the entire error message?
Regarding it not showing in the scripts dropdown, you should see it above the dropdown in its own section called Dynamic Prompts.
Do you by any change have an old version of the script in another folder? Perhaps under a different name in extensions or in the scripts folder?

I stopped and restarted the server, and I don't see the error anymore. So maybe it was because the server was running?
I do see the new scripts dropdown.
I don't have another version of the script or extension.

Since I don't see this error anymore, I'm closing this. Perhaps it was because the server was already running, and had to be restarted.

thanks - re-open if you see it again.


python3Packages.sqlalchemy_1: bring back 1.x for .databases

Upstream doesn't have a patch to support 2.x yet.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

I checked building ansible_2_12 ansible_2_13 ansible_2_14 (i.e. all our versions).

An alternative would be reverting the .sqlalchemy upgrade (commit de884ab68f1ddaa).

/cc staging-next PR #219444

Result of nixpkgs-review pr 220680 run on x86_64-linux 1

2 packages marked as broken and skipped:

python310Packages.pytest-ansible
python311Packages.pytest-ansible

11 packages failed to build:

ntfy
parsedmarc (python310Packages.parsedmarc)
python310Packages.ormar
python310Packages.slack-sdk
python310Packages.slowapi
python311Packages.ormar
python311Packages.parsedmarc
python311Packages.slack-sdk
python311Packages.slowapi
python311Packages.sopel
theharvester

43 packages built:

ansible (python310Packages.ansible-core)
ansible-later (python310Packages.ansible-later)
ansible-lint (python310Packages.ansible-lint)
ansible_2_12
ansible_2_13
etebase-server (python310Packages.etebase-server)
kargo
khoj
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-kernel
python310Packages.ansible-runner
python310Packages.aria2p
python310Packages.databases
python310Packages.dependency-injector
python310Packages.fastapi
python310Packages.fastapi-mail
python310Packages.geoip2
python310Packages.mocket
python310Packages.orm
python310Packages.sopel
python310Packages.sqlalchemy_1
ttp (python310Packages.ttp)
python311Packages.ansible
python311Packages.ansible-compat
python311Packages.ansible-core
python311Packages.ansible-kernel
python311Packages.ansible-later
python311Packages.ansible-lint
python311Packages.ansible-runner
python311Packages.aria2p
python311Packages.databases
python311Packages.dependency-injector
python311Packages.etebase-server
python311Packages.fastapi
python311Packages.fastapi-mail
python311Packages.geoip2
python311Packages.mocket
python311Packages.orm
python311Packages.sqlalchemy_1
python311Packages.ttp
soco-cli
spotdl

ormar and slack-sdk indicate a conflict.
       > Found duplicated packages in closure for dependency 'SQLAlchemy':
       >   SQLAlchemy 1.4.46 (/nix/store/9bd7a5xrj8jb5q1b70qx5xahgidrdw36-python3.10-SQLAlchemy-1.4.46/lib/python3.10/site-packages)
       >   SQLAlchemy 2.0.4 (/nix/store/i8316ag8a8bqcqb14c9pj7a02wss56ak-python3.10-SQLAlchemy-2.0.4/lib/python3.10/site-packages)
       >
       > Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
       For full logs, run 'nix log /nix/store/pwxj0s7l4819drnzii9ysa2ppzaiib8v-python3.10-ormar-0.12.1.drv'.

       > Found duplicated packages in closure for dependency 'SQLAlchemy':
       >   SQLAlchemy 1.4.46 (/nix/store/9bd7a5xrj8jb5q1b70qx5xahgidrdw36-python3.10-SQLAlchemy-1.4.46/lib/python3.10/site-packages)
       >   SQLAlchemy 2.0.4 (/nix/store/i8316ag8a8bqcqb14c9pj7a02wss56ak-python3.10-SQLAlchemy-2.0.4/lib/python3.10/site-packages)
       >
       > Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
       For full logs, run 'nix log /nix/store/qadww9advysb7kzihwlmgm2hbf8niaph-python3.10-slack-sdk-3.20.1.drv'.

Only ormar and slack-sdk indicate a conflict.

In that case this is a no go for sure.

I don't think this is about ansible really.  It's databases that's incompatible with sqlalchemy update.  And fastapi (and others) depend on databases.


[Question] How does it work?

Hi,
I'm not sure I understand how the source is collected. Could you elaborate on what the algorithm does?
Thank you!

I thought I could use the information from treesitter to automatically set the forceCompletionPattern for ddc, but I couldn't.
That is why this plugin is not available.


Fixes initialization of FromFloat and ToFloat4

Stumbled upon this one while hunting for another error I encountered while following along the fuse raymarching video.

thanks for sharing this fix


Sets the docker image to use 20.10.0-dind

As this is not yet configurable and imagePullPolicy is not set, new versions of the image do not get pulled.

@damacus Ah sorry I missed this... FWIW I guess we'd better make it configurable by extending RunnerSpec.
Perhaps DockerImage and DockerImagePullPolicy should be consistent with existing fields for runners.
https://github.com/summerwind/actions-runner-controller/blob/0783ffe98901c6ec5be9ac8acaa92ee7dbe3bdd3/api/v1alpha1/runner_types.go#L57-L60


Pick and Place for PCBway?

Greetings!
Considering your store is often out of stock of those, I wanted to know if you'd be willing to add the pick and place for PCBway as one of the files?
I'm sadly not good enough yet in soldering to work with such small components but I could actually use such a small IOT Button.
Thanks,
Fedack

I'm stupid, I just noticed they are in the assembly file. Ignore this

Great you found it. Just to let you know, I've worked on a restock of Picoclicks the last days, which will probably take place on this weekend. Unfortunately I'm not able to provide the amount of boards which are required, meaning they will be sold out again very fast.

Well, I joined the wait list for a couple. I saw the cost on pcbway and
since it's such a short run I don't think it's worth spending 200$ cad+ for
5 of the things.
On Fri., Feb. 11, 2022, 7:58 a.m. makermoekoe, @.***>
wrote:

Great you found it. Just to let you know, I've worked on a restock of
Picoclicks the last days, which will probably take place on this weekend.
Unfortunately I'm not able to provide the amount of boards which are
required, meaning they will be sold out again very fast.
—
Reply to this email directly, view it on GitHub
https://github.com/makermoekoe/Picoclick-C3/issues/11#issuecomment-1036187548,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH7Y3L3MDJYAOYQXERHRL3TU2UBX5ANCNFSM5OEEM4TA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Ran into the _LIB_VERSION multiple def'n problem building tcltklib.so+libieee.a for 2.1.4

$ rbenv install 2.1.4
...
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
...
linking shared-object tcltklib.so
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libieee.a:(.data+0x0): multiple definition of `_LIB_VERSION'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libieee.a:(.data+0x0): first defined here
collect2: error: ld returned 1 exit status

I followed some suggestions in s/o, in particular Sam Ruby's
sudo apt-get install g++ gcc make libc6-dev patch openssl ca-certificates libreadline6 libreadline6-dev curl zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev

but that didn't fix the problem.
This is on a recently installed Ubuntu 14.04.
I like the idea of shims. The idea of relying on scripts to do full builds, not so much.
Can I use the shim part of rvm while keeping my own separate installations of
different versions of Ruby?

Hi @ericpromislow have you tried installing Ruby 2.1.6 or Ruby 2.2.2? Thanks

I was able to build and install ruby 2.1.5 , so let's close this.

I ran into this again trying to install a 1.9.3 build -- it's due to a conflict in a global variable named
LIB_VERSION in, I guess, libieee.a and some other library. Better to just build the version manually, copy it into ~/.rbenv/versions, and do rbenv rehash -- that is actually very cool.
I have yet to run into a flawless black-box build system.


Dealing with armature in crba, computeAllTerms and other dynamics algos

Currently we can load the rotor parameters inside Pinocchio, but they are not used anywhere in the algorithms.
As a result, forwardDynamics, and ImpulseDynamics are useless if you need the armature, since both internally computes the mass during computeAllTerms.
I can take care of adding the armature values to crba and computeAllTerms by either:

Modify the current algos and add a (by default armature is zero) value to the mass diagonals()
create a separate algo.

Would (1) be okay with you?

The problem of the armature is for multi-dof joints.
Currently, I do not see how to handle them correctly in this meaning.

The correct way to deal with armature information would be by implementing #440 features, but no one is available to implement it.

#440 would require plenty of work. It has been open for more than a year, and I don't see that it will be done anytime soon.
However, just adding the available aramature to the mass matrix would provide an acceptable solution for the time being. This would be beneficial for anyone doing control.

Plus, we already save the information in model class.

Indeed, we save it as it is now because we have not implemented a convenient and generic solution, as suggested in #440.

To conclude, I think you can proceed as 1 but this is not the most elegant and generic solution.
By the way, you should assert that the armature is indeed a positive vector.

I agree it isn't generic. The solution will just be a placeholder untill #440 is solved.
I'll work on it.

Extending Armature to ABA and RNEA:
I understood how to add the armature to the aba (and by extension, abaderivatives). It requires me to:

call calc_aba in AbaForwardPass2
define a constraintAxisSelector in the constraintBase class (akin to the jointConfigSelector). It takes as input a 6D vector, and returns the segment where jdata.S() is active.

Proposals:

(1) seems more intrusive than simply adding a diagonal term (as in the case of crba and computeAllTerms). I propose to add a function abaWithArmature, which uses (1) as the ForwardPass2.
I will simply add the armature terms to RNEA, instead of creating a new function.It is again only one extra addition operation. Unfortunately, this means that we have two aba (aba and abaWithArmature), but one RNEA.

Would you be okay with that?

About ABA: adding a new aba-with-armature method seems interesting to
me. I think we can make the assumption that armature is always 0 for
free flyers (as i) it is not mechanically relevant to have armature on a
free flyer and ii) I believe it is equivalent to add armature to a free
joint or modifying the inertia matrix).
About RNEA: I don't think you should consider armature at all in RNEA
and CRBA. It is very easy for the user to modify the output of the
classical RNEA-CRBA to take into account the armature. At maximum, you
could add rnea-with-armature and crba-with-armature that post process
the rnea and crba outputs.
Side remarks:
r1) you have originally chosen to record rotor inertia and gear ratio in
the pinocchio::Model. I think we should rather only record armature.
This is more generic and easier to use. The SRDF parser can compute the
armature on the flight and discart gear/rotor infos.
r2) Are we sure that there is not equivalent 6d inertias that would
correspond to an armatured system, ie given a set of body inertias Y_i
and joint armature a_i, is it not possible to find a set of Ya_i so that
the RNEA on Ya_i is equivalent to the RNEA on Y_i plus the armature (and
equivalently on the ABA).
On 2/14/19 3:55 AM, Rohan Budhiraja wrote:

Extending Armature to ABA and RNEA:
I understood how to add the armature to the aba (and by extension,
abaderivatives). It requires me to:

call calc_aba in AbaForwardPass2
define a constraintAxisSelector in the constraintBase class (akin
to the jointConfigSelector). It takes as input a 6D vector, and
returns the segment where jdata.S() is active.

Proposals:

(1) seems more intrusive than simply adding a diagonal term (as in
the case of crba and computeAllTerms). I propose to add a function
abaWithArmature, which uses (1) as the ForwardPass2.
I will simply add the armature terms to RNEA, instead of creating
a new function.It is again only one extra addition operation.
Unfortunately, this means that we have two aba (aba and
abaWithArmature), but one RNEA.

Would you be okay with that?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stack-of-tasks/pinocchio/issues/671#issuecomment-463466822,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb-CFCzmoXE9dcRAR4YbIKh8Wc8cOxUks5vNNAdgaJpZM4a5NMY.

Side note: if armature data are taken into account, then they should also be considered in a lot of other places. In particular, in the corresponding derivative algorithms, in the kinetic energy algorithm, in the centroidal momentum algorithm, and probably somewhere else

About RNEA: I don't think you should consider armature at all in RNEA
and CRBA. It is very easy for the user to modify the output of the
classical RNEA-CRBA to take into account the armature.
I do need to add the armature to the compute-all-terms, since it is used
internally for computations of dynamics and mass is not an output. For
RNEA and CRBA, I am happy with either option. It would not be much of a
difference computationally whether the armature is dealt within
Pinocchio, or outside by the user in case of RNEA and CRBA. The only
reason I would have added is to maintain consistency with
compute-all-terms.
At maximum, you
could add rnea-with-armature and crba-with-armature that post process
the rnea and crba outputs.

Sounds good to me.

Side remarks:
r1) you have originally chosen to record rotor inertia and gear ratio in
the pinocchio::Model. I think we should rather only record armature.

It was my mistake to save rotorInertia and gearRatio :(. It should have
directly been armature the first time.
I am now saving and doing the computations only with armature. I'll put
rotorInertias and gearRatio as deprecated, if @jcarpent agrees.

r2) Are we sure that there is not equivalent 6d inertias that would
correspond to an armatured system, ie given a set of body inertias Y_i
and joint armature a_i, is it not possible to find a set of Ya_i so that
the RNEA on Ya_i is equivalent to the RNEA on Y_i plus the armature (and
equivalently on the ABA).

It is indeed. For ABA however, since we are iterating over the inertia
elements, we can't update the Y_i by default with armature (if we do
that, the armature of a joint will propagate to all its parents.).
So based on the above two comments, I am implementing: abaWithArmature,
crbaWithArmature, rneaWithArmature, the derivativesWithArmature and I am
updating computeAllTerms to include armature. I will keep the new
functions in the same file as the original ones (i.e., no new
armature.hpp file.).
Sounds good?

So, currently and for your purpose, I think adding armature to CRBA is sufficient and I would prefer to think twice before adding it to other places.
Indeed, by just adding the armature to the mass matrix only, you are not taking into account the Coriolis and centrifugal effects I guess.
Concerning the modification of ABA to take account the armure, I already implemented an elegant solution which does not require additional operators as you suggest. This was done one year ago, but not merged in the main repository. I will focus on it next week if it is fine for you.

So, in conclusion, only implements the account for armature for the computeAllTerms and add a vector to define the generic armature, make suppress the other ones because I think you were the only to use it.

From my side, I will implement the efficient ABA version with armature.

@traversaro @DanielePucci How do you take into account the armature from your side?

@traversaro @DanielePucci How do you take into account the armature from your side?

I think @gabrielenava is the right person to point to the relevant code and papers, as he is the one dealing with this. In particular, he also developed a reflected inertia controller that accounts also on the coupled joints of iCub.
However, from the technical point all  those modifications are done on the Matlab/Simulink side, i.e. none of the terms that a they are not contained in the floating base RNEA/CRBA implementation in iDynTree/WB-Toolbox. The main reason why we never integrated reflected inertia, transmissions and basic friction models in iDynTree/WB-Toolbox is that we never properly spent some time in trying to understand how to expose them in a way that is sufficient transparent and clear to the C++/Matlab/Simulink user. In particular, I think there are several applications for which the C++/Matlab/Simulink user wants to use the "usual" Mass Matrix/Inverse Dynamics that does not take into  account the transmission at all, and I am not sure what is the correct interface to expose to enable that. I fear that storing these "transmission" parameters in the Model data structure and requiring the user to set them to zero to ignore any transmission effect is not enough transparent to the library user, and risk of being error prone.

There are use cases where you do not want the rotor moment of inertia in your inertia matrix.
Forcefully embedding them in the dynamic computations assumes a strong rigid link  between motor and joint which might not be there.
For instance, for Series Elastic Actuators, the equations are
M ddq + n = K(theta-q)
B ddtheta + K(theta-q) = tau
Where M does not include the rotor inertia moments.

That motivates the need for transmission and actuation models.

@gabrielebndn @traversaro wrt the issue you raise about adding armature being error prone, this is what @nmansard is proposing in #676 : a separate file armature.hpp which wraps the original algorithms with a suffix withArmature (or something else). This way, the set of algorithms which deal directly with the robot dynamics, and the set of algorithms which include in some way the armature are easily identifiable.

I think @gabrielenava is the right person to point to the relevant code and papers, as he is the one dealing with this. In particular, he also developed a reflected inertia controller that accounts also on the coupled joints of iCub.

The main documentation and theory concerning the reflected inertia controller is inside a private organization in github, therefore I copied the relevant info, link to the paper and other important links inside another issue that can be found at the following link:
https://github.com/robotology/whole-body-controllers/issues/61
In particular, adding the motors reflected inertia to the system's mass matrix helped to improve the numerical stability of a Simulink-based momentum-based controller for humanoid robot balancing. It is worth noticing that we assumed the robot to have rigid coupling between motors and joints. As @traversaro  and @gabrielebndn already mentioned, our approach doe not scale as it is for example in case of a robot with Series Elastic Actuators.
cc @DanielePucci

@gabrielenava Thank you very much for taking these and providing very nice and useful explanations.

In addition to what @traversaro and @gabrielenava said, let me add that exploiting friction and motor reflected inertia in the case of iCub increased the balancing performances basically from
https://www.youtube.com/watch?v=9XRI4BeXN78&
to
https://www.youtube.com/watch?v=33F2G5mYiHY
@gabrielebndn
Just for your eventual information, if you were interested in some extensions of control algorithms to the Serial Elastic Actuators case, you may take a look at the paper
Momentum control of humanoid robots with series elastic actuators
We worked on that when porting the balancing controllers from iCub to Walkman - in this particular simulation, however, Walkman was still assumed to have rigid transmissions

How do you propose to replicate a new namespace in python?

@proyan a submodule?

@proyan You can get a look to this new Python helper https://github.com/stack-of-tasks/pinocchio/blob/bbe7d0d0c949100ec909d6eb30ee4ce8aa024773/bindings/python/utils/namespace.hpp#L23
to implement the namespace in Python.

I'm trying myself to modify aba to take into account the armature. It does not have to be generic and clean, I just want something working and easy to implement. @proyan mentioned that one must "call calc_aba in AbaForwardPass2", but it is not clear for me what to do exactly. Someone can give be more insight about it ? Thanks !

Hi Alexis,
If you look at the algorithm for ABA, there is a forrward pass, a backward pass, and then a second forward pass. The simplest way to add armature, is to add it as a diagonal term in the M matrix (M+rI), and let everything else intact. However, ABA uses an iterative algorithm to compute M_inv inverse, and this means that if we want to compute (M+rI)_inv, we lose the iterations given by ABA.
During the backward pass, ABA updates the element D_i, which stores the transformed inertial parameters. The proposal in this issue was to change the second forward pass, so that it instead uses Dnew_i. I have it in my notes from February, but I'll have to dig it up.
Best,
Rohan

The second option is to use compute all terms + adding information on the diagonal of the mass matrix and then perform the Cholesky on the mass matrix.
We will add soon (when? I don't know exactly but this is the in the pipe) the notion of actuator and transmission which will do that automatically. More manpower on this task would be helpful.

Just to mention that the solution proposed by @proyan does not take into account the Coriolis effects due to the spin of the motor and the motion of supporting joint!

@jcarpent Yes I know it does not take into account the Coriolis effects but I cannot afford to increase significantly the computational time. I'm more interested in fast computation rather than accurate modelling. I will have a look to the proposal of @proyan but I only have a vague idea of what to do.

@jcarpent, duburcqa Just for info, after this issue was raised, I found that the update of ABA to take into account the rotor parameters (without taking into account the Coriolis effects, as Justin mentioned) has already been done in Featherstone's book at equation 9.28. It is simply:
D_i = S_i^{T} * U_i + I_rot
This, as Featherstone notes, is an easy way that does only takes into account the larger inertial effects, and discounts the smaller coriolis effects.

@proyan Great, It seems easy ! I implemented it, however I did some experiment to check the results and it does not look right. If I set f_ext to 0 and compute
crba(model, data, q);
data_.M.triangularView<Eigen::StrictlyLower>() =
            data_.M.transpose().triangularView<Eigen::StrictlyLower>();

vectorN_t aZero = vectorN_t::Zero(model.nv);
auto b = rnea(model, data, q, v, aZero);

container::aligned_vector<Force> fextZero(model.joints.size(), Force::Zero());
vectorN_t a = aba(model, data, q, v, u, fextZero);
vectorN_t aWithMot = abaWithMot(model, data, q, v, u, fextZero); // Custom aba implementation taking into account the armature

then I do
(data.M * a + data.C * v + data.g - u).array().abs().maxCoeff() < 0

It evaluate to True. But if do
matrixN_t Imot(model.rotorInertia.asDiagonal());
((data.M + Imot) * aWithMot + data.C * v + data.g - u).array().abs().maxCoeff() < 0

It evaluate to False, but the maximum residual error is not very large.

@jcarpent Yes I know it does not take into account the Coriolis effects but I cannot afford to increase significantly the computational time. I'm more interested in fast computation rather than accurate modelling. I will have a look to the proposal of @proyan but I only have a vague idea of what to do.

It won't cost so much. Performs the bench and you will see ;)

@duburcqa Could you provide me a link to abaWithMotimplementation?

@jcarpent Yes no problem. I only replaced AbaBackwardStep
abaWithMot.txt

Simple question: all your joints are revolute along the X axis?

It won't cost so much. Performs the bench and you will see ;)

Ok I will benchmark it and let you know !

although the maximum residual error is not very large.

Could you provide the real value that you obtained?

Simple question: all your joints are revolute along the X axis?

See my edit, no but I only added inertia to joints of this type. The system is the exoskeleton Atalante :)

I did the benchmark, aba is between 20% and 25% faster than Cholesky using vectorN_t a = model_->pncData_.M.llt().solve(u - b); to compute the accelerations. The dimension of the configuration vector and velocity vectors are 37 and 32, respectively.

About the error, I have this for a random state:
========= [(data.M + Imot) * aWithMot + b, u] =========
-0.00103341           0
   0.453027           0
  0.0119376           0
   0.762085           0
  0.0211216           0
 -0.0300496           0
    6.25927      6.2723
  -0.163269   -0.159311
   -2.40261    -2.40057
    5.24287     5.24403
 -0.0161583  -0.0160569
   0.973494    0.973494
2.13276e-05 2.13276e-05
    2.64313     2.63951
   -2.12795    -2.12903
   -1.62686    -1.62604
     3.5301     3.53054
    2.32349     2.32343
    2.00074     2.00074
2.31749e-05 2.31749e-05

@jcarpent @proyan OK I found the bug in my implementation. Now it's working perfectly. thank you for your help!

What was your error finally?

By the way, you should use the Sparse Cholesky decompostion of pinocchio, located in pinocchio::cholesky namespace. It will be faster than the Eigen::LLT

What was your error finally?

Line 61 in the attached file in my previous message. I forgot to replace data from calc_aba for joint revolute by jdata.derived() in AbaBackwardStep.

By the way, you should use the Sparse Cholesky decompostion of pinocchio, located in pinocchio::cholesky namespace. It will be faster than the Eigen::LLT

I didn't know about this function. I will benchmark it later if I have time just to get an idea of the speed up wrt Eigen::LLT.

You can run:
make timings-cholesky
./benchmark/timings-cholesky

Even if I'm not totally convinced by the fact to not update the Coriolis and centrifugal effects with the rotor inertia, we may investigate the fact of at least adding the term to the diagonal elements of the mass matrix or its inverse.
It simple enough to do that before adding the notion of transmission + actuators.
@proyan @cmastalli @duburcqa Are you still interested in this feature?

@duburcqa By the way, I think in your code you have forgotten the influence of the gear ratio ;)

@jcarpent I am not convinced neither if we need to model this elements in the optimal control problem. I would expect that a low-level controller handle it.
My point of view is you can avoid this task, and if it is needed, then we come back to you

@cmastalli This term should help the stabilisation of the robots dynamics inside DDP ;)

@duburcqa By the way, I think in your code you have forgotten the influence of the gear ratio ;)

Good point. But its ok because in practice in my case I know the rotor inertia including gear ratio.

@cmastalli This term should help the stabilisation of the robots dynamics inside DDP ;)

I agree with you. Plus personality I use Pinocchio as the core component of a physics engine (mainly used for reinforcement learning), ando I really need to be able to take in account the armature.

Even if I'm not totally convinced by the fact to not update the Coriolis and centrifugal effects with the rotor inertia, we may investigate the fact of at least adding the term to the diagonal elements of the mass matrix or its inverse.
It simple enough to do that before adding the notion of transmission + actuators.
@proyan @cmastalli @duburcqa Are you still interested in this feature?

Surely it would be useful, but I don't think it is worth the effort since it is only a quick-and-dirty fix simple enough to implement for anyone that really needs it. However I think it would be very relevant to implement properly a way to define a generic armature that also updates the Coriolis and centrifugal effects.

Yes, It helps but it couldn't be necessary an important factor (centroidal component) for most motion and robots. Note that currently, we have implemented the armature model inside inertia matrix as proposed in 1. However I wouldn't pursue point 1 in Pinocchio, only 2.
I have listened for some time the option to extend Pinocchio with mechanism model. I am not sure if this is good design, I see Pinocchio as rigid body algorithm library and I will keep in this level.
There are many mechanism, not only armature, e.g. four-bar link, cilinders, etc. Do you want Pinocchio to support them? If you ask me this question I will reply "no" this is control design business.
In Crocoddyl, we have developed a actuation model which allows us to model a custom actuation model, physical or artificial (that depends on q,v and u), with its derivatives. Indeed we have developed recently a simple actuation model for quadrotor propellers. At the time being, I think that we don't need this solutions because creating action models for tailored mechanism doesn't thing to be a good idea.

@jcarpent It would definitely be useful if implemented. That is why I started this issue. Obviously it is not an immediate concern for crocoddyl, since there are ways around a proper implementation that we are using. But I see that you feel motivated to finally close this issue, so I don't want to discourage you ;).

Adding Coriolis effects to the motor rotations would certainly make the model a bit more precise, but I think usually they are sort of negligible due to the high gear ratio. For one thing, they are usually neglected when modelling series elastic actuators (Spong assumption).
If we limit ourselves to rigid robots: does JointMimic support dynamic computations? Because, if it does, I think the motor effects could be perfectly simulated (including Coriolis) using existing Pinocchio machinery: it would be enough to add a JointMimic, where the reference joint is the real joint, the scaling is equal to the gear ratio, and the link is the motor. How about that?

From my point of view, the actual state of JointMimic is not the correct design choice. I would rather suggest handling the presence of a gear ratio only for JointRevolute, with dedicated math for it but yet simple.
But the very long-term strategy would be to add the notion of transmission and actuation, and I do think, as @nmansard, that this should be done in Pinocchio to take into account the real sparsity of the operations.

I think SDF format is the right choice.

What's the status of this? The reflective inertia is sort of important for lightweight robots like solo and bolt. I might be able to contribute some time for implementing this feature given that someone provides me with a rough idea on what needs to be done.

This is amazing, thanks for the information!

@jviereck This remains unsafe in the sense that the API may change (slightly) + it may still have some bugs (to fix).

Done in pinocchio-3x which should be released soon.


Disable scrolling when modal is open

As the title says, when you open a pokemon info modal, you are still able to scroll in the background.

hey can I contribute to the disabling scrolling when modal is open?

https://github.com/wobsoriano/poke95/pull/5


.dropup should be mentioned in main Dropdown docs

It's not currently mentioned in http://getbootstrap.com/components/#dropdowns but ought to be.
Right now it's only documented in the context of button groups (http://getbootstrap.com/components/#btn-dropdowns-dropup).
Refs #15142.

If there's something minimal we can do, I'm fine with it, but I don't want to be duplicating more things.


Update README.markdown

Fix contributors link to point to the raywenderlich repo instead of the rwenderlich fork.

Checklist

[x] I've looked at the contribution guidelines.
[x] This pull request is complete and ready for review.

Description
Fixed contributors link to point to the raywenderlich repo instead of the rwenderlich fork

Nice catch! Thanks for the fix 🎉


Why your code is all in the docs folder? Components in "docs/dist"? quite a mess

Hi,
Found this while trying to make docs work independently from root folder. I just made some changes to package.json to include material-ui but I cant seem to make it even build...
I would like to see a mini how-to, maybe in README.md file in docs on how to make this folder work as an independent project, so I can start playing around and try to make a complex site.
Is there another example that I can take a look to? maybe a larger mockup?
Thanks!

@Alderian Did you check out the example folder? https://github.com/callemall/material-ui/tree/master/example

@hai-cea Yes I did, I found it very simple though. Docs project have a lot of different samples in code and it would be better for beginning a startup project and for learning purposes. Also tried to make changes in example to try to recreate the Docs project, but it didn't work, something important is missing, may be some dependencies.
May be there is no use on trying to do this on Docs project... that would also be a possible answer :) nevertheless if anyone can provide with some simple (or not) tasks to make Docs independent, it would be of real help.
[Off-topic] I'm trying to make a complex application, but I'm thinking of making an admin template using material-ui with MIT license, based on Docs as an example and as a learning material. Should I open a request for help? is there any similar project going on?
(Sorry for off topic here)
Thanks a lot!

@Alderian I'm actually working on something like that myself.
I am basing my work on the current code of examples and docs. I can share it when it's sort of finished within the next few days

I just made a fork and made some changes to make Docs work independent from root folder. I added steps to clarify steps needed

https://github.com/Alderian/material-ui/
https://github.com/Alderian/material-ui/blob/master/docs/README.md

I'm having big problems with svg-icons wherever they are used. I cannot find a way to make them work. The problem is that in original Docs, they are imported from material src folder directly, and I'm trying to use them directly as a component, just like any other from material-ui
I was thinking that we might need a svg-icons-index.jsx or something like in material-ui/src/svg-icons that include all icons in a module, just as Styles. But I still don't understand why svg-icons doen't work as any other module....
If I resolve this, I can make a pull request so that Docs might be easy separate to start a bigger project using it as template.
Thanks
PS. We might need a new issue...


half.h default user-provided constructor breaks c++ semantics (value/zero initialization vs default initialization)

The user-provided default constructor for half in half.h does not respect value/zero initialization which makes the type awkward and/or buggy to work with, especially in generic template code that works with other number types (e.g. floats).
Expected behavior (as with float):
using T = float;
std::vector<T> a(5);	// initialized with 0’s
T b[5];			// uninitialized
T c[5] = {};		// initialized with 0’s
T d;			// uninitialized

Current behavior (half):
using T = half;
std::vector<T> a(5);	// uninitialized
T b[5];			// uninitialized
T c[5] = {}; 		// uninitialized
T d; 			// uninitialized

Proposed solution (C++11)
In class definition (half.h) define the default constructor as an explicitly defaulted one:
class half
{
  public:

    //-------------
    // Constructors
    //-------------

    half () = default;
// ...

in order to correctly perform value initialization or default initialization (which actually does nothing). The unsigned short member's 0 value coincides with 16-bit floating point value 0. With the proposed solution, we have the same behavior as with floats.

This seems reasonable.

I would be happy to see this fix merged soon. This will also make the following compile:
static_assert(std::is_trivially_default_constructible_v<half>);


Is the grinder doing more work than required?

Describe the bug
I started a grinder using "NodesByIterations" on 5 machines. The parent job loads all the repos and downloads the JVM, only to create 5 child jobs that actually runs the testing. It seems loading the repos and downloading the JVM in the parent job is a waste of time.
https://openj9-jenkins.osuosl.org/job/Grinder/1292/console
To Reproduce
Steps to reproduce the behavior (or Grinder rerun link):
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

I agree. We only need to download JVM to run TKG when PARALLEL=Dynamic. In other parallel cases (i.e., NodesByIterations, Subdir), we do not need to download JVM and clone test repos.

As @AdamBrousseau pointed out, there is another corner case where PARALLEL=Dynamic and NUM_MACHINES > 1, but the available machine is only 1. In this case, we should run it serially (not launching the child job).


Primitive topology not validated?

In our translation layer, we were using -1 for unsupported primitive types.  When we accidentally passed that in as the primitive topology, we got a device lost error from the driver, as the error wasn't caught by the validation layer.  Seems like an easy check that should be there.

I confirmed that this check is in the generated parameter_validation.cpp layer:
skip |= validate_ranged_enum(local_data->report_data, "vkCreateGraphicsPipelines", ParameterName("pCreateInfos[%i].pInputAssemblyState->topology", ParameterName::IndexVector{ createInfoIndex }), "VkPrimitiveTopology", AllVkPrimitiveTopologyEnums, pCreateInfos[createInfoIndex].pInputAssemblyState->topology, VALIDATION_ERROR_0fc30001);
Are you running with the parameter_validation layer?
That check should be hit down a vkCreateGraphicsPipelines() call for any VkGraphicsPipelineCreateInfo that has a non-null pInputAssemblyState with topology set to an invalid value.

Sorry, I thought we were, but it turns out we're only using the core validation layer.

np, refer to layers README for how to use standard_validation meta-layer on desktop, or for the exact sequence of layers to use on Android.


ReferenceError: sendWNSNow is not defined

I added to the project. it is crash. pl check.
ReferenceError: sendWNSNow is not defined
at /Volumes/Data/CODE/Server/Live/Parse Push Live/node_modules/parse-server/node_modules/parse-server-push-adapter/lib/WNS.js:50:11
at FSReqWrap.oncomplete (fs.js:82:15)

Please make it work correctly, have proper indention and code style before submitting the PR.


Small dollar -> gold exchanges show 0 gold

Show up to 4 decimals - if resulting gold is less than 10^-4, disable exchange button


Any methods to support locating search results quickly?

Take an example, I have one piece of text containing 50 occurrences of world 'hello'. Are there any method to locate the 15th 'hello' directly. Now I just keep pressing next button repeatedly.

If you search via the search viewlet, all occurrences are listed and you can directly go to individual matches:

@weinand Thanks. But I thought it could be something like 'hello:20' to finish the job.


feat: Added required IAM permissions for CodeDeploy hooks

Automatically creates the IAM permissions for CodeDeploy to invoke the before traffic hook and after traffic hook.
It can be turned off with a new variable, attach_hooks_policy.
fixes #226

Thanks @wgiddens !
v2.25.0 has been just released.


dispatchTouchEvent not on main thread

Hi, we recently enabled a flow in production and we noticed a large number of crashes caused by Appcues trying to show the flow again when idle, more precisely by MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_CANCEL, 0f, 0f , 0) at ModalStateMachineOwner.kt:102 executed on a non-ui thread.
The most frequent case is when using Maps
com.google.maps.api.android.lib6.common.apiexception.c: Not on the main thread
but there are also other cases, such as
Fatal Exception: android.util.AndroidRuntimeException: Animators may only be run on Looper threads
        at android.animation.ValueAnimator.cancel(ValueAnimator.java:1104)
        at android.widget.Editor$MagnifierMotionAnimator.dismiss(Editor.java:5272)
        at android.widget.Editor$MagnifierMotionAnimator.access$7300(Editor.java:5195)
        at android.widget.Editor.dismissMagnifierForDrag(Editor.java:9070)
        at android.widget.Editor.access$10700(Editor.java:183)
        at android.widget.Editor$SelectionModifierCursorController.onTouchEvent(Editor.java:7790)
        at android.widget.Editor.onTouchEvent(Editor.java:1690)
        at android.widget.TextView.onTouchEvent(TextView.java:11987)
        at android.view.View.dispatchTouchEvent(View.java:14368)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3833)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:770)
        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1952)
        at android.app.Activity.dispatchTouchEvent(Activity.java:4038)
        at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70)
        at io.sentry.android.core.internal.gestures.WindowCallbackAdapter.dispatchTouchEvent(WindowCallbackAdapter.java:39)
        at io.sentry.android.core.internal.gestures.SentryWindowCallback.dispatchTouchEvent(SentryWindowCallback.java:64)
        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:728)
        at com.appcues.ui.ModalStateMachineOwner$attemptRetry$1.invoke(ModalStateMachineOwner.kt:101)
        at com.appcues.ui.ModalStateMachineOwner$attemptRetry$1.invoke(ModalStateMachineOwner.kt:96)
        at com.appcues.ui.ModalStateMachineOwner$onUiIdle$$inlined$schedule$1.run(ModalStateMachineOwner.kt:151)
        at java.util.TimerThread.mainLoop(Timer.java:562)
        at java.util.TimerThread.run(Timer.java:512)

Unfortunately we had to turn off the flows given the high number of events

Hey @nelletto thanks for reaching out with this issue, we are still trying to reproduce it to make sure we can fix it, were you able to reproduce it locally or is that just from your crash reports? and the other thing I'm curious is if that is happening on any particular android API / device model

yes, I was able to reproduce the crash related to Maps locally using the flow preview QR.
We have two activities, a main activity and the second containing the map (and the Appcues flow), when the second opens we make a network call and upon response we carry out an animated zoom to a specific point on the map.
To reproduce the crash I opened the application using the flow preview QR that takes the application to the main activity, I waited for the Appcues error toast notification and opened the second activity. Here in most of my attempts I get the crash, regardless of the device used. I think it's probably related to the map animation.
Sorry but at the moment I am not able to provide an example project to reproduce the crash

hey @nelletto I'm still not able to reproduce but I think we can try to provide you with a fix to test and see if that helps.
since you can reproduce it easily can you try running it on the 3.1.12-rc01?

hey @andretortolano thanks for the quick fix, I made a few attempts and there seems to be no more crashes. I just have a little doubt, I saw the pull request, I was wondering if it was safe to execute any block of code passed to onUiIdle on the ui thread, are we sure there is no risk of performing heavy or network operations? However, I confirm that the fix works and for me you can close the issue :)

this is supposed to run on UI thread, for some reason your scenario is not but whats happening in there is just the process of "finding the view" that was targeted for the tooltip. no extra network requests or anything

@andretortolano do you have any estimate on the availability of a new release that includes this fix? At the moment this prevents us from sending flows to our users.

hey ninniuz, the 3.1.12-rc01 contains only this fix so its ok to go with it for now

@andretortolano thanks for the update. Any ETA for a non RC version of the SDK?

we talked internally and decided to provide a 3.1.12 version containing this bug fix, should be available later today but I will let you know

@ninniuz version 3.1.12 is available


Add Logging

Zephly shall offer an option to log essential data, including

Gyro measurements
Controller Outputs
RC inputs

px4's ulog format has good documentation and sufficient tooling, e.g. pyulog.


Template: remove the translation of the release title

I had some error from the gettext library trying to translate the release.model.status.title.
Honestly i don't know exactly what causes the error, anyway I think the release title should not be translated, so we can just remove the translation.

Integrated as part of #48
Thanks a lot, and sorry for the delay :)


[Feature request] support for B2C tokens

Describe the feature you'd like

I noticed it's not possible to validate B2C tokens with this library, because it depends on the x5c field being present in the public key, and my organization's B2C public keys don't have this field. There is a simpler way to create the cert_obj that doesn't depend on this field https://python-jose.readthedocs.io/en/latest/jwk/index.html, which would allow for B2C tokens to be validated as well. I had to make some additional modifications to allow a user to override the openid_config url, but that may be specific to my organization. I'd be happy to contribute a pull request, if that is welcome?
Additional context

Hi! Yes, I agree. I actually did this with a project using AWS Cognito auth this weekend.
I’m very happy to accept a pull request on this 😊

Hi @robteeuwen , would you like to submit a PR? 😊

I do, but I need a little bit of time to format my code. I made multiple changes that I have to pull apart.

No worries - let me know if you need any help! 😊

I'm having some trouble with the tests. I'm pretty sure the code itself works fine, at least within the context I need it for (I've tested it in the dev environment of my organization and my local environment). I noticed that the mock keys that are used for the tests (in build_openid_keys() in utils.py) only had placeholders for n and e fields, so adding the real values based on the cert fixed some failing tests. However, some tests are currently still failing because the signature can't be verified for some reason. Not sure what's going wrong there, but feel free to take a look at my fork.

Awesome! I’ll look this week. Could you create a PR so I can contribute to your fork?


Product on the homepage are always on the same lang when switching between languages

Using default Storefront theme from WooCommerce.

This issue impacts several woocommerce shortcodes. It is not exclusivly a problem found on the Storefront theme neither limited to the homepage.
What is causing the issue?
WC2.7 improves the shortcode product loop function, to use the transients cache. If a valid transient is found for the requested product query, WC will use the cached query. Therefore, Polylang will not have the opportunity to inject a new language in the query args.
A simple option to resolve this issue, is to request WC team to filter the return of get_transient(). Someline this:
$products = apply_filters( 'woocommerce_shortcode_products_query_transient', get_transient( $transient_name, $query_args, $atts, $loop_name );

if ( false === $products || ! is_a( $products, 'WP_Query' ) ) {
	$products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $query_args, $atts, $loop_name ) );
	set_transient( $transient_name, $products, DAY_IN_SECONDS * 30 );
}

@hyyan - I am ready to ask WC team for the filter addition but would appreciate you feedback that this would be a sensible way forward.

@decarvalhoaa please go a head and ask WC team for the new filter , this makes sense for sure

@decarvalhoaa is there away around that for now ?

The only thing that comes to my mind right now, is be to clear the specific transients (that are affected) on every page load, or a little better when the current language change (using the polylang cookie. It is not very elegant.
But I think the WC people will not do a big deal out of adding a filter.

Hello guys,
thank you very much for all the work you are doing.
Do you have any news about that issue?
Best regards,
Ioanna

Yes I have developed a fix.
Noting that there was a change in the wooCommerce 3.0.2 "Note woo3.0.2:  Fix – Made cache in the [products] shortcode respect filters from plugins."
I've implemented a filter to handle this.
I will reference this issue when I check it in so a message will appear on this issue.
The code will be available at:
https://github.com/Jon007/woo-poly-integration
This should be treated as beta software until we have completed the testing, merge and release.
It would be great if you can test it!!!

Hello,
thank you so much. I tested it with Mystile theme and Woocommerce 3.0.5, and the shortcode for the recent products is at the homepage. It works perfect. I don't have any other woocommerce shortcode at my website in order to test it.
Thanks A LOT again and keep up the great job.
Ioanna


Cmake tools

Commands for Linux and dongle:
cmake -DUSE_CPPTHREADS=ON .
make
Commands for automatic tests:
cmake -DUSE_CPPTHREADS=ON -DUSE_MOCKSERIAL=ON .
make
the automatic tests weren't tested.

@mchalain, shall I merge this PR or #16?
Do you mind if we decrease the min cmake version from 3.10 to 3.8?

Will downgrade requirement to 3.8 in a subsequent commit (tested working).
Merge to release.


Problem building fluxengine under Ubuntu 23.10

I have bought a GreaseWeazle card and would like to use fluxengine.
I followed those steps in my Ubuntu 23.10:
$ git clone git@github.com:davidgiven/fluxengine.git
$ cd fluxengine
$ make
AB
loading build.py
loading build/c.py
loading build/protobuf.py
loading build/pkg.py
loading build/utils.py
loading config.py
fluxengine-testdata not found; skipping corpus tests
loading src/build.py
loading dep/adflib/build.py
loading dep/agg/build.py
loading dep/fatfs/build.py
loading dep/hfsutils/build.py
loading dep/libusbp/build.py
loading dep/stb/build.py
loading lib/build.py
loading arch/build.py
loading src/formats/build.py
loading scripts/build.py
loading tests/build.py
loading src/gui/build.py
loading extras/build.py
loading src/gui/drivetypes/build.py
loading tools/build.py
loading dep/snowhouse/build.py
.obj/build.mk:8: *** Required package 'protobuf' not installed..  Stop.

although the python3-protobuf is installed in my system:
$ apt list *protobuf* | grep installed
libmirprotobuf3/now 2.4.1-0ubuntu2 amd64 [installed,local]
libprotobuf-c1/mantic,now 1.4.1-1ubuntu2 amd64 [installed,automatic]
libprotobuf-lite10/now 3.0.0-9.1ubuntu3 amd64 [installed,local]
libprotobuf-lite23/now 3.12.4-1ubuntu<IP_ADDRESS> amd64 [installed,local]
libprotobuf-lite32/mantic,now 3.21.12-7ubuntu1 amd64 [installed,automatic]
libprotobuf32/mantic,now 3.21.12-7ubuntu1 amd64 [installed,automatic]
protobuf-compiler/mantic,now 3.21.12-7ubuntu1 amd64 [installed,auto-removable]
python3-protobuf/mantic,now 3.21.12-7ubuntu1 amd64 [installed]

Do I miss some other package related to protobuf?

After reading the Ubuntu dependencies listed in .github/workflows/ccpp.yml, I have just realized I was missing a few dev files:
$ sudo apt install libprotobuf-dev libfmt-dev libsqlite3-dev

and fluxengine-gui is now working with my Greaseweazle V4.1. I have just to learn how to use it :-)


[GOBBLIN-] GoT YarnService Integration with DynamicScaling

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[ ] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-XXX

Description

[ ] Here are some details about my PR, including screenshots (if applicable):

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Previous PR review done here - https://github.com/phet/gobblin/pull/1
Also please ignore initial commit history as those got added while rebasing

are there any mocks that would help test YarnService?
Have added unit test for buildContainerCommand which inherently test baselineworkerprofile is created correctly or not


feat(cli): discover additional app-config yamls

Prefers:

examples overs non-examples
dynamic over janus-idp and backstage-community
fallback to example and non-example app-config

Wdyt? :)

This probably needs a changeset


"No workspace open" message isn't completely correct

With no workspace open, the message in Projects is a little delusional

There is no way to create a workspace from "Create new" button.
Also, in future when other type of projects contribute to workspace here, presenting information of "Sql Database projects" specifically will be incomplete/shouldn't be presented, since it will become a big list.

Interested as to why a workspace is now needed?

"Create new or open existing to get started."
"To learn more about projects read our docs."

Hey Drew,
Any comment about why a workspace is needed? I've found the requirement quite intrusive since its introduction

@simonsabin - the workspace supports managing additional settings around the project. I would be interested in knowing how it is causing friction for you so we can streamline

@SakshiS-harma - new docs link https://aka.ms/azuredatastudio-projects

On the workspace aspect and also the project view #11349

For no other projects we develop in VS Code do we use workspace and thus the need to create one is odd
The language about New, Open Existing, feel odd when you have projects already "open" in the folder you've got open.
The approach of "hiding the project file" and having a different folder view hiding files seems totally against the clarity model that has been pushed in VScode and the modern project approach.
Adding existing files isn't possible
moving files and folders you now have two different approaches, if you do it in

I'm interested to know what other settings are possible with workspaces. It feels its being introduced to support the legacy model for projects co developed with Visual Studio, and thus the complexity that involves.
It feels the direction is going away from approach in vscode


Does a 1 tile region in the tilemap node span the entire region?

Tested versions
v3.6.stable.official [de2f0f147]
System information
w10 64
Issue description
Watch the video, when I set the region to a single tile, the wooden box graphic still draws correctly, but the region only has one tile selected, where are the other tiles being obtained to draw the entire box?
The correct thing would be for the entire wooden box to only be drawn correctly if the region spans the required tiles.
https://github.com/user-attachments/assets/ae3be475-f524-4d47-8945-4db016647799
Steps to reproduce
See the video
Minimal reproduction project (MRP)
...

Please add some more details on what the bug is here, what isn't working and how do you expect it to work


readthedocs build failing due to missing ffmpeg

https://readthedocs.org/projects/ctapipe/builds/19968496/

Yes, sorry,  fixed here: https://github.com/cta-observatory/ctapipe/pull/2302


Incorrect translation to Spanish on "About version control and Git" section

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/es/get-started/using-git/about-git#about-version-control-and-git
What part(s) of the article would you like to see updated?
English version:
"... Unlike once popular centralized version control systems, DVCSs don't need a constant connection to a central repository. ..."
Spanish translation:
"... A diferencia de los sistemas de control de versiones centralizados populares, los DVCS necesitan una conexión constante a un repositorio central. ..."
The right translation would be:
"A diferencia de los sistemas de control de versiones centralizados populares, los DVCS no necesitan una conexión constante a un repositorio central. ..."
Additional information
No response

Thank you for your feedback. We will review the issue (ICX ADO Tracking Reference: 1016833).


Some suggestions

I really like your take on this utility. I just wish it had some more features when it comes to capturing keyboard input. If you don't mind I wanted to give some suggestions:

It would be great if you could change the design of the keyboard tracker to something like Carnac, even better yet, maybe you guys could collab with each other!

It would be awesome if you could change the current behavior of the keyboard tracker to something that more represents QiPress. The current behavior tracks everything, I think it should only track the important keys as long as they're pressed. QiPress only shows a key while it's held down which in my opinion is at least a good option to have.

Your app is awesome, please don't let it die!

Last point (don't let it die) is fixed, but the other two points are not implemented.
For now implementation is not planned, but I keep this issue open as an inspiration

Added differentation between shortcut mode and text mode for the keystroke window (1cb7cf468aeb63a532cc6b4a59ca9f782664d418).
The program also alreay has the option to show modifier keys while clicking/dragging next to the mouse icon.
--> Close as "kinda implemented"
Thanks for the suggestions non the less.


Add payment attempt failed notification table to UPI DL notifications page

Migrate content from a separate page to existing notifications page

Akshay wants the details to be on a separate page as it is too much content for the notifications page.


Question for data representation(type)

I think the TO-scene presented in the paper constructed mesh representations.
In github, but dataset is constructed by point cloud.
Is there any plan to release mesh dataset?
Thanks

Hi! We can obtain point cloud and mesh through TSDF reconstruction. However, in order to improve the reconstruction quality, we set the voxel size parameter to a relative small value, resulting in a large density of small objects' points (far more dense than Scannet furniture).
Therefore, to ensure consistency, we then apply FPS on small objects' points which lose the connectivity information. That's why we didn't provide mesh format of our dataset.
You can get the mesh format of our dataset in two ways:
(1) I will release the original CAD placement file (json file, describing the position,scale,orientation of the small objects) in two days. You can run your own rendering and reconstruction based on that file, with the point density in your control.
(2) You can directly utilize some of the typical remesh methods on our provided point cloud data.
Thank you for your interest in our dataset.

@bbbbubble Thanks for the quick reply!
I look forward to using your dataset soon :)


database migrations using Prisma Migration engines

Notes:

The _migration_connector() function doesn't support MongoDB currently.
Nothing is feature gated by database connector

I am sure you will probs do a bunch of changes but this is just a starting place for official support for database migrations.

Also, Clippy reported to change the following in Spacedrive:

we should Box<NewClientError> cause its big
change ConnectionInfo::from_url(&db_url) to ConnectionInfo::from_url(db_url)

It's probally worth documenting or referencing to baselining in your docs about the migration feature. I ran across this with Spacedrive when jumping between branches.

Going to merge this for now and address baselining later. May not even implement it till a future release.


Updating REMIND native regions

adding EUR and World REMIND native region aggregations
fixing REMIND regions mapping

Thanks, looks good to me! Just for clarity, though, initially in this PR, you added a new native region "NEU", but in the latest commit, you removed it again - was that on purpose?
Also, could you add a comment (a line starting with #) at the top of the remind_2.1.yaml file pointing to the model documentation, in particular the regions, so that interested users can easily find a translation from "ECS", etc. to a human-readable region name?

Thanks, looks good to me! Just for clarity, though, initially in this PR, you added a new native region "NEU", but in the latest commit, you removed it again - was that on purpose?

NEU is an internal region aggregation made by the REMIND team to allow comparisons between REMIND with 12 regions and REMIND with 21 regions.
I removed it from the mapping as it seems of not much use from ECEMF perspective.

Thank you for the clarification!


Color Picker shows behind tooltips in chrome

ℹ Computer information

Windows build number: 18363.959
PowerToys version: 0.20
PowerToy module: Color Picker

📝 Provide detailed reproduction steps (if any)

Open the color picker
Hover over a link in chrome
The link's tooltip shows over top of the color picker

✔ Expected result
For the color picker to remain on top
❌ Actual result
The color picker is hidden by the tooltip
📷 Screenshots

That may be hard to solve without statically locking the screen.

I didn't realize it at first but if you zoom in the tooltip hides and doesn't block the picker.

Similiar to #5505


Update collapse_col() / collapse_col_flex()

[x] Add ignore_na parameter

Should work for all methods
unique already has na.rm parameter --> implement it
write wrapper function around first and last

use na.omit
if zero length = return NA of same type, otherwise use first or last

[ ] Consider implementing ignore_na in _flex() function to account for differential handling of methods

boolean = apply to all or none
vector (character or named) = apply to specified columns

[ ] Consider swapping {{ .cols }} with dplyr::everything() in summarize

To allow for negative selection to work, e.g. c(-x, -y) --> I want to collapse all columns except x & y

It would be nice to make this as flexible as dplyr verbs. These functions are essentially just a group_by() + summarize() operation, so perhaps they should be consolidated & only collapse_col() kept.
The could be done by removing the default method parameter and requiring the use of across() to handle the situation where multiple columns will be 'collapsed'. The biggest change would be the need internally to identify columns specified in across() so that any columns not listed could be added to the group_by() call. Changes to single columns as permitted by collapse_col_flex() would be easy to identify as they'd be named arguments in ....

Consider allowing user-defined functions to be used as methods. This would probably need to have a well designed error condition to handle cases where user-defined functions return more than one result per row.


fix (test): should getFees test.

Modify and reenable "should getFees" test in vaults.test.ts.
Add missing initializations of vault annuity account to make the test work again.

LGTM - this might actually be a candidate test for being replaced with an RPC, but until then looks good


Added CARML acronym

Added the CARML acronym

Thanks! Definitely will make it easier for searchability.

Thank you @ahmadabdalla for the update!
Thanks @lukemurraynz for taking care of this PR!

Thank you @ahmadabdalla for the update!
Thanks @lukemurraynz for taking care of this PR!

You're welcome @ElYusubov .


[ISSUE 3407] sub task4 add the logic of annotation on the splicing class for motan client #3411

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #3479 (ade403e) into master (832619e) will decrease coverage by 0.32%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3479      +/-   ##
============================================
- Coverage     62.94%   62.61%   -0.33%
+ Complexity     5529     5506      -23
============================================
  Files           834      834
  Lines         23101    23127      +26
  Branches       2090     2088       -2
============================================
- Hits          14541    14482      -59
- Misses         7225     7309      +84
- Partials       1335     1336       +1

Impacted Files
Coverage Δ

...plugin/logging/rocketmq/LoggingRocketMQPlugin.java
22.72% <0.00%> (-72.73%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...arter/netty/ShenyuNettyWebServerConfiguration.java
23.68% <0.00%> (-23.69%)
:arrow_down:

...ogging/rocketmq/body/LoggingServerHttpRequest.java
0.00% <0.00%> (-20.00%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

...nyu/plugin/motan/cache/ApplicationConfigCache.java
52.00% <0.00%> (-5.00%)
:arrow_down:

.../logging/rocketmq/utils/LogCollectConfigUtils.java
71.11% <0.00%> (-4.45%)
:arrow_down:

... and 39 more

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 832619e...ade403e. Read the comment docs.


Add slightly more complete unit tests

Adds more unit tests and some automatic checks.
Unfortunately, since most of the work is done at compile time, it's really hard to create examples that must fail. Some unit test frameworks such as specs2 have some support for compile-time tests, but I'm not sure if they work with code generated by macros.

I think that, despite your concerns about runtime failures, just having these example uses is still a huge improvement over the really limited tests I had before. Thank you!


Code Submission in Challenge View, and user can become team leader.

requires test cases; sometimes fails but I'm not sure if its because of setup environment with admin or logic...

needs some fixes.


Check None for elapsed_secs in LoggingTensorHook

Fixed edge case when elapsed_secs is None that results in the following:
Traceback (most recent call last):
  File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 861, in emit
    msg = self.format(record)
  File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 734, in format
    return fmt.format(record)
  File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 465, in format
    record.message = record.getMessage()
  File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 329, in getMessage
    msg = msg % self.args
TypeError: float argument required, not NoneType
Logged from file basic_session_run_hooks.py, line 183

Just wanted to add a note here: this will be fixed from an internal merge. (you guys are ahead of me)


Support public GitHub Packages without manual token

If you publish a java maven artifact on GitHub Packages with public access, to download and fetch everybody still needs authentication, see https://github.community/t/download-from-github-package-registry-without-authentication.
Until this is fixed, it would be nice, if Dependabot could authenticate (read-only) to GitHub Packages to fetch publics artifacts.
Dependabot would have its own token and use it to authenticate to Packages.
Currently, you have to provide a custom GitHub token with read:packages scope (https://github.community/t/download-from-github-package-registry-without-authentication/14407/106).
registries:
  maven-github:
    type: maven-repository
    url: https://maven.pkg.github.com/hfhbd
    username: dependabot
    password: ${{secrets.GHP_TOKEN}}

- package-ecosystem: "gradle"
    directory: "/"
    schedule:
      interval: "daily"
    registries:
      - maven-github

For private repos/packages, a manual created token would be still required, only public artifacts on GitHub Packages would be fetched without a manual token.

Per the docs, public packages do not require auth: https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility
Closing, as I don't think this should be an issue anymore. But if for some reason I'm wrong, please comment and we can reopen.

Java packages still requires auth per docs: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry

We've been tracking this internally as Add GITHUB_TOKEN to Dependabot secrets, which would:

@asciimike is this still on the roadmap? We would like to update private packages in our org that are set to internal. So any GHA workflow can already access these with the GITHUB_TOKEN, Dependabot should be able to as well. PATs are unfortunately not acceptable for us.


Fix movavg

Moved simple moving average to its own function and rewrote it to skip updates that didnt have votes.

Apologies but i cannot figure out how to get this thing to rebase and get rid of the other commits. shuold be able to take only the last commit -
bd9a9e9

Cherry-picked the commit, it's in https://github.com/alex/nyt-2020-election-scraper/commit/9f672965d6e7bb084efa179410a05fe41689c8a2.


Jorgenson 2008; Wrangell-St. Elias National Park and Preserve

[x]  Evaluate dataset
[x]  Complete template checklist
[x]  Write up summary report narrative
[ ]  Good commenting
[ ]  External review by someone else

duplicate issue, #79


How to disable in REPLACE mode?

Is your feature request related to a problem? Please describe.
autopairs in REPLACE mode overwrites the next character. For example (real example), the text says " #", I position the cursor on # go in REPLACE mode and press [, then the following " is replaced by ], leaving me with " [] instead of " ["
Describe the solution you'd like
In REPLACE mode, autopairs should do nothing. At least there should be a config option to disable autopairs in REPLACE mode. (But: are there even use-cases for autopairs in REPLACE mode?)
Alternatively and even better: it should work in REPLACE mode as it works when actually replacing a pair in INSERT mode (which is really cool!), and do nothing when not replacing a pair.
Describe alternatives you've considered
Either, or:

Replace the overwritten character by its original character again, however, it largely disturbs the workflow, especially when I have to undo first to see what the original character was.
Remove nvim-autopairs

Additional context
Nope.

close 6b6e35fc9aca1030a74cc022220bc22ea6c5daf4


build a specific version of pdfium

Is your feature request related to a problem? Please describe.
I'm using pdfium-render in my Rust program; it has a dependency on the binary library from https://github.com/bblanchon/pdfium-binaries.
However, https://github.com/bblanchon/pdfium-binaries only provides few version of library for dynamic link only.  The current available versions are: pdfium_6611, pdfium_6569, pdfium_6555, pdfium_6490, pdfium_6406, pdfium_6337, pdfium_6295, pdfium_6259, pdfium_6164, pdfium_6124, pdfium_6110, pdfium_6084, pdfium_6043, pdfium_6015, pdfium_5961.
I want to use your tool to build a specific version since the outcome can support static links, such as PDFium 128.0.6611.0. Then, I can use pdfium-render with a static link.
Describe the solution you'd like
Could you consider to add an optional argument in command line to pull out specific version from https://pdfium.googlesource.com/pdfium?
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

ok, I found it's already in the config. thanks.

Hi,
It is in the config file, but if you use docker, you need change there (find and replace is better).
Im making a new version with some fixes, maybe some hours it is finished.
Thanks.


[WIP] Remove CustomTasks

This removes CustomTasks, instead relying on the tasks from MSBuildCommunityTasks that we are already using.

What about generating a single CurrentVersion.Generated.cs instead of one per project? Maybe something to think about for the future.

That's something I was thinking as well. I'll try and work that out.

The main issue I see with creating only one file is building in Visual Studio. I could easily generate the files in Build.proj as a pre-Target to other targets, but in Visual Studio, I don't know of a way to do that because it may be that only one project is built if only one project has changes. So, in that case, do I generate it every time a project is being built, which would then cause all projects needing to be built?


Wrapped__aligned_malloc

Hi,
in my reports, I have many branches ending up with a Wrapped__aligned_malloc / Wrapper__aligned_offset_malloc pair.
Which means I have no clue who is the author of that kind of aligned allocations.
I there any way to get further information for that type of allocations ?
thanks a lot
Greg

I'm not sure I understand the question. You should be able to see the callstack that leads to _aligned_malloc being called.


Add Option.ofPair

Is your feature request related to a problem? Please describe.
Not a problem, just a feature request
Describe the solution you'd like
Utility method to convert
static member TryParse:
   s     : string *
   result: byref<int>
        -> bool

to Option
[<RequireQualifiedAccess>]
module Option =

    let ofPair (x: bool * 'a) =
        match x with
        | true, y -> Some y
        | false, _ -> None

let toInt32 (value: string) =
    Int32.TryParse value
    |> Option.ofPair

"HI" |> toInt32 // None
"10" |> toInt32 // Some 10

Describe alternatives you've considered
let tryParseInt (value: string) =
    let (parsed, parsedValue) = Int32.TryParse value
    if parsed then
        Some parsedValue
    else
        None

Additional context
Please ignore if this already exists. If so, where can I find such utility method?

There isn't an ofPair but there is a tryParse with examples.  That being said, this only accounts for that exact TryParse signature and doesn't work for Fable.
Definitely willing to take a PR for this. Also would be good addition to ValueOption set of functions as well.

@TheAngryByrd you mean the SRTP is not Fable compliant correct? I wouldn't mind taking a stab at the PR

Yeah I remember it having issues with fable. I haven’t tried with the 4.0 versions though.
Great. Please ask questions if you have them!

Was curious if this works now. It compiles but the behaviour is incorrect: https://github.com/fable-compiler/Fable/issues/3332

@njlr
I think adding Option.ofPair (the name does not matter) is nice since not everyone (including me) is super comfortable with SRTP =)