What is the correct way to debug your scripts in PowerShellOnTargetMachines?

I have a series of Powershell modules that I am executing with PowerShellOnTargetMachines.
I am trying to see the debug statements within the VSTS build log, but I am having a real hard time getting them to come through.
I understand that Write-Host is not recommended for automation, so my question is, what should I use?  I have tried Write-Debug, Write-Verbose and made sure the preferences are set right.  But when I call a function from the main script all my logging disappears.  The only output I can get to appear is Write-Output from the top most script.  I obviously can't use Write-Output from called functions as they may return a value.
This is possibly a more generic powershell question, but I am wondering if there are any best practices for use with this task?

Question likely more appropriate on this repo: https://github.com/Microsoft/vsts-task-lib

@chshrikh may be able to help redirect to folks who own this task. Owners of this task may have better suggestions.
I dont know the full details of the task implementation, but I think this is how powershell remoting works - only the output pipeline and error pipeline come back across the wire. One thing that may work is wrap the contents of your target script inside a script block, and then redirect the pipelines. E.g. something like this might work to force the warning/verbose/debug pipelines into the output pipeline
. {
[...]
} 2>&1 3>&1 4>&1 5>&1 |
    ForEach-Object {
        if ($_ -is [[System.Management.Automation.ErrorRecord]) {
            $_
        } else {
            ,$_ | Out-String
        }
    }

@ericsciple Thanks for your input.  When I do my own PS remoting, I get all the output sent back to the host.  When I use this task, I only get "Write-Output" from the top most page.

have you tried setting a variable system.debug to true on the definition. typically in the ps tasks, verbosepreference is set to continue only when that var is set.

Yep - I've set system,debug and I've set VerbosePreference and DebugPreference to Continue.

@gregpakes
What are the versions of agent and PowerShell on Target Machines task you have?
I am able to get the logs when I tried with agent version 2.109.1,  task version 1.0.43. Below are the sripts
verboseModule.psm1
function moduleFunction() {
    Write-Verbose "inside module function"
}

script.ps1
Write-Verbose "inside parent file" -Verbose

Import-Module $PSScriptRoot/verboseModule.psm1
moduleFunction

output
	 Deployment started on target machine...

inside parent file

Loading module from path 'C:\temp\scripts\verboseModule.psm1'.

Exporting function 'moduleFunction'.

Importing function 'moduleFunction'.

inside module function

@KrishnaAdityaB
I am using TFS "15" RC2.
The agent is 2.105.6.  I 'm afraid I don't know how to check the inbuilt task versions.

@gregpakes
I am able to get the logs with TFS "15" RC2 and agent 2.105.6 too.
My PS version on both agent and target machines is 4.0. Can you provide me yours?
Can you start with simple sample scripts I provided earlier - and check if you are getting logs in your environment?

@gregpakes
Reg: Difference between download and installed and those just on disk
Can you quickly try with your scripts just on disk?
This along with executing simple scripts should help us narrow down the issue to either the way they are get or to something in your script.

@gregpakes
did you get a chance to experiment? any findings?

I will be out of office for 2 weeks. Including @chshrikh and @rajatagrawal-dev

I am having the same issue. My build task copies over the script to the server and then I use the PowerShell on Target Machines tasks to execute the script. The script executes fine, however, nothing is written to the build log. Specifically, I am using Write-Verbose. The server has PowerShell 5.1.14339.206 installed.
When testing the script directly on the server I discovered:

Write-Verbose would only work in a conditional statement if I set the -Verbose option
Write-Verbose would work as expected outside of a conditional statement

When testing the script using VSTS I discovered:

Write-Verbose would never work in a conditional statement, even if I set the -Verbose option
Write-Verbose would work as expected outside of a conditional statement

@haydenhancock could you please try a simple script something like -
write-verbose "Hi there without verbose"
the build should show logs something like -
==============================================================================
Task         : PowerShell on Target Machines
Description  : Execute PowerShell scripts on remote machine(s)
Version      : 1.0.43
Author       : Microsoft Corporation
Help         : More Information
Preparing task execution handler.
Executing the powershell script: C:\Agents\t2\vstsagent_work_tasks\PowerShellOnTargetMachines_3b5693d4-5777-4fee-862a-bd2b7a374c68\1.0.43\PowerShellOnTargetMachines.ps1
Deployment started for machine: ''
Deployment started on target machine...
Hi there without verbose
Deployment status for machine '' : 'Passed'
Also can you share what is the Powershell version on target box

@chshrikh As I mentioned, Write-Verbose works correctly outside of a conditional statement. I read up a bit more on these cmdlets and determined that I must set the $VerbosePreference variable to "Continue" in the script in order to get anything passed to the build log.

@haydenhancock  thanks for update. I hope you got unblocked on this.

@chshrikh No problem. It helps if you read the documentation.


Rev scoring2.0 updates

Just getting tests passing for @mdew192837.  Self merging those test-fixes along with his work.


feat: types based on inheritance

When function param has missing type:

trying to confirm that function is part of a class
check all extended or inherited classes and interfaces to find the function with the same name
check if the function has a parameter with the same name and type

Types any and object are ignored by default.
I'm pretty sure there are edge cases I didn't cover...

💥

Awesome work!


Generate SAS token for every request

Currently a SAS token is generated by AzureHttpClientConfigurationBuilder when AzureTransport is created, with default 1 hour expiration time. That basically means that when I run bin/console messenger:consume, it can run for 1 hour and then fails with 403 error, because the SAS token expires.
This change moves the token generation into the HTTP client, so a new token is generated for each request, allowing the consumer to run indefinitely (in theory).

Hello and thanks a lot for your PR !
I think that the message consumption should have a time limit (as stated in the docs) but you're right. I was wondering about a potential limit for SAS tokens, it looks like there is none and renewing them early is a good practice.
I like very much your refactoring about token generation and DSN parsing, thanks for that too. I'm merging this and I'll release a new minor version very soon.


Typo in Installation wiki page

Don't know how to make a pull request for wiki pages. There's a small typo in Delete the Stateful Service - used create-service command instead of delete-service. Please, fix

@jazzl0ver Thanks! Fixed. We will move wiki to .md file under git.


fix typo in readme

Thanks for making the code in this repo available 👍

Thank you for active reading @bsenst. Much appreciated!


isOlderThan is not a function

Environment
    "@sentry/esbuild-plugin": "^2.16.1",

Actual Result
Still investigating, but my builds are all failing with:
  "message": "getHubFromCarrier(...).isOlderThan is not a function",
  "stack": [
    "TypeError: getHubFromCarrier(...).isOlderThan is not a function",
    "    at getGlobalHub (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:6631:33)",
    "    at getCurrentHub (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:6612:10)",
    "    at getClient (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:4967:10)",
    "    at hasTracingEnabled (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:6843:18)",
    "    at sampleTransaction (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:7938:8)",
    "    at Hub._startTransaction (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:8095:17)",
    "    at Hub._callExtensionMethod (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:6555:40)",
    "    at Hub.startTransaction (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:6423:25)",
    "    at _callee$ (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:14342:25)",
    "    at tryCatch (file:///home/runner/work/monorepo/monorepo/node_modules/@sentry/bundler-plugin-core/dist/esm/index.mjs:90:17)"
  ]

I've been trying to wrap my head around this and cannot seem to be able to.
If I debug locally (I get the same error) and inspecting the registry object it looks like:
  __SENTRY__: {
    extensions: {
      startTransaction: [Function: _startTransaction],
      traceHeaders: [Function: traceHeaders]
    },
    defaultCurrentScope: ScopeClass {
      _notifyingListeners: false,
      _scopeListeners: [],
      _eventProcessors: [],
      _breadcrumbs: [],
      _attachments: [],
      _user: {},
      _tags: {},
      _extra: {},
      _contexts: {},
      _sdkProcessingMetadata: {},
      _propagationContext: [Object]
    },
    defaultIsolationScope: ScopeClass {
      _notifyingListeners: false,
      _scopeListeners: [],
      _eventProcessors: [],
      _breadcrumbs: [],
      _attachments: [],
      _user: {},
      _tags: {},
      _extra: {},
      _contexts: {},
      _sdkProcessingMetadata: {},
      _propagationContext: [Object]
    },
    hub: AsyncContextStack {
      _stack: [Array],
      _isolationScope: [ScopeClass]
    }
  },

I'm not sure where AsyncContextStack would be coming from, but that definitely looks wrong.
Let's go ahead and assume this is something I am doing wrong. Where would I even start?

Just for tracking purposes, the AsyncContextStack is a Sentry construct. I'm no longer assuming that this is an issue with my code.
Additionally, the AsyncContextStack is created here:
https://github.com/getsentry/sentry-javascript/blob/4420844943418a1bc23a6ccad70401d68a8c94a4/packages/core/src/asyncContext/stackStrategy.ts#L133-L148

Can you try setting telemetry: false? Thanks!

Hey @jd-carroll - this is most likely fixed by https://github.com/getsentry/sentry-javascript/pull/12160 which we're gonna release today.

@lms24 awesome, thank you, I'll look for that in a bit!
@lforst I tried setting that but it still seems to be throwing the same error (but maybe less...?)
Additionally, I just noticed this in the error output:
        {
          "id": "import-is-undefined",
          "location": {
            "column": 44,
            "file": "lambdas/user-account-setup-handler/user-account-setup-handler.ts?sentryProxyModule=true",
            "length": 7,
            "line": 4,
            "lineText": "              export default OriginalModule.default;",
            "namespace": "",
            "suggestion": ""
          },
          "notes": [],
          "pluginName": "",
          "text": "Import \"default\" will always be undefined because there is no matching export in \"lambdas/user-account-setup-handler/user-account-setup-handler.ts\""
        }

I didn't think the Sentry bundler is actually changing the entry point for the lambda. If so, this is hugely concerning because none of my lambdas use "default" as the named entry point for AWS.
Can either of you help me understand what is happening there?

As a side note, I just patched my local code and everything seems to be working. I also inspected the output and confirmed that my named exports still exist.  The output contains the following:
// lambdas/user-account-details-handler/user-account-details-handler.ts?sentryProxyModule=true
var user_account_details_handler_default = void 0;
export {
  user_account_details_handler_default as default,
  handler
};
//# sourceMappingURL=lambda.mjs.map

Nothing is ever assigned to user_account_details_handler_default other than void 0. So my assumption would be it is something you look for in the uploaded sourcemaps to Sentry? Either way, no big deal, more so curious now... 😄

@Lms24 It does not appear this was fixed in<EMAIL_ADDRESS>(fyi)

Yup, sorry about that, we had to close the PR in favor of a better fix


azure-core github.io docs are published under "Other"

Clicking on "Core" on the side menu does not bring me to azure-core developer docs: https://azure.github.io/azure-sdk-for-python/core.html
It looks like the latest docs are getting published under "Other" along with some other packages which probably shouldn't be there: https://azure.github.io/azure-sdk-for-python/other.html

This is by design


People should be using editors configured with jshint anyway. Maybe just change to pre-push, but this still forces back-end devs to deal with front-end linting.


What does "Orientation: 8" mean? what are the other possible values?

Hi,
thanks for your useful library!
I've some photos with "Orientation: 8". By looking at them I get that i must "rotate 90° counterclockwise", but I'd love a reference with all the other possible values. Is it available somewhere?
Plus: I'd like to avoid if(orientation == 8) in my client. Is there a constant so that I can use something among the lines of if(orientation == EXIF.ORIENTATION_90_CCW)?

I found a very good visual explanation here: https://beradrian.wordpress.com/2008/11/14/rotate-exif-images/


JSON incorrectly serialized

I wrote the JSON to a file like this,
ofstream file("foo.json");
file << foo->serialize() << endl;

(serialize() returns nholmann::json)
and the file ended up looking like,
"[[{\"x\":27,\"y\":0},{\"x\":27,\"y\":1}],[{\"x\":27,\"y\":0}, ....

I think it gets serialized twice and ends up writing a string. But if I pipe serialize() to std::cout the console output is formatted properly.
I would want it to look like
[[{"x":27,"y":0},{"x":27,"y":1}],[{"x":27,"y":0},

How can I achieve this?

That looks odd. Can you make sure serialize() returns a json?

Whoops, I had put .dump() in that function but it compiled because string can be casted to json I guess...
Thanks.

That explains the double escaping. :)


Life cycle confusion when processing twig in a page

Can anyone confirm the order in which events are fired when twig is processed in a page?
I'm trying to build a demo page for my Count Views plugin. I have a page with the following front matter:
twig_first: true
process:
    twig: true

I then try to access the count data injected by my Count Views plugin during the onPageInitialized event. But it's not available. I know the plugin is working. And a dump() in the plugin itself does indeed return the data, but it doesn't appear to be available to twig in the page (but it is if requested in a template, as evidenced by my Knowledge Base theme, sidebar template).
So what is the life cycle sequence in this case? Thanks!

I tried using the onTwigSiteVariables event but it's executed after the page processes the Twig.
Adding a variable to Twig on onPageInitialized worked instead:
    public function onPageInitialized(Event $e)
    {
        $this->grav['twig']->twig_vars['xxx'] = 'yyy';
    ...

and then it was available in the page too.
You're setting a value on the config object at realtime so I'm not sure how that works. I'd rather make the variable available in Twig in the way I posted above.

That makes sense for what I'm doing. I'll just do it that way. Grazie!

Not working. So in onPageInitialized of the plugin, I have the following line:
$this->grav['twig']->twig_vars['viewcounts'] = $data;
If I do a dump($data), everything is there, but in the body of the page it's still not working.
HTML results
Source code

I tried it before posting, not sure why it's not working for you!

Now it's happening with another plugin, so it's not this specific one. So what could be causing this problem? Here's the plugin code:
    public function onTwigSiteVariables() {
        ...
        $this->grav['twig']->twig_vars['backlinks'] = $data;
    }

I can dump($data) and dump($this->grav['twig']->twig_vars) and all my data shows. But the following markdown stub gives me null.
---
...
twig_first: true
process:
    twig: true
---

{{ backlinks|json_encode(JSON_PRETTY_PRINT) }}

onPageInitialized didn't work, but onPagesInitialized did.

Maybe twig cache is involved in the issue?

Oh sorry I kept the tab open and didn't see your comment updated

I tried disabling that and it didn't work. I'm so confused, but if onPagesInitialized works, I'll go with it ☺


Package missing "./components/BackgroundImage.astro" export

I'm using the 0.6.10 of the package and astro 1.2.2, and specify component like this:
<Img attributes={{ img: {class: "rounded-full h-40 w-40 hidden lg:block" } }} src="/src/public/assets/cat.jpg"
    alt="Hero cat image" width={180} height={180} />

However, I'm getting [vite] Internal server error: Missing "./components/BackgroundImage.astro" export in "astro-imagetools" package.
With remote images I get  Failed to load https://i.picsum.photos/id/550/1024/768.jpg; Invalid image format.

Updated astro to 1.2.4 and chaged the local image import to /assets/images/cat.jpg.


Add last_label to SiftScore

Just a little bit to include the "bad/not bad" bit in the user's latest_label api response.
Works nice because if the user is not labeled, SiftScore.LatestLabel will be null.
I don't mean to just drop little pieces at a time. (I added the 2 new PaymentGateways just 2 days ago.) We are just starting to use SiftScience, and I'm adding to your library the things we are using as we need them. I am brand new to GitHub, so I'm not sure of the etiquette. If you prefer I hold off until I get a goodly amount, just let me know. Otherwise, I will just trickle them as I make them.
Thanks again!

Thanks!


Return value of useSnapshot is not plain(immutable) object

I'm using useSnapshot and found what I think is a bug, so I'm reporting it.
When I console.log() the return value of useSnapshot, it is output as a Proxy object on the v8 engine (chrome). And look at the return value of the vanilla snapshot, that one is a plain object.
I think the latter output result is probably correct.

Here is an example of CodeSandbox, check the console of the developer tool.
https://codesandbox.io/s/fragrant-firefly-weslt?file=/src/App.tsx

This is totally correct, and it's rather documentation issue about internals.
proxy() creates a proxy object to detect modification/mutation.
snapshot() returns a plain (immutable) object from the proxy object.
useSnapshot() wraps the plain (immutable) object returned by snapshot() with a new (one-shot) proxy object to detect property access. And, this allows the automatic render optimization. Internally, it uses proxy-compare.
Essentially, valtio = valtio/vanilla + proxy-compare. A diagram: https://twitter.com/dai_shi/status/1378250039043129353
Any idea how we should educate this? Changing the API names is not an option.

@dai-shi
Thanks for the response. I understood that it was intentional and not a bug.

valtio = valtio/vanilla + proxy-compare

This explanation and diagram helped me understand. So I think it is good for education that these are included in the documentation.
Also it might be helpful to mention console debugging of the proxy object. But this may not be strictly valtio's responsibility since it is about the proxy object.

I will add a short note in readme.


operator: Set correct level for log in ingressClassManager

The ingressClassManager emits a warning log while handling an Upsert event on IngressClasses, however, this log should be at the debug level.
This log was set to the warning level while testing #28663 and never changed back to debug.
Set correct log level for log in ingressClassManager

/test

This PR only changes the log level of a single, non-critical log message. Marking as ready-to-merge, as I do not believe that a full test suite is required.

I believe the Conformance Test (IPv4) failure was a flake: https://github.com/cilium/cilium/issues/29315, but removing the ready-to-merge label anyways.

/test

This is no longer needed. See https://github.com/cilium/cilium/pull/29327


Deprecate sorting and add GOP-Parallel to CTC grid

This set is made of two parts,
Part A:
CTC now reached a stage where the clipList is of different styles like,
a) CLIPNAME, b) ClipName, c) clipName, d) clipname, e) Clip_name, and
many other variants of stying for sequences name.
Handling all of them is now impossible without modifying clip names.
So let's trust and do the hardcoding of the clip in the exact order we want.
Part B:
We also add RA-GOP parallel to UI

Tetsing in VLC12 and also as a hot-fix in beta.awcy.


Using rpmalloc in a single thread application

I'm using a rpmalloc in a single thread application, how to proper configure it for that use case to squeeze more performance?
I've used the defines -DENABLE_THREAD_CACHE=0 -DENABLE_GLOBAL_CACHE=0, but I notice that still uses some multi-thread specific code.
I wish there was a way to completely disable multi threading handling via an ifdef,  rpmalloc had the best performance in my single thread use case when compared with others memory allocators (mimalloc, tcmalloc, jemalloc), I think it would could even perform better if there was a way to disable all multi thread handling code.

You most likely want the thread cache to avoid mapping pages with an OS round trip all the time. The global cache however can be disabled.
Other than that it should be pretty much done, the entire idea with the allocator is to allow threads to operate on their own heaps without interfering with other threads, so most of the code is actually "single threaded".

But aren't there some overhead in the atomic operations and _Thread_local variables? Also I think it would allow using this library in a C99 compiler that does not support C11 yet.

Yeah, you can try declaring the thread heap as a normal static variable static heap_t* _memory_thread_heap; instead and see if it has any measurable impact on your performance.

yeah I wanted to use rpmalloc in my C++ compiler runtime library (https://github.com/ladsoft/orangec) but immediately ran into a problem:   one of the programs I wanted to compile (the 'omake' program in the distro)  is a multithreaded c++ program on windows (using CreateThread and so forth)  and the separate heaps cause problems for it.   My interpretation is that the 'main' thread passes allocated c++ objects into 'worker' threads and then the worker threads modify them which leads to problems as the main thread data isn't visible to the allocator when a working thread is running...   crashes miserably sigh.    I failed miserably at my attempts to coerce rpmalloc into thinking there was only one thread...   so something like this would have been handy...

The allocator is thread safe and memory blocks can be allocated in one thread and deallocated in another. But tests internal in this repo and the benchmark suite does this.
You could potentially use the first-class heap functions if you want to have direct control of which heap each thread uses.
If you run into problems it's most likely due to errors such as use-after-free or writing/reading out of block boundaries in the code using the allocator.

it has been a while...   but I think I had to resort to forcing it to use a single heap and then I wrapped all the allocations with critical sections or something similar.    After that it was fine...    but my problem may have been something like allocate on one thread, deallocate on another, which totally wouldn't work with the multiple heaps scheme...    hard to remember...

Well if you ever look at it again, the allocator is definitely capable of handling cross thres allocations/deallocations

I made a fork of rpmalloc to be used in single thread applications only, it's my workaround for this issue, I've called it srpmalloc. It's basically a rpmalloc trimmed without atomics and thread APIs, this also makes rpmalloc to work on old C compilers because C11 is not required.
Maybe in the future rpmalloc could have something like this, a single thread mode ifdef, where all pthread/atomic operations are disabled, I've also find useful to disable huge pages in that fork, to not need to link advapi32 on Windows and not depend on some platform specific APIs, thus making rpmalloc a little more portable.
I do like to use rpmalloc even without multi threading because it seems like to be faster than system's malloc in a single thread application.


Fix so that selections can be created with the mouse

When I double click a word or highlight a region, the selection is cleared. This change fixes it for me. I'm not certain how to test this fully, as I only use a few features from this plugin. Let me know what you think!

I have been on vacation. Sorry.
This fix breaks things so I need to understand more about the original problem.
What platform? What exactly happens?

No worries about the delay. I'm using Sublime Text 3 on Windows and Mac. On both platforms, when I double click on a word, the word is highlighted ever so briefly and then the highlight disappears. I would expect the word to stay highlighted.
Also, when I use the mouse to click and drag from one point in a buffer to another, I briefly see a selection connecting the two, and then it disappears.

I looked at the code a bit more this morning to refresh my memory of what is going on. What I see is that when I click the mouse, cmd (and vs.this_cmd) is 'drag_select', and when I release the mouse after dragging, cmd is 'word_highlight_click' and vs.last_cmd is 'drag_select'.
I just noticed today that if I begin the drag inside the buffer's window, but release the mouse button outside of the window, the word_highlight_click command doesn't happen and the region stays visibly selected.

I think what this means is you are using another plugin which has a word_highlight_click command in it.
So I think I might know what to do. I will suggest a change and make sure it still works for me, and then you can try it to see if it works for you.
OK?

Makes sense. I tried to see if this was due to another plugin, but I didn't do an exhaustive check I guess. Sorry about that! Thanks for looking into it.

I have been struggling with this. I will continue to struggle with it. Sorry.

That's OK! Sorry it is tricky. Is there a way of ignoring commands that are invented by other plugins? I'm afraid I don't have much experience with this. Perhaps I should take it up with the word highlight plugin I use instead of with you? Just some ideas.
Thanks for looking into it.

The conflicting plugin is WordHighlight. Is there a solution to this problem? Maybe renaming a command in WordHighlight if not here?

Well I have no idea what to do but some ideas might come to me if I install that plugin myself and play around. So I will do that. But the two plugins don't sound entirely compatible to me. They both want to own the selection so what are we to do? I could disable the selection in our plugin, but you will lose a lot of features.

In my installation I simply renamed WH command to word_highlight_clk, both in the py script and in the keymap that triggers the command. WH is a bit redundant anyway, match_selection and alt+f3 do more or less the same thing, only gutter icons are missing if disabled, not worth to make big changes for it, I think

I am not sure what you mean! What does renaming the command in another plugin have to do with this problem? Does that somehow fix it?

I simply disabled that command in WH, renaming it. It fixes the problem in the sense that that command is only used for drag text or something like that (judging from the plugin mouse map).

Does this ... mean ... we can ... close this?

No idea, it's not that my solution solves the conflict, I just disabled that command in the other plugin. At least you know what causes it. WH is not essential I think.

A workaround is good enough for me. Certainly keeping this pull request open that is never going to be merged seems unnecessary :) Thanks @mg979.


[FLINK-33667] Implement restore tests for MatchRecognize node

What is the purpose of the change
Implement restore tests for MatchRecognize node
Verifying this change
This change added tests and can be verified as follows:

Added restore tests for MatchRecognize node which verifies the generated compiled plan with the saved compiled plan

Does this pull request potentially affect one of the following parts:

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

Documentation

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

LGTM % the ids issue, I'll merge the PR after #23869 which is necessary for the cleanup.

FWIW, MR observes the changelog not final results.  I think it should be ok to merge before or after the Join PR.


[GUI] Keep device model label even if xpub entered manually

Here the display if no signer selected and no alias attributed:

if i add the xpub of #d4ab66f1 manually and set an alias, when the modal reopened (for next recovery path) the device brand/type is not displayed:

Heh, good find.


Revert "CO-229 CO-230 Print Preview"

Reverts Sunbird-coKreat/program-service#299

Program-service build itself was failing.


fix node autonomy annotation key

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind enhancement
What this PR does / why we need it:
fix node autonomy annotation key that use label prefix of project info
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

other docs that use this annotation key will be updated by another pull request.

The AnnotationAutonomy is used in another file: pkg/yurtctl/constants/constants.go.
It also needs to be modified.

The AnnotationAutonomy is used in another file: pkg/yurtctl/constants/constants.go. It also needs to be modified.

@Peeknut Thank you for pointing out the problem.

As autonomy annotation key is used more than one place, how about define it in projectinfo and we can just use GetAutonomyAnnotation() ?

As autonomy annotation key is used more than one place, how about define it in projectinfo and we can just use GetAutonomyAnnotation() ?

@Peeknut It's a good idea, I will add autonomy annotation key definition in ProjectInfo.

/lgtm


post_logout_redirect_uri not working

It is related with PR https://github.com/solid/oidc-op/issues/10
The problem is that the oidc-auth-manager doesn’t work properly with generic OIDC RPs without this fix !

@kjetilk @RubenVerborgh @justinwb ,
Any idea how we get beyond this Travis build failure which isn't related to the actual PR that was submitted?
/cc @dmitrizagidulin @cblakeley

I don't know, just a wild guess: Perhaps it is an old library that is in use that needs upgrading for Node 8, or something...?

https://github.com/gotwarlost/istanbul/issues/868

@cblakeley , @smalinin could you please look into the link @RubenVerborgh posted? Since I (presumably) haven't got write access to your branch, it is easier to finish this if you do it there.

@kjetilk @RubenVerborgh /cc @kidehen @smalinin
The Travis CI report shows an nyc run failing due to the bug a istanbul-reports.
https://github.com/gotwarlost/istanbul/issues/868 seems to suggest using istanbul-reports 1.1.4 as a workaround.
oidc-auth-manager package-lock.json shows:
oidc-auth-manager using nyc 12.0.2, nyc using istanbul-reports ^1.4.1.
AFAICT, to get nyc to use istanbul-reports 1.1.4, the nyc version would have to be rolled back to nyc 11.7.0 (16-Apr-2018)
(See: https://github.com/istanbuljs/nyc/blob/62a4e831bb18baecba562e6eb3297861570e3e72/package.json)
I've not tried this fix. Would it be an acceptable workaround anyway?

@kjetilk I changed version of nyc to 11.7.0 and now all tests are passed.

Sounds great! Just a very quick comment, could you please run npm audit on it, as I recall there were some   stuff there on instanbul, but I don't remember  the details?

@kjetilk
added 737 packages from 1245 contributors and audited 2538 packages in 6.227s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
sergei@xub:~/_solid_client/oidc-auth-manager$ npm audit

                       === npm audit security report ===

# Run  npm install --save-dev<EMAIL_ADDRESS>to resolve 1 vulnerability
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Cryptographically Weak PRNG                                  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ randomatic                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ nyc [dev]                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ nyc > micromatch > braces > expand-range > fill-range >      │
│               │ randomatic                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/157                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

found 1 low severity vulnerability in 2538 scanned packages
  1 vulnerability requires semver-major dependency updates.

@kjetilk @RubenVerborgh ,
Are we set now?
The net effect of this fix is that if confirms generic OpenID Connect compatibility i.e., handling behavior expected by generic Relying Party such as OSDB.
/cc @justinwb

Hmmm, I feared that we had a vulnerability on our hands... Do we understand the impact of that weak PRNG? Is it used in for example token generation? Are those tokens possibly long-lived...? Does it matter, given that this is an alpha?

I feared that we had a vulnerability on our hands

So, just to be clear, nyc is just a dev tool that keeps track of code coverage when you run the tests. It's not actually being used anywhere in the library. No tokens, etc.

I feared that we had a vulnerability on our hands

So, just to be clear, nyc is just a dev tool that keeps track of code coverage when you run the tests. It's not actually being used anywhere in the library. No tokens, etc.

Yeah, I wasn't thinking about nyc, I was thinking about randomatic, if that's used further down?

Yeah, so randomatic is a sub-sub-sub-dependency of nyc. So, doesn't really affect us (though we should just update the dep, no reason not to)

@dmitrizagidulin so, given that we had to, is it possible that randomatic is also a sub-sub-**-dep of something else that we use...? I'm not sure it matters, it would just be good to get the full picture...

@kjetilk ,
Since this PR is done, and it has nothing to do with the Travis matter, when can this be merged and released?
/cc @justinwb @RubenVerborgh

@kjetilk

is it possible that randomatic is also a sub-sub-**-dep of something else that we use...?

I'm pretty sure that's not the case. But here's an easy way to check - do a npm ls in this repo, and pipe the output to a file so you can do a text search (or if your terminal allows, do a search of the backscroll). ls outputs the full dependency tree, so you can see which packages are used by what.

Ah, great stuff, @dmitrizagidulin ! That was very useful, and indeed, it was not in the tree. Good.
@kidehen we didn't know that the introduction of a vulnerability in randomatic didn't affect the security of the system before I could establish that it wasn't in the dependency chain.
But now I'm good, @RubenVerborgh can you take a look and make the merge decision?

@RubenVerborgh @kjetilk ,
I assume we are now at review stage?

@RubenVerborgh @kjetilk ,
I assume we are now at review stage?

Yup!


fix: Character was rendering as hexcode in tutorial Basic CSS: Specify How Fonts Should Degrade

Pre-Submission Checklist

[ ] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[ ] Addressed currently open issue (replace XXXXX with an issue no in next line)

Closes #XXXXX
Description

Hey @DarthOstrich thanks a lot for taking the time to make the PR. Can you please update the PR title to be a little more meaningful?
You can take a loot at other PR titles for inspiration.
We will review and get this in soon.
Happy contributing.

Hi @DarthOstrich
Thanks a lot for taking the time to prepare this PR. Unfortunately the files have moved to a new location:
https://github.com/freeCodeCamp/freeCodeCamp/blob/next/curriculum/challenges/english/01-responsive-web-design/basic-css/specify-how-fonts-should-degrade.english.md
Can you please make a fresh PR instead? Sorry, about having you to go through this.
Thanks.


Add OpenTracing Tracer resolving through ServiceLoader

What does this PR do?
Adds the ability to automatically configure usage of Elastic's OpenTracing bridge in systems using ServiceLoader. An example for such system is tracer-resolver, which is used by various OpenTracing libraries, for example the Apache Camel OpenTracing component.

Checklist

[x] This is an enhancement of existing features, or a new feature in existing plugins

[ ] I have updated CHANGELOG.asciidoc
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have made corresponding changes to the documentation

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1708 opened

Start Time: 2021-03-21T08:38:52.543+0000

Duration: 53 min 43 sec

Commit: c47fb875a77370ec62e97ecc43c3f895c1d2dc10

Test stats :test_tube:

Test
Results

Failed
0

Passed
1884

Skipped
15

Total
1899

Trends :test_tube:

:green_heart: Flaky test report
Tests succeeded.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
0

Passed
1884

Skipped
15

Total
1899

Codecov Report

Merging #1708 (dd34466) into master (789406b) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1708      +/-   ##
============================================
+ Coverage     58.32%   58.33%   +0.01%
- Complexity      109     2383    +2274
============================================
  Files           430      430
  Lines         18899    18899
  Branches       2617     2618       +1
============================================
+ Hits          11022    11025       +3
  Misses         7102     7102
+ Partials        775      772       -3

Impacted Files
Coverage Δ
Complexity Δ

...tic/apm/agent/report/ssl/TLSFallbackSSLSocket.java
39.13% <0.00%> (-2.18%)
20.00% <0.00%> (+20.00%)
:arrow_down:

...o/elastic/apm/agent/profiler/SamplingProfiler.java
73.04% <0.00%> (+0.23%)
0.00% <0.00%> (ø%)

...ic/apm/agent/profiler/collections/LongHashSet.java
18.25% <0.00%> (+0.39%)
0.00% <0.00%> (ø%)

.../bci/bytebuddy/SoftlyReferencingTypePoolCache.java
93.75% <0.00%> (+12.50%)
9.00% <0.00%> (+9.00%)

Continue to review full report at Codecov.

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


Unable to use gnu mpz types for NumberIntegerType

Description
I was hoping it would be possible to set NumberIntegerType and NumberUnsignedType (putting aside #2573 for now) to an arbitrary precision integer type ("big integers"), such as on wrapper types around the gnu multiple precision arithmetic library.
Unfortunately, this is not permitted as json_value is a C-style tagged union that doesn't permit any of its types to have non-trivial destructors/move constructors etc; and mpz is stored on the heap.
I understand this is quite a big ask, but I thought it was worth having an issue explicitly mentioning big integers since I wasn't able to find an existing one via search.
Reproduction steps
Attempt to use some numeric heap type for the numeric type parameters. I'm afraid I don't have a trivial example to hand without external dependencies.
Expected vs. actual results
In an ideal world, I would expect everthing to just work.
Minimal code example
No response
Error messages
No response
Compiler and operating system
N/A
Library version
d4daaa897f48bf7bb2f96b46b84e49f32dd11daf
Validation

[X] The bug also occurs if the latest version from the develop branch is used.
[X] I can successfully compile and run the unit tests.

Just FYI: This diff shows some of the changes that were necessary to an earlier version of modernjson to support GMPs instead of doubles.
We are in the progress of updating modernjson and applying the patch is a bit painful ;-)


Add itest fixture for kafka itself

Before this PR only the tester charm app_charm had a fixture. This PR adds a fixture for kafka itself.
Drive-by fixes:

Auto-cancel concurrent workflows
Charm's path type hint is Path (not PosixPath)

Thanks @marcoppenheimer.
I do not have permissions to add reviewers in this repo.


Add monitoring for Athena

Add monitoring to Athena
Parent issue: https://github.com/giantswarm/roadmap/issues/601

Athena is not a managed app, so closing.


CLI command not working on windows

I believe I can successfully run the papi CLI on MACOS, but I have encountered a problem when trying to run the command on Windows. The current workaround is to commit the dist folder to github, but beyond that I would like to know why this is happening and any fixable for this.

Reproduce environment:

Windows 11
Node version: 20.6.0
polkadot-api version: 1.3.2

This is due to an issue on tsup, the bundler we use to build the descriptors. The underlying issue is they use tinyglobby, which assumes posix separators.
There's a workaround, which is to change the separators from windows to posix. Fix incoming.

I think this is a related problem after solving the old problem, I was able to run CLI command but then I got **innerDecoder is not a function** error when reading account number when subscribing balance,  I would like to know why this is happening and any fixable for this

I think this is a related problem after solving the old problem, I was able to run CLI command but then I got **innerDecoder is not a function** error when reading account number when subscribing balance, I would like to know why this is happening and any fixable for this

Could you please provide more context? (polkadot-api version, os that you are using, etc). A GH repo with a repro would be ideal... Otherwise, there is no way for us to figure out what's happening. Thanks!
Also, what makes you think that this is a related issue? I really don't seen how this could be related... Although, maybe there is something that I'm missing here.


Sync maintainers with actual permissions. (#3127)

Signed-off-by: dblock<EMAIL_ADDRESS>Description
Backport of https://github.com/opensearch-project/OpenSearch/pull/3127 to 2.x.
Check List

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

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

start gradle check


Update environment.yml to be functional with current packages

add missing cf_xarray and make sure the xarrayutils version isn't too old

Thanks @rsignell


Avengers vs X-Men

This scheme with custom hero setup seems to create faulty setups sometimes. Requires investigation.

Have not been able to replicate this anymore.


chore: remove import hack for protobuf any

Closes https://github.com/celestiaorg/celestia-app/issues/744
This import hack doesn't seem necessary b/c it doesn't actually modify x/blobstream/types/query.pb.go
Testing
$ rm x/blobstream/types/query.pb.go
$ make proto-gen

and then observe that there is no git diff so no changes to the already checked in x/blobstream/types/query.pb.go and the generated one.
Also proto-gen passes in CI: https://github.com/celestiaorg/celestia-app/actions/runs/6881660922/job/18718509598?pr=2846

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (b75c7e3) 19.16% compared to head (7ab1759) 19.16%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2846   +/-   ##
=======================================
  Coverage   19.16%   19.16%
=======================================
  Files         142      142
  Lines       17291    17291
=======================================
  Hits         3313     3313
  Misses      13676    13676
  Partials      302      302

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Wrong CIP label on sulfinamide

Molecule (R)-2-methylpropane-2-sulfinamide (smiles: CC(C)(C)[S@](N)=O) is displayed with the correct CIP label R in MarvinSketch and Biovia Draw, but with RDKit, it is shown with the CIP label S. This happens in RDKit versions 2022.09.1 and 2023.03.1.
The following piece of code yields the attached picture:
m = Chem.MolFromSmiles('CC(C)(C)[S@](N)=O') m
Expected behavior:
If we consider the sulfur lone pair as the lowest priority substituent, then the order O->N->C points to a clockwise arrangement, hence R.
Configuration (please complete the following information):

RDKit version: 2022.09.1 and 2023.03.1
OS: Windows 10
Python version (if relevant): 3.9.12 and 3.10.0
Are you using conda? yes
If you are using conda, which channel did you install the rdkit from?
If you are not using conda: how did you install the RDKit?

Additional context

I'm going to close this one because the new implementation is correct and we don't plan to fix the old one.
Hopefully at some point in the future we will be able to disable the default usage of the old implementation.


Add --exclude-backward-compatible to Quick Start documentation for .NET

The .NET Quick start documentation gives instructions on how to create the client code:
https://github.com/MicrosoftDocs/openapi-docs/blob/7526e91367e149e052103201a42b77ff714d9ef8/OpenAPI/kiota/quickstarts/dotnet.md?plain=1#L72
This then generates the user code where the "obvious" methods to call are immediately marked as [Obsolete], which is confusing and not a good first time experience.
I eventually realised I could stop all this cruft being generated by adding the --exclude-backward-compatible option (or --ebc for consistency with the others being short).
As I would have thought that most people using the Quick start documentation are generating a brand new client, I think this should be in the copy-paste-able command example to get the user started. None of the other parameters in the example are explained, so I don't think having an extra one would make any difference other than generating better initial code.
Aside: using the full flag names for the entire command would be better IMHO as then it's self-documenting.

Hi @martincostello
Thanks for using kiota and for sharing your feedback.
That makes sense for new users, I'd argue then that backing store should also be included to provide them with the best experience. Which makes for a longer command.
The documentation platform supports "tips" with the format below, I'd suggest that instead of including all those in the initial command line, we add two tips (one for ebc, one for backing store) with a short abstract and a link to the full explanation.
What do you think?
Also, I think this change should be in all the quick starts, not just for dotnet.

That sounds reasonable to me.
I haven't looked at any other client or their documentation, so I didn't know if the flag was relevant for any other languages or not, so if it is that makes sense to be wider scoped.
I don't know what a backing store is either, so that's something else for me to look up... 😄

Forgot to include the link to the markdown reference in my previous reply.
Is this something you'd be willing to submit a pull request for?

Do you have an example of where the content for the notes could be copied/adapted from for what you have in mind?
Adding the notes is simple, but what to write to explain them is a different matter considering my usage of Kiota so far is about 30 minutes' worth.

Here is an example of the general tone https://github.com/MicrosoftDocs/openapi-docs/blob/7526e91367e149e052103201a42b77ff714d9ef8/OpenAPI/kiota/quickstarts/python.md?plain=1#L52
For ebc something along the lines of
Add --exclude-backward-compatible if you want to reduce the size of the generated client and are not concerned about potentially source breaking changes with future versions of kiota when updating the client.


fix: add cert redirect for Netlify

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Netlify does not automatically discover client only routes.  This PR creates a redirect telling it where to find the HTML for certifications.
Related to #37378, but only fixes the style issues that appear when the page is reloaded.

@raisedadead I've tested this locally and, once you create the _redirects file, netlify dev seems to work.
I'm not sure if the other client-only routes need looking at (presumably they do).

You are correct, this will fix only direct call to the client app externally. This change is also a URL rewrite, that Netlify will fetch the page behind the scene keeping the URL same.
Can you ditch the /index.html and see it still has the same effect?
Thanks.

Sure.  I couldn't see a difference, so here's the concise version.

@raisedadead no worries, I wrote this during a bout of insomnia.  Should have just waited until I was thinking clearly.
Anyway, I tried the :splat redirect, but that doesn't seem to work.  Here's what I get:

No 404 this time, but the light-palette class is still getting applied.  The network log for reload is:

Steps I took:

put FREECODECAMP_NODE_ENV='production' in .env
npm run build:client
remove the environment variable (I'm missing some keys) and npm run develop:server
cd client/public
netlify dev
navigate to a cert and reload

What I think is happening, is that by adding :splat we're telling Netlify to actually look in the directories certification/username/certName, but there isn't anything there.  Whereas, without :splat it serves up whatever's in certification/ which is a single index.html page which is expecting to be given the parameters username and certName by reach.  And somehow that actually happens.
  Any ideas?

Yup, you are correct.
This is a chicken and egg problem, and the whole thing needs a rejig.
What keys are you missing, I can give you access to all those, hit me on Signal?


Add Related Blog Posts Component

One of the features I wanted was an ability to generated a handful of related posts at the bottom of my blog articles (and found a few other people looking for it too).
The basic function is to grab all the blog posts, filter by tag, and then randomly sort them. Afterwards, if there aren't enough posts to fill the grid, then it just takes any additional posts in random order.
I added a setting to the config to easily disable this and adjust the number of posts. Since I am reusing the BlogHighlightedPosts component, 4 is the logical default.
Few questions to the maintainers (assuming you like the idea):

Should I disable it by default?
Does it need gutters like the blog posts?
Do you want me to make an example page where it shows up regardless of the overall config?

Appreciate all your work, hope I can give back a little.

Hello @thkruz
Thank you very much for this feature, it is very good!
I still don't have an answer to your questions, I'm thinking... I'll write to you later, for now I'll approve the PR.


land the portable implementation of the new blake3_guts crate

My guts_api branch has been around for a while, and it's time that I start figuring out how to land it. The first step will be to land the portable implementation by itself, without anything depending on it. This will get a lot of APIs in place, so that other work can happen in parallel:

open a branch integrating the main blake3 crate with blake3_guts (this might not land for a while)
add RISCV support to guts
add AVX-512 support to guts

The longer run questions will be things like "do we want to generate the different flavors of assembly from scripts?" and "how should we support Bao, Bessie, and BLAKE3-AEAD?" This PR is about making step-by-step progress instead of trying to answer all these questions as once.

Refactor blake3 PR: https://github.com/BLAKE3-team/BLAKE3/pull/374

RISCV support PR: https://github.com/BLAKE3-team/BLAKE3/pull/375


Error while removing temporary service

When trying to create an image, the builder fails when it tries to cleanup. Logging of error:
==> azure: Removing temporary Azure service and its deployments, if any...
2015/10/05 10:45:23 packer-builder-azure: 2015/10/05 10:45:23 [AZURE] DELETE services/hostedservices/PkrSrvqglgl303y9?comp=media
2015/10/05 10:45:23 packer-builder-azure: 2015/10/05 10:45:23 [AZURE] <<< operation id: abfcbe8176a21a83b7289de37cc0b177
2015/10/05 10:45:23 packer-builder-azure: 2015/10/05 10:45:23 [AZURE] WaitForOperation( abfcbe8176a21a83b7289de37cc0b177 ) - begin
2015/10/05 10:45:55 packer-builder-azure: 2015/10/05 10:45:55 [AZURE] WaitForOperation( abfcbe8176a21a83b7289de37cc0b177 ) - end, duration: 32.090532312s, err:
2015/10/05 10:45:55 ui error: Build 'azure' errored: Error creating page blob of size 2022 in container packer-provision-qglgl303y9 for file provision-d75ead8f-9daf-4398-8f40-7c6d82dcab81.ps1: storage: service returned error: StatusCode=400, ErrorCode=InvalidHeaderValue, ErrorMessage=The value for one of the HTTP headers is not in the correct format.
RequestId:1de8cfdc-0001-00d7-2c4a-ff84c9000000
Time:2015-10-05T08:45:21.8041791Z, RequestId=1de8cfdc-0001-00d7-2c4a-ff84c9000000
2015/10/05 10:45:55 Builds completed. Waiting on interrupt barrier...

Same error as [#100] (https://github.com/MSOpenTech/packer-azure/issues/100).  I tried PACKER_LOG_AZURE_MAXLEN to 1000 but nothing useful that I could see. Haven't had time to debug.

moving the discussion to #107


Make search feature behavior consistent

There are various search features, such:

A simple text search (ctrl+f)
A symbol search.

In the first, you write a word, and it homes in on the first occurrence, where you can:

Press Enter to go to the next occurrence.
ESC leaves you where you are and closes the search.

In the second, confusingly:

Enter leaves you where you are.
ESC jumps back to where you've been.

I think that this is sort of just due to the UX of the quick pick control that symbol search uses. "enter" to accept, "escape" to cancel. I see the annoyance with this difference, but I don't really think it can be resolved.

Maybe could add a checkbox to settings to behave consistently or like visual studio.


350 operator apioperatorazureapim

Closes #350

I agree - this looks good.
I suspect we'll have to think of moving the tests into the canvas itself so that running the tests is provider-agnostic.
I also think we should look at how we formalise a compendium of different operators and have overall charts that pick a curated set of operators for different use cases. We could have a chart that installs the reference implementation with open source operators plus Keycloak, Kong etc., then an Azure chart that deploys an Azure-native canvas with APIM and Entra ID and so on.
Each of those canvas instasllations would also, as a side effect, install a service that will run the test suite against that canvas.


fix(outline): use the correct symbols and filter config format

What is this PR for?
The symbols-outline extra was removed in favor of outline.nvim in #2535 (thanks!), but the configuration for symbols in outline.nvim is not backwards-compatible.
This fixes the configuration for the symbols icons and filter to be usable by outline.nvim.

Does this PR fix an existing issue?

It doesn't seem like anyone has encountered this issue, but I can confirm that the config currently used by LazyVim is incorrect. The symbols table is at symbols for symbols-outline.nvim, but it's now at symbols.icons for outline.nvim.
There is no such symbols_blacklist key. Instead, symbols.filter is used, which is a kind of "whitelist".
Coincidentally, outline.nvim fully supports the LazyVim kind_filter config table structure. It can either be a list of strings (kinds), or a list of strings for each filetype key. Setting to nil or false makes it so all symbols are included, just like in LazyVim.
See the docs on the symbols.filter structure.
Checklist

[x] I've read the CONTRIBUTING guidelines.

ty!


Updates for React 15.5

Uses the prop-types library to avoid deprecation errors in React 15.5

Thanks! 👍

np! Can you publish this change?

Sorry for delay. I will publish it today.

Thank you so much!


ALAC doesn't work

In Apple Music AAC 256 works fine, but alac loseless and hi res loseless don't work, just constantly skipping tracks

Looks like some DRM issues. People on reddit say that changins smbios to both iMacPro 1,1 or 7,1 fixes the issue. Also disabling intel graphics helps too, but we dont have dGPU so second solution isnt for us

This EFI works with Apple Music Lossless:
https://github.com/pierpaolodimarzo/ThinkPad-T480


Content type header is inaccurate

The sample request to create a user includes:
POST https://.../scim/Users HTTP/1.1
 Authorization: Bearer ...
 Content-type: application/json

However, the content type header that comes in with the request is actually:
Content-Type: application/scim+json; charset=utf-8

The difference between "json" and "scim+json" was causing my Ruby on Rails app to not see any of the parameters being passed into the create/POST request.  I assume update/PATCH request content type is also "scim+json" instead of "json", as shown in the documentation.

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

ID: 45cb3eec-7693-4e22-bcde-3f85d5a4be14
Version Independent ID: 506c3302-e823-8f1e-d547-083ef0b664df
Content: Automate provisioning of apps using SCIM in Azure Active Directory
Content Source: articles/active-directory/manage-apps/use-scim-to-provision-users-and-groups.md
Service: active-directory
GitHub Login: @barbkess
Microsoft Alias: barbkess

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

@cander Thanks for reporting. I will work to fix it in document.

@cander I'm having the exact same problem here with my Rails app. Could you be so kind as to share how you registered the mime type in Rails? Thanks so much!

@leesmith - I don't recall the details, and I don't have access to the code base any more, but I did write a blog post that seems cryptic in retrospect, but maybe it will make sense. It links to a GitHub thread that may be helpful.

@cander No worries! I think I've figured it out. This seems to work for me:
config/initializers/mime_types.rb
Mime::Type.register "application/json", :json, %w(application/json application/scim+json)


Add missing development dependencies

Without this, npm test will not run in most cases.
Signed-off-by: Johannes Schindelin<EMAIL_ADDRESS>

npm test should run after an npm install.

npm test should run after an npm install.

Exactly. And without this PR, it does not. (Unless you happened to install those packages manually.)


Automated browser tests docs and execution

What have been working on is getting a bit out of hand.  It becoming a maintance burden if though is majorly still in development there so much going on that a small change in each place cause issues else were (It clearly obvious I'm working without a design spec or anything fancy just basic feature requests).
I'm starting to heavily consider implementing tests. The thing is eunit test's can be sufficient but browser tests are also an important part of it. There is the option of selinium which has web driver and a detailed guide here . It a tiny bit of an overkill. I noticed nitrogen provides browser tests and I was wonder if you expand on how to set these up and I'll try update the documents when possible.
I noticed that  this -include_lib("nitrogen_core/include/wf_test.hrl"). is not mentioned in the docs as a requirement to get test working as it contains the needed macros.
then when I included this and one test there seems to be issues giving the following errors when updating an element defined by both id and html_name:
3> login:tests(). ** exception error: an error occurred when evaluating an arithmetic expression      in function  wf_test:increment_fail/0 (/home/m3rl1n/Code/app/_build/default/lib/nitrogen_core/src/lib/wf_test.erl, line 261)      in call from wf_test:internal_fail/2 (/home/m3rl1n/Code/app/_build/default/lib/nitrogen_core/src/lib/wf_test.erl, line 250)
My browser of choice will likely be Firefox but likely both. Trying to find a way to set up basic tests to run and then I can expand upon them when I start writing solid tests later on.
I think part of appreciating Erlang is learning why things are the way they are by experience the cause of their implementation. One good example of this is type specs and I feel many of my problem maybe solved by simple type specifications & obviously tests.

Hey David!
I'm aware of Selenium and the Selenium Web Driver for erlang.  That said, because the erlang driver has a modification to its licence that disqualifies it from being a true open source license, I decided to implement my own testing system in Nitrogen. This ensures that 1) it adhere's the Nitrogen's open source MIT license, and 2) because it relies exclusively on native nitrogen functionality, no addons are required.
As for the wf_test.hrl file not being mentioned in the docs: wf_test.hrl already is included in wf.hrl, hence why the the documentation for the testing system doesn't mention it.
The error message you mentioned is interesting,
For a few examples here that will help point you in the right direction, all of Nitrogen's actual tests can be found in the NitrogenProject.com repo.
Here are a few simpler examples:

A pretty simple set of tests for a basic self-contained page: https://github.com/nitrogen/NitrogenProject.com/blob/master/src/tests/tests_dropdown.erl
Adding tests to a page that already exists without adding the code to that specific page: https://github.com/nitrogen/NitrogenProject.com/blob/master/src/tests/tests_advancedcontrols1.erl (this adds tests to https://github.com/nitrogen/NitrogenProject.com/blob/master/src/demos/demos_advancedcontrols1.erl through the use of 'wf_test:start_other(OtherModuleName, TestStartFun)`
A somewhat more complicated test that integrates a bunch of javascript into the tests: https://github.com/nitrogen/NitrogenProject.com/blob/master/src/tests/tests_cookie.erl

Basically, Nitrogen's testing system is its own self-contained system that does not use eunit or ct, and launched by:

Adding some new rules to the app.config, then
Launching it from the erlang shell with wf_test:start_all(nitrogen_core) (you can see it launched from the NitrogenProject repo here: https://github.com/nitrogen/NitrogenProject.com/blob/rebar3/Makefile#L106-L107)

Hopefully that helps!

Thank you. That is a great help. I will give this a go in a few hours and let you know if I manage to get it working running.
I don't quite under this syntax "##textbox > something > something_else ", I just assume that's is selector syntax similar to xpath which in slightly more familiar with.
The selenium driver has a few hiccups such as the inability to manage cookies amongst a few other things.
Though all in all this is great stuff.

Having tried this it is logical for the most part and everything pretty much runs as intended. I'm happy that I'm able to at least to launch the browser. The issue is that its more directed at elements. This is find as it would be useful when I start developing the bulma plugin when I get some time.
The issue with what I have now is simply that loading the test is not completely possible. Even when using the start other feature. For example is I  reference in app.config tests/web_test.erl, it will literarily load that path. Though the page I maybe trying to test will be located at lets say /login.
From a plugin and element development side of things it makes sense. But the fully built application maybe a little bit more difficult. I would of liked to see the element get filled in by the value after the browser is launched.
All in all for now I'm going to have to focus solely on Eunit tests until I'm developing framework add-ons.
I will also try see if I can add some of the missing tests detailed in the to-do part of some of those files. It will help me get better understand of whats going on in the code.
I think maybe I'm trying to do to much for the most part. WebApp QA stuff should ideally be left to them or at least be dependent on their tool sets. I believe its called the UAT phase which is the complete far end of the pipeline to were we are sitting. The whole screen shot and visual regression stuff. It would be good if I did have a QA dept (or the do it your self mentality) but I don't so I'm just going to have to make do with what I do have.
Ok, you can close this for now if you want or leave open for others. I'm going to focus on unit tests for the moment with an emphasis on postbacks events. To try avoid errors I will use the validators to make sure I get the data I need when using wf:q/1 or wf:mq/1. That should be good enough for now.

Good to hear.
If the start_other functionality doesn't work (as you mentioned in the login test, since it's looking for the login module), the other thing you could do to help would be to cheat by adding a module called something like web_start_test.erl that just sets a cookie or session variable like:
-module(web_start_test).
-export([main/0]).
main() ->
   wf:session(test_running, true),
   wf_test:start(fun() -> ok end),
   #template{file="your_template.html}.

From there, you can throw a little check in each page's main() function:
main() ->
   ?WF_IF(wf:session(test_running)==true, wf_test:start(fun tests/0)),
   #template{file=YourTemplate}.

That would give you some of the functionality you need here to have your tests explicitly run on your login page instead of a proxy page like test_login.

I would of liked to see the element get filled in by the value after the browser is launched.

That part is handled by the Setup argument in the test_X functions.
For example:
Setup = fun() ->
 wf:set(login, "Test_username"),
 wf:set(password, "Test_password")
end,
Assertion = fun() ->
 [Name, PW] = wf:mq([login, password]),
 case db_login:attempt_login(Name, PW) of
    {ok, Loginid} ->
        true;
    _ ->
        false
  end
end,
?wf_test_auto(attempt_login, Setup, Assertion).

Anyway, hopefully that all makes sense, and that I'm answering the right questions.
I will go ahead and close this now, but if you have more questions, feel free to ask.


Revamp client builders

I think the JavaNetClient shows a nice way forward for constructing our clients:

The "builder" is an abstract class.  It is not a case class, nor is there a case class for configuration.  This involves a lot of boilerplate, but lets us add new configuration without breaking compatibility.
Each "setter" is a with method.  If the config is optional, we have a withFooOption, and a withFoo that takes Some(foo) and a withoutFoo that takes None.

The JavaNetClient has a .create, because its shutdown is a no-op.  With cats-effect-1.0, we probably want a .resource on all the client builders.

[ ] java.net (add .resource)
[ ] okhttp
[ ] blaze-client

Relates to #1025.

We've cleaned this up quite a bit since this was opened.


Missing Column on old PG Version

System information:

Windows 10 19042.804
DBeaver version: <IP_ADDRESS>102141704

Connection specification:

PostgreSQL 8.3.23
JDBC
Do you use tunnels or proxies (SSH, SOCKS, etc)? Yes, SSH

Describe the problem you're observing:
I am getting a error while invalidating connection that makes it impossible to login.
ERROR:  column t.typcategory does not exist at character 290
STATEMENT:  SELECT t.oid,t.*,c.relkind,format_type(nullif(t.typbasetype, 0), t.typtypmod) as base_type_name, d.description
        FROM pg_catalog.pg_type t
        LEFT OUTER JOIN pg_catalog.pg_class c ON c.oid=t.typrelid
        LEFT OUTER JOIN pg_catalog.pg_description d ON t.oid=d.objoid
        WHERE t.typname IS NOT null
        AND t.typcategory <> 'A' AND c.relkind is null or c.relkind = 'c'

Steps to reproduce, if exist:
Connect to a PostgreSQL database with version 8.23.23

Hello @lrweck
Please take a screenshot to clarify the version of the base and driver.

Hi @LonwoLonwo

Ok, sorry.
First check "Read all data types" in PostgreSQL tab.

And then "Test connection".
(This is also workaround for column problem)

Enabling "Read all Datatypes" makes it possible to login/connect and use DBeaver again.

verified


[c++] Upgrade RapidJSON dependency to v1.0.0

To build with Visual C++ 2017, we need a fix from RapidJSON for the
_umul128 intrinsic. This fix was first included in the v1.0.0
release of RapidJSON.
Fixes https://github.com/Microsoft/bond/issues/340

CI failure is Visual C++ 2013 timeout that we keep seeing.

Looks good.


[Issue 11440]. Add complete metadata for admin.topics().examineMessages

Fixes #11440
Motivation
see issue 11440
Modifications
Add all the other non-empty meta data fields in http response headers in org.apache.pulsar.broker.admin.impl.PersistentTopicsBase#generateResponseWithEntry. For fields with byte[] type, base64 is used for serialization and deserialization.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change added tests and can be verified as follows:
org.apache.pulsar.broker.admin.PersistentTopicsTest#testExamineMessageMetadata
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@Jason918 Please check the checkstyle issue
Error:  src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java:[111,44] (whitespace) WhitespaceAround: '=' is not preceded with whitespace.
Error:  src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java:[118,37] (whitespace) WhitespaceAround: '=' is not preceded with whitespace.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@Jason918 Please check the checkstyle issue
Error:  src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java:[111,44] (whitespace) WhitespaceAround: '=' is not preceded with whitespace.
Error:  src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java:[118,37] (whitespace) WhitespaceAround: '=' is not preceded with whitespace.

Fixed it.
Sorry for that .
There seems a lot flaky tests lately. @_@

@Jason918 thanks for your great work. Would you like to add docs accordingly? Then you can ping me to review, thanks

@Jason918 thanks for your great work. Would you like to add docs accordingly? Then you can ping me to review, thanks

@Anonymitaet It seems there're no user docs for examine-message cmd. So I added new section for it. Please check it out in my last commit.


fix: remove usage of built-in node extname to make it edge compat

skips the built in node module path so that you can use this package in edge functions.
not sure how sophisticated extname function is necessary - but this passes all your existing tests
also added some type defs

Hello, and thank you for your pull request. Unfortunately this particular change is not something we are looking to make, as evidenced by the prior closed prs of the same nature. If you are looking for a non-Node.js mime module, consider mime instead which has that support much better.


Fixes issue #25: Python 3 iteration and bytes with Gstreamer decoder

Fixes issue #25: Python 3 iteration and bytes with Gstreamer decoder.

Belay that above; I stuck in a comment. Thank you for fixing these!


Fix tests

The project homepage shows "build failing". This is mostly because my unit tests don't have enough line coverage.  I need to either add more tests (best option) or change the coverage requirement (short-term cheating option).

I fixed the builds failings drastically reducing the code coverage requirement in #348 .  I need to actually add more tests, so I'm leaving this open but removing the high priority label.

I've been adding more tests. Recently in #386 Currently at 77% coverage for the files tested.
$ ./tests/scripts/unit_tests.sh
..............
Name                   Stmts   Miss  Cover
------------------------------------------
commands/__init__.py       1      0   100%
commands/prepare.py      353    101    71%
shared/__init__.py         0      0   100%
shared/common.py         163     66    60%
shared/nodes.py          497     60    88%
shared/public.py         132     33    75%
shared/query.py           17      2    88%
------------------------------------------
TOTAL                   1163    262    77%
----------------------------------------------------------------------
Ran 14 tests in 2.305s

OK

I'm still adding more tests, but I'm going to close this out now.


Velocity/Speed of the particles doubles on every page load

if i am loading the particles using a script on a page route. Every time i route to that page, the speed of the particles double, than what it was before. Even if i destroy the proton element or remove all emitters and behaviours after page unload

Can you describe your scenario in detail, I think you should run the destroy method when the router is unloaded

Thanks @a-jie
Yes, i tried to run destroy when the router is unloaded, didn't help
My scenario is i am using Angularjs to load routes asynchronously. Each time a page route is loaded, it loads the proton script as well, which re-instantiates the proton code, to generate an emitter, and attach it to the defined proton element. The speed/velocity of particles doubles on every time, we re-route to the page, where we are instantiating the proton script
I am guessing, loading the route page asynchronously might be the problem

Please provide your demo code, you may have repeatedly registered the render listener function


JS/Wasm Support

Hi there!
Would love to see this support JS/Wasm targets.
As far as I'm aware, just like material icons, they're not using any platform-specific APIs (just paths).
So are there some other hurdles blocking this? I can submit a PR.
And thanks for the library!

Thank you for your feedback, there is no difficulty at all. Only a small amount of Kotlin configuration is needed.
Welcome any PRs!!!

Is it alright to update and clean up dependencies at the same time?

Is it alright to update and clean up dependencies at the same time?

Yes❤, please submit any code you think is correct. However, it would be better if you could separate the submission of adding targets and dependencies cleanup.

Ah alright, will do!

This configuration
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

in settings.gradle.kts prevents Gradle from downloading Node.js (to run JS samples).
Is there any harm in removing it?

Or would using pre-installed Node.js / Yarn be preferred, as in these docs: https://kotlinlang.org/docs/whatsnew16.html#option-to-use-pre-installed-node-js-and-yarn

@adamglin0 This configuration

repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

in settings.gradle.kts prevents Gradle from downloading Node.js (to run JS samples).
Is there any harm in removing it?

I have no idea about the conf prevents kotlin/js download nodejs. Is there docs or exceptions?

@adamglin0 Trying to run JS/Wasm samples results in this error:
Build was configured to prefer settings repositories over project repositories but
repository 'Distributions at https://nodejs.org/dist' was added by unknown code

And I found a Slack thread linking to the docs above (about using pre-installed versions) as the solution if that's not desired.
Anyhoo, I just out-commented that line and it worked.


SDK Automation filter bug: should skip all sdk jobs if there is no valid sdk automation jobs

Example: https://github.com/Azure/azure-rest-api-specs-pr/pull/8964

PR: https://devdiv.visualstudio.com/DevDiv/_git/openapi-alps/pullrequest/426229


The build breaks in VS Code

Thanks for the great job creating this useful nugget package! Today when I tried to build my project from VS Code instead of VS, I wan't able to. I get build time errors as if your code-get did not work and get errors like the following.
The name 'Resources' does not exist in the current contextCS0103
Have you ever tested in VS Code?
I have this in my csproj file:
  <ItemGroup>
    <JsonResource Update="Resources.resj">
      <AccessModifier>Public</AccessModifier>
      <Namespace>PSDataverse</Namespace>
      <ResourceName>Resources</ResourceName>
    </JsonResource>
  </ItemGroup>

also the following:
  <ItemGroup>
    <JsonResource Remove="Resources.resj" />
  </ItemGroup>
  <ItemGroup>
    <None Remove="Resources.resj" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Resources.resj" />
  </ItemGroup>

Not sure what's happening there.

It turned out that these lines were added to the csproj file that broke the build. It's not clear what caused this. But, removing them fixed the problem.
  <ItemGroup>
    <JsonResource Remove="Resources.resj" />
  </ItemGroup>
  <ItemGroup>
    <None Remove="Resources.resj" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Resources.resj" />
  </ItemGroup>

Yeah, this is kind-of a known issue. There is something in Visual Studio (not Code) that will modify the .csproj when you add these files. I don't understand what exactly causes it, nor how to fix it.
I still have this as an open issue, in fact: https://github.com/MarkPflug/Sylvan.BuildTools.Resources/issues/9


Any ways to fix it?

Command:
python gpt.py -p "Tell me the architecture of chatgpt"

Hey dewxo,
Sorry for the super late reply, I've been pretty busy and just got around to fixing the scripts.
Both scripts now make use of Playwright as browser lib and use Firefox as backend which fixes the bug you've encountered. Please pull the latest scripts and try again 😊
Hope this helps!


Refs #27685 -- Refactor the autoreloader

Ticket
The ticket is about adding support for watchman to the autoreloader, but a lot of Aymeric's points rang true - especially about a complete rewrite rather than a bit-by-bit refactor. There are a few other related tickets to do with the autoreloader that would require some re-engineering before they could be got right.
This MR does a big cleanup of the autoreloader code, which ends up to be half the size, be (i hope) a lot less hairy and have some interesting features.
Firstly, it implements two signals (autoreload_started and file_changed) that allow other parts of Django and perhaps even third party apps to customize what files are watched and offer custom handing when a file is changed. This is used to implement the i18n translations reset code, which currently lives in the autoreload code (and IMO really should not). Users of the signal are given the auto-reload instance which has a watch method, which accepts a glob argument, e.g:
autoreloader.watch('some_directory/', '**/*.html')
Secondly the autoreload code is split into two classes, a BaseReloader and a concrete StatReloader. In the future this can be used to add support for watchman or any other algorithm for detecting changes - it just needs to implement a yield_changes function that yields the paths of files that have changed.
It also changes the behaviour slightly: the current implementation replaces .pyc files with .py, but I'm not sure this is still valid. It assumes that .py files live next to .pyc files, which in Python 3 and __pycache__ directories may not be true. So I removed the code that handled that, as well as Jython-specific stuff.
It doesn't currently include support for catching SyntaxErrors, which I kept out in case anyone had a good idea of how to do a clean implementation of it. The current code (to quote Aymeric) is 'horrific'. It also doesn't include the ensure_echo_on code, which was a ticket that was added a long time ago. It has no tests and perhaps it's not required any more?

Thanks! I commented here https://code.djangoproject.com/ticket/27685#comment:6.
I'm planning to review this in the next few days (he says, optimistically).

@aaugustin, you said ping me by mid august: ping :ping_pong:

I'm taking a look this week-end.

My original idea was to watch the current working directory rather than all imported Python modules. This changes the behavior for the better — I think. It's easier to explain. It also avoids debates about .pyc files, translation catalogs, etc.
I'd like to see how watchman will integrate with the APIs you defined. You said "it just needs to implement a yield_changes function" — the devil is in the details there. Perhaps it will work just fine :-) I think you should focus on this next.
The file_changed signal is a very nice touch.
Regarding ensure_echo_on, you should take a look at related commits or tickets to determine whether it's still needed. In doubt, keep it.

Thanks for taking a look. I will:

Re-add ensure_echo_on - I think the tickets I read found the issue, but not the cause, so perhaps it's best to leave it in
Try and add watchman, and refactor the API if necessary
Add handing for exceptions - I removed it because there was apparently a better way. Need to do some more reading into this

I was also onboarding some new junior developers last week, and one thing I noticed that threw them a little bit was the fact that the autoreloader closes the socket while reloading. So often when refreshing after a change the browser would throw an error because nothing was listening on that port.
If you agree I'd like to fix that as well, as far as I can tell the fix would be to open the socket in the outer manage.py and pass it into the subprocess. It's a little thing but if it's simple to fix it might be good.

Yes, why not. Check the behavior before / after in the following cases: run manage.py runserver:

with an error in the settings, then remove that error
with an error in another module then remove that error
without errors, then add an error in the settings, then remove that error
without errors, then add an error in another file, then remove that error

BTW I just remembered the reason for watching the whole current directory rather just imported Python modules: that will catch file additions like admin.py.

Hmm, let's perhaps recursively watch all INSTALLED_APPS for *.py additions?
I would like to avoid globbing the cwd, it might have huge directories
(like a node_modules) which would ruin performance.

We could have a configurable set of excludes with reasonable defaults for the CWD... Anyway, you write the code, you get to decide :-) Let's focus on watchman integration first!

I started on getting watchman working, and it was going well. However I got sidetracked with the exception handing situation, which needs some thought and redesigning. I've come up with a solution - however it adds a bit of complexity so I wanted to get some feedback.
The tl;dr is that the initial manage.py process needs to handle the file watching, not the child process. The reason being is that if there is an error starting the project (like an issue in the settings or a bug in Django itself) the autoreload code won't run. So how do we know when to restart the process?
My solution is this: the child manage.py is spawned using multiprocessing, which allows us to pass a Queue into it. Any files that need to be watched are dispatched into the queue, which are picked up by the parent process. When these files change the child is terminated and restarted. If the child fails to start due to an error, the last state of the watched files is used to reload the process.
This seems cleaner than the current implementation but obviously is more complex. Also some people have strong reactions when multiprocessing is mentioned. It's also inspired by a generic-wsgi reloader project linked in the developers thread.
I'm going to implement this fully with the current stat reloader and post a message to the developers list to gather feedback I think. Integrating watchman also needs this ticket to be fixed to be much use I think, as the pypi package hasn't been updated in a while and has little documentation. The overall code might be simpler with the multiprocessing queue-based approach above due to the way the watchman library works.

I've pushed what I've got so far. It works, but I'm not sure I like it. The original code, while being hacky, was quite elegant. This approach is more complex for sure.
In any case I'll start working on adding watchman integration next.

I've added initial support for watchman! It was actually easier than I thought - I took a bit of code from flask to handle finding the appropriate roots to listen on which sped things up a lot. It's not done yet - it will trigger a reload for any change under the roots it listens on, but it's good as a proof of concept.
Until watchman push a new pywatchman release (which I'm bugging them to do), you need to clone the watchman repository and run setup.py install from the watchman/python directory for this to work.

I'm interested in continuing to work on this. What's the state of this PR?

Hey,
I've started a new job and so progress has stalled on this PR. I've got
some good feedback on this PR on the mailing list, so there are things to
be done. I've set time aside from the second week of November to work on
his, but if you'd like to collaborate I'd love the help.
The first step I think would be to refactor the current implementation to
make it a bit more pythonic.
On 2 Nov 2017 22:52, "Jonas Haag"<EMAIL_ADDRESS>wrote:
I'm interested in continuing to work on this. What's the state of this PR?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/django/django/pull/8819#issuecomment-341581246, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA-sh2AUOhbboimseQhLxv688xnqFvuvks5sykeWgaJpZM4Olx_a
.

I've had a look at your implementation and I found it complicated (loads of subprocesses and threads etc). But may the problem is simply very complicated. I wonder if an approach with a completely separated autoreloader (like hupper) wouldn't be simpler. I also wonder if we couldn't simply re-use large parts of werkzeugs autoreloader.
Anyways, I rebased to current master which you can find here: https://github.com/jonashaag/django/tree/autoreloader

So yeah, unfortunately this did get overly complicated. I wanted to run with the ideas I had to completion and see how they would work out.
The main issue is that on some systems registering a file watcher can be quite expensive. I wanted to have the parent django process manage this, and the child one that actually runs the application notify the parent of which files to watch. This brings in a lot of complexity, I guess it could be avoided by just registering/un-registering the fs notifications in the child process, just as flask does. I think there is much both projects could share.
It seems really minor, but one thing I would really like to do is to open the socket in the parent (reloader) process and pass it into the child one. This means refreshing the page as the child is reloading will not result in a Connection Refused error as it currently does, but the socket will buffer the request until the child has finished reloading and can accept request. I was onboarding several new joiners (and new-ish to Django), and this was actually quite a big pain point.

I shelved the complex multi-process branch and reverted to the simpler threading based approach we currently use. I've added support for Watchman and the current polling approach, and cleaned up the autoreloader.py file a lot. You can try it out with manage.py runserver --watchman.
I'll add tests and documentation next, any advice with testing approaches for this would be greatly appreciated.

I'm not sure why the tests are not running, but I've done some profiling of the new code. It seems that the hot path is iterating over sys.modules rather than continuously stating the files.
I've implemented an lru_cache on the method that iterates over the modules, which will always be hit during the happy path (no new modules are added to sys.modules). With this I can turn the stat reloader down to sleep(0.1) and have little noticeable usage.
I'm happy with the code now so if anyone has any time for a review it would be much appreciated.

Adding tests for pyinotify is very difficult to do correctly as far as I can tell. I'm really leaning towards being far smarter about how and when we stat files to make it as efficient as possible instead of getting these tests to work, as I think that's a better use of time.
Individually some of these tests run correctly but as a whole we end up with issues that are really hard to debug, from random failures to race conditions.

We've lived with mostly manual testing for years, so I wouldn't consider tests a blocker to merging your work. If you can test as many of the helper functions, etc. as feasible, that helps.

As part of this I added a threading.Event() to the apps registry, so other threads can wait on apps being ready without polling apps.read in a loop. This could be implemented as a separate PR if you think that is best.

Found a bug with infinite reloading.
Tested on Django==2.2a1
Watching for file changes with StatReloader
Performing system checks…

System check identified no issues (0 silenced).
/var/webapps/prvolt/code/backend/prvolt_restful/contacts/api/serializers.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks…

System check identified no issues (0 silenced).
/var/webapps/prvolt/code/backend/prvolt_restful/contacts/api/serializers.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks…

System check identified no issues (0 silenced).
/var/webapps/prvolt/code/backend/prvolt_restful/contacts/api/serializers.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks…

System check identified no issues (0 silenced).
/var/webapps/prvolt/code/backend/prvolt_restful/contacts/api/serializers.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks…

System check identified no issues (0 silenced).
/var/webapps/prvolt/code/backend/prvolt_restful/contacts/api/serializers.py changed, reloading.
Watching for file changes with StatReloader
Performing system checks…

and it goes to infinite reloading loop (I haven't changed files)
Vagrant, Pyenv (1.2.9), Python (3.6.8), pywathcman not installed

Please reports bugs with a Trac ticket. I guess we may need more details to understand the problem and reproduce the issue.

Hey @ArtemBernatskyy, are you able to create a ticket on https://code.djangoproject.com/query?
There is a django.utils.autoreload logger that outputs diagnostic information if set to DEBUG. If you're able to do this then that information would greatly help in the ticket.

@orf @timgraham , damn, I can't reproduce it (
If somehow I'll be able to reproduce it I'll create a ticket.
Thx.

/var/webapps/project/code/backend/project/contacts/api/serializers.py
/var/webapps/project/code/backend/prvoltprojectrestful/contacts/api/serializers.py

Perhaps it's nothing, but 2 different paths to the same file, maybe?

@kezabelle no it's me ) I've edited the log a little bit. Fixed now.


Fix remaining mentions of "cross-compilation destinations"

Not all of the help strings were updated to use "Swift SDK" instead of "cross-compilation destination" after SE-0387 was accepted.
rdar://115680101

cherry pick into 5.9?

@swift-ci test

@swift-ci test

@swift-ci test windows

@swift-ci test linux


I can't install this lib via go mod, git doesn't have permission to pull the dependency

I can't install this lib via go mod, git doesn't have permission to pull the dependency:
<EMAIL_ADDRESS>go: downloading github.com/milvus-io/milvus-proto/go-api v0.0.0-20230301092744-7efc6eec15fd
go: downloading google.golang.org/grpc/examples v0.0.0-20220617181431-3e7b97febc7f
go: finding module for package github.com/weaviate/weaviate-go-client/v4/weaviate
go: found github.com/weaviate/weaviate-go-client/v4/weaviate in github.com/weaviate/weaviate-go-client/v4 v4.6.3
go<EMAIL_ADDRESS>requires
<EMAIL_ADDRESS>reading<EMAIL_ADDRESS>404 Not Found
	server response: not found<EMAIL_ADDRESS>invalid version: unknown revision 39ef7cc0c9ff

It works, thank you.
I do this, share for other one.
// add to go.mod

replace github.com/weaviate/weaviate-go-client/v4 => github.com/weaviate/weaviate-go-client/v4 v4.6.4-0.20230324165741-697635d9b99a

Thanks for confirming! I released v4.6.4 which includes the fix, might be the best to update to that version


[typescript-operations] export interfaces instead of types by default or with flag.

Typescript interfaces are more performant. We have huge schemas with tens of thousands lines of types generated, and editors start lagging. Just renaming types to interfaces manually reduces lags.
Please provide a typescript-operations flag to export interfaces instead of types.

I think there is such an option already. You can use declarationKind: 'interface'.
See docs

Thank you @AradAral !


nvmrc is right?

nvm use says 4.8.4 but the syntax used isn't being transpiled for that.. what is the last version of node that we are supposed to provide support for?

Node 4 is the oldest node version that should be supported by Brakes. Our travisCI is passing node 4 without transpilation. Do you see any specific instances of code that are not supported by Node 4?

Yea, we should close this as the root problem was a consumer inadvertently pulling this into browser code.


No syntax highlighting

Neat, but it does nothing shrug

Well I kinda can get everything to be displayed in green if I add ******* at top..
I would be useful in all rrg maker based text. I want to use it in pokemon essentials translation files, they don't have the structure, but the same syntax.
Could you make it more lineant?


Add a way to zoom on item

Press a key allow user to see zoomed version of image item.

Duplicate of #290

Zooming just a component, for example a card, is also super usable, but in some regard it's a thing of its own. It would be very smooth if one could hold ALT or whatever pressed, and just hover a component, and then you would see a zoomed in version of the component on a layer of its own above the table layer, without it zooming the rest of the table and just zoomming the component. Very good for reading, and also solves issue with having to "move in and move out with camera all the time".