fix: #75693

This is a PR for #75693
This problem occurs since after the commitment of the #72627.
Since there' s a finishEditing flag, only the UI event like blur or Enter Key ACTUALLY finish the editing mode and make File Explorer as active again.
When refreshing File Explorer by external events, like file changes by the asynchronous terminal command, never makes finishEditing as true so the onFinish will be never called.
The reason why finishEditing exists is that input box will be disposed when blur event is called and that blur event is called immediately after the creation of the input box for some reason.
The very first approach to resolve this problem was giving the timeout for 100ms to prevent disposing the input even blur is called.
But that gives another bug so finishEditing flag was introduced few days ago.
And now it causes another bug which is being stated here so rather than giving a finishEditing flag or timeout for blur event, giving 100ms timeout for focus after the creation of the input seems to solve the overall problems.

 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.:x: orange4glace sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR, however this introduces some other issues.
I hate that input box code with a passion, and the current solution has the least flows.
Here's one problem with your approach:
Have a folder collapsed (never expanded). Right click -> new file. Exception in console.
fyi @jeanp413

The situation seems little bit more complicated than I thought.
This commit might fix the issue.
Sometimes(and always when changing the filename of root children) renderElement is called more than once.
In that situation, two input boxes are created and the first one is destroyed before setTimeout is called so the exception happens.
To prevent this, before focusing the input, it checks whether the input is disposed or not by checking !inputBox.inputElement.
In addition, since dispose event of the input is fired immediately when two input boxes are created, I made a flag isFinishableDisposeEvent to decide whether the dispose event is actually valid or not.
IMHO, whether my approaching is good or not, having a finishEditing flag seems not to be a gentle one. finishEditing fundamentally prevents finishing editing when there's no user actions like blur or ENTER. But the File Explorer can be interrupted by external events like the 'terminal situation' like I said, and it can not handle that situation properly.

Seems to work good in all cases.
It is quite delicate (ugly) code. So thanks a lot of understanding it and improving it it seems.
Thank you 🙏

My pleasure to giving a consent to merging such a code.

@orange4glace unfortunetely I had to revert your PR becuase it caused an issue on linux.
The issue being
Right click on a file -> rename. Click anywhere else. We think the sucess is true and the fileService tries to rename the file, while it shuold not.
This only throws on linux for some reason (probably implementation of the file service due to case sensitivity).
When the user clicks outside of the input box the success shuold be false and there should be no rename.

@isidorn As I understand, you mean if input box is going blur while renaming, there should be no rename?

@isidorn  You mean on linux, there's no renaming when input is going blur While the intended result is being renamed?

@orange4glace on linux just do that and you will see an exception in the console.
When the input box is going blur there should be no rename on any OS. On linux this throws an exception so that is why we caught it there. I appologise that I did not notice this when doing an inital review of your PR.

@isidorn No apology is needed :)
But I'm wondering that even current stable release version (which can be downloaded from https://code.visualstudio.com/) has a such behavior that blur input box actually do rename it.

(with official stable version, 1.35.1)

You are correct we do behave like that in stable.
Now I checked and the natvie mac finder and the native windows explorer and they do the same.
So I was wrong in my previous post. This should be a success.
However it seems that just some check is missing if the name did not change that this is a no-op.
fyi @joaomoreno

@isidorn @orange4glace I think a better fix would be changing this line
https://github.com/microsoft/vscode/blob/3c698386915e5bd1636256d9ff1a996a74521cfb/src/vs/workbench/contrib/files/browser/views/explorerView.ts#L173
to something like this
this._register(this.explorerService.onDidChangeItem(e => {
    if(this.explorerService.isEditable(undefined)){
        this.tree.domFocus();
    }
    this.refresh(e.recursive, e.item)
}));

what do you think?

Also @orange4glace I tried your solution but it doesn't fix #72626. I can reproduce it at least on linux (ubuntu).
And now there is this issue #75624 that I think my changes introduced and seems more difficult to solve with my approach but your PR fixes it.

@jeanp413 That piece of code actually fixes the issue that I said! That's cool.
Although as you said, it seems cannot solve the issue #75624 though I have no idea how to reproduce that problem with a stable version. It's kind of weird since that problem seems to be related with blur event but your code (current stable version) handles it well. If I can reproduce it and test it, I could tell with more confidence.
For a dangling problem, I think this commit would fix it. Since PR was closed once, it seems I have to create another PR to apply the commit. If you guys are like, I'll make another PR for it.
@isidorn The linux problem, I've tested on my VM with Ubuntu 16.04 and getting error Unable to move/copy when source path is equal or parent of target path: Error: Unable to move/copy when source path is equal or parent of target path
It seems this problem was in place for a long time. I've tested with the reverted version and same error occurs.
We might need a guard to checking whether the filename is same or not.

I manage to fix #75624 with the following snippet in explorerView.ts although it modifies too many files, basically checks if the element being edited is no longer visible and forces to cancel the editing
this._register(this.tree.onDidScroll(e => {
	let editable = this.explorerService.getEditable(); // This method is new, needs to modify IExplorerService
	if (editable && this.tree.getRelativeTop(editable.stat) === undefined) {
		editable.data.onFinish('', false);
	}
}));

Also as orange4glace said  https://github.com/orange4glace/vscode/commit/9c29fb87cd39d9a01ed7edfdad0f58dc65c78789 fixes #72626
So now both approaches fix all the issues and I think it boils down to chose the one with less drawbacks.

Thank you very much for looking deeper into this.

The move/copy Linux error is due to the fileService. I have created this issue https://github.com/microsoft/vscode/issues/75825 to track that, and because we were behaving like this before I have reaplied this PR
The danling problem: @orange4glace please create a new PR with just that change
There might be more problems with the rename file in explroer, scroll a lot -> input box remains there and tree looks broken. I will try to find a repro case for this and investigate more.

@jeanp413 I decided to go with the @orange4glace since the changes are directly in the viewer the top most layer, and I prefer to put workarounds as close as possible to the actual problem. Also this solution came in first.
fyi @joaomoreno

@isidorn I think we still need to disable the new file and new folder actions (from db17c23a72e9dd57da6f7b53d006832f791369ed) while editing an item in the explorer. I'm having this bug.

I can not repro on mac due to that I believe this is a dup of https://github.com/microsoft/vscode/issues/75825
Do you get some errors in the F1 > developer console

I can repro even if I change the filename (to avoid  #75825 so I get no errors in the developer tools console) before clicking the new file/folder button.

I can not repro any of that on Ubuntu weirdly.
@jeanp413  Can you maybe open a new issue for that, so we do not lose it. Thanks a lot!


llama with dort is failing

dort is failing with torch-nightly, onnx (development version), transformers==4.37.2
To replicate, run test test_llama_mixed_precision_large in https://github.com/microsoft/onnxscript/pull/1317.
  File "/usr/local/lib/python3.10/dist-packages/torch/fx/graph_module.py", line 735, in call_wrapped
    return self._wrapped_call(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/onnxruntime.py", line 931, in _ort_acclerated_call
    onnx_model = optimizer.optimize(onnx_model)
  File "/src/github/onnxscript/onnxscript/optimizer/__init__.py", line 61, in optimize
    model = onnx.shape_inference.infer_shapes(
  File "/usr/local/lib/python3.10/dist-packages/onnx/shape_inference.py", line 46, in infer_shapes
    inferred_model_str = C.infer_shapes(
onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] Inference error(s): (op_type:ConstantOfShape, node name: node_ConstantOfShape_3): [TypeInferenceError] Attribute expected to have a one-dim tensor
(op_type:ConstantOfShape, node name: node_ConstantOfShape_2): [TypeInferenceError] Attribute expected to have a one-dim tensor
(op_type:Transpose, node name: Transpose_408): [TypeInferenceError] Input 0 expected to have type but instead is null
(op_type:ConstantOfShape, node name: node_ConstantOfShape_1): [TypeInferenceError] Attribute expected to have a one-dim tensor
(op_type:Transpose, node name: Transpose_431): [TypeInferenceError] Input 0 expected to have type but instead is null
(op_type:ConstantOfShape, node name: node_ConstantOfShape_0): [TypeInferenceError] Attribute expected to have a one-dim tensor
(op_type:Transpose, node name: Transpose_453): [TypeInferenceError] Input 0 expected to have type but instead is null
(op_type:Transpose, node name: Transpose_474): [TypeInferenceError] Input 0 expected to have type but instead is null

cc @thiagocrepaldi

I assume this could be related to the recent optimizer/rewriter changes (not necessarily an issue with torch_lib is what I am trying to say).

Specifically, I suspect the recent changes here ... my fault, I suppose I should be creating a 1D tensor, not 0D tensor (based on error message). And the unit tests are incomplete as well.

I pushed a fix as part of this PR: https://github.com/microsoft/onnxscript/pull/1453/files ... and updated the unit-test, which confirms that this may be the issue. (Also uncovers other issues to be addressed.)


Fixes AI Platform example formatting in docs

Closes #261 .
Example

Code now formats for docs.
Screenshots
After:

Checklist

[X] References any related issue by including "Closes #" or "Closes ".

If no issue exists and your change is not a small fix, please create an issue first.

[X] Includes tests or only affects documentation.
[X] Passes pre-commit checks.

Run pre-commit install && pre-commit run --all locally for formatting and linting.

[X] Includes screenshots of documentation updates.

Run mkdocs serve view documentation locally.

Thank you for your willingness to contribute to prefect-gcp! The code for this library has been moved to https://github.com/PrefectHQ/prefect/tree/main/src/integrations/prefect-gcp. Please reopen this PR there if this functionality is still needed!


Timeout component update to UI5

HI Guys is there any possibility of updating the Timeout component to UI5 format? It is the only component stopping me from migrating an app to ui5 m mode.
It isn't actually shown on the screen anywhere so hope its a quick fix?
Thanks!

This can be closed, just noticed there is a standard timer component now.


Crosstalk matrix calibration

This is related to https://github.com/qiboteam/qibocal/pull/859
I've calibrated some parameters for qubits 0, 2 and 3 including the crosstalk matrix.
I still need to continue the single qubit (re)calibration

I'm closing this given that the calibration is not much different from platinum_qm


User can use CreateReactApp with our SDK

Problem
Currently not possible
Impact
Our partner devs will need this for best UX
Proposed Solution
[OPTIONAL] Thoughts on solution design. We could do  to solve this problem.
Acceptance Criteria
From an end user perspective, the below criteria must be met to consider this done:

[ ]

Initial analysis: https://www.notion.so/connext/SDK-Compatibility-d5827dee2f6c4b839507a99fc7fa7e61
Repackaging static elements (ABIs, etc) separately shouldn't be difficult but stripping out all Node-specific modules (fs, etc) will be a larger effort.

@prathmeshkhandelwal1 to investigate how to remove breaking dependencies.

https://github.com/connext/documentation/pull/108

Easy solution: Install cracow package and modify CRA config.


add create curator for admin role

Signed-off-by: Hanqiu Zhang<EMAIL_ADDRESS>Issue: https://github.com/open-cluster-management/backlog/issues/13045

/lgtm


uKub

This was completed late July, branches documented here https://github.com/kubostech/kubos-manifest/tree/ukub.


Create paging control

@rwillsonAxiom would you be able to check this?
Clicking the model selector should show the models.
Clicking one of the four filters at the bottom should filter the available models.
Clicking the model selector again should close the model selector
Opening it again all filters should be cleared.
Selecting a model won't do anything except close the control as I don't yet have the models

@davewilton That seems to do what you said on the table.

Create paging control @Nixxs paging control merged. It is controlled by the models config file so as soon as we have a list of models and button UI's its good to go

Looking great! Good effort guys!


Starting the animation of multiple models on click event.

Hi,
I have 2 gltf models and i have given animations to them both are placed next to each other. I want the animation to begin simultaneously. here is my code and script
      init: function () {
        this.el.addEventListener('click', function (evt) {

      document.querySelector("#rotate").addEventListener('animationend', (e) => {
        entity.emit('click');
      })

        });
      }
    });

   <a-entity id="rotate" gltf-model="#cesium-man1"
                scale="130 130 130"  position="0 -0.4 -0.5" cursor-animator >
                  <a-animation begin="click" attribute="rotation" to="0 0 50"  delay="100" dur="1000"></a-animation>
                   <a-animation begin="click" attribute="position" to="0.35 -0.4 -0.5"  delay="100" dur="1000"></a-animation>
            </a-entity>
             <a-entity id="rotate" gltf-model="#cesium-man2"
                scale="130 130 130"  position="0 -0.4 -0.5" cursor-animator >
                  <a-animation begin="click" attribute="rotation" to="0 0 -50"  delay="100" dur="1000"></a-animation>
                        <a-animation begin="click" attribute="position" to="-0.35 -0.4 -0.5"  delay="100" dur="1000"></a-animation>

            </a-entity>```

<!-- Please don't delete this template or we'll close your issue -->
<!-- Before creating an issue please make sure you are using the latest version of AR.js. -->
<!-- Before creating an issue please make a search on open and closed issues, maybe your question is already answered. -->
**Do you want to request a *feature* or report a *bug*?**

<!-- Please ask questions on StackOverflow or the AR.js Gitter (https://gitter.im/AR-js). -->
<!-- Issues which contain questions or support requests will be closed. -->

**What is the current behavior?**

**If the current behavior is a bug, please provide the steps to reproduce.**

<!-- A great way to do this is to provide an external url, (like a gist, codepen), with a short description on the issue you experiencing -->
<!-- Check if the issue can be reproduced in one of our demos/examples -->
<!-- Make sure your issue is not originating from third party source ex: (from A-Frame, Tango, JSARToolkit) -->

**What is the expected behavior?**

**If this is a feature request, what is motivation or use case for changing the behavior?**

**Please mention other relevant information such as the browser version, Operating System and Device Name**

please open this kind of requests on Gitter official page or stackoverflow. the first one is linked on the readme.


FR: Automatic service rollback on failed healthcheck

The current process of upgrading a service involves a manual check of the upgraded service and to manually confirm the upgrade to be successful. This is soooo 2016! ;)
I propose to use the custom healthcheck functionality already in the roadmap to allow Rancher to confirm the upgrade by itself through an option toggle in the service definition. That way, a developer team could setup a CD-pipeline, in which

a developer would inform Rancher on an upgrade wish
Rancher would start the upgrade process by pulling in the new image and upgrading the service
run the custom health check provided in the rancher-compose.yml.
if the healthcheck failes,
it would automatically start the rollback

This would be great for teams having a good test coverage and a high confidence in their pipeline.

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


Latex commands in "extra"-field treated differently

I need to pass latex commands (starting with a backslash) to the bib file for various formatting needs - mostly to accommodate the use of Chinese characters.
For this I have used the "extra"-field and it seemed to work well in this example:
biblatex[author=Liu, \chsf{刘华春}, Hua\-chun]
produces
author = {Liu, \chsf{刘华春}, Hua\-chun} in the bib file.
In combination with "publisher", however, the same string is treated differently, producing
publisher = {{Liu, \textbackslash{}chsf\{刘华春\}, Hua\textbackslash{}-chun}}
in the bib file.
I have tried the Json5 encoding but backslashes will disappear in the bib output in that case:
biblatex{author: "Liu, \chsf{刘华春}, Hua\-chun"}
produces
author = {Liu, chsf{刘华春}, Hua-chun}
Is there any way to work around this (or possibly any error on my side)?
Error report ID: TUXQGSWH-euc

I have tried escaping the backslash in the Json5 format which works well for the author alone but not for the following:
biblatex{
  author: "Liu, \\chsf{刘华春}, Hua\\-chun",
  title = "\\py{Hu\\-lian\\-wang jin\\-rong jian\\-guan fa\\-lü gui\\-zhi yan\\-jiu"
}

produces
  author = {刘华春},
  note = {biblatex\{
  title = "\textbackslash\textbackslash{}py\{Hu\textbackslash\textbackslash{}-lian\textbackslash\textbackslash{}-wang jin\textbackslash\textbackslash{}-rong jian\textbackslash\textbackslash{}-guan fa\textbackslash\textbackslash{}-lü gui\textbackslash\textbackslash{}-zhi yan\textbackslash\textbackslash{}-jiu"
\}\vphantom\}}

in the bib file.

Can you please send a debug log outlined above? With it I have an exact copy of your item and settings and it's much easier for me to replicate what you're seeing. It's just a few clicks.

Oh sorry I see you've edited the original report, I'll take a look.

That should be
biblatex{
  author: "Liu, \\chsf{刘华春}, Hua\\-chun",
  title: "\\py{Hu\\-lian\\-wang jin\\-rong jian\\-guan fa\\-lü gui\\-zhi yan\\-jiu"
}

(notice the : instead of the =)

Are you sure that "\\py{Hu\\-lian\\-wang jin\\-rong jian\\-guan fa\\-lü gui\\-zhi yan\\-jiu" is correct though? The braces are unbalanced.

Sorry for those mistakes, you are right, of course. Interestingly, the problem persists:
biblatex{
  author: "Liu, \\chsf{刘华春}, Hua\\-chun"
}

yields author = {Liu, \chsf{刘华春}, Hua\-chun}
whereas merely changing "author" to "publisher" results in
publisher = {{Liu, \textbackslash{}chsf\{刘华春\}, Hua\textbackslash{}-chun}}
To me it seems that using "publisher" makes BBT convert the string to latex code that would result in the string I want once it is interpreted by latex.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>38 ("update testcase")
Install in Zotero by downloading test build <IP_ADDRESS>38, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

Give 4138 a try

That seems to work (in both formats)! Thank you so, so much!

Thanks for the confirmation, release 5.1.92 has been scheduled.

Another thing I just noticed is that empty curly brackets such as
biblatex{
  author: "Xu, \\chsf{}, Duo\\-qi"
}

get eliminated in the bib file. I personally need them to be preserved, but possibly this is intended behaviour.

What doe these brackets do?

I have customised biblatex to treat Chinese names differently (in the order: last name, first name, Chinese characters) by checking if the field in the middle contains something other than "jr." etc. If known, I will put the Chinese characters inside the curly brackets. Here, however, I don't know them but still want the special formatting to apply. Very specific, I see ;) Perhaps I could try a workaround by inserting a tiny whitespace inside the brackets.

I can make an exception for raw fields.

That would be awesome, if this is a concern for more users than just me!

I've not yet heard about it, but it fits the philosophy of the raw fields.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>62 ("fix #1207 again")
Install in Zotero by downloading test build <IP_ADDRESS>62, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

Try the new build

Works like a charm. You made my day - again!

Alright, 5.1.93 is building


Add support for Recaptcha invisible.

I added support for Recaptcha invisible with this pull request. This resolves issue #16.
This includes a working example (sample\TestWebApp\Views\TestEmailNewsletterSignup)
The pull request also includes unit tests on the new code.

Looks great, I'll test it soon, thanks


Add temp accounts (model code)

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#163  👈
#162
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @acco and the rest of your teammates on  Graphite


Conf files for nsq_* tools

With this PR, the nsq_* tools can at last have a config file specified instead of mangling the upstart configs to supply the needed command line options. Happily the config file isn't required, though, so the existing upstart configs won't stop working unexpectedly between the time the new packages get pushed to packagecloud and the updated chef recipes get deployed.

@ctdk this looks great. I have also wanted this feature.  Can you add some example configs so it is clear what the format of the config files should be

Sure, I'll turn that around sometime this evening once the kids are in bed and such.

There's a sample ini file, but I just realized that the library for parsing the config options doesn't support specifying the same option multiple times (grrr). I need to fix that before this is done.

This is actually good - the reason it's breaking in circleci is because it's trying to use the old raintank-metric app, and ParseOptions is incompatible between the versions.


[FLINK-36158][runtime] Refactor Job Recovery Process to Use ExecutionPlan Instead of JobGraph.

What is the purpose of the change
[FLINK-36158][runtime] Refactor Job Recovery Process to Use ExecutionPlan Instead of JobGraph.
Brief change log
[FLINK-36158][runtime] Refactor Job Recovery Process to Use ExecutionPlan Instead of JobGraph.
Verifying this change
This change is already covered by existing tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks @zhuzhurk, I've updated this pr accordingly, PTAL.


[error 0x800700c1 when launching `C:\Program Files\PowerShell\7\pwsh.exe']

Windows Terminal version (or Windows build number)
Windows Terminal Preview Version: 1.9.1445.0
Other Software
No response
Steps to reproduce
Startup terminal as usual (with C:\Program Files\PowerShell\7\pwsh.exe as default)
Also happens when new tabs are opened with pwsh
Expected Behavior
It starts C:\Program Files\PowerShell\7\pwsh.exe
Actual Behavior
It throws [error 0x800700c1 when launching `C:\Program Files\PowerShell\7\pwsh.exe']

Out of curiosity, which architecture of pwsh 7 did you install, and what architecture is your machine?
We've seen this before a few times (#7160, #7195), but not when someone's hardcoding the path.
Troubling that there are two similar reports (see also #10270) on the latest update.

Also,

Is there a C:\Program file? According to https://github.com/microsoft/terminal/issues/7195#issuecomment-720627551, that could cause error 0x800700c1. If so, you could perhaps delete the file?

Out of curiosity, which architecture of pwsh 7 did you install, and what architecture is your machine?
We've seen this before a few times (#7160, #7195), but not when someone's hardcoding the path.
Troubling that there are two similar reports (see also #10270) on the latest update.

Using the exe
$PSVersionTable
Name                           Value

PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.19042
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0
Launching the path mentioned in the Terminal settings with run-command works fine.

When pasted:

settings.json:
Contains the following:
    "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",

            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell",
                "source": "Windows.Terminal.PowershellCore"
            },

Also,

Is there a C:\Program file? According to #7195 (comment), that could cause error 0x800700c1. If so, you could perhaps delete the file?

This was the fix!!
The file blocking launch is a log file created with Citrix receiver updates:
[11F4:38F4][2021-05-28T13:24:51]i001: Burn v<IP_ADDRESS>18, Windows v10.0 (Build 19042: Service Pack 0), path: C:\Windows\Temp\{someguid}\.cr\vc_redist.x64.exe
[11F4:38F4][2021-05-28T13:24:51]i009: Command Line: '-burn.clean.room=C:\Windows\SysWOW64\config\systemprofile\Citrix\UpdaterBinaries\Ctx-someguid\Extract\vc_redist.x64.exe -burn.filehandle.attached=596 -burn.filehandle.self=736 /q /norestart /ACTION=Install /l C:\Program Files (x86)\Citrix\Logs\CTXReceiverInstallLogs-20210528-132448\CtxInstall-vc_redist-20210528-132449.log'

Removing the C:\Program-file fixed it


Support Catalina

Fixes #743
If you are already on Catalina and have granted the right permissions you can't test the initial flow.  If anything else comes up, we can handle it here as well

I reset all permissions (tccutil reset All com.wulkano.kap) and then ran npm start and Kap shows this:

But I think you intended to show the system permission dialog instead? The above dialog is for when the user has already declined the system permission before.

Also, instead of asking the user to relaunch Kap, we should quit Kap when the user clicks "Open System Preferences" and instead tell the user to just launch Kap (not relaunch). That would prevent the user from forgetting to relaunch Kap.

Surprisingly, the screen recorder permission, unlike the rest, still works even without restarting (even though the system dialog asks you to restart), but yeah I think it's good practice to quit, so they don't have to do it later. I'll add that.
For the dialog thing, there's no way to check wether or not the prompt has been shown. We just know it gets shown the first time, so the package uses a similar logic like electron-util does for the first time the permissions was asked for.
When you reset it manually with tccutil, the package has no way of knowing, so it assumes you have asked before and shows the dialog anyway. I think that is the better way to handle the edge case

@karaggeorge I think you misunderstood me. What I'm saying is that I never get the system prompt, even after running tccutil reset ScreenCapture com.wulkano.kap and deleting .has-app-requested-screen-capture-permissions. I only get our prompt to open system preferences, which is useless, as Kap is not in the list yet, since the system prompt has not been shown.

@sindresorhus Ah, I see. I just tested it and it seemed to work for me. I think what happens is that when you're running it locally (yarn start) it doesn't actually run with the bundle identifier. It runs as Electron or Iterm. If you package it and then use the tccutil with com.wulkano.kap, then I believe it should work. (at least it did when I just tried it with that build)

Ah yeah. That's it! Maybe worth adding a tip about that to https://github.com/wulkano/kap/blob/master/maintaining.md ?
For me it was tccutil reset ScreenCapture com.googlecode.iterm2.

Looks good :)


re-implement sqlserver test materialization

for whatever reason, as seen in https://github.com/dbt-msft/tsql-utils/pull/76 and our internal pipelines, dbt-synapse isn't looking for or using sqlserver's test materialization. The hacky workaround here is to copy the sqlserver version into the dbt-synapse adapter, then it works!
@jtcohen6, any idea what could be going on here? AFAIK, sqlserver__ macros should be looked for, but perhaps there's a bug with the materialization dispatch functionality?

Yeah, macro dispatch works for all kinds of macros — except materializations, which take a different (much older) approach for per-adapter implementation. Instead of searching for adapter__materialization_name or default__materialization_name, dbt constructs (and then looks for) a macro named materialization_name_adapter. It's not exactly documented, but it's been stable for many many releases now. We should 100% seek to clean this up in the future.
In the meantime, glad you got this working. There's a lower-code way to do this:
{%- materialization test, adapter='synapse' -%}
  {% set relations = materialization_test_sqlserver() %}
  {{ return(relations) }}
{%- endmaterialization -%}

Cf. how Snowflake "wraps" the default seed + snapshot materializations (in those cases, to support query tags)


Entry function 'fusion_2' uses too much parameter space

Jax jit works fine most of the time, but occasionally I get the following error, which I don't know how to interpret.

2019-05-05 21:59:48.182440: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:125] Can't find ptxas binary.  Will back to the GPU driver for PTX -> sass compilation.  This is OK so long as you don't see a warning below about an out-of-date driver version.
2019-05-05 21:59:48.182510: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:126] Searched in the following directories:
2019-05-05 21:59:48.182670: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]   ./cuda_sdk_lib
2019-05-05 21:59:48.182692: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]   /usr/local/cuda
2019-05-05 21:59:48.182715: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:130]   .
2019-05-05 21:59:48.182733: W external/org_tensorflow/tensorflow/compiler/xla/service/gpu/nvptx_compiler.cc:132] You can choose the search directory by setting xla_gpu_cuda_data_dir in HloModule's DebugOptions.  For most apps, setting the environment variable XLA_FLAGS=--xla_gpu_cuda_data_dir=/path/to/cuda will work.
2019-05-05 21:59:49.158345: E external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:625] failed to load PTX text as a module: CUDA_ERROR_INVALID_PTX: a PTX JIT compilation failed
2019-05-05 21:59:49.158413: E external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:630] error log buffer (185 bytes): ptxas application ptx input, line 34370; error   : Entry function 'fusion_2' uses too much parameter space (0x1898 bytes, 0x1100 max).
ptxas fatal   : Ptx assembly aborted due to error
2019-05-05 21:59:49.158640: F external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:888] Check failed: module != nullptr
Aborted

It would be helpful if you could share a small reproduction of the problem — this is a problem we should probably hand off to the fine folks who work on XLA.

It would also be helpful to know what versions of jax and jaxlib you have installed.

I was using the git version from last weekend. Unfortunately the code is quite complex and I cannot share it at the moment.

I think it's going to be hard to make progress on this one without a way to reproduce it. We have some guesses as to how to trigger it, but we aren't completely sure.

Thanks. I believe the underlying cause is that the computation graph I give to jit is simply too large (about 10,000 np operations).

I managed to isolate the code that produces the error:
bug.zip
As I thought, it's probably due to the jit compiler running out of memory. The file also shows a way in which I'm trying to avoid this blow-up of the compiler, by isolating sub-functions to be compiled. This works, but compilation is still very slow, and it would be nice if there were ways to speed it up or parallelize simultaneous jit of many functions on the CPU (cf. #679).

Thanks for the reproducer. I have played around with it, and tried several layer sizes. With your workaround you are making sure that several XlaModules are created. The size of the emitted LLVM IR code grows linear with the size of the XLAModule, however it seems that the PTXAS memory usage is more than linear in the size of the IR code. PTXAS is not under our control, but arguably XLA or Jax should automatically split modules that are too large for PTXAS to handle.

Good news, at long last! This bug doesn't repro anymore :) I think the compiler was fixed.
Compilation is still super slow, and there are probably ways we'd want to adapt this code to make it more amenable to JAX. But for the narrow scope of this bug, we're good!
For posterity, I tested with the below revised version of the script (just to replace index_update with .at[...].set, and handle lists in static_argnums arguments). It executes to completion without a compiler error, producing the output below:
$ python bug.py

Jit compiling with layer size 128
1st batch took 144.22 sec
2nd batch took 135.62 sec
It would be great to use multi-core for the initial jit compilation of all independent layers, in order to reduce this huge upfront cost.
Jit compiling with layer size 10000 (this will trigger a bug in the compiler, and use about 60GB of RAM on my server)
2022-08-15 19:02:58.365163: E external/org_tensorflow/tensorflow/compiler/xla/service/slow_operation_alarm.cc:65]
********************************
[Compiling module jit__lambda_.143] Very slow compile?  If you want to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.
********************************
2022-08-15 19:03:28.264408: E external/org_tensorflow/tensorflow/compiler/xla/service/slow_operation_alarm.cc:133] The operation took 2m29.899393287s

********************************
[Compiling module jit__lambda_.143] Very slow compile?  If you want to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.

# -*- coding: utf-8 -*-

import numpy as onp
import time
import itertools

import jax.numpy as np
from jax import jit, device_put
from jax import random
# from jax.ops import index, index_add, index_update

def pos_lit(v):
  return v-1

def neg_lit(v, num_features):
  return num_features+v-1

def parse_lc(lines, num_features):
  wiring = list(parse_lc_gen(lines, num_features))
  return (num_features, len(wiring)+2*num_features, -1, wiring)

def parse_lc_gen(lines, num_features):
  node_map = {}
  inode_ct = itertools.count(2*num_features)

  def inode(id1):
    if not id1 in node_map:
      inode = next(inode_ct)
      node_map[id1] = inode
    return node_map[id1]

  for x in lines:
    spl = x.split()
    if x.startswith('T'):
        id1 = spl[1]
        v = int(spl[3])
        node_map[id1] = pos_lit(v)
    if x.startswith('F'):
        id1 = spl[1]
        v = int(spl[3])
        node_map[id1] = neg_lit(v, num_features)
    if x.startswith('D'):
        id1 = spl[1]
        elements = [el.split(" ") for el in x.replace(')', '').split("(")[1:]]
        elements = [[inode(c) for c in e[0:2]] for e in elements]
        yield [inode(id1), 'D', elements, -1]

def parse_lc_file(file, num_features):
  return parse_lc(open(file, "r"), num_features)

def one_hot(x, k):
  """Create a one-hot encoding of x of size k."""
  return np.array(x[:, None] == np.arange(k), np.float32)

key = random.PRNGKey(0)

my_batch_size = 1024
num_features = 28*28
num_labels = 10

big_circuit = parse_lc_file("mnist.circuit",num_features)

def batch_node_probs(inputs, circuit, layer_size):
  num_inputs, num_gates, num_wires, wiring = circuit
  probs = j_batch_node_probs_init(inputs, num_inputs, num_gates)
  for i in range(0, len(wiring), layer_size):
    probs = j_batch_node_probs_layer(probs, i, i+layer_size, wiring)
  return probs

def batch_node_probs_layer(probs, start, end, wiring):
  for node in wiring[start:end]:
    op = node[1]
    if(op == 'D'):
      id, op, elements, weights = node
      probs = batch_node_probs_dec(probs, id, elements)
    else: raise Exception(f"unknown operand: {op}")
  return probs

def j_batch_node_probs_layer(probs, start, end, wiring):
    return jit(lambda probs: batch_node_probs_layer(probs, start, end, wiring))(probs)
# j_batch_node_probs_layer = jit(batch_node_probs_layer, static_argnums=(1,2,3))

def batch_node_probs_init(inputs, num_inputs, num_gates):
  num_instances = inputs.shape[0]
  probs = np.empty((num_gates,num_instances))
  probs = probs.at[0:num_inputs].set(np.transpose(inputs))
  return probs.at[num_inputs:2*num_inputs].set(1-probs[0:num_inputs])
  # probs = index_update(probs, index[0:num_inputs], np.transpose(inputs))
  # return index_update(probs, index[num_inputs:2*num_inputs],

j_batch_node_probs_init = jit(batch_node_probs_init, static_argnums=(1,2))

def batch_node_probs_dec(probs, id, elements):
  el_probs = [np.prod(probs[np.array(el)], axis=0) for el in elements]
  el_probs = np.stack(el_probs, axis=0)
  return probs.at[id].set(np.sum(el_probs, axis=0))
  # return index_update(probs, index[id], np.sum(el_probs, axis=0))

# random data
random_flattened_images = device_put(random.normal(random.PRNGKey(1), (my_batch_size, num_features)))
random_targets = device_put(one_hot(onp.random.randint(0,10,size=(my_batch_size,)),num_labels))

layer_size = 128
print(f"Jit compiling with layer size {layer_size}")

start_time = time.time()
batch_node_probs(random_flattened_images, big_circuit, layer_size)
print("1st batch took {:0.2f} sec".format(time.time() - start_time))

start_time = time.time()
batch_node_probs(random_flattened_images, big_circuit, layer_size)
print("2nd batch took {:0.2f} sec".format(time.time() - start_time))
print("It would be great to use multi-core for the initial jit compilation of all independent layers, in order to reduce this huge upfront cost.")

layer_size = 10000
print(f"Jit compiling with layer size {layer_size} (this will trigger a bug in the compiler, and use about 60GB of RAM on my server)")

batch_node_probs(random_flattened_images, big_circuit, layer_size)

Hey everyone and especially @mattjj
I'm getting the "uses too much parameter space" error, and I wonder whether it's another bug similar to this, or maybe I'm doing something wrong.
I'm running RL experiments using my private fork of https://github.com/Silent-Zebra/POLA and sometimes when I use sufficently-big parameters, I get exceptions like these:
Traceback (most recent call last):
  [...]
  File "/opt/conda/lib/python3.10/site-packages/jax/_src/compiler.py", line 238, in backend_compile
    return backend.compile(built_c, compile_options=options)
jaxlib.xla_extension.XlaRuntimeError: INTERNAL: ptxas exited with non-zero error code 65280, output: ptxas /tmp/tempfile-peeps-d6bd1d5d-31951-61e3e7489cab5, line 3889; error   : Entry function 'loop_broadcast_fusion_1537' uses too much parameter space (0x1450 bytes, 0x1100 max).
ptxas /tmp/tempfile-peeps-d6bd1d5d-31951-61e3e7489cab5, line 3889; error   : Feature 'Kernel parameter size larger than 4352 bytes' requires PTX ISA .version 8.1 or later
ptxas fatal   : Ptx assembly aborted due to errors
: If the error message indicates that a file could not be written, please verify that sufficient filesystem space is provided.

I tried looking at /tmp/tempfile-peeps-d6bd1d5d-31951-61e3e7489cab5 but that file doesn't exist.
My code is secret, but if it helps I can share it with you privately.

Oh, I now tried upgrading JAX and rerunning, and instead of this "uses too much parameter space" error I got a segfault :( Opened separate issue: #22700


Feature/hhnaming redesign

Critical Changes
Changes

Custom Household Naming has been enhanced to support more name specifications
You can now include {!Lastname} within the repeating firstnamespec which is demarcated with the surrounding {! }.  E.g., {! {!Firstname} {!LastName} } Family will give you John Doe & Jane Doe Family
You can now include additional field references outside of the firstnamespec, which will refer to the first contact with that last name.  E.g., {!{!Salutation}} {Firstname} {Lastname} will give you Mr. & Mrs. John Doe
You can now include fields through lookups fields on Contact.  E.g., {!{!Firstname}} {!Lastname} ({!Account.BillingCity}) would give you John & Jane Doe (Seattle)

Issues Closed
#2021
#1357

@njjc The custom household naming enhancements are finished and ready for review and merge.  I still have a few other issues outstanding in AA, but they are all due to side effects when working within the Manage Household UI.

@davidhabib loaded into a DE org, tried a new default rule, and got this exception creating a new contact with just lastname populated:

Error: Invalid Data.
Review all error messages below to correct your data.
Apex trigger nictest.TDTM_Contact caused an unexpected exception, contact your administrator: nictest.TDTM_Contact: execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object: Class.nictest.HH_NameSpec.strConFspec: line 323, column 1

@njjc fixed the error you found with not handling null object lookups.  also included the new help text and layout for the example name formats.  thanks.

Using the same default setting, I'm getting this error in the Manage HH UI:

I ran tests manually here as our build system is extremely unreliable.


Conitnuous autofocus in camera

Hi, I would like avoid force to press any button to do autofocus when i take a photo. The first possibility was do autofocus() and next takePhoto, but throw exception.
How can do any similar action?
Thank you!

Please read the project README about the status of the library, and the instructions for asking questions.
I have no idea how to do anything of what you are describing, sorry.


qemu-guest-agent: init module

Motivation for this change
Not finished but I could use feedback on what to provide as an option or not. The Qemu guest agent allows out of band communications with Qemu VMs and allows for fancy things.
Ref:
https://github.com/NixOS/nixops/pull/922
https://github.com/NixOS/nixpkgs/issues/34722
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
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 nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@xeji I updated the PR hoping that's cleaner.

Once again xD ?

@xeji is that ok (sorry for the repeated mistakes) ?

Looks good. Let me try it locally before merging.

Starting via udev (on device appearance_ results in the service does not start on switch-to-configuration switch being added to the configuration.
It may have a sense to run the service always, using casual wantedBy = [ "multi-user.target" ]; instead of udev


Response code is 429 - Page Not Found / Please wait a few minutes before you try again

This previously working code now throws an exception:
$instagram = new \InstagramScraper\Instagram();
$medias = $instagram->getMedias('my-account', 8);

My installed version is: v0.9.14 but I also tried dev-master
I get an exception:
Warning at vendor/raiym/instagram-php-scraper/src/InstagramScraper/Instagram.php line 454: Response code is 429. Body: <!DOCTYPE html>
<html lang="en" class="no-js not-logged-in ">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">

        <title>
                  Page Not Found • Instagram
                </title>

[...]
Error

Please wait a few minutes before you try again.
[...]
    </body>
</html>
 Something went wrong. Please report issue. (http://www.example.org/de/blog/)

Based on the content/message, this could very well be a throttling attempt by instagram to fight against scrapers like this.
But if that's the case, could this be detected and a special exception be thrown?
(but I am not sure because I still get the same response after waiting for a while)
The full exception message: https://paste.zauberfisch.com/t/5f85e00ce6bad/error.log.txt

Ok, should have tried that right away: It appears that this hosts IP address might be blacklisted. Switching to a different host it works again.

My issue is therefore resolved, but it might still be worth to keep this issue open and add a special exception for this response

I ran into this today and it actually does throw an InstagramException. You can use $exception->getCode() to find out if it is HTTP 429 or something else.

Fair enough. I knew it was an exception, but didn't check the code. Thanks


Feedback : How to store a JSON value from any activity output in ADF into a JSON file.

Document Enhancement Proposal: How to store a JSON value from any activity output in ADF into a JSON file.
Documentation:  https://learn.microsoft.com/en-us/azure/data-factory/format-json
Overview
This request provides a step-by-step by explanation on storing a JSON value in ADF into a JSON file which the above documentation doesn't have.
There is no proper documentation in ADF to generate JSON file from JSON value from any activity. This approach uses a delimited text dataset as sink to generate the required JSON file.
Correction Details:
This guide will allow users to:
generate JSON file from JSON value from any activity
Steps:

Prerequisites:
First create a dummy csv file in the storage with a single value (only one value).
dummy.csv
1
Create the Delimited text dataset for this file and disable the First row as a header in the dataset and leave the remaining configurations as default.

Steps to handle the above scenario:
Store the JSON value in a string variable using set variable activity. Take a copy activity with the above dummy dataset as a source and add addtional column as shown below in the source.

For the sink, create another Delimited text dataset and give the <JSON_filename>.json as file name. Change the dataset configurations as shown below.

Now, give the below dynamic expression in the copy activity mapping.
@json('{
                                "type": "TabularTranslator",
                                "mappings": [
                                    {
                                        "source": {
                                            "name": "new_column",
                                            "type": "String"
                                        },
                                        "sink": {
                                            "type": "String",
                                            "physicalType": "String",
                                            "ordinal": 1
                                        }
                                    }
                                ],
                                "typeConversion": true,
                                "typeConversionSettings": {
                                    "allowDataTruncation": true,
                                    "treatBooleanAsNumber": false
                                }
                            }')

Now, run the pipeline and it will generate the JSON file with required JSON content as shown below.

Conclusion
By following this guide, users can store a JSON value from any activity output in ADF into a JSON file.
Reference:
azure data factory - How to save a set variable into a csv o json file inside a GEN 2 in ADF - Stack Overflow
This Enhancement request aims to improve user experience and security by providing clear documentation and example scripts to store a JSON value from any activity output in ADF into a JSON file.

@GovindulaRakesh
Thanks for your feedback! We will investigate and update as appropriate.

@GovindulaRakesh
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.


Complete documentation

All current functionality should be completely documented, and http://docs.zajal.cc should be up and running.

Would you be able to repost the documentation on a functioning website?
thanks!

I will try and resurrect it and upload again. There's no reason for it to have disappeared like that, that's just sloppy on my part.


chore: remove @param on setter, which Closure Compiler can't understand

R: @kara
@alexeagle needs this; will eventually be resolved by a fix in tsickle

We may not need it, Evan is syncing tsickle fix into google3 as cl/132718669

Closing since it seems to no longer be necessary


feat: pass the error as a prop when mounting error UIs

This PR enables passing down the error object when mounting parcel based error UIs. This would enable developers to leverage either the error message, stack-trace or error.appOrParcelName properties.

Pushed the test, documented in https://github.com/single-spa/single-spa.js.org/pull/552

Released in https://github.com/single-spa/single-spa-layout/releases/tag/v2.1.0


Feature Request: Concatenate Post Processor

I see there are already a few threads regarding this...but I was unable to see a conclusion (or I just missed it)
Currently I am using this sequence of commands and it seems to work:
youtube-dl http://thedailyshow.cc.com/full-episodes
youtube-dl http://thedailyshow.cc.com/full-episodes --get-filename  > filenames.txt
then a quick vbs parsing script to generate the following from the filenames.txt:
ffmpeg -i "thedailyshow june-10--2015---colin-quinn part 1-998f98c7-ead3-49a8-a411-d521dc0aaf1b.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts -y intermediate1.ts
ffmpeg -i "thedailyshow june-10--2015---colin-quinn part 2-11c46b77-b819-46d2-83d3-860e513bc82a.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts -y intermediate2.ts
ffmpeg -i "thedailyshow june-10--2015---colin-quinn part 3-2c62782c-320e-461b-ad99-8500ac4cfc67.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts -y intermediate3.ts
ffmpeg -i "thedailyshow june-10--2015---colin-quinn part 4-e92f9733-a359-4fbd-81a1-87b85cc7ce95.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts -y intermediate4.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts|intermediate3.ts|intermediate4.ts" -c copy -bsf:a aac_adtstoasc "thedailyshow.mp4"
Afraid I don't have the mad python skills to make a post processor, but just thought I'd offer it up....
Thanks
Ringo

Duplicate of #1325.


Fixed typo in language docs

DCO 1.1 Signed-off-by: Neil Bartlett<EMAIL_ADDRESS>

Thanks for the update and for checking the pull process works


nvidia-x11-stable: 384.90 -> 387.22

Motivation for this change
Updates the nvidia-x11 driver to the newest stable to support the 1070 Ti, and give us the latest fixes for other cards.
In addition to being a version bump, it required me to comment out NIX_LDFLAGS in settings.nix, and I want to be sure that didn't break anything because I don't know the intention of why it was added. nvidia-settings is working on my setup with no noticeable changes.
Things done

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

[x] NixOS

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

cc @vcunat

NIX_LDFLAGS is due to 362ef377c8e5.  IIRC we had problems with finding some libraries during runtime; @abbradar might remember more details.

Could somebody with an nvidia card give this a try?

I can confirm this is working on kernel 4.14.0.

@abbradar @vcunat Are we worried about the NIX_LDFLAGS if people report this is working?!

Tried nvidia-settings now and that is not working properly. optirun nvidia-settings results in https://gist.github.com/adisbladis/a2d800d8a103232fd5de1a0e40643dad

Followed the instructions on the bumblebee wiki (optirun -b none nvidia-settings -c :8) and nvidia-settings starts up just fine so it seems like my issue was specific to using bumblebee.

Since it seems there are no issues in changing the LDFLAGS, I'll go ahead and push to master.
If this causes issues, feel free to revert and we can investigate, but I am confident at this point that it will not.


BUG: cho_solve and solve_triangular give different results for the same system

Describe your issue.
cho_solve and solve_triangular return different results for the same system L x = b.
Reproducing Code Example
from numpy.random import randn
from numpy.linalg import cholesky
from scipy.linalg import solve_triangular, cho_solve

# Get a "random" lower triangular matrix L
R = randn(3, 3)
L = cholesky(R @ R.T)

# Solve the system L x = b
b = randn(3)
solve_triangular(L, b, lower=True), cho_solve((L, True), b)
# These give different results, e.g.
# (array([-0.27529196,  0.63432194, -1.58746099]),
#  array([ 4.21641427,  6.05963718, -1.88058974]))
# The first one is correct

Error message
None

SciPy/NumPy/Python version information
1.8.0 1.22.3 sys.version_info(major=3, minor=8, micro=10, releaselevel='final', serial=0)

Sorry, my bad, I got heavily confused :) No issue at all here.

I was writing the following when your last comment appeared...
solve_triangular and cho_solve solve different problems.  solve_triangular does just what it says, solve a triangular system.  cho_solve is designed to work with cho_factor to efficiently solve the problem A x = b for a Hermitian positive definite matrix A.


Add counter sample variant for Android + compose

It might be nice to have a simple example with compose widgets instead of views, and to be able to compare the two.
(I've already done the work, but do you want it added to this repo?)

Not sure whether we're going to keep the counter or not. Maybe just as an example of running natively on each platform (need to switch away from using the protocol).
We used to have a to-do sample that had both views and Compose UI but it wasn't really adding any value as a sample.
In either case, I'm happy to add this frontend to the counter regardless of whether we're going to keep it as a sample long-term or not.


toin0u/DigitalOceanV2#206 Remove support for PHP 7.1 and PHP HHVM

Buzz library changes in 7.1 cause this library to break so I think you should drop support for it and release a version 3 of the library that supports PHP 7.1+

I think you are right. Thanks!

Dropping PHP 7.1 support is the wrong way to go, since this library does not actuallt require buzz, it's optional.

@GrahamCampbell I was actually planning on making a second branch without buzz support. Do you have a better suggestion?

The current situation is not broken. All that is wrong is the newest buzz releases don't work with the newest php versions. That doesn't prevent the rest of the library working, so current master is not broken.


Release 2.2.0

Before submitting (must do checklist)

[ ] Did you read the contribution guide?
[ ] Did you update the docs? We use Numpy format for all the methods and classes.
[ ] Did you write any new necessary tests?
[x] Did you update the CHANGELOG?

Proposed Changes

Closing issues

Codecov Report

Merging #1352 (5e836bc) into master (26be1b2) will decrease coverage by 5.46%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff            @@
##           master   #1352      +/-   ##
=========================================
- Coverage   12.02%   6.56%   -5.46%
=========================================
  Files         204     204
  Lines       12740   12740
=========================================
- Hits         1532     837     -695
- Misses      11208   11903     +695

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


fix misbehave of KLDivLoss

Description
In the current version of KLDivLoss, the return value is not the same value calculated by SoftmaxCrossEntropyLoss, which is not documented. It may due to the incorrect settings which using mean rather than sum dealing with the return value.
I provide a fix of this setting, which will keep the return value of KLDivLoss and SoftmaxCrossEntropyLoss almost the same when from_logits=False and sparse_label=False are set to these functions seperately.
Now, the behave of KLDivLoss is exactly the same to what the document say.
to reproduce the misbehave in the current master branch:
import mxnet as mx
a=mx.nd.array([[-1,1],[1,-1]])
b=mx.nd.array([1,0]).one_hot(2)
TrueLoss=mx.gluon.loss.SoftmaxCrossEntropyLoss(sparse_label=False)
FalseLoss=mx.gluon.loss.KLDivLoss(from_logits=False)
c=TrueLoss(a,b)
d=FalseLoss(a,b)*a.shape[-1]
assert((c-d).abs().sum()==0 and a.shape[-1]==2)

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] Now, the behave of KLDivLoss is exactly the same to what the document say.

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@mxnet-bot run ci [unix-cpu, unix-gpu, windows-gpu,  miscellaneous, windows-cpu]

Your PR breaks tests/python/gpu/test_gluon_gpu.py::test_sdml_loss

To trigger all jobs: @mxnet-bot run ci [centos-gpu]

also, could you add a test case for the expected consistency?

I am so sorry that I don't know where to add the test case.
as what is documented for SoftmaxCrossEntropyLoss and KLDivLoss
the return value of SoftmaxCrossEntropyLoss()(pred,label) and KLDivLoss(from_logits=False)(pred,label.one_hot(number_of_classes)) should be the same.
i.e., the following assertion must be true
import mxnet as mx
from mxnet.gluon.loss import *
label=mx.nd.array([0,1,2,3,4,0,1,2,3,4])
pred=mx.nd.random.normal(shape=(10,5))
number_of_classes=pred.shape[1]
#using 1+...-1==0 to assure that only rounding errors would happened.
assert(1+(SoftmaxCrossEntropyLoss()(pred,label)-KLDivLoss(from_logits=False)(pred,label.one_hot(number_of_classes))).abs().mean()-1==0)

@mxnet-bot run ci [unix-cpu]

@szha Now, all the check is passed and the outdated comment is removed.
I know what the test case could be but don't know how to deploy it.
feel free to edit and merge my pull request :)


Is the new release backward compatible?

I'm still on 1.06 and don't wanna update the game to 1.1 yet. I want to know if the latest release is backward compatible. I'm sorry that I'm putting this in the Issues section, but I don't know where my questions can be answered.

Is not, only latest version. We cannot keep support for all game versions.

I don't think that's the full truth, older versions were supported once and are still part of the code:
https://github.com/yamashi/CyberEngineTweaks/blob/master/src/Image.cpp#L13
Instead of preventing it hard, it would be nice to display a notification (e. g. MessageBox before game start) for older game versions that CET is always being developed for the latest version of the game, that older versions are may be unstable, lead to crashes, or may not even run in the first place, and that any issue for older versions are ignored.
I play the newest version myself (because of Steam), but the updates after 1.06 brought more problems than they solved and the graphics and performance are also worse for most players. Therefore, players who do not install every update immediately should not be excluded this way. At your own risk might be the better way.

It's not about may or may not run, they won't run period.
We don't let the mod load and put an error in the log, an error message would be too invasive.


ICEmail defaultSubject

ICEmail implements a defaultSubject method. This is used if the subject header field is just an empty string.
This functionality is used for the UI, that the user does at least see "No subject" in the mail line.
I think this is a UI functionality and ICEmail is not the place to do human readability conversion or beautify processes.
I suggest that the defaultSubject constant is moved to IMAP-UI and the subject replacement "empty String" -> defaultSubject is handled there as well.

a


[EM] Push for higher device memory utilization.

Allow some pages to be in device memory for the validation dataset.
Allow bounding the stream length for quantile sketching.
Rename the parameter extmem_concat_pages to extmem_single_page to avoid confusion with the cache optimization.

Along with recent optimizations in the sketching, we should be able to close https://github.com/dmlc/xgboost/issues/6759 .

cc @rongou .


Better cython integration

From contrebasse on 2014-07-19T16:57:29Z
Spyder Version:  2.3.0
Python Version:  2.7.6
Qt Version    :  4.8.6, PyQt4 (API v2) 4.10.4 on Windows
pyflakes >=0.5.0:  0.8.1 (OK)
pep8 >=0.6      :  1.5.6 (OK)
IPython >=0.13  :  2.1.0 (OK)
pygments >=1.6  :  1.6 (OK)
sphinx >=0.6.6  :  1.2.2 (OK)
psutil >=0.3    :  1.2.1 (OK)
rope >=0.9.2    :  0.9.4 (OK)
matplotlib >=1.0:  1.3.1 (OK)
sympy >=0.7.0   :  0.7.5 (OK)
pylint >=0.25   :  None (NOK)
I often use cython either to speed up some computations or to call C code directly. Currently spyder provides syntax highlighting only, but other thinks would be interesting and not too complicated:

cdef and cpdef should be recognized as function definitions in the highlighter. cdef is ambiguous (see below) but cpdef is not.
validate cython files by running cython and checking for error, like pyflakes does for cython files (only .pyx -> .c, not actually compiling the c file because it's quite slow)
integration into the outline explorer. That can be tricky because the cdef keyword can be used for variables, classes, functions and methods.

Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1899

Viewing the outline of a Cython file would be very handy.


[BUG] Check that keys are not null when creating a map

I was able to create a map on the GPU with a null key:
scala> spark.sql("select map(x, -1) from (select explode(array(1,null)) as x)").show()
23/08/10 15:00:25 WARN GpuOverrides:
!Exec <CollectLimitExec> cannot run on GPU because the Exec CollectLimitExec has been disabled, and is disabled by default because Collect Limit replacement can be slower on the GPU, if huge number of rows in a batch it could help by limiting the number of rows transferred from GPU to CPU. Set spark.rapids.sql.exec.CollectLimitExec to true if you wish to enable it
  @Partitioning <SinglePartition$> could run on GPU
  *Exec <ProjectExec> will run on GPU
    *Expression <Alias> cast(map(x#1, -1) as string) AS map(x, -1)#5 will run on GPU
      *Expression <Cast> cast(map(x#1, -1) as string) will run on GPU
        *Expression <CreateMap> map(x#1, -1) will run on GPU
    *Exec <GenerateExec> will run on GPU
      *Expression <Explode> explode([1,null]) will run on GPU
      ! <RDDScanExec> cannot run on GPU because GPU does not currently support the operator class org.apache.spark.sql.execution.RDDScanExec

+------------+
|  map(x, -1)|
+------------+
|   {1 -> -1}|
|{null -> -1}|
+------------+

That said, this is not allowed on the CPU, so we should prevent it from happening. If we allowed these maps with null keys who knows what else could break within spark in really odd ways.
CPU output example;
scala> spark.sql("select map(x, -1) from (select explode(array(1,null)) as x)").show()
23/08/10 15:00:41 WARN TaskSetManager: Lost task 0.0 in stage 1.0 (TID 1) (executor 0): java.lang.RuntimeException: Cannot use null as map key!
	at org.apache.spark.sql.errors.QueryExecutionErrors$.nullAsMapKeyNotAllowedError(QueryExecutionErrors.scala:260)
	at org.apache.spark.sql.catalyst.util.ArrayBasedMapBuilder.put(ArrayBasedMapBuilder.scala:56)
	at org.apache.spark.sql.catalyst.util.ArrayBasedMapBuilder.putAll(ArrayBasedMapBuilder.scala:94)
	at org.apache.spark.sql.catalyst.util.ArrayBasedMapBuilder.from(ArrayBasedMapBuilder.scala:122)
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.generate_doConsume_0$(Unknown Source)
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.hasNext(WholeStageCodegenExec.scala:759)
	at org.apache.spark.sql.execution.SparkPlan.$anonfun$getByteArrayRdd$1(SparkPlan.scala:349)
	at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2(RDD.scala:898)
	at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2$adapted(RDD.scala:898)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:337)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
	at org.apache.spark.scheduler.Task.run(Task.scala:131)
	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:506)
	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1462)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:509)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)

Yup it looks like
GpuCreateMap.createMapFromKeysValuesAsStructs is not checking for null values on the keys. We should add the check there unconditionally.


we should rebuild this whole thing with webhooks + cloud functions

https://developers.google.com/gmail/api/guides/push
https://cloud.google.com/functions

and we should expose the configs as an add-on https://developers.google.com/workspace/add-ons/gmail

Using webhooks and cloud functions is def a good approach for the next iteration of foiamail. Way better than having people run a VM and cron.
For config: One thing that I've been doing recently that has worked really well for my clients that need to control little APIs and web applications is using a Google Sheet as a config DB. Since we're already linking with sheets for the reporting, it might make sense to also add a "control" worksheet that has all the config settings. Just an idea!


chara's hostkey changed?

https://scala-ci.typesafe.com/job/scala-2.11.x-release-website-archives/529/console

while you're up in this chara stuff, you might see if you can get scala-2.13.x-release-website-archives working; it's (I think) the last thing preventing scala-2.13.x-release-main from being green

let's loop in @fsalvi — Fabien, did something change on chara that you're aware of?

Yes, I reinstalled chara.epfl.ch to a new machine yesterday, and the host key changed.
Let me know if there's anything I can do on my side...

that job should be ok now, was missing a mkdir -p "$archivesDir"


feat(monitoring): add Prometheus sample

feat: provides code for documentation.

@tbpg Hi, Tyler - thank you very much for your help with the OpenCensus sample.  Could you help me figure out what I need to do to get the Build and Lint check to pass?


Incorrect link in the README?

Hi,
I think the README may have an incorrect line in the "Building from source" section. The git clone line refers to a git://github.com/davehorton/drachtio-server.git that didn't go anywhere for me (the command was stuck and didn't proceed), and worked when I switched to https. I believe the problem may be that for git based links you should do something like git@github.com:davehorton/drachtio-server.git instead, but I'm not sure if the link format you used is supposed to work as well.

Ah, thank you!  Will look into and fix


Skip identical conventional observations.

A few minor changes in order to make inflated observational errors of conventional observations identical to those values in GEOS.
(1) Keep only one of those conventional observations which are made at the same locations, level, and time, and discard the rest of them. As a result, we can avoid losing those data in IODA converter, and have same duplicate factors in JEDI as in GSI.
(2) Determine duplicate factors by single precision geo-location values since single precision values are saved in NC_Diag files and then used in JEDI/UFO.
(3) Not to consider sensible temperature and virtual temperature made at same locations as duplicated observations.
(4) Save observation types (kx) of duplicated observations in NC_Diag files.

@rtodling  I saw your email yesterday and I tend to withdraw these changes.  They are merely for UFO configuration. I don't know exactly how significant their impact in GSI.  We probably don't want add these changes in GSI if the impact is significant.  If the impact is insignificant, on the other hand, those differences in inflated errors between GSI and UFO should have insignificant impact in JEDI results too.  @danholdaway how do you think?

I commented the prints in the setup's here related to the duplicate obs ... too many of them.

I commented the prints in the setup's here related to the duplicate obs ... too many of them.

No problem at all.


Generate docs

Docs are generated in markdown format into the /docs folder.
The GitHub wiki can be configured to use this location as content source.

Very Nice


Dead link in README

In the Documentation part of the readme, the Disable a language server link leads to an anchor that does not exist.

Thank you for letting me know. I changed the link, now it goes to Exclude a language server from the automatic setup.


First send to Kafka takes a very long time (1+ min)

On my local kafka setup (installed using brew) the initial client creation is pretty pricey (expected based on the docs on the site) but surprisingly the first message written to kafka is time consuming as well. Is this expected behavior? I'm a kafka newb.

no 1+min times are certainly not expected. do you care to share your test set-up? it's a bit difficult to help without seeing what's going on. have you maybe tried the same with another client to validate the problem is with kafka-rust (there's s bin/kafka-console-producer.sh in the kafka binary distribution)?

Ok. Its my settings or something. The shell version takes just as long.

Kafka Config
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# see kafka.server.KafkaConfig for additional details and defaults

############################# Server Basics #############################

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0

############################# Socket Server Settings #############################

# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = security_protocol://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
#listeners=PLAINTEXT://:9092

# Hostname and port the broker will advertise to producers and consumers. If not set,
# it uses the value for "listeners" if configured.  Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
#advertised.listeners=PLAINTEXT://your.host.name:9092

# The number of threads handling network requests
num.network.threads=3

# The number of threads doing disk I/O
num.io.threads=8

# The send buffer (SO_SNDBUF) used by the socket server
socket.send.buffer.bytes=102400

# The receive buffer (SO_RCVBUF) used by the socket server
socket.receive.buffer.bytes=102400

# The maximum size of a request that the socket server will accept (protection against OOM)
socket.request.max.bytes=104857600

############################# Log Basics #############################

# A comma seperated list of directories under which to store log files
log.dirs=/usr/local/var/lib/kafka-logs

# The default number of log partitions per topic. More partitions allow greater
# parallelism for consumption, but this will also result in more files across
# the brokers.
num.partitions=1

# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown.
# This value is recommended to be increased for installations with data dirs located in RAID array.
num.recovery.threads.per.data.dir=1

############################# Log Flush Policy #############################

# Messages are immediately written to the filesystem but by default we only fsync() to sync
# the OS cache lazily. The following configurations control the flush of data to disk.
# There are a few important trade-offs here:
#    1. Durability: Unflushed data may be lost if you are not using replication.
#    2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush.
#    3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to exceessive seeks.
# The settings below allow one to configure the flush policy to flush data after a period of time or
# every N messages (or both). This can be done globally and overridden on a per-topic basis.

# The number of messages to accept before forcing a flush of data to disk
#log.flush.interval.messages=10000

# The maximum amount of time a message can sit in a log before we force a flush
#log.flush.interval.ms=1000

############################# Log Retention Policy #############################

# The following configurations control the disposal of log segments. The policy can
# be set to delete segments after a period of time, or after a given size has accumulated.
# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens
# from the end of the log.

# The minimum age of a log file to be eligible for deletion
log.retention.hours=168

# A size-based retention policy for logs. Segments are pruned from the log as long as the remaining
# segments don't drop below log.retention.bytes.
#log.retention.bytes=1073741824

# The maximum size of a log segment file. When this size is reached a new log segment will be created.
log.segment.bytes=1073741824

# The interval at which log segments are checked to see if they can be deleted according
# to the retention policies
log.retention.check.interval.ms=300000

############################# Zookeeper #############################

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "<IP_ADDRESS>:3000,<IP_ADDRESS>:3001,<IP_ADDRESS>:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=localhost:2181

# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000

Its just a basic homebrew install of kafka.

thanks for the feedback; feel free to re-open this ticket if it turns out to be kafka-rust specific.

@drusellers i used your config on a freshly downloaded kafka_2.10-<IP_ADDRESS> binary distribution and things seem to work fine for me:
$ wget http://www-eu.apache.org/dist/kafka/<IP_ADDRESS>/kafka_2.10-<IP_ADDRESS>.tgz
$ tar xzf kafka_2.10-<IP_ADDRESS>.tgz
$ cd kafka_2.10-<IP_ADDRESS>
$ vi config/drusellers.config # add config (i merely changed the log dir to /tmp/kafka-logs for me; otherwise i kept your setting)
$ ./bin/zookeeper-server-start.sh config/zookeeper.properties &
$ ./bin/kafka-server-start.sh config/drusellers.config  &
$ ./bin/kafka-topics.sh --create --topic test --partitions 1 --replication 1 --zookeeper localhost:2181 # create a test topic
...
$ cd /.../kafka-rust
$ cargo build --example console-producer --release
$ ./target/release/examples/console-producer --brokers localhost:9092 --topic test
...

Right on. I'll have to repro. Thank you for sharing your script. :)


Adds inline math equation for docs and dev blog

Asana Task
Description & motivation
In Lauren's latest blog post, she is attempting to use formulaic variables to explain a concept in her article. She is using $ to wrap text, but it doesn't seem to render. Jason found a plugin to enable this functionality.
This PR adds ability to use inline math equations by wrapping math in $.
Example: $x*y = n$
Math blocks can also be used by wrapping them in $$.
Example:
$$
I = \int_0^{2\pi} \sin(x)\,dx
$$

Other Notes
This plugin is built using KaTeX. Please review documentation for examples of usage.
Screenshot

Thanks for putting this together @john-rock, Looks great!!!


Support gatsby v5

Gatsby v5 has been release and this repo stops support at v4 (and the version on npm only supports v3)
This error message displays when running gatsby build using gatsby v5.2.0:
Plugin gatsby-plugin-clarity is not compatible with your gatsby version 5.2.0 - It requires<EMAIL_ADDRESS>

Now the plugin supports all Gatsby versions as of version 1.0.1.
Thanks!

Thank you 😁


Grammar error

Hi all, great job, not to be a grammar Nazi but :
In ripple-nuxt-ui/readme :
-Working in progress
please use
Work in progress
Love the framework.

Thanks @haloabove 💯


Have to change the flags on Docker itself

Users need to change the docker daemon configuration needs to change; every daemon on each node

@moxiegirl closing this as it's pretty old


Don't require 'write' attr for virtual file in read mode.

Also, don't require 'read' attr for virtual file in write mode.
Because with that, I could SoundFile(GridOut), where GridOut is a MongoDB database object.

+1, this absolutely makes sense

I factored the hasattrs into variables. Merge if you think it's good.

I think it is to some extent better than before, and to some extent worse.
The if-condition looks nice now, but I find it a bit strange to define those local variables which have to be ignored for the following 9 lines (because they don't tell the truth) and are only used afterwards.
Equally strange is the name seekable, because many file object actually have an attribute seekable (but we don't care about this), so this is confusing.
It's really not a big deal and it's of course a matter of taste; I'm just stating my opinion here ...

I agree that it looks a bit strange, but I prefer it over the complicated boolean logic.

FWIW, here's an IMHO much cleaner alternative:
def _has_virtual_io_attrs(file, mode_int):
    """Check if file has all the necessary attributes for virtual IO."""
    readonly = mode_int == _snd.SFM_READ
    writeonly = mode_int == _snd.SFM_WRITE
    return all([
        hasattr(file, 'seek'),
        hasattr(file, 'tell'),
        hasattr(file, 'write') or readonly,
        hasattr(file, 'read') or hasattr(file, 'readinto') or writeonly,
    ])

I like your solution. Package it up as a pull request and we'll merge it.


Fix healthcheck endpoint

/_api/v3/healthcheck?connectToMiddlewares is not responding correct status after #1291.
$ curl -D - http://example.com/_api/v3/healthcheck?connectToMiddlewares
HTTP/2 503
(abbr)

{"err":{}}

@shield-9 Thank you!


MITRE ATT&CK v.11 Integration

Updating elrond Splunk app to align with the recently released MITRE ATT&CK Framework v.11

mitre.csv file updated to reflect new version. Splunk app needs updating with relevant dashboards based on recently updated and introduced techniques.

New dashboards built - but now experiencing issues with the new mitre.csv file


Add option to disable adr for loraserver

This PR was discussed here: https://forum.loraserver.io/t/can-you-disable-server-side-adr/1009/8
It's a useful feature as some lora modules (such as RN2903) have bugs concerning ADR, where they'll randomly set it to true despite of receiving adr false command.

I'll have to give it another look to pass the tests, but can't do it till tuesday.

Hi @iegomez thanks! However I understood that this would be a config flag, like the disable mac-commands flag (https://forum.loraserver.io/t/testing-the-upcoming-lora-app-server-v2-release/1610/4):
  # Disable mac-commands
  #
  # When set, uplink mac-commands are ignored and the network-server will not
  # send mac-commands to the devices. This is intended for testing only.
  disable_mac_commands=false

https://github.com/brocaar/loraserver/blob/master/docs/content/install/config.md
I don't think it is a good idea to include this into the device-profile. The device already has an option to turn ADR on or off using the adr bit on uplink. I know that Microchip has a bug (which is open since a long time) which enables ADR when the device receives a downlink mac-command (any). However it should not be the responsibility of LoRa Server to fix this.
From a network-server domain however it makes sense to have control to system-wide enable or disable ADR. Therefore I prefer the ADR flag in the loraserver.toml config file instead of adding this to the device-profile (also since currently it follows the device-profile fields as specified by the LoRaWAN Backend Interface specification document: https://lora-alliance.org/lorawan-for-developers).
Also note that the device-profile represents fields prescribing the boot-state of a device. E.g. how it was provisioned when it came out of the factory. When the RX delay is set to 5 in the device-profile and 1 in loraserver.toml, this means that LoRa Server will respect the device-profile until it has updated the device to reflect the loraserver.toml configuration (using mac-commands).

Hi, Orne. I'm terribly sorry, I pushed the device profile option by mistake, but I didn't really intend to add it to the proposed solution. The original solution and what I wanted to submit only included the disable_adr flag as a global option. I'll fix it tomorrow, check the tests and push it again.

It's fixed now: I removed the wrong commit and tests are passing ok.


doc: Mention concatenation using the + operator in Array

This closes https://github.com/godotengine/godot-docs/issues/2452.

Thanks!

Cherry-picked for 3.2.1.


Estimated print time off by a lot/seemingly random amounts

For the past month, my klipper estimator has gone from being spot on to being terrible at estimating print times. In the following screenshot, the highlighted print job is when the issue started, but I have no idea what I changed between these two prints because there was a month between the two prints.

The top print in that screenshot is this gcode (zipped to keep below 25mb):
Bolt.zip
Running klipper-estimator with that same gcode gives this output:

Sequences:
Run 0:
Total moves:                 1367761
Total distance:              1878116.422mm
Total extrude distance:      29409.755mm
Minimal time:                17h43m33.579s (63813.579s)
Total print move time:       13h4m58.469s (47098.469s)
Total extrude-only time:     49m38.373s (2978.373s)
Total travel time:           3h48m56.487s (13736.487s)
Average speed:               29.431 mm/s
Top speed:                   98.308 mm/s
Average flow:                1.109 mm³/s
Maximum flow:                3.873 mm³/s
Average flow (output only):  1.502 mm³/s
Phases:
Acceleration:               47m19.006s
Cruise:                     16h9m5.238s
Deceleration:               47m9.085s
Move kind distribution:
6h24m36.545s     Solid infill
5h16m57.099s     Internal infill
3h57m40.139s     Perimeter
1h52m27.540s     External perimeter
6m28.643s        Bridge infill
4m55.691s        Top solid infill
23.781s          Skirt/Brim
2.155s           Custom
1.736s           Overhang perimeter

If needed, this is my printer config:
printer.txt

This issue has something to do with Klipper's Skew Correction feature. Commenting out my [skew_correction] section gives much more accurate estimates (off by a couple minutes instead of 10+ hours.

Skew wasn't the only issue.  There is something else, as my prints continue to be off by hours in some cases.

Something about the post-process...um, process via PrusaSlicer is borked. The following prints were the same plate in PrusaSlicer exported twice. The 3.5 hour one was exported without doing anything special. The 1.5 hour one came about from the following procedure:

The post-process script was removed from PrusaSlicer
The file was exported without post processing to my desktop
The file was processed via a terminal with the estimate command, resulting in a print time of 1h37min
Post process script removal was reverted using PrusaSlicer's "undo" button
File was sliced, and the resulting file has a print time of 1h37min

3h39m.gcode.txt
1h37m.gcode.txt

I have the same issue.
I do not use skew correction, but I do use Prusa Slicer v2.7.4, on Fedora 39.
The attached G-code is predicted in Prusa Slicer with a duration of 3:42.
Klipper estimator predicts 7:57!
The actual print time was 3:03.

wrong_estimation.gcode.txt

Here is more evidence for this bug. I sliced a gcode, exported to my desktop without any post-processing, then ran klipper_estimator's estimate command via terminal two times in a row without changing anything.  I saw the same as @stevereno30: different estimates for the same input. I had similar results with v3.7.1, but v3.7.0 seems to be giving me consistent results (well, five times in a row for the same input).

Hi @stevereno30 and @b-fitzpatrick
Sorry, I've been swamped lately and have not had a chance to look at this until now.
I've just released version 3.7.3 which should fix this and #62. If you could test it out and report back, that would be a big help. Thanks in advance.
Again sorry for the delay!
Best regards,
Lasse

@dalegaard, I'm getting consistent and seemingly-reasonable results with v3.7.3. Thank you!

No need to apologize. I can't be impatient when this is free software!
My last print estimate, post-processed with 3.7.3, was off by 3 seconds compared to actual print time. Data point of one, but that seems about as perfect as it can be!


Add Llava integration to Pyvene

Description
Only integrates the language model part of the vision language model
Testing Done
Checklist:

[ ] My PR title strictly follows the format: [Your Priority] Your Title
[ ] I have attached the testing log above
[ ] I provide enough comments to my code
[ ] I have changed documentations
[ ] I have added tests for my changes

Q: Do we only do the intervention on the language model part?

I think it's okay to start with the LM, like we have implemented for BLIP

May I ask how to determine the position of the last text token if I want to use a linear probe on LLava? Considering the presence of system prompts and visual tokens.


Adding battery state to json output

Hi,
this tool for me is the ultimate integration of my Dect thermostats into my smart home network, thanks a lot for sharing it.
I am reading the current and the goal temperatures using an OrangePi to scan the json output and displaying them on a tiny 4.2" Nextion touch screen using ESPEasy. Changing the goal temperatures manually using the touch screen is the next step. In parallel the temperatures are sent to my Domoticz controller.
It would be nice, if the json output would contain the battery state of the devices. For me would be the cherry on the top.
Btw.: I was looking for a donate button?
Sorry, I forgot: I am using the .deb package fritzctl_1.4.23_armhf.deb because on an OrangePi compiling from sources doesn't work.

Hi, thanks for the nice words. Much appreciated.

It would be nice, if the json output would contain the battery state of the devices. For me would be the cherry on the top.

It is possible. Apparently, newer versions of FritzOS also tell about the battery capacity (in percent). A lot of new features could be unlocked in general, but I struggle to find time integrating these.

Btw.: I was looking for a donate button?

You can stop looking, there is none ;) And there will never be one. The biggest problem is my lack of time.

Sorry, I forgot: I am using the .deb package fritzctl_1.4.23_armhf.deb because on an OrangePi compiling from sources doesn't work.

Never tested compiling on these platforms. What I typically do (and that is also the way this project is released), is cross-compile from my standard machine.
Anyway, I hope that can get some coherent work done during my Christmas vacation.
Cheers

Thanks for fast reaction. I appreciate.

Implemented within d7796181161c6346fbf8c5126ca3d79bc67b5d47. Will be part of the next release.

Implemented within d7796181161c6346fbf8c5126ca3d79bc67b5d47. Will be part of the next release.

...and window open/close state added, too.
Thanks a lot!

...and window open/close state added, too.
Thanks a lot!


Managing zone configuration for volumes, add more examples on how to manage zone configuration for volumes. Limitations with managed disks and zone redundancy should also be detailed.

[Enter feedback here]

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

ID: 471c32a2-1f6a-88d1-7df4-80b8f6fbc4a4
Version Independent ID: 10de5ee1-942d-e30f-5f0c-f163bd45904d
Content: Use availability zones in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/availability-zones.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you for the feedback.
We've added a task to our backlog and will prioritize accordingly.
#please-close

#please-open
#reassign:schaffererin

Hi, @rp-msft, thank you for your feedback. I apologize for the delay in responding. Since you opened this GitHub issue, the doc has been updated. There's a section on Azure disk availability zone support, which discusses volumes, managed disks, and zone redundancy. I will now close this GitHub issue. Thank you again for your help!
#please-close