[SuperEditor][web] Fix text input after a deletion (Resolves #1224)

[SuperEditor][web] Fix text input after a deletion. Resolves #1224
On web, if we quickly press backspace and type a character at the end of a paragraph we get the following exception and the text input crashes:
Couldn't map an IME position to a document position.

The issue is that we are handling the deletion twice on web. In IME mode, Flutter reports both the deletion delta and the backspace keypress.
This PR changes defaultImeKeyboardActions to include a different version of deleteUpstreamContentWithBackspace, which does nothing when running on web.

@brian-superlist Could you please try this PR?

@angelosilvestre This one is working better, typing generally doesn't get stuck, but it looks like there are two issues:
Issue 1: Cannot remove a node by pressing delete key
Reproduction Steps:

Create a new blank node
Set selecetion at beginning of node
Press the Backspace Key (Delete key on Mac)

Expected: Node is deleted and selection returns to end of previous node
Actual: Nothing happens
https://github.com/superlistapp/super_editor/assets/90610075/2cdd15d4-e3d8-4c5b-adc6-9cadddd4f9c5
Issue 2: Selected Text + Deletion does not work correctly
Reproduction Steps:

Add some content to the editor
Select that content
Press the Backspace Key (Delete key on Mac)

Expected: Selected Content is Deleted
Actual: Wrong content is deleted
This also does not work if you type normal characters instead of pressing the backspace / delete key.
https://github.com/superlistapp/super_editor/assets/90610075/b8c6d350-4fc0-448d-940f-34617a625476

Issue 2: Selected Text + Deletion does not work correctly

I was able to fix this issue. It's the same root cause as the first issue. We are changing the selection when we are handling the deltas and also on key events.
I applied the same solution. However, I've found a flutter web issue: even when we are expanding the selection upstream (shift + left arrow), the IME reports a downstream selection. This causes the caret to be display at the wrong position.
I filed https://github.com/flutter/flutter/issues/131906.
@matthew-carroll

Thanks, @angelosilvestre. I found one problem with the current PR. Is it related to the Flutter issue you mentioned?
Reproduction Steps

Select some text
Replace with different content
Create a new empty node
Unable to delete it

https://github.com/superlistapp/super_editor/assets/90610075/375ca921-259d-4faa-8f31-89f7867a446a
Logs
══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following assertion was thrown during method call TextInputClient.updateEditingStateWithDeltas:
Assertion failed:
file:///Users/brian/lab/flutter/packages/flutter/lib/src/services/text_editing_delta.dart:135:14
_debugTextRangeIsValid(newSelection, oldText)
"The selection range: TextSelection(baseOffset: 69, extentOffset: 70, isDirectional: false) is not
within the bounds of text: ~ of length: 1"

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 35:3        assertFailed
packages/flutter/src/services/text_editing_delta.dart 135:58                      fromJSON
packages/flutter/src/services/text_input.dart 1860:59                             _handleTextInputInvocation
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 127:5                _async
packages/flutter/src/services/text_input.dart 1768:45                             [_handleTextInputInvocation]
packages/flutter/src/services/text_input.dart 1753:20                             _loudlyHandleTextInputInvocation
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 127:5                _async
packages/flutter/src/services/text_input.dart 1751:51                             [_loudlyHandleTextInputInvocation]
packages/flutter/src/services/platform_channel.dart 552:55                        _handleAsMethodCall
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 127:5                _async
packages/flutter/src/services/platform_channel.dart 549:40                        [_handleAsMethodCall]
packages/flutter/src/services/platform_channel.dart 545:34                        <fn>
packages/flutter/src/services/binding.dart 567:35                                 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 127:5                _async
packages/flutter/src/services/binding.dart 564:98                                 <fn>
lib/_engine/engine/platform_dispatcher.dart 1335:13                               invoke2
lib/ui/channel_buffers.dart 25:12                                                 invoke
lib/ui/channel_buffers.dart 65:7                                                  push
lib/ui/channel_buffers.dart 131:16                                                push
lib/_engine/engine/platform_dispatcher.dart 438:25                                invokeOnPlatformMessage
lib/_engine/engine/text_editing/text_editing.dart 2182:39                         updateEditingStateWithDelta
lib/_engine/engine/text_editing/text_editing.dart 2289:19                         <fn>
lib/_engine/engine/text_editing/text_editing.dart 1378:7                          handleChange
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 574:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 579:39  dcall

call:
  MethodCall(TextInputClient.updateEditingStateWithDeltas, [1, {deltas: [{oldText: ~, deltaText: ,
  deltaStart: -1, deltaEnd: -1, selectionBase: 69, selectionExtent: 70, composingBase: -1,
  composingExtent: -1}]}])
════════════════════════════════════════════════════════════════════════════════════════════════════
(6.190) ExampleApp > FINE: Showing text format toolbar
(6.208) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(6.208) ExampleApp > FINE: Anchor is null. Building an empty box.
(6.228) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(6.229) ExampleApp > FINE: Anchor is non-null: Offset(194.6, 299.8), child: ValueListenableBuilder<DocumentSelection?>
(6.229) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "ef55d572-e96f-4a42-8eaa-bcb3950ee6f5", position: (TextNodePosition(offset: 59, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "ef55d572-e96f-4a42-8eaa-bcb3950ee6f5", position: (TextNodePosition(offset: 70, affinity: TextAffinity.downstream)))
(8.442) ExampleApp > FINE: Showing text format toolbar
(8.457) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(8.457) ExampleApp > FINE: Anchor is null. Building an empty box.
(8.474) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(8.474) ExampleApp > FINE: Anchor is non-null: Offset(643.5, 274.8), child: ValueListenableBuilder<DocumentSelection?>
(8.475) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "ef55d572-e96f-4a42-8eaa-bcb3950ee6f5", position: (TextNodePosition(offset: 59, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "ef55d572-e96f-4a42-8eaa-bcb3950ee6f5", position: (TextNodePosition(offset: 62, affinity: TextAffinity.downstream)))
(8.548) ExampleApp > FINE: Showing text format toolbar
(8.549) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "ef55d572-e96f-4a42-8eaa-bcb3950ee6f5", position: (TextNodePosition(offset: 51, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "ef55d572-e96f-4a42-8eaa-bcb3950ee6f5", position: (TextNodePosition(offset: 62, affinity: TextAffinity.downstream)))
(8.559) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(8.559) ExampleApp > FINE: Anchor is non-null: Offset(614.1, 274.8), child: ValueListenableBuilder<DocumentSelection?>
Error: Assertion failed: org-dartlang-sdk:///lib/ui/text.dart:547:16
start >= -1
is not true
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 35:3        assertFailed
lib/ui/text.dart 547:26                                                           new
lib/_engine/engine/text_editing/text_editing.dart 573:48                          inferDeltaState
lib/_engine/engine/text_editing/text_editing.dart 1372:56                         handleChange
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 574:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 579:39  dcall
Error: Assertion failed: org-dartlang-sdk:///lib/ui/text.dart:547:16
start >= -1
is not true
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 35:3        assertFailed
lib/ui/text.dart 547:26                                                           new
lib/_engine/engine/text_editing/text_editing.dart 573:48                          inferDeltaState
lib/_engine/engine/text_editing/text_editing.dart 1372:56                         handleChange
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 574:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 579:39  dcall

@brian-superlist Thanks. I will investigate.

@brian-superlist This issue seems to be related to https://github.com/flutter/flutter/issues/131023
I pushed a commit in this PR related to the new line duplication.

Great, text editing is feeling much better overall! The next problem I've found relates to multiple nodes.
Problem 1

Create a new node
Select the text in that node and some text from the node before
Type in a character

Expected: Selected text is removed and replaced with the character I've typed
Actual: Nothing happens and the editor is broken
https://github.com/superlistapp/super_editor/assets/90610075/52511816-4aa9-42e5-aa34-5f10f8db6ff3
(5.229) ExampleApp > FINE: Showing text format toolbar
The platformViewRegistry getter is deprecated and will be removed in a future release. Please import it from `dart:ui_web` instead.
Initializing logger: ExampleApp
The platformViewRegistry getter is deprecated and will be removed in a future release. Please import it from `dart:ui_web` instead.

Create a new node
Add some text
Use the keyboard to select all the text from the new node and try to select text from previous node

Expected: Text is selected and can be modified
Actual: Text selection is wrong
https://github.com/superlistapp/super_editor/assets/90610075/af42a71d-6d7e-47cd-b751-b25e44281015
The platformViewRegistry getter is deprecated and will be removed in a future release. Please import it from `dart:ui_web` instead.
Initializing logger: ExampleApp
(13.273) ExampleApp > FINE: Showing text format toolbar
(14.069) ExampleApp > FINE: Showing text format toolbar
(14.083) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.084) ExampleApp > FINE: Anchor is null. Building an empty box.
(14.100) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.100) ExampleApp > FINE: Anchor is non-null: Offset(255.6, 109.7), child: ValueListenableBuilder<DocumentSelection?>
(14.101) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 6, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.322) ExampleApp > FINE: Showing text format toolbar
(14.326) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 5, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.340) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.340) ExampleApp > FINE: Anchor is non-null: Offset(250.7, 109.7), child: ValueListenableBuilder<DocumentSelection?>
(14.349) ExampleApp > FINE: Showing text format toolbar
(14.351) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 4, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.363) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.363) ExampleApp > FINE: Anchor is non-null: Offset(248.5, 109.7), child: ValueListenableBuilder<DocumentSelection?>
(14.388) ExampleApp > FINE: Showing text format toolbar
(14.393) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 3, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.406) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.406) ExampleApp > FINE: Anchor is non-null: Offset(245.5, 109.7), child: ValueListenableBuilder<DocumentSelection?>
(14.423) ExampleApp > FINE: Showing text format toolbar
(14.427) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 2, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.439) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.439) ExampleApp > FINE: Anchor is non-null: Offset(240.9, 109.7), child: ValueListenableBuilder<DocumentSelection?>
(14.454) ExampleApp > FINE: Showing text format toolbar
(14.459) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 1, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.471) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.471) ExampleApp > FINE: Anchor is non-null: Offset(236.1, 109.7), child: ValueListenableBuilder<DocumentSelection?>
(14.705) ExampleApp > FINE: Showing text format toolbar
(14.710) ExampleApp > FINE: Building toolbar. Selection: [DocumentSelection] -
  base: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 0, affinity: TextAffinity.downstream))),
  extent: ([DocumentPosition] - node: "b465b12f-e724-457c-a318-d4b7da9bede4", position: (TextNodePosition(offset: 7, affinity: TextAffinity.downstream)))
(14.724) ExampleApp > FINE: (Re)Building _PositionedToolbar widget due to anchor change
(14.725) ExampleApp > FINE: Anchor is non-null: Offset(231.2, 109.7), child: ValueListenableBuilder<DocumentSelection?>

Problem 1

This seems to be the same as https://github.com/flutter/flutter/issues/131023

Problem 2

We do need a fix on our side, but we need to receive the selection affinity correctly in order to fix this (https://github.com/flutter/flutter/issues/131906)

@angelosilvestre @brian-superlist - Please let me know when you think this is ready for my final review to merge in.

I don't know the internals of Super Editor well, but I'm a little curious if problem 2 is really related only to the Flutter affinity bug? For example, I can also create the problem starting from a node, moving the caret from left to right:
https://github.com/superlistapp/super_editor/assets/90610075/5273e9b7-a643-45cb-9a04-563a5b5f8068
If it definitely is, I'd say this one is good to go until we fix the underlying Flutter issues

@brian-superlist I have a fix for moving the caret left to right. I should push it today.

Thanks @angelosilvestre!
As some general feedback, I found many of these issues reported in this thread by doing very quick functional testing (< 3 minutes). To speed up PRs like this in the future and reduce these back-and-forth rounds of time-delayed feedback, I'd ask you to do more thorough functional testing on your side before asking for functional testing on our side.
Before we merge this one in, I'd recommend taking 5-10 minutes to run the example app on web, use the editor to write more content "like a normal user," and see if you run into any issues that I might have missed.

@brian-superlist Will do!

@angelosilvestre Thanks 😄

Before we merge this one in, I'd recommend taking 5-10 minutes to run the example app on web, use the editor to write more content "like a normal user," and see if you run into any issues that I might have missed.

This is really something that should be handled by tests. I don't really want any humans on any side spending a lot of time being test robots. Are we simply lacking appropriate tests? Or is this fundamentally a web issue, and therefore dependent on web integration tests?

@angelosilvestre can you check whether we're missing widget tests for this, or whether we need integration tests?
If the problem is that we need a web integration test, can you try writing a single integration test that covers one of these interactions and see if it works? I've run into major problems with web integration tests in the past, but perhaps they're usable now.

With the changes from this PR we will need to add some tests for web. However, there are some places where we check for kIsWeb and we aren't able to override this value.
We can introduce an overridable value instead of checking kIsWeb or we can use integration tests. But, even with integration tests, I'm not sure if we would get the assertion failures from some of the issues mentioned in this PR, because the input events would be totally generated by flutter itself.

because the input events would be totally generated by flutter itself

Aren't we primarily dealing with selection changes? Wouldn't an integration test use the real IME to do that?
This PR accumulated a number of different issues. It's possible that some of those can't reasonably be tested, but the issues that can be tested, should be tested, because the alternative is to have people manually do these things over and over every time we release.

I think it's good now.
There are three remaining issues that are flutter issues:

Place the caret at the end of a paragraph
Press enter
Type a single letter
Press enter again
The editor crashes

This is caused by https://github.com/flutter/flutter/issues/131023 and seems to be solved by https://github.com/flutter/engine/pull/44595.

Place the caret at a paragraph
Shift + left arrow until selection expands to a character from the previous node
Press backspace
The editor crashes

I added this issue to the flutter ticket and it seems the fix is in progress: https://github.com/flutter/flutter/issues/131023#issuecomment-1674143311

Place the caret at the middle of a word
Press shift + left arrow to expand the selection upstream
The selection expands, but the caret don't move

This is caused by https://github.com/flutter/flutter/issues/131906.

@angelosilvestre you enumerated the issues that this PR doesn't fix. Can you please enumerate what this PR does fix?

@matthew-carroll

Fix a crash after pressing backspace
Fix expanding the selection upstream
Fix new line duplication on enter
Fix new line duplication on enter on task nodes

Solved conflicts.

FYI - there are merge conflicts, probably because I moved around a bunch of tests.

@matthew-carroll Rebased onto main to fix a compilation error due to the change in the AttributedText constructor.


coq: 8.13+beta1 -> 8.13.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

You can check correctness of the sha with:
nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.tar.gz

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109479 run on x86_64-darwin 1

1 package failed to build and are new build failure:

coq_8_13: log was empty

We should probably mark this as broken:
  checkdir error:  cannot create coq-8.13.0/test-suite/misc/deps/+?+?
                   Illegal byte sequence
                   unable to process coq-8.13.0/test-suite/misc/deps/+?+?/.
  checkdir error:  cannot create coq-8.13.0/test-suite/misc/deps/+?+?
                   Illegal byte sequence
                   unable to process coq-8.13.0/test-suite/misc/deps/+?+?/+?+?.v.
  checkdir error:  cannot create coq-8.13.0/test-suite/misc/deps/+?+?
                   Illegal byte sequence
                   unable to process coq-8.13.0/test-suite/misc/deps/+?+?/+?+?.v.
  do not know how to unpack source archive /private/tmp/nix-build-source.drv-0/V8.13.0.zip

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109479 run on x86_64-darwin 1

1 package failed to build and are new build failure:

coq_8_13: log was empty

We should probably mark this as broken:
  checkdir error:  cannot create coq-8.13.0/test-suite/misc/deps/+?+?
                   Illegal byte sequence
                   unable to process coq-8.13.0/test-suite/misc/deps/+?+?/.
  checkdir error:  cannot create coq-8.13.0/test-suite/misc/deps/+?+?
                   Illegal byte sequence
                   unable to process coq-8.13.0/test-suite/misc/deps/+?+?/+?+?.v.
  checkdir error:  cannot create coq-8.13.0/test-suite/misc/deps/+?+?
                   Illegal byte sequence
                   unable to process coq-8.13.0/test-suite/misc/deps/+?+?/+?+?.v.
  do not know how to unpack source archive /private/tmp/nix-build-source.drv-0/V8.13.0.zip

hash mismatch in fixed-output derivation '/nix/store/qshi58p6j3xy776bzgihms5ngjkmlh2d-source':
  wanted: sha256:1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi
  got:    sha256:0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd
cannot build derivation '/nix/store/a3g6yvxg7fvyyi810jm4ldyzs7qg972b-coq-8.13.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/9q6pnhkpp7zyyrf4rn49maczxcqapbk3-env.drv': 1 dependencies couldn't be built

hash mismatch in fixed-output derivation '/nix/store/qshi58p6j3xy776bzgihms5ngjkmlh2d-source':
  wanted: sha256:1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi
  got:    sha256:0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd
cannot build derivation '/nix/store/a3g6yvxg7fvyyi810jm4ldyzs7qg972b-coq-8.13.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/9q6pnhkpp7zyyrf4rn49maczxcqapbk3-env.drv': 1 dependencies couldn't be built

Cyril: how to guess the correct hash? IIUC, by reading the code, the src attribute is fetchzip with https://github.com/coq/coq/archive/V8.13.0.zip as url argument. (BTW, the name argument of default-fetcher is never used.) But the hashes returned by nix-prefetch-url and by nix build differ.
Also, what’s wrong with the Greek letters in the file paths?
ping @CohenCyril

Cyril: how to guess the correct hash? IIUC, by reading the code, the src attribute is fetchzip with https://github.com/coq/coq/archive/V8.13.0.zip as url argument. (BTW, the name argument of default-fetcher is never used.) But the hashes returned by nix-prefetch-url and by nix build differ.
Also, what’s wrong with the Greek letters in the file paths?
ping @CohenCyril

Also, what’s wrong with the Greek letters in the file paths?

The darwin file system has probably a problem with it. You can skip the tests or mark the package broken on darwin.
You probably need to pass --unpack to nix-prefetch-url
 ➜ nix-prefetch-url https://github.com/coq/coq/archive/V8.13.0.zip
[8.5 MiB DL]
path is '/nix/store/zz3jqwj5kp0samxv3yb48vvg9v3id7w2-V8.13.0.zip'
0v7aw4iq592khdx54jb0jx78fnab45m1lj1rpjj160ycywmlmg9g

 hotpi@hydrogen  ~  src  nixpkgs   merged                                                                                  last: 0m 2s  12:31:06  🌨  +1°C ↘15km/h 0.1mm
 ➜ nix-prefetch-url https://github.com/coq/coq/archive/V8.13.0.zip --unpack
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

Also, what’s wrong with the Greek letters in the file paths?

The darwin file system has probably a problem with it. You can skip the tests or mark the package broken on darwin.
You probably need to pass --unpack to nix-prefetch-url
 ➜ nix-prefetch-url https://github.com/coq/coq/archive/V8.13.0.zip
[8.5 MiB DL]
path is '/nix/store/zz3jqwj5kp0samxv3yb48vvg9v3id7w2-V8.13.0.zip'
0v7aw4iq592khdx54jb0jx78fnab45m1lj1rpjj160ycywmlmg9g

 hotpi@hydrogen  ~  src  nixpkgs   merged                                                                                  last: 0m 2s  12:31:06  🌨  +1°C ↘15km/h 0.1mm
 ➜ nix-prefetch-url https://github.com/coq/coq/archive/V8.13.0.zip --unpack
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

Cyril: how to guess the correct hash? IIUC, by reading the code, the src attribute is fetchzip with https://github.com/coq/coq/archive/V8.13.0.zip as url argument. (BTW, the name argument of default-fetcher is never used.) But the hashes returned by nix-prefetch-url and by nix build differ.

I don't understand what is happening, I have the same problem. The weird thing is that I did not have to change any of the previous Coq sha256... (e.g. Coq 8.12.0 sha256 from nix-build and nix-pretech-url are the same) So what's different now...

Also, what’s wrong with the Greek letters in the file paths?

I don't know, I cannot manage to get nix-prefetch-url work for Coq zip's either... I get warning: Pathname cannot be converted from UTF-8 to current locale. Although in principle it should be the same sha as for the tarball...

Cyril: how to guess the correct hash? IIUC, by reading the code, the src attribute is fetchzip with https://github.com/coq/coq/archive/V8.13.0.zip as url argument. (BTW, the name argument of default-fetcher is never used.) But the hashes returned by nix-prefetch-url and by nix build differ.

I don't understand what is happening, I have the same problem. The weird thing is that I did not have to change any of the previous Coq sha256... (e.g. Coq 8.12.0 sha256 from nix-build and nix-pretech-url are the same) So what's different now...

Also, what’s wrong with the Greek letters in the file paths?

I don't know, I cannot manage to get nix-prefetch-url work for Coq zip's either... I get warning: Pathname cannot be converted from UTF-8 to current locale. Although in principle it should be the same sha as for the tarball...

Maybe we are having the same problems as in https://github.com/NixOS/nixpkgs/issues/107768?

Maybe we are having the same problems as in https://github.com/NixOS/nixpkgs/issues/107768?

I'm totally confused, I downloaded both the zip and the tar.gz, extracted both diff does not show a single difference...

I'm totally confused, I downloaded both the zip and the tar.gz, extracted both diff does not show a single difference...

Jarl, can you please fix the hash?

Jarl, can you please fix the hash?

@vbgl Which hash do you want me to change to? The one in the PR is the one nix-prefetch-url --unpack returns. Isn't that as it should be?
My understanding of the comments above is that there's an issue on darwin, which I can't test or do anything about.

@vbgl Which hash do you want me to change to? The one in the PR is the one nix-prefetch-url --unpack returns. Isn't that as it should be?
My understanding of the comments above is that there's an issue on darwin, which I can't test or do anything about.

@GrahamcOfBorg build coq_8_13

@GrahamcOfBorg build coq_8_13

$ nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.zip
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

$ nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.zip
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

@vbgl Which hash do you want me to change to? The one in the PR is the one nix-prefetch-url --unpack returns. Isn't that as it should be?

This is the correct hash:
$ nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.zip
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

Yeah, that's the one used in this PR as well.

My understanding of the comments above is that there's an issue on darwin, which I can't test or do anything about.

The issue on darwin is that nix-preferch-url does not work for some zip files... but here the hash is wrong anyway (and I launched GrahamcOfBorg to witness it here.)

Great! Unfortunately not something I can help with. I'm guessing that when the issues on darwin have been resolved, this PR can simply be merged.

@vbgl Which hash do you want me to change to? The one in the PR is the one nix-prefetch-url --unpack returns. Isn't that as it should be?

This is the correct hash:
$ nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.zip
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

Yeah, that's the one used in this PR as well.

My understanding of the comments above is that there's an issue on darwin, which I can't test or do anything about.

The issue on darwin is that nix-preferch-url does not work for some zip files... but here the hash is wrong anyway (and I launched GrahamcOfBorg to witness it here.)

Great! Unfortunately not something I can help with. I'm guessing that when the issues on darwin have been resolved, this PR can simply be merged.

@vbgl Which hash do you want me to change to? The one in the PR is the one nix-prefetch-url --unpack returns. Isn't that as it should be?

This is the correct hash:
$ nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.zip
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

Yeah, that's the one used in this PR as well.

My understanding of the comments above is that there's an issue on darwin, which I can't test or do anything about.

The issue on darwin is that nix-preferch-url does not work for some zip files... but here the hash is wrong anyway (and I launched GrahamcOfBorg to witness it here.)

Great! Unfortunately not something I can help with. I'm guessing that when the issues on darwin have been resolved, this PR can simply be merged.

No we cannot merge have a look at this please: the CI fails on this PR.
Sorry I got confused (again!) I cannot wrap my head around this problem...
The correct hash seems to be 0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd...
There is a discrepancy between the output of nix-prefetch-url and the behaviour of fetchzip:
$ nix-build -E '(import <nixpkgs> {}).fetchzip {url = "https://github.com/coq/coq/archive/V8.13.0.zip"; sha256="1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi"; }'

@vbgl Which hash do you want me to change to? The one in the PR is the one nix-prefetch-url --unpack returns. Isn't that as it should be?

This is the correct hash:
$ nix-prefetch-url --unpack https://github.com/coq/coq/archive/V8.13.0.zip
unpacking...
[8.5 MiB DL]
path is '/nix/store/a7h7ym385f3kw62csx2rmy8zghbgmp4b-V8.13.0.zip'
1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi

Yeah, that's the one used in this PR as well.

My understanding of the comments above is that there's an issue on darwin, which I can't test or do anything about.

The issue on darwin is that nix-preferch-url does not work for some zip files... but here the hash is wrong anyway (and I launched GrahamcOfBorg to witness it here.)

Great! Unfortunately not something I can help with. I'm guessing that when the issues on darwin have been resolved, this PR can simply be merged.

No we cannot merge have a look at this please: the CI fails on this PR.
Sorry I got confused (again!) I cannot wrap my head around this problem...
The correct hash seems to be 0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd...
There is a discrepancy between the output of nix-prefetch-url and the behaviour of fetchzip:
$ nix-build -E '(import <nixpkgs> {}).fetchzip {url = "https://github.com/coq/coq/archive/V8.13.0.zip"; sha256="1l2c63vskp8kiyxiyi5rpgbmnv67ysn3y4lybd6nj0li5llibifi"; }'

Thanks for the clarification, @CohenCyril! I tried the corrected hash and everything seems to work fine on my side. Hopefully the CI agrees. (Now I'm wondering, why did my previous hash work?)

Thanks for the clarification, @CohenCyril! I tried the corrected hash and everything seems to work fine on my side. Hopefully the CI agrees. (Now I'm wondering, why did my previous hash work?)

Now I'm wondering, why did my previous hash work?

When there is already a path in the store with the expected hash, nix is lazy and won’t try to build it again.

Now I'm wondering, why did my previous hash work?

When there is already a path in the store with the expected hash, nix is lazy and won’t try to build it again.

@ofborg eval

@ofborg eval

@GrahamcOfBorg build coqPackages_8_13

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109479 run on x86_64-linux 1

1 package built:

coq_8_13

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:
coq_8_13:

Please consider this feature to be alpha.
A substituteInPlace with an unmatched pattern got detected:
substituteStream(): WARNING: pattern '/bin/uname' doesn't match anything in file 'configure'
substituteStream(): WARNING: pattern '"md5 -q"' doesn't match anything in file 'configure.ml'

Please check the offending substituteInPlace for typos or changes in source.
When evaluating attribute ‘coq_8_13’:
warning: unclear-gpl
lgpl21 is a deprecated license, check if project uses lgpl21Plus or lgpl21Only and change meta.license accordingly.
Near pkgs/applications/science/logic/coq/default.nix:179:5:
    |
179 |     license = licenses.lgpl21;
    |     ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/unclear-gpl.md

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109479 run on x86_64-darwin 1

1 package failed to build and are new build failure:

coq_8_13: log was empty


Throw error if un-supported properties used in react selector queries

Currently supported properties to be queried are props, state, and exact. Thow error, if other properties are used.

The fix is available in v2.2.1.


Fixes for vs code on Windows

I installed the vs code extension and it turns out that what worked for neovim didn't work for vs code. Here are the changes to make it work in both cases. I guess the LSP "standard" is open to interpretation :)
I also fixed an off by one error in goto definition that was causing goto not working if the cursor was on the first letter of the symbol.
That's all for today from me. If I find any more issues I'll try fixing them or let you know.

Thanks for your work! The whole project is still in its very early prototype stages so I don't doubt there's a lot of bugs related to untested platforms and editors. I am currently focusing mainly on MacOS and VSCode, but in the future correct support for other platforms and editors is very important.


Bug <IP_ADDRESS> Can't manage Instances on ADS Hybird

System Information
Windows Server 2012 R2 64-bit
AMP TITAN v<IP_ADDRESS>
Mainline
I confirm:

[x ] that I have searched for an existing bug report for this issue.
[x ] that I am using the latest available version of AMP.
[ x] that my operating system is up-to-date.

Symptoms
Complete setup of a local hybrid server I have tried all other options on ADS but all same results.
To get my two instances back up and running ARMA III, Space Engineers
This is the log file that is happening I can't reach the servers from ADS
[22:34:44] [Program Info]         : Starting AMP version <IP_ADDRESS> (TITAN), built 18/06/2019 09:23
[22:34:44] [Program Info]         : Release spec: Release - built by CUBECODERS/BuildBot on CCL-DEV
[22:34:44] [Program Info]         : Running in a HyperV environment.
[22:34:44] [Core Warning]         : Current time zone is set to Central Standard Time - Servers should ideally be UTC to avoid time-zone related issues
[22:34:44] [Program Info]         : OS: Windows / x86_64
[22:34:44] [Program Info]         : CPU: AMD EPYC 7281 16-Core Processor (4C/4T)
[22:34:44] [Program Info]         : AMP Instance ID: b346f92d-465c-4541-8c80-9abf79ae118d
[22:34:45] [System Info]          : Checking for AMP updates...
[22:34:45] [Core Info]            : Websockets are enabled.
[22:34:45] [Core Info]            : Loaded Arma3Module version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded FileManager version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded EmailSender version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded WebRequestPlugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded LocalFileBackupPlugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Arma3Module requests dependency steamcmdplugin...
[22:34:45] [ModuleLoader Info]    : Loaded steamcmdplugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Arma3Module requests dependency RCONPlugin...
[22:34:45] [ModuleLoader Info]    : Loaded RCONPlugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Licence Present: AMP Professional Edition (Licenced to Ryan Ward)
[22:34:45] [WebServer Warning]    : RouterTimer@10Hz with 2 jobs started
[22:34:45] [Core Info]            : Webserver started on <IP_ADDRESS>:8601
[22:35:38] [Core:Anonymous Activity] : Authentication attempt for user RRyanward from <IP_ADDRESS>
[22:35:59] [RemoteAMPAuth:Anonymous Error] : [0] (WebException) : Unable to connect to the remote server
[22:35:59] [RemoteAMPAuth:Anonymous Error] :    at Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult)
at Net.WebClient.UploadBitsRequestCallback(IAsyncResult result)
at AMPAPI.RemoteInstance.()
at AMPAPI.RemoteInstance.API_Core.()
at GSMyAdmin.Authentication.RemoteAMPAuth.Authenticate(IHttpRequest Request, String Username, String Password, String Token, Boolean TokenRequested, List`1& Permissions, String& NewToken, UserInfoSummary& UserInfo)
[22:35:59] [RemoteAMPAuth:Anonymous Error] : [1] (SocketException) : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:8600
[22:35:59] [RemoteAMPAuth:Anonymous Error] :    at Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
at Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
Reproduction
I have restarted with a clean OS and AMP but still same results.

Symptoms
<!--
Complete setup of a local hybrid server I have tried all other options on ADS but all same results.
 * What are you expecting to happen? To get my two instances back up and running ARMA III, Space Engineers

This is the log file that is happening I can't reach the servers from ADS
[22:34:44] [Program Info]         : Starting AMP version <IP_ADDRESS> (TITAN), built 18/06/2019 09:23
[22:34:44] [Program Info]         : Release spec: Release - built by CUBECODERS/BuildBot on CCL-DEV
[22:34:44] [Program Info]         : Running in a HyperV environment.
[22:34:44] [Core Warning]         : Current time zone is set to Central Standard Time - Servers should ideally be UTC to avoid time-zone related issues
[22:34:44] [Program Info]         : OS: Windows / x86_64
[22:34:44] [Program Info]         : CPU: AMD EPYC 7281 16-Core Processor (4C/4T)
[22:34:44] [Program Info]         : AMP Instance ID: b346f92d-465c-4541-8c80-9abf79ae118d
[22:34:45] [System Info]          : Checking for AMP updates...
[22:34:45] [Core Info]            : Websockets are enabled.
[22:34:45] [Core Info]            : Loaded Arma3Module version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded FileManager version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded EmailSender version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded WebRequestPlugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Loaded LocalFileBackupPlugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Arma3Module requests dependency steamcmdplugin...
[22:34:45] [ModuleLoader Info]    : Loaded steamcmdplugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Arma3Module requests dependency RCONPlugin...
[22:34:45] [ModuleLoader Info]    : Loaded RCONPlugin version <IP_ADDRESS> by CubeCoders Limited
[22:34:45] [Core Info]            : Licence Present: AMP Professional Edition (Licenced to Ryan Ward)
[22:34:45] [WebServer Warning]    : RouterTimer@10Hz with 2 jobs started
[22:34:45] [Core Info]            : Webserver started on <IP_ADDRESS>:8601
[22:35:38] [Core:Anonymous Activity] : Authentication attempt for user RRyanward from <IP_ADDRESS>
[22:35:59] [RemoteAMPAuth:Anonymous Error] : [0] (WebException) : Unable to connect to the remote server
[22:35:59] [RemoteAMPAuth:Anonymous Error] :    at Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
   at Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult)
   at Net.WebClient.UploadBitsRequestCallback(IAsyncResult result)
   at AMPAPI.RemoteInstance.<GetResponseDynamic>()
   at AMPAPI.RemoteInstance.API_Core.()
   at GSMyAdmin.Authentication.RemoteAMPAuth.Authenticate(IHttpRequest Request, String Username, String Password, String Token, Boolean TokenRequested, List`1& Permissions, String& NewToken, UserInfoSummary& UserInfo)
[22:35:59] [RemoteAMPAuth:Anonymous Error] : [1] (SocketException) : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:8600
[22:35:59] [RemoteAMPAuth:Anonymous Error] :    at Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
   at Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)

## Reproduction
I have restarted with a clean OS and AMP but still same results.

Looks like it's timing out, is that address its showing in the error the correct IP:Port for the ADS instance providing the logins?

Found work around had to create everything at localhost:port and then from the outside it would connect properly so I guess I just need to create new instances on the server before I can manage them on the outside connection as it try's to use the public name or ip.


Update review protocol version to 0.18.0

Codecov Report
Patch and project coverage have no change.

Comparison is base (fb51d08) 6.22% compared to head (f14a7b1) 6.22%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@          Coverage Diff          @@
##            main     #51   +/-   ##
=====================================
  Coverage   6.22%   6.22%
=====================================
  Files          7       7
  Lines        627     627
=====================================
  Hits          39      39
  Misses       588     588

Impacted Files
Coverage Δ

src/request.rs
0.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add an AllScalars collection

Did this patch pass CI?  There's a test failure on main.
/home/buildnode/jenkins/workspace/pr-swift-experimental-string-processing-linux/branch-main/swift-experimental-string-processing/Tests/UtilTests/AllScalarsTests.swift:27: error: AllScalarsTests.testProperties : XCTAssertEqual failed: ("650") is not equal to ("630") -
19:17:19 /home/buildnode/jenkins/workspace/pr-swift-experimental-string-processing-linux/branch-main/swift-experimental-string-processing/Tests/UtilTests/AllScalarsTests.swift:32: error: AllScalarsTests.testProperties : XCTAssertEqual failed: ("2925.0") is not equal to ("2835.0") -
19:17:19 Test Case 'AllScalarsTests.testProperties' failed (1.537 seconds)
19:17:19 Test Suite 'AllScalarsTests' failed at 2021-10-23 02:17:15.794
19:17:19 	 Executed 1 test, with 2 failures (0 unexpected) in 1.537 (1.537) seconds
19:17:19 Test Suite 'Selected tests' failed at 2021-10-23 02:17:15.794
19:17:19 	 Executed 1 test, with 2 failures (0 unexpected) in 1.537 (1.537) seconds
19:17:19 Build step 'Execute shell' marked build as failure


pin ray to 0.8.5

Signed-off-by: Anatoly Myachev<EMAIL_ADDRESS>
What do these changes do?

[x] passes flake8 modin
[x] passes black --check modin
[x] signed commit with git commit -s
[x] Resolves #1435
[ ] tests added and passing

Thanks @anmyachev LGTM


OOP adapter performance

This issue is to track works related to Mixer OOP adapter performance benchmark. https://github.com/istio/istio/pull/8815 adds a benchmark test which runs single report dispatch against compiled in spyadapter and IBP based spybackend and measures encoding/decoding and grpc transport latency overhead. Two more benchmark remains:

[ ] encoding latency: golang benchmark test which just measures encoding latency and avoids network latency
[ ] throughput benchmark: instance dispatching per second per core

cc @mandarjog

Here are some rough results from initial tests:
Latency: I used oop benchmark test to measure difference of dispatch latency between compiled-in and oop adapter. To avoid network latency I have to comment out the code which invokes the adapter remote handler since golang grpc does not support in memory transport. Here is the result:
Benchmark_IBP_Adapter_Report/InProcessBypassGrpc-12         	  100000	     22154 ns/op	    6273 B/op	     113 allocs/op
Benchmark_Inproc_Adapter_Report/InProcessBypassGrpc-12         	  100000	     17060 ns/op	    3525 B/op	      86 allocs/op

Roughly oop dispatch code path increases latency by 30%.
CPU: I set up a simple test environment with GKE and two nodes to measure CPU consumption difference. In the test environment, mixc runs on one node and istio-policy + a noop oop adapter run on the other node. Check cache is disabled in istio-policy. By defining the same authorization instance with decent complexity and decent amount of traffic from mixc, here is the result:
Roughly policy + oop adapter spends 50% more cpu than policy with inproc adapter.

After taking a closer look at the mixer cpu profile of compiled in adapter and OOP adapter, most of increased CPU usage are from grpc transport between mixer and adapters. Protocol encoding does not consume much CPU. This specific test set up make the cpu consumption even worse because check cache is disabled and every check request invokes a RPC from mixer to the adapter. With check cache the cpu usage increase should be mitigated a lot. Profile flame graphs could be found here.
However it is not as easy to optimize cpu for report, we might need another buffer before the mixer call to OOP to reduce system call overhead. Here is the result of similar test for report, with mixc batches 1000 reports per RPC call as mixer client does.

@bianpengyuan batching remote report calls has been on the agenda. This clearly shows the importance of that. Thanks for doing this work, this is great.

@mandarjog Batching of remote report calls does not help much. The encoded instance is not compressed and grpc has 4 Mb max message size limit, which makes each batch could only contain 5000 instances (5 mixer report calls from mixer client in this test setup basically).


Fix broken headings in Markdown files

GitHub changed the way Markdown headings are parsed, so this change fixes it.
See bryant1410/readmesfix for more information.
Tackles bryant1410/readmesfix#1

Codecov Report

Merging #57 into master will increase coverage by 0.26%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             master     #57      +/-   ##
===========================================
+ Coverage     95.04%   95.3%   +0.26%
- Complexity     1061    1063       +2
===========================================
  Files            83      83
  Lines          3368    3368
  Branches        260     260
===========================================
+ Hits           3201    3210       +9
+ Misses           72      62      -10
- Partials         95      96       +1

Impacted Files
Coverage Δ
Complexity Δ

...rc/main/java/io/parallec/core/actor/UdpWorker.java
95.31% <0%> (-0.79%)
19% <0%> (-1%)

...rc/main/java/io/parallec/core/actor/SshWorker.java
89.47% <0%> (+1.05%)
20% <0%> (+1%)
:arrow_up:

...rc/main/java/io/parallec/core/actor/TcpWorker.java
96.99% <0%> (+3%)
20% <0%> (ø)
:arrow_down:

...n/java/io/parallec/core/actor/OperationWorker.java
90.96% <0%> (+3.22%)
43% <0%> (+2%)
:arrow_up:

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 5fb4bad...9359706. Read the comment docs.


Add .NET Standard 2.1 support

This adds support for .NET Standard 2.1 and .NET 4.8
It removes the .NET 5.0 moniker because it was never released
It also removes the old temporary monikers for dnxcore and dnx

My plan is to add tests again once we are on green
Matthias Dittrich<EMAIL_ADDRESS>schrieb am Mo., 1. Apr. 2019,
18:24:

@matthid commented on this pull request.
I'm very happy to see a green build again :)
That said I'm a bit sceptical regarding the removed tests I commented on,
because it feels like we might have released regressions? Most likely we
just need to update the tests somehow. The other ones I'm not sure what
they test exactly, so it's probably fine.
Good job
In integrationtests/Paket.IntegrationTests/BasicResolverSpecs.fs
https://github.com/fsprojects/Paket/pull/3530#discussion_r270944752:

@@ -113,20 +107,6 @@ let #1189 should allow # in path() =
lockFile.Groups.[Constants.MainDependencyGroup].Resolution.[PackageName "FAKE"].Version
|> shouldBeGreaterThan (SemVer.Parse "4.7.2")

-[]
-let #1247 shouldn't load lockfile in full update() =

updateEx true "i001247-lockfile-error" |> ignore

-[]
-let #1247 should report lockfile in parse errror() =
This should still fail and we should still report a good error message,
correct?
In integrationtests/Paket.IntegrationTests/InstallSpecs.fs
https://github.com/fsprojects/Paket/pull/3530#discussion_r270945889:

@@ -334,18 +312,6 @@ let #1505 should install conditionals() =
let s2 = File.ReadAllText newFile |> normalizeLineEndings
s2 |> shouldEqual s1

-[]
-let #1578 should reference transitive dep from ref() =
Do we need a different test for this issue?
In integrationtests/Paket.IntegrationTests/InstallSpecs.fs
https://github.com/fsprojects/Paket/pull/3530#discussion_r270946368:

@@ -354,21 +320,6 @@ let #1458 should not install conflicting deps from different groups() =
with
| exn when exn.Message.Contains "Package Nancy is referenced in different versions" -> ()

-[<Test;Flaky>]
-let #2335 should install deps from different groups when using conditions() =
This is also a very interesting scenario we probably don't have covered in
another test
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/pull/3530#pullrequestreview-221210412,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNDaVKrWgUstYU1TdX3-ZMG6mX1AHks5vcjLHgaJpZM4cGQ7X
.


chore: remove prettier and eslint, install biome

Closes https://github.com/FuelLabs/fuels-ts/issues/2195

Agreed @arboleya and @petertonysmith94 the intention is to migrate the rules over, this initial step was just removing eslint. Once that migration is complete I think the PR will be ready for review. I appreciate the initial feedback on PR especially since it touches so many files.

Thanks for the first pass @nedsalk , a lot of these were actually bugs hence the compilation issues. I've addressed them, I'll open the PR for review when ready.

I think this project would be good to revisit in the future but I don't think it's worth the change yet based on reasons listen in the description.


Standard game admins cannot unpause maps due to the command being in shared.

Description
Client console host runs the command locally instead of relaying it to server, resulting in a confused admin.

There is the > command now which forces a command to be executed remotely. Doing > unpausemap will work.


Broken CAPTCHA

KCaptcha isn't working properly on php 8+

Merged near-duplicate issues to this.

Moved captcha to Turnstile.

Moved captcha to Turnstile.

Closing. Will be fixed in the next release.


[Color Picker/ FancyZones / PowerToys]: Name of 'Learn More' is not descriptive for Visual and Screen Reader user.

Microsoft PowerToys version
"0.41.1"
Running as admin

[ ] Yes

Area(s) with issue?
ColorPicker, FancyZones, PowerToys Run
Steps to reproduce
Test Environment:
OS: Windows 10 Version Dev
App version: 0.41.1
App name: PowerToys
Screen Reader: Narrator
Tool: Accessibility Insight for Windows
Repro Steps:

Launch 'PowerToys' application.
In Color Picker Tab, Navigate to 'Learn More' link and Observe the issue.
In FancyZones, Navigate to 'Learn More' link and Observe the issue.
In PowerToys Run Tab, Then Navigate to 'Learn More' link and 'Wox' link and Observe the issue.

User Impact: -> Priority 2
Visual and Screen Reader user are impacted here as link purpose is convey by its name.
Guidelines Reference:
https://www.w3.org/TR/WCAG21/#link-purpose-in-context
Attachments:
Name of 'Learn More' is not descriptive for Visual and Screen Reader user.zip

✔ Expected Behavior
Name of 'Learn More' link should be more descriptive for Visual and Screen Reader user.
❌ Actual Behavior
Name of 'Learn More' link is not descriptive for Visual and Screen Reader user.
Note: Name of 'Wox' link is not descriptive for Visual and Screen Reader user.(refer Screenshot 3)
Other Software
No response

@deondredavis @crutkas Is this really an issue? W10 Settings has "Learn more" links everywhere...

Blocked by: #5428

@dedavis6797 any updates on previous comment?

Fixed in #12470 and will be integrated in the next major release of PowerToys

Resolved with the release of v0.45.


Backport [SPARK-15062][SQL] fix list type infer serializer issue

What changes were proposed in this pull request?
This backports https://github.com/apache/spark/commit/733cbaa3c0ff617a630a9d6937699db37ad2943b
to Branch 1.6. It's a pretty simple patch, and would be nice to have for Spark 1.6.3.
How was this patch tested?
Unit tests

cc @marmbrus

Test build #66457 has started for PR 15380 at commit f6a78fc.

LGTM

Test build #66457 has finished for PR 15380 at commit f6a78fc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66457/
Test PASSed.

Merged, can you close this?


access to the manager

In the script access to manager UI is not possible as the lb provides ports 8000 and 8001 with the security group. How are you currently accessing the UI ?

The Kong manager is only accessible if you are deploying a control plane not a gateway. So when deploying a control plane the port 8445 is used as default for the kong manager.

I am currently using the script to deploy the control plane from ubuntu example those are the ports that are created : I cannot find the 8445


[QUESTION] Failed on setting PV storage capacity

Question
What help did you want:
I'm using KubeSphere and setuped JuiceFS CSI Driver following this Doc.
Everything goes well during installation, and I created a StorageClass manually.
StorageClass configuration as follow:

PVC Configuration:

I have limited 10Gi storage capacity here.
And I tried to use this PVC in a Centos Deployment. I used KubeSphere GUi to bind the pvc to this container.
Part of Deployment Configuration:

But questions occured here:

In command df -sh, it returns size as 1.0P other than 10Gi, and I can still write 20Gi to a 10Gi PVC.
As doc Create and Use PV said, I'm using "Dynamic provisioning" and it's able to limit the storage capacity in it. But I can still write file whose size is larger than the capacity i have ever set.
And I also tried the config.yaml given in #dynamic-provisioning, and the result as above too.

So what's wrong with my configuration or I'm facing some feature/bugs? And how can I fix it to set capacity for each PV? Thanks for your generous help.
Environment:

JuiceFS CSI Driver version (which image tag did your CSI Driver use): v0.18.0
Kubernetes version (e.g. kubectl version): v1.23.10
Object storage (cloud provider and region): Minio on OpenELB Hostpath volume
Metadata engine info (version, cloud provider managed or self maintained): Redis v7.0.11
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage): Redis on host, JuiceFS CSI Driver installed on Kubesphere
Others: None

Hi @kirakiseki , juicefs csi driver supports PVC capacity since v0.20.0 (juicefs v1.1.0-beta1). We has raise a PR to release juicefs csi driver v0.20.0 (juicefs v1.1.0-beta1).
After Kubesphere app store upgraded, please have a retry. Closing, thanks.


Feature suggestions - QoS toggles, device tracker options

While the device tracker for LAN devices from the router is very useful, not all users might have a need for it and prefer to not log all devices' status, so I suggest an option in configuration to skip creation of these entities if unneeded, or only scan for new LAN devices to track on demand.
If possible, however, would it be possible to add a global QoS toggle? Even when no devices are scheduled to be prioritized, my AX3000 seems to reserve a decent chunk of WAN bandwidth as long as QoS is enabled globally so I would love to be able to automate QoS as a whole when I don't need anything prioritized. If it's possible to add a prioritize toggle on devices (if creating entities for LAN devices as above is enabled in setup), that could be useful too.

It would be very useful to have the option to turn off device tracking. Excellent suggestion, I vote for it.

I agree, this would be a great option. Right now every wifi IoT device (like light switches) shows up as a device tracker.  They can be disabled, but I'd prefer to not create them in the first place.


[FR]: Default cacheDirectory to TEST_TMPDIR

What is the current behavior?
Jest provides a config option cacheDirectory which specifies where intermediate file system outputs are written such as transformations or haste map. If left unspecified, the default is approximately ${os.tmpdir()}/jest_${process.uid}. The contents of this directory are not deleted when jest exits and files are written even when --no-cache is set.
Describe the feature
Bazel's TEST_TMPDIR should be integrated to set the jest cacheDirectory in the generated configuration.

TEST_TMPDIR in Bazel is available to every test action as an ENV. The directory is writable, guaranteed to be empty, and unique to a given test target.
This enforces hermeticity at the file system level between different jest_test targets and brings rules_jest more in line with the bazel test specification.
TEST_TMPDIR can either be provided via CLI flag via "make variable" expansion or set in the generated config template by reading from process.env.

More context on Bazel Slack: https://bazelbuild.slack.com/archives/C04281DTLH0/p1706234301711269


[SPARK-39776][SQL] JOIN verbose string should add Join type

What changes were proposed in this pull request?
The current verbose string of LogicalPlan didn't contain join type, we should add this
(10) BroadcastHashJoin [codegen id : 4]
Left keys [1]: [ws_sold_date_sk#7]
Right keys [1]: [d_date_sk#9]
Join type: Inner
Join condition: None

Why are the changes needed?
Add missed join type in verbose plan
Does this PR introduce any user-facing change?
User can see join type in verbose plan string
How was this patch tested?
Existed UT

@cloud-fan the failed GA seems not related to this patch

failed GA job is unrelated to this PR, merging to master, thanks!

@AngersZhuuuu the JIRA ID is wrong...

@AngersZhuuuu the JIRA ID is wrong...

updated

TPC-DS plain stability test fails I think after this PR (when ANSI is enabled) https://github.com/apache/spark/runs/7511882605?check_suite_focus=true
@AngersZhuuuu would you mind taking a look when you find some time?


Using NimBLE for >3 devices

Probably unrelated to actual code, but maybe understand the ESP32 code internals well enough to help.
I happen to have more than 3 radiators in my house easily reachable by single ESP32, so running 4 of them instead sounds strange for me.
Current ESP32 ble_client limitation is 3 devices due to bad performance and memory requirements. But there are several success stories using NimBLE  implementation instead.
It's being called a drop-in replacement and some people already tried that for ESPHome so maybe you know how an average user can benefit from that.
P.S. Thank you your work on this project!

I would very much like to second this motion, though perhaps https://github.com/myhomeiot/esphome-components is another possible library ?
It looks like<EMAIL_ADDRESS>works brilliantly monitoring 3 Thermostats :-)
Thank you very much !!!
Now, of course if 6 thermostats were possible :-D ...otherwise we'll just have to get some more D1s...
HC

+10
I also have more than 3 radiators. While I expect I will need more than 1 ESP32, I ended up deploying multiple ESP32s to get around the 3 device limit.


The latest version doesn't support Azure China Cloud

I installed the latest version(v3.0.10-2017.2) to my IntelliJ(build 172.4343.14), using the authentication file sign to the Azure China CLoud, it showed the below errors:
java.io.IOException: com.microsoft.aad.adal4j.AuthenticationException: {"error_description":"AADSTS50001: The application named https://management.core.windows.net/ was not found in the tenant named 8aa2cf70-b8bf-487b-9d32-7166b16c72d7.  This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant.  You might have sent your authentication request to the wrong tenant.\r\nTrace ID: 109e1fc1-538b-414e-904f-d25606b21300\r\nCorrelation ID: b434916e-319a-417e-84ba-e143fd0884d7\r\nTimestamp: 2017-10-22 10:04:56Z","error":"invalid_resource"}
I checked the URLs in the authentication file, it is correct:
authURL=https://login.chinacloudapi.cn/
baseURL=https://management.chinacloudapi.cn/
graphURL=https://graph.chinacloudapi.cn/
managementURI=https://management.core.chinacloudapi.cn/
It should be bug in the plugin code, could you please advise? Thanks!

https://stackoverflow.com/questions/55805710/how-to-connect-azure-toolkit-for-intellij-eclipse-to-national-cloud-like-mooncak


Bump jest timeout to 10s

Looks like even at 10s it still failed, which makes me think maybe something is hanging and not just slow.

Closing this will put a card into the backlog to investigate this properly.


⚠ Bofrost.lu has degraded performance

In f63cb26, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1528 ms

Resolved: Bofrost.lu performance has improved in 49042f1.


Reorder automatically.

need to reorder cells automatically without a touch.

To do that, you can just use the UITableView moveRow(at:to:) method.


Remove typo in file_server.md

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


fix/cucumber off by one error

docs(cucumber): properly document package.json
fix(cucumber): off-by-one error in report

Fixes off-by-one error in the report


⚠ Bofrost.fr has degraded performance

In 34e5d9d, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1094 ms

Resolved: Bofrost.fr performance has improved in ae5afba after 6 minutes.


More nullables on Teams

Hey @nkl-kst
Thanks for the 1.0.0 release! I'm now able to pull a good 90% of team information into my application, however I get the odd error that "x cannot be null":
# https://thesportsdb.com/api/v1/json/1/searchteams.php?t=kent
JSON property \"strManager\" in class \"NklKst\\TheSportsDb\\Entity\\Team\" must not be NULL

# https://thesportsdb.com/api/v1/json/1/searchteams.php?t=sussex
JSON property \"strAlternate\" in class \"NklKst\\TheSportsDb\\Entity\\Team\" must not be NULL

Perhaps it's better to allow any property in the Team Class to be nullable? I'm not sure how else to get around it, I'm sure the user can accept that not 100% of the properties will have a value due to the nature of the database.
Happy to open up a PR for the above if required.

Hi Martin, thanks for testing release 1.0.0. I'd like to be as strict as possible for the entity properties, but I understand the problem here. Also I think this is not only a problem for the Team class, but for other entities too.

I'd like to stay on a semi-strict way with the possibility to turn off the exceptions on non-nullable but missing fields. Making this feature from the underlying library configurable should work: https://github.com/cweiske/jsonmapper#nullables One could use the library with exceptions turned off if there are some fields missing, until the failing model is fixed here.

Wouldn't that create the same issue? it's essentially background magic then if your validation passes or doesn't.
Might be worth actually finding out which fields can be nullable from thesportsdb and mirroring it in this project.

From the cweiske/jsonmapper docs:

JsonMapper throws an exception when a JSON property is null, unless the PHP class property has a nullable type - e.g. Contact|null.
If your API contains many fields that may be null and you do not want to make all your type definitions nullable, set:
$jm->bStrictNullTypes = false;

This doesn't seem to work with typed properties. I decided to look through all entity attributes and made some of them nullable. Also I tested your two API requests with these changes, they should work now.
Please let me know if there are more fields that need a nullable fix, thanks in advance.

Thanks @nkl-kst
That appears to have fixed the initial problems with v1.0.0, I'll let you know if there are any others that appear over the next couple of weeks of our testing.


intersection, union, difference, others

Creating swarm with these functions, there are data type errors.

Can you please post the offending code and your expected result?

Set operations within the swarm construct terminate with "type mismatch: expected table, got integer".
I am attaching a minimalistic script that leads to a crash and the error message.
Buzz Script:
# Executed at init time
function init() {
  a = swarm.create(2)
  b = swarm.create(3)
  a.select(id%2==0)
  b.join()
 }
# Executed every time step
function step() {
 a.exec(function() { log("[",id,"]","Swarm a") })
 b.exec(function() { log("[",id,"]","Swarm b") })
 i = swarm.intersection(100, a, b)
}
# Executed once when the robot (or the simulator) is reset.
function reset() {
}
# Execute at exit
function destroy() {
}

Error message:

[ROBOT 0] ../../build/testing/swarm_test.bo: execution terminated abnormally: /home/vivek/custom_software/buzz/Buzz/build/testing/swarm_test.bzz:20:26: type mismatch: expected table, got integer

============================================================
state: error	error: 6
code size: 439	oldpc: 365	pc: 365
stacks: 2	cur: 1
cur instr: gstore
next instr: gstore
	4	[table] 7 elements
			[string] 10:'exec' -> [c-closure] 98
			[string] 93:'others' -> [c-closure] 93
			[string] 94:'leave' -> [c-closure] 95
			[string] 95:'in' -> [c-closure] 96
			[string] 5:'select' -> [c-closure] 97
			[string] 6:'id' -> [int] 100
			[string] 7:'join' -> [c-closure] 94

	3	[string] 15:'i'
	2	[nil]
	1	[nil]
	0	[nil]
============================================================

============================================================
state: error	error: 6
code size: 439	oldpc: 365	pc: 365
stacks: 2	cur: 2
cur instr: gstore
next instr: gstore
	0	[int] 140
============================================================

Thanks, Vivek for posting the code.


Feature request: name instances

Survey app:
If you have a lot of instances it's quite hard to find the one you are looking for since you can only see the date they were last edited.
I suggest more info, maybe name, rowOwner and datetime.

TSC Discussion: This issue is to change the default behavior. It is already possible to do this but the documentation should be checked to verify the ability is documented.


[docs] Fix source on Github links

[x] I have followed (at least) the PR section of the contributing guide.

What does it do?
Fixed source github links to open url based on lib version.
Why is it needed?
When a github link from any pages in docs is clicked, it is showing 404 message.
Related issue(s)/PR(s)
Closes #23406

@praveenkumar-kalidass Thanks 🎉


Expose simple override to support ActionController Streaming

Add support to allow static pages to stream from a top down approach with ActionController::Streaming, and provide
Trying to KISS, it's just a simple options key to render, so I figured if you wanted to change from defaults, just override in  PagesController similar to layouts.

Hi @rromanchuk is this still relevant? Thanks!

Feel free to reopen if this is still relevant. Thank you!


Removal of RHM notice

Remove the RHM notice from phone number assignment cmdlets.

Docs Build status updates of commit c7ec922:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsOnlineApplicationInstance.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineVoiceApplicationInstance.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineVoiceUser.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

teams/teams-ps/teams/Remove-CsPhoneNumberAssignment.md
:white_check_mark:Succeeded
View (teams-ps)

teams/teams-ps/teams/Set-CsPhoneNumberAssignment.md
:white_check_mark:Succeeded
View (teams-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 6ec131d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsOnlineApplicationInstance.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineVoiceApplicationInstance.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineVoiceUser.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

teams/teams-ps/teams/Remove-CsPhoneNumberAssignment.md
:white_check_mark:Succeeded
View (teams-ps)

teams/teams-ps/teams/Set-CsPhoneNumberAssignment.md
:white_check_mark:Succeeded
View (teams-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 2a32893:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@JohanFreelancer9

@dariomws @get-itips @tseward

Docs Build status updates of commit d04e54b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsOnlineApplicationInstance.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineVoiceApplicationInstance.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOnlineVoiceUser.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsUser.md
:white_check_mark:Succeeded
View (skype-ps)

teams/teams-ps/teams/Remove-CsPhoneNumberAssignment.md
:white_check_mark:Succeeded
View (teams-ps)

teams/teams-ps/teams/Set-CsPhoneNumberAssignment.md
:white_check_mark:Succeeded
View (teams-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Made only a small change to remove-csphonenumberassignment to force re-validation of the PR

@tiburd Please merge this PR. Thanks


[BUG] Installation fails when collecting rtoml>=0.9.0

Please explain the issue you're experiencing (with as much detail as possible):
Today I installed manim slides for a friend, with python version 3.11.8. I tried to install using pip: "pip install manim-slides". And I get the following error. I searched a lot for information but couldn't find a solution. How to fix that?

Hello, thanks for posting the issue here!
The problem seems to come from rtoml, which should ship pre-built binary wheels for most platforms (including Windows). But it looks like it is not able to find such pre-built wheels, and thus it tries to build (hence the Rust compilation) them locally, and fails because you do not have Rust installed.
Can you confirm that this is the problem by trying: pip install rtoml==0.10.0?
Also, can you provide more information about your Windows version?

Thank you for responding.
I tried to run: pip install rtoml==0.10.0 but this is the result I got.
I am using window11.

The picture does not load: did you correctly upload it?

Yes, I re-uploaded it. It's too late now, I'll respond to your help tomorrow. Thank you very much.

Thanks, but was asking for the specific windows version (which you can obtain as described in the link above) :-)

Yes, this is the version of windows in use.

Ok so this looks like this is a known issue, see https://github.com/samuelcolvin/rtoml/issues/74.
A solution might be to pip install rtoml==0.9.0. Then, pip install manim-slides should work. Can you try?

Ok, I will try. I will respond to the results here. Thank you.

Thank you for updating @1Dung :-)


Missing SRIs fix

What?
During last CASREF Refresh , Fiona identified missing SRIs from MMR files that didn't get imported in database.
Why?
The records didn't have any gene info and hence got skipped from getting persisted in db.
How?
Fiona has provided new rule to get genes based on Moleculartestingtype if couldn't determine from report or genotype. Also if no gene is present then record must get persisted in DB without gene info.
Testing ?
Test have been added and ran importer locally to see missing SRIs are now getting persisted.

All looks fine to me


Improved sendKey

Handles numeric keys and adds bools for modifiers.
Adds sendKeyStr for batch processing keys.
Requires: https://github.com/GLVis/glvis/pull/151

[ ] Update glvis.js and versions.js once https://github.com/GLVis/glvis/pull/151 is merged

@jandrej are you interested in reviewing?

@tomstitt, lets just merge this (after updating glvis.js and versions.js)

@tomstitt, lets just merge this (after updating glvis.js and versions.js)

Sounds good. I'll also add the async/await changes that were in the chat + another for loadStream


Add a setting for other python model

Whether can add a setting for other python model.
I found a python model named pycln can remove unused imports from files, and I want to use this model with isort. But I can't find the way realize. So I hope can add a setting for users to add their python model and use it conveniently(such as add it in the right click menu).

Thanks for the feature request! We are going to give the community 60 days from when this issue was created to provide 7 👍 upvotes on the opening comment to gauge general interest in this idea. If there's enough upvotes then we will consider this feature request in our future planning. If there's unfortunately not enough upvotes then we will close this issue.

Thank you for submitting your feature request and everyone who considered it! Unfortunately this issue did not receive enough votes over the allotted time, and so we are closing the issue.


ManagedVirtualDevice support

Is there a way to support ManagedVirtualDevice introduced with AGP 7.3.0? It would be amazing to make use of this new AGP feature so we no longer need to manager our own emulators on our CI system. Ideally the invocation would look like
./gradlew pixel4aApi30ExecuteScreenshotTests

Still chewing on this one...the main issue is that Shot copies the files from the device after the test is run, but at this point the emulator is already gone.
I did find this SO post which describes how data is copied off the managed device

There is a sample from Google demonstrating how to take sreenshots using Gradle managed device. After test run files would be saved to the build/outputs/ folder. There is only one problem that this sample uses Espresso's functionality to take screenshots, although Shot under the hood utilizes old library from Facebook, so you can not feed this screenshot to Shot to perform verification.
So, you need to modify Google's sample to use the same Facebook library to take screenshots, then you need to modify executeScreenshotTest task from Shot - now it depends on  connectedAndroidTest task, but you don't need it because you already run instrumentation

Not sure how, but looks like there's two features here:

Be able to configure where screenshots are saved to by the test runner, Emulators/GTD/FTL all do something slightly different but you can get files off the devices in an automated way.
Be able to configure where shot grabs the generated devices from, Emulator/GTD/FTL all put them in some different sub directory under your project folder.

Is the issue that we can't override where the facebook lib puts the screenshots? (I could just look but wondered if anyone knew?)

I'm the original author of the Facebook library.
You can actually fetch the screenshots from Firebase Test Lab using the --directories-to-pull command, and process the images manually (the images are tiled, so they haven't to be stitched back together.)
I have an example here: https://github.com/screenshotbot/shot-example, in particular the CI config here: https://github.com/screenshotbot/shot-example/blob/main/.circleci/config.yml#L30
But this example is using Screenshotbot to store and review the images.
(PS. We're also working on an Android emulator as a service that exposes a full ADB connection unlike FTL, which means the Shot gradle rules will work without any changes. Let me know if you're interested in being an early beta tester.)

@tdrhq sounds good, we're currently playing with the FirebaseTestLab Gradle managed devices plugin at the moment, much easier to work with, but still hit by there painful 4 minute "Wait" before the device even starts running the tests.
Yeah hit me up with an invite!