[DRAFT][FLINK-31168] Fix JobManagerHAProcessFailureRecoveryITCase

What is the purpose of the change
JobManagerHAProcessFailureRecoveryITCase fails with JDK17 occassionally. This PR is about investigating and fixing the issue.
The issue was that the destruction of the process took occassionally longer (the destroyForcibly failed under JDK17 due to the restrictive module encapsulation). The JM process that was subject to destruction might have had the chance to finish the job because TestJvmProcess.destroy didn't block until the process was actually gone. The new JM process wouldn't have any job to recover as the consequence which caused the FlinkJobNotFoundException.
Brief change log

Replaced the destroyForcibly reflection logic that was introduced for JDK7 (which we don't support anymore) by the usual destroy call. destroyForcibly is also available through the Process interface. ~But it does only call destroy in the default implementation. Waiting for the process destruction is good enough here.~

I was wrong about the destroyForcibly just calling destroy. The ProcessImpl class is actually used (at least in my JDK version) which forcefully destroys the process. That's necessary because of BlockingShutdownTest#testProcessExitsDespiteBlockingShutdownHook which would block forever if we're not forcing the destruction of the blocking process.
I'm gonna run another test with the fix to update the test run table below.
Verifying this change
Two test builds with the number of test runs per stage:

run
misc-0
misc-1
misc-2
misc-3
misc-4
misc-5
misc-6

w/o fix*
:heavy_multiplication_x: 109
:heavy_multiplication_x: 181
:heavy_multiplication_x: 129
:heavy_multiplication_x: 182
:heavy_multiplication_x: 127
:heavy_check_mark: 169
:heavy_multiplication_x: 133

w/ fix*
:heavy_check_mark: 74
:heavy_check_mark: 76
:heavy_check_mark: 74
:heavy_check_mark: 73
:heavy_check_mark: 73
:heavy_check_mark: 73
:heavy_check_mark: 73

* test run with https://github.com/apache/flink/pull/23103/commits/d609760a26e40eb63c34c8ed4273286b2040431e
:heavy_multiplication_x: - eventually failed
:heavy_check_mark: - ran into 4h CI timeout
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

Test run without the fix: https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=51842&view=logs&j=413780be-9d4b-55ad-e383-85bf33d2f47f

Test run with the fix: https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=51848&view=results

I rebased the branch and removed the debug commits (see CI run w/o fix and CI run w/ fix for comparison) to make the PR ready to be merged.

Removed the debug commit to get a proper CI run


Calling redo on UndoManager doesn't redo but results in a no-op

Describe the bug
Running redo() on an UndoManager instance doesn't redo the change. The closure passed to registerUndo isn't run again for redo but leads to a no-op.
Steps To Reproduce
Steps to reproduce the behavior:
import Foundation

let undoManager = UndoManager()
class SwiftClass {
  var property: String = ""
}

var target = SwiftClass()
undoManager.registerUndo(withTarget: target) { target in
  target.property = "expected"
}

undoManager.undo() // set to "expected" by calling `undo`
assert(target.property == "expected")

assert(undoManager.canRedo)
undoManager.redo() // redo should reset the string to ""
assert(target.property == "") // fails: `.property` is still equal to "expected" and not the empty string

Expected behavior
The change is re-done by calling the closure which is passed to registerUndo. In context of the provided example, this means target.property should be equal to the empty string after redo is called.
Environment (please fill out the following information)

OS: macOS 12.6.1
Xcode Version: 14.0 beta 3

Additional context

redo is always a no-op (the closure registered as part of registerUndo not being called) no matter the amount of previous undo calls.
Multiple registerUndo calls don't increase the undoManager._undoStack.count above 1.

Closed as the issue got clarified in https://forums.swift.org/t/redo-broken-for-undomanager/61250/4.


"meta: reset_connection" fails with "become: true" using 0.2.9

Hi,
Contrary to the release notes for 0.2.9, meta: reset_connection is still failing when used with become: true using the environment specified below.
Ansible 2.8.10
Mitogen 0.2.9
Python (host and target) 3.5.2
Ubuntu 16.04
Strategy mitogen_linear

The following snippet can be used to reproduce the issue
- name: Force reconnection
  meta: reset_connection

- hosts: all
  roles:
    - testing
  become: yes

With the following error appearing
ERROR! [mux  17655] 07:14:35.440029 E mitogen.service: Pool(c128, size=32, th='mitogen.Pool.c128.25'): while invoking 'reset' of 'ansible_mitogen.services.ContextService'
Traceback (most recent call last):
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 621, in _on_service_call
    return invoker.invoke(method_name, kwargs, msg)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 307, in invoke
    response = self._invoke(method_name, kwargs, msg)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 293, in _invoke
    ret = method(**kwargs)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/ansible_mitogen/services.py", line 186, in reset
    mitogen.core.listen(context, 'disconnect', l.put)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/core.py", line 431, in listen
    _signals(obj, name).append(func)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/core.py", line 421, in _signals
    obj.__dict__
AttributeError: 'NoneType' object has no attribute '__dict__'
ERROR! Unexpected Exception, this is probably a bug: builtins.AttributeError: 'NoneType' object has no attribute '__dict__'
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 621, in _on_service_call
    return invoker.invoke(method_name, kwargs, msg)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 307, in invoke
    response = self._invoke(method_name, kwargs, msg)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 293, in _invoke
    ret = method(**kwargs)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/ansible_mitogen/services.py", line 186, in reset
    mitogen.core.listen(context, 'disconnect', l.put)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/core.py", line 431, in listen
    _signals(obj, name).append(func)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/core.py", line 421, in _signals
    obj.__dict__

ERROR! Unexpected Exception, this is probably a bug: builtins.AttributeError: 'NoneType' object has no attribute '__dict__'
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 621, in _on_service_call
    return invoker.invoke(method_name, kwargs, msg)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 307, in invoke
    response = self._invoke(method_name, kwargs, msg)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/service.py", line 293, in _invoke
    ret = method(**kwargs)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/ansible_mitogen/services.py", line 186, in reset
    mitogen.core.listen(context, 'disconnect', l.put)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/core.py", line 431, in listen
    _signals(obj, name).append(func)
  File "/home/ubuntu/ansible/plugins/mitogen-0.2.9/mitogen/core.py", line 421, in _signals
    obj.__dict__

to see the full traceback, use -vvv

(more extended log - log.txt)
Related-issue: https://github.com/dw/mitogen/issues/633

https://github.com/dw/mitogen/issues/655 had a similar traceback to yours; can you try my branch here: https://github.com/dw/mitogen/pull/710 and see if it works for you? The part that triggers the bug is when a reset is called but there's no call stack context to disconnect from.

The branch has been merged and it's been quite some time since this bug has been opened. I'll close it and reopen if it by any chance happens again


Hyundai CAN-FD: Add LKAS and LKAS_ALT messages to HDA2 int flag

Description
Introduces LKAS and LKAS_ALT messages to set the int flag for CAN-FD HDA2 platforms. Some newer HDA2 platforms do not have Ecu.adas from fingerprinting query, but still had LKAS or LKAS_ALT on the CAM bus.
Affected platforms

Genesis GV70 3.5T 2022 (HDA2): https://github.com/commaai/openpilot/pull/31704

Verification
Similar changes are being tested in this PR:

https://github.com/commaai/openpilot/pull/31704

Which platforms? Do we support them currently? Can you send a route with an ADAS ECU that doesn't respond to our query?

Closing for now until we understand this car better, we can keep the changes in https://github.com/commaai/openpilot/pull/31704


[Question] - Is there an API so we can automate adding an event to the calendar?

I'd like to extend our release pipeline for production and staging releases, to add an event to the calendar. Is there any kind of API I can use to do this?

+1
I'd like to add days off from company planing vacation system

I've written notes on how to access Team Calendar from the API here:
https://www.stuartellis.name/articles/ado-team-calendar/

We're closing old issues so we can get back to actively maintaining the extension. Feel free to reopen if this is still an issue for you.


Enhancing Front-End Appeal for KrishiConnect's Product Page

What's wrong with the existing documentation
While KrishiConnect has designed its website to be aesthetically pleasing, interactive, and user-friendly, there is a need to update the front-end of the product page to further enhance its attractiveness and functionality. The goal is to revolutionize the consumer industry in the agriculture sector by eliminating middlemen and empowering farmers to achieve economic prosperity.
Objectives for Front-End Update:
Improved Visual Design: Update the product page with modern and visually appealing design elements that resonate with the target audience, including farmers and agricultural stakeholders.
Enhanced User Experience (UX): Ensure that the product page is intuitive, easy to navigate, and provides clear information about the services offered, including soil-testing, water-testing, and government policies related to agro-technology and sustainable farming.
Responsive Design: Ensure that the product page is responsive across devices, including desktops, tablets, and mobile phones, to cater to users accessing the platform from different devices.
Expected Outcome:
By updating the front-end of the product page, KrishiConnect aims to create a more attractive and engaging platform that not only educates farmers about government policies and sustainable farming practices but also promotes the services offered by removing middlemen and ensuring fair pay for farmers. This update will contribute to increased user satisfaction and adoption of KrishiConnect's platform among farmers and agricultural stakeholders.
Please assign me the task of enhancing the front-end appeal for KrishiConnect's product page.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@DeeptiWani can you convert the frontend to react?

Hi there!
Thank you for opening this issue! 😊
I just wanted to check in and see if you need any help or guidance with this issue. If you have any questions or run into any challenges, please feel free to ask. I'm here to assist you!
Additionally, it's been some time since the issue was opened. If we don't hear back from you within a week, the issue will be closed or made available for someone else to work on.
Happy coding!


Stale cache while revalidate

I'm adding a keepFresh option, which implements a behavior commonly known as stale-while-revalidate (naming suggestions welcome)
Normally our cached data is displayed until it expires; only after its expiration, new data is fetched and displayed (which introduces a delay because there's no cache at that point)
This new keepFresh option lets us display "stale" data but it will still trigger whatever HTTP request is behind it.
Instead of just making it a boolean (i.e. always keep the data fresh after displaying stale data), I decided to make it another number
{
	expiration: 30, // After 30 days, the cache is deleted
	keepFresh: 10 // The data is still served from cache, but after 10 days it will trigger another request
}

Is this clear? Should the option in https://github.com/fregante/webext-storage-cache/pull/15 be named anything different?

Is this clear? Should the option in fregante/webext-storage-cache#15 be named anything different?

staleAfter maybe...

staleAfter doesn’t sound bad. Perhaps stale: 10 would also work since there’s expiration: 30

I would go even further: staleAfterDays. It's not clear what unit {staleAfter: 10} at the callsite.

What about expiration: 30? Is that clear enough? expireAfterDays?
Also, maybe: staleAfterDays doesn't explain what happens then, should this be retryAfterDays?

I would use invalidateAfterDays.

You mean:
{
	invalidateAfterDays: 10,
	expiration: 30
}

Or maybe
{
	invalidateAfterDays: 10,
	deleteAfterDays: 30
}

I think we should skip *afterDays:  API don't necessarily specify the unit: sometimes they're milliseconds, sometimes they're seconds, you just have to read the docs (or JSDocs) to find out.
Also maybe match the HTTP Cache-Control terminology.
https://web.dev/stale-while-revalidate/
Cache-Control: max-age=1, stale-while-revalidate=59

cache.function(fn, {
	maxAge: 10,
	staleWhileRevalidate: 20
});
/* Equivalent to {
	keepFresh: 10,
	expiration: 30
} */

API don't necessarily specify the unit: sometimes they're milliseconds, sometimes they're seconds, you just have to read the docs (or JSDocs) to find out.

Even though many existing APIs doesn't do it, doesn't mean they shouldn't. Usually, the expectation in the JS world is that if no unit is specified, it's milliseconds. 🤷♂

cache.function(fn, {
maxAge: 10,
staleWhileRevalidate: 20
});

Sounds good. That should be familiar to people.

This needs a little testing before I publish it. Also (separately) I'm thinking about a mechanism to force getting/refreshing the cached value. Example:
if (userJustClosedAnIssue) {
	getBugsCount.refresh()
}


implement distribution logic

distribution logic is for demo only so far.  need to implement

implemented a while ago.


Fix re-open journal if rename fails

If journal rename fails, the fd becomes invalid and journal processing will never recover. Antivirus software on Windows causes the rename to intermittently fail.

Added 5 retry attempts on failed rename
Check for invalid handle before trying to close

Thanks. I'll take a look at including it. Guess my only question is will a single failed copy cause any issues somewhere else in the code?
My work laptop cannot launch siad at all due to this. It seems to work fine with the fix, just making sure that it doesn't introduce something more.

Let me elaborate a bit on the re-open retry. Not only anti-virus/malware software, but also backup/sync apps can cause open's to fail. I had to exclude certain locations in Sia's data directory in CrashPlan because of open file failures in siad as well. To generalize, any external process that open's a file that Sia expects to be readable and/or writable can cause issues if you don't implement a retry.
Windows is specifically a bit more touchy than *nix as typically O_EXCL is the only flag on *nix that could cause something like this. Windows introduces share mode flags FILE_SHARE_READ, FILE_SHARE_WRITE, and FILE_SHARE_DELETE. Specifying no flags is essentially the same as O_EXCL.
This article will explain what can and cannot occur based on how a file is originally opened given each combination of share flags. Retrying on failed open/create will help prevent unnecessary crashes or invalid application states caused by unexpected internal/external file access.

Yes, contractor.log is same for me. rename fails and then starts spewing same errors.

@sgraves66 do you only experience this issue with the contractor journal? I'm wondering if there are also potentially problems with our persist package. How consistently do you see issues? If there are issues with other files, would you be able to check your logs and verify that they do or do not exist?
Here is our persist code: https://github.com/NebulousLabs/Sia/blob/master/persist/json.go
I ask because we are working on a new method for saving which has much higher performance than other techniques we've been using. But I don't understand this anti-virus bug very well yet and I want to make sure that our new method of securely saving files isn't going to have negative conflicts with the anti-virus.

So far, only this one particular file. Due to the frequency of changes, seems more likely to fail on open. Some AV software will exclusively open a file while it is being scanned, so any additional open requests will immediately fail. I'm addressing Windows more than *NIX here, but the solution is common for both. Historically, file opens will undoubtedly fail at some point because of av/malware/backup software, poorly designed text editors, etc. The best I can do here is pass along a generalization. If it's being opened at all, it's best to implement a retry.
Say 98% success first time open. Typically, only one additional retry is necessary to bring it up to 99%. And 99.5% success third time. 5 retries is my personal preference for catching the remaining. In doing so consistently, you immediately reduce the risk of crashing and invalid states caused by failed opens that are most likely recoverable events. There's really no performance cost if the first open succeeds. Depending upon how long you wait between retries, it should be a trivial hit anyways.

Just looked through the persist code. Any time you repeatedly open, write and close, there's cause for performance degradation. If you can open once, flush when you really need to ensure data is written to disk, and close on shutdown that would be preferable in most cases. It would also alleviate issues with failed open as you only need one to succeed throughout the lifetime of your app. Not to mention ultimate control over who else can access it, when/how, etc. While you're  running, I doubt that external processes should even be allowed anything other then read access anyways.
Maybe encapsulate all file ops inside a high level TextFile/JsonFile class? At least you would have only one place to make performance modifications. Keep most frequently used in a map for quick retrieval. Let destructor/GC handle the close.

But it doesn't solve issues with corruption like renaming does. I really don't use text files in this way for live data anymore. There are plenty of libraries available for storing data, relational or otherwise, that would work quite well. I have no experience with go, so not sure what's available.


About Composite dataset

Sorry to bother, I want to know where to download the Composite dataset? Can't find a link in the original paper

see https://imagesdg.wordpress.com/image-to-scene-description-graph/ under "Evaluations". AMT_Eval.zip is composite.


Integration with NextJS

Hi, do you know if this project is compatible with Next?

I'm not having any luck. @damianlluch It seems nothing is actually exported from the module.


Introduce HelperText component

What Has Been Done

Mark the id prop in form fields as required starting from next major version
As of now, some form field components require the id prop and some do not.
An ID is necessary to:

connect the input to its label,
connect the input the its helper texts and validation texts (coming soon).

Last but not least, a consistent approach to API is expected from all form field components.

Introduce id prop in ValidationText component

Introduce HelperText component

Use new HelperText component in all form fields

coverage: 96.46% (+16.9%) from 79.564% when pulling 0df0fbd63e6f6a2903b510e5a99685318d0b3110 on feature/twig-helper-text into 04fe7074d964be53eb1da36418b7c8e7f33122aa on main.


Add Dockerfile

Hezar can be installed in one line and does not have any installation trick on any setup, so there's no need for a Dockerfile for now.


Fix exception raise when resolvers have generic type hint

Description
Fixes generic resolvers raising a MissingTypesForGenericError.
e.g. in the following scenario:
T = TypeVar("T")

def resolver_factory(strawberry_type: Type[T]):
    def resolver() -> T:
        return strawberry_type(1)

    return resolver

Add an isinstance check for StrawberryTypeVar to the field property of the StrawberryField class.
This means we would get the same behaviour as if the resolver had no type annotation.

[ ] Core
[x] Bugfix
[ ] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR

#1887

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to Tim OSullivan for the PR 👏

Get it here 👉 https://github.com/strawberry-graphql/strawberry/releases/tag/(next)

Thanks for contributing to Strawberry! 🎉 You've been invited to join
the Strawberry GraphQL organisation 😊
You can also request a free sticker by filling this form: https://forms.gle/dmnfQUPoY5gZbVT67
And don't forget to join our discord server: https://strawberry.rocks/discord 🔥


Add rust language

Add the support for rust language.

+1 for rust support.
@zhangzhishan any updates?

there was another commit merged for the same purpose, see #142

@skygragon Cool!
Any plan to release the new version with the Rust support?


Flutter Shim

This doesn't appear to be a problem with asdf, so, if it is, tell me.
Expected Behavior:
Choose flutter shim for vsocde of vscodium flutter plugin. Use asdf Flutter installation for vscode allowing easy use of shortcuts.
Actual Behavior:
Choosed flutter shim 1.17.1-stable (i believe that's the name) for flutter plugin and 2 results poped up. Flutter shim not in path and the name not being flutter.
I don't think it's possible to have a flutter installation be in bash but one step in the right direction would be to have the version name contain a folder named flutter. Then this would allow you to pass that into vscode and because vscode flutter plugin only allows the name to be flutter for the plugin.

you can export FLUTTER_ROOT variable in your .bashrc. I use vscode and it detects my flutter installation
export FLUTTER_ROOTS="$(asdf where flutter)"

It worked, you made my day, it worked.
I believe you should add this to the read me: if I didn’t miss it there.
Anyways, for anyone who needs it in the future.
I followed the command: asdf where flutter.
I exported it to my bash profile above the asdf parts.
I then restarted my Mac for it to work. (And I selected the flutter shim for the flutter plugin but it didn’t work so that’s why I restarted my computer).
And it worked

@oae FLUTTER_ROOT does not feature in the Flutter setup documentation so adding it to the README here would be great.


Support for XHR responseType and response attributes

Currently the XMLHttpRequest don't support any response types other than text. This PR will add responseType attribute as well response attribute.
This PR will partially solve the issue https://github.com/facebook/react-native/issues/6017

Including @astreet and @satya164 as well to review this.

Left some comments. Please fix the style issues (ESLint should report them).

@satya164 Updated the PR based on review comments.

@facebook-github-bot shipit


Deprecate this library

This library is a random grab bag of various functions which happen to be in the global scope in JS. I don't think it makes a huge amount of sense in the first place (we shouldn't just copy the way JS organises things), and I think it especially doesn't make sense now that alternate backends are a thing.
I think the things that this library provides could more sensibly be split into other libraries:

Number values and operations like isNan, isFinite, infinity, parsing and formatting can live in a library like purescript-numbers (indeed most of them already do)
Parsing Ints is already provided in purescript-integers
encoding and decoding URIs and URI components could live in purescript-strings
I think now that we have safe versions of all of these, there's not really any reason for the unsafe versions to exist (other than perhaps that the Maybe return values for formatting numbers are awkward, but @sharkdp has already handled that in the way I think is most appropriate in the purescript-numbers library, by clamping the format parameters).

However, I think we should have functions for parsing and formatting Number values somewhere in core. So my proposal is to move things into other libraries as described above, move numbers into core, and then deprecate this library.
@sharkdp: would moving numbers to core be alright with you?

I forgot about https://github.com/sharkdp/purescript-numbers/issues/8!

I'm in agreement with this. While JS is the main backend, I don't think we should structure libraries around it as it does make things harder for alternate backends.

I should have asked this first before working on purescript/purescript-numbers#11. Where do we need to port things in this repo once it's deprecated? There's a couple of parts to this repo:

all number related things: I assume purescript-numbers
unsafeStringify: perhaps purescript-strings?
encode/decode URI component: purescript-strings?

I'm not really convinced unsafeStringify should exist at all. It seems like a thing you'd only ever want to use in debugging, and purescript-debug already lets you print arbitrary values.
encodeURI / decodeURI / Component I don't feel belong in -strings. Assuming we're at all pretending -strings can be sensibly used cross-backend we're just adding some not-really-core-String-related stuff to it because it happens to exists in JS and we haven't thought of a better home for it. It belongs in some kind of URI related library really, but also, my experience with building purescript-uri tells me that neither variant of them actually conforms to the spec for URIs either, so I kinda have problems with them for that too. I certainly don't want to impose the use of purescript-uri on everyone either, because it is rather like using a sledgehammer to crack a nut most of the time, but I don't really know what to suggest.

Since the URI things are more URI related, how about moving them outside of core and as a new repo in purescript-contrib or something?

I'm not really convinced unsafeStringify should exist at all. It seems like a thing you'd only ever want to use in debugging, and purescript-debug already lets you print arbitrary values.

I agree with this.

Since the URI things are more URI related, how about moving them outside of core and as a new repo in purescript-contrib or something?

If this was done, what would the name of the repo be called? purescript-uri-components since purescript-uri is taken?

I'd lean towards purescript-js-uri or something like that I think, since it's a fairly specific implementation-related thing.

Sounds fine to me. How should we create the repo? Is there some template directory I can clone and update? Or should I just reuse prelude?

Does the stuff in https://github.com/purescript-contrib/governance work for setting up new repos too? (If we're doing this in contrib as you suggested earlier). Or ask @thomashoneyman about it perhaps 🙂.

I didn’t think of those functions as JS-specific actually; aren’t they potentially useful to anyone processing URIs?

Yea, that tool helps set up new projects too (so long as you’ve initialized a Spago project).

I didn’t think of those functions as JS-specific actually; aren’t they potentially useful to anyone processing URIs?

The specific behaviour implemented by the global encode/decodeURI/component is what I'm calling JS specific, since they just "do some kinda of URI encoding type thing", neither one of them encodes in a way that actually conforms to URI specs, and both of them require caveats depending on their use case: encodeURI cannot be used to encode proper GET or POST URIs for XHR. encodeURIComponent cannot be used to encode for application/x-www-form-urlencoded without doing a second replacement to substitute %20 for +. And so on.

Now that the port PR has been merged, do we still want to create a purescript-js-uri repo? If so, that's the last action before we can close this issue.

I plan to implement a js-uri repo tomorrow which uses the encodeURIComponent and decodeURIComponent functions, except a little bit stricter (compliant with RFC 3986), and supply additional functions if you specifically need x-www-form-urlencoded. From reading through specs it seems like form-urlencoded is an abomination and doesn't quite match with the RFC 3986 spec in the first place.
This at least unblocks a few libraries which can't otherwise update to 0.14.0-rc3, and it's a tiny dependency that's easy to drop if someone does get around to implementing an RFC 3986-compliant encode and decode pair without FFI.
I'll make an issue on the new repository for someone to write that function and for the library to be deprecated.


MemoryError

Hi, when I run the command below, there is a MemoryError. Please help me to solve the problem.
GPU:1080 TI 11GB
Cuda: 11.3
Pytorch 1.11.0
(ngp_pl) D:\ngp_pl\ngp_pl>python train.py --root_dir .\datasets\Synthetic_NeRF\Lego --exp_name Lego --batch_size 1024 --downsample 0.25
GridEncoding: Nmin=16 b=1.31951 F=2 T=2^19 L=16
Warning: FullyFusedMLP is not supported for the selected architecture 61. Falling back to CutlassMLP. For maximum performance, raise the target GPU architecture to 75+.
Warning: FullyFusedMLP is not supported for the selected architecture 61. Falling back to CutlassMLP. For maximum performance, raise the target GPU architecture to 75+.
Warning: FullyFusedMLP is not supported for the selected architecture 61. Falling back to CutlassMLP. For maximum performance, raise the target GPU architecture to 75+.
Warning: FullyFusedMLP is not supported for the selected architecture 61. Falling back to CutlassMLP. For maximum performance, raise the target GPU architecture to 75+.
Using 16bit native Automatic Mixed Precision (AMP)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs
Missing logger folder: logs/nsvf\Lego
Loading 100 train images ...
100it [00:04, 22.78it/s]
Loading 200 test images ...
200it [00:07, 25.74it/s]
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Epoch 0:   0%|                                                                                | 0/1000 [00:00<?, ?it/s]Traceback (most recent call last):
File "", line 1, in
File "D:\anaconda3\envs\ngp_pl\lib\multiprocessing\spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "D:\anaconda3\envs\ngp_pl\lib\multiprocessing\spawn.py", line 125, in _main
prepare(preparation_data)
File "D:\anaconda3\envs\ngp_pl\lib\multiprocessing\spawn.py", line 236, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "D:\anaconda3\envs\ngp_pl\lib\multiprocessing\spawn.py", line 287, in fixup_main_from_path
main_content = runpy.run_path(main_path,
File "D:\anaconda3\envs\ngp_pl\lib\runpy.py", line 265, in run_path
return run_module_code(code, init_globals, run_name,
File "D:\anaconda3\envs\ngp_pl\lib\runpy.py", line 97, in run_module_code
run_code(code, mod_globals, init_globals,
File "D:\anaconda3\envs\ngp_pl\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "D:\ngp_pl\ngp_pl\train.py", line 34, in
from pytorch_lightning.plugins import DDPPlugin
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning_init.py", line 34, in
from pytorch_lightning.callbacks import Callback  # noqa: E402
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning\callbacks_init.py", line 26, in
from pytorch_lightning.callbacks.pruning import ModelPruning
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning\callbacks\pruning.py", line 30, in
from pytorch_lightning.core.module import LightningModule
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning\core_init.py", line 16, in
from pytorch_lightning.core.module import LightningModule
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning\core\module.py", line 41, in
from pytorch_lightning.loggers import Logger, LoggerCollection
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning\loggers_init.py", line 23, in
from pytorch_lightning.loggers.tensorboard import TensorBoardLogger
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\pytorch_lightning\loggers\tensorboard.py", line 26, in
from torch.utils.tensorboard import SummaryWriter
File "D:\anaconda3\envs\ngp_pl\lib\site-packages\torch\utils\tensorboard_init.py", line 10, in
from .writer import FileWriter, SummaryWriter  # noqa: F401
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 839, in exec_module
File "", line 934, in get_code
File "", line 1033, in get_data
MemoryError

You can open virtual memory on your computer to solve the problem

Finally, I solved this problem by moving the instant-ngp out from the PyTorch-lighting and writing the training frame by myself.


Add Pod Template for Tcpdump Jobs

Using podtracer as the command option include the template on the job generation.
Podtracer should take care of the packet capture and also the pcap data export to a central workload or server.

Working on the PR for this Job feature. Add a few commits to the Jobs branch. Later to be merged to master.
fc91e79828112b5524068245745873704eee8404
6f86d3e93073a2e874f7e0796d768108e0d0c2f9
f34bacaf40b5af1c76ed8294def8d0a8a2d318ef

Final tests done.
d9a8fd5486a288905af62463953436f3d4fa725d


matplotlib._cntr is deprecated

As of matplotlib 2.2.0 _cntr has been deprecated (https://github.com/flatironinstitute/CaImAn/issues/174)
They recommend replacing with contours module. Is this an easy fix?

Haven't seen a response yet. I can refactor the contour stuff so that we can use matplotlib 2.2.2, you can do it, or if you have a workaround, I am open to it? How do you want to proceed?

Well, _cntr is working fine for now. I'm not going to put any time into upgrading it, but if you want to find another way to make it do basically the exact same thing it's doing now, you're welcome to. Since this has the potential to get messy, you should make a new branch for this project.

In principle, it shouldn't be difficult. All _cntr is doing is taking in R,Z,psi data, and getting points along a specified contour. In many cases there are multiple curves with the same psi  or psi_norm value, and then there's some logic that is used to identify which curve is the one we want (for example, if all points are inside the seperatrix, then it's an interior flux surface, if not then it's not.). I don't know how what format contours gives the data back in, which is why I say that it could get messy.

You'll also need to pay attention to the starting location and direction along the curve for the points that contours returns. Those matter because of the way the points are fed into shapely objects. If I remember correctly, _cntr returns points starting at the lowest and then going either clockwise or counterclockwise. If contours does something different, then it would require a bit more surgery.


Revert "[release-4.13] OCPBUGS-17726: Use a more specific label for TALM pod selectors"

Reverts openshift-kni/cluster-group-upgrades-operator#638

I was able to verify a fix before this was merged therefore I am closing the revert and will open the fix shortly


Find an alternative to nwjs-builder-phoenix

Waiting for https://github.com/nwjs/nw.js/issues/7693

I really should take some time to migrate this because dependabot alerts are accumulating about nwjs-builder-phoenix 😅

Maybe nwutils/nwjs-packager? It's actively maintained

Ahah, don't worry.
I indeed won't use nwjs-packager, because of its README header. It looks like it won't evolve a lot more anymore (except if one decides to contributes massively)


Catch error 404 on getLegal call

https://github.com/RedFroggy/ilg-spring-boot-starter/blob/8025150053527439358ba598ee99fb5adeeb4a1e/src/main/java/fr/redfroggy/ilg/client/legalinformation/LegalInformationApi.java#L65
When I call LegalInformationApi.getLegal('FR', '850833492'), I got an error 404.
Seems to fail when legalInfo are not in ILG.
Alexandre, from Conformitee.

Solution is to add decode404 property, when decode404 is true then the client return empty response and not throw exception on status 404.

:tada: This issue has been resolved in version 1.9.0 :tada:
The release is available on:

GitHub release
v1.9.0

Your semantic-release bot :package::rocket:


🤗 [REQUEST] - Llama-3-70B-Instruct

Model introduction
The model was created by Meta. It's a 70 billion parameter language model, fine tuned for chat completions.
Model URL
https://huggingface.co/meta-llama/Meta-Llama-3-70B-Instruct
Data type
float16
Additional instructions (Optional)
No response
Author
No
Security

[X] I confirm that the model is safe to run which does not contain any malicious code or content.

Integrity

[X] I confirm that the model comes from unique and original work and does not contain any plagiarism.

added

@ganler It looks like you put the model in as an 8B model on the leaderboard.

Thanks for mentioning! The issue has been fixed.


Floating point numbers not highlighted correctly

In my sway/config file I have this line to change the scaling:
bindsym $mod+Shift+z output * scale 2.5

The 2 is highlighted correctly, but the .5 is highlighted as plain text

Fixed in 70eb9f5.


to_xml Method Behavior is Inconsistent

The to_xml method in the Atmospheric::Export::Iso25331975::GroupBase class exhibits inconsistent behavior. The following scenarios were tested:
Calling the Class Method to_xml with an Object:
obj = Atmospheric::Export::Iso25331975::GroupBase.new
Atmospheric::Export::Iso25331975::GroupBase.to_xml(obj)
Result: Returns "<test/>".

Calling the Instance Method to_xml:
Atmospheric::Export::Iso25331975::GroupBase.new.to_xml
Result: Returns nil.
This behavior is unexpected because the instance method to_xml should ideally provide serialized XML output for the object's data. However, it returns nil, while the class method returns an arbitrary XML string ("").
Steps to Reproduce:
Create an instance of GroupBase:
obj = Atmospheric::Export::Iso25331975::GroupBase.new
Test the class method to_xml:
Atmospheric::Export::Iso25331975::GroupBase.to_xml(obj)
Test the instance method to_xml:
Atmospheric::Export::Iso25331975::GroupBase.new.to_xml
Expected Behavior:
The to_xml method (either class or instance) should return consistent XML serialization for the object's data.
If the to_xml method is not fully implemented, it should raise an appropriate error or return a meaningful placeholder, not nil.
Actual Behavior:
The instance method to_xml returns nil.
The class method to_xml returns a static placeholder XML ("").

CREATED THIS ISSUE ON LUTAML REPO:
https://github.com/lutaml/lutaml-model/issues/204


Remove/replace toLocaleString

There are 3 calls to the toLocaleString method in formatNumber (src/utils/format-number.js).  This method is (weirdly) a notorious resource sink and should not be used.  I recorded a CPU profile in Chrome (loaded 1100 markets, then stopped it), which revealed that 73.16% of CPU time used by formatNumber.
Profile is here for your viewing pleasure: http://augur.link/CPU-20160615T155031.cpuprofile.gz

Fixed in 40fc46f0aa97176c7c81506429374a2ff05aa65b.


Upgrade to Flow 0.58

Summary
It's new and shiny.
Might want to drop the second commit, not sure 🙂  The warnings are nice (especially as unused ignores is now a warning instead of an error), and emojis are sweet, but everybody might not agree

Test plan

Let's do it. Yay emoji.


Thoughts on using clap in certain places?

What are the maintainers thoughts on using clap in certain spots? First, let me say that I'm not advocating a wholesale switch to clap for all things! :stuck_out_tongue_winking_eye:
I'm just curious if the maintainers are open to some PRs where I think the codebase can become more concise. There's also some nice cases where clap provides some additional functionality basically for free (such as bash, fish, zsh, or powershell completion file generations, context sensitive error messages, etc.).
I've been looking through some of the codebase and there are a decent number of spots where the code is duplicating what clap is already doing.
As a super simple and short example; implementation of things like yes go down to just this:
#[macro_use]
extern crate clap;

#[macro_use]
extern crate uucore;

use clap::{App, Arg};
use std::io::Write;

pub fn uumain(args: Vec<String>) -> i32 {
    let m = App::new("yes")
	.about("Repeatedly output a line with all specified STRING(s), or 'y'.")
	.version(crate_version!())
	.arg(Arg::with_name("STRING")
	    .help("The STRING(s) to repeatedly output")
	    .multiple(true)
	    .default_value("y"))
	.get_matches_from(args);

    let s = m.values_of("STRING").unwrap().collect::<Vec<_>>().join(" ");
    while pipe_println!("{}", s) { }

    0
}

There's some more complex scenarios like od which contains the comment:
/// getopts, docopt, clap don't seem suitable to parse the commandline
/// arguments used for formats. In particular arguments can appear
/// multiple times and the order they appear in, is significant.
///
/// arguments like -f, -o, -x can appear separate or combined: -fox
/// it can also be mixed with non format related flags like -v: -fvox
/// arguments with parameters like -w16 can only appear at the end: -fvoxw16
/// parameters of -t/--format specify 1 or more formats.
/// if -- appears on the commandline, parsing should stop.

Yet the what is described is exactly how clap parses the arguments, i.e. running od -fvoxw16 is perfectly valid to clap and parsed in the matches as -f -o -x -v -w=16, and clap also respects --. So the effort is somewhat being duplicated.

Doing a few PRs also helps me maintain clap as it can point me to additional pain points and what still needs fixing, adding, changing, etc. :smile:
Also, thanks for this great project, it's super exciting!

I am amenable to swapping either getopts or handwritten argument parsers with clap.  I have a few though off the top of my head (I may think of more later):

How fast is clap compared to getopts?
Can it handle encodings other than UTF-8 as arguments (e.g. file names)?
How flexible is clap in its parsing?  For example, some of the utils currently require handwritten parsers because they accept strange arguments.  Would clap be able to handle these or would we continue to use handwritten parsers in these cases?
You didn't say so explicitly but implied that clap handles multiple instances of a single argument and pays attention to the order in which they appear.  Does it handle this the same way as getopts?
Would sort -r passwd -t and sort -r -t passwd work the same, or would clap stop parsing arguments once it reached passwd?
Can there be multiple short names and multiple long names for a single option?

I would like the opinions of other maintainers as well, but if it's faster than getopts and can handle non-UTF-8 encodings (and function as well as getopts, of course), I honestly wouldn't mind switching the entire project over to clap at some point.

How fast is clap compared to getopts?

They're basically the same speed. The parts you handroll when using getopts are largely the same things clap does, and at times less efficient since they're hand rolled. To put it in context, viewing the benches in clap's repo: while parsing a somewhat complex argv (i.e. one with multiple conflicts, requirements, multiple values, options, etc.) takes ~7,000 nanoseconds (0.007 miliseconds) on my machine.

Can it handle encodings other than UTF-8 as arguments (e.g. file names)?

Yes. It allows the consumer to decide if they want to handle only UTF-8 or allow invalid UTF-8 (such as file names).

How flexible is clap in its parsing? For example, some of the utils currently require handwritten parsers because they accept strange arguments. Would clap be able to handle these or would we continue to use handwritten parsers in these cases?

It's very flexible, and configurable (see the AppSettings docs). Although, this is also where I would say switching wholesale to clap isn't alwayas the best and should be done a case by case basis only where it makes sense. Sometimes there are wierd edge cases that a hand rolled parser is best :)

You didn't say so explicitly but implied that clap handles multiple instances of a single argument and pays attention to the order in which they appear. Does it handle this the same way as getopts

It respects the order in which values were supplied, and does allow for multiple instances of flags, values, options, etc. It also optionally allows things such as a POSIX style override instead of a hard conflict. I.e. let's say -C and -l conflict with each other (such as in ls). If the user runs ls -lC -C overrides -l because it came after -l, or vice versa.

Would sort -r passwd -t and sort -r -t passwd work the same, or would clap stop parsing arguments once it reached passwd?

I'm not sure what you mean? sort -r passwd -t gives an error for me (I don't mean with clap, I mean in general`.

Can there be multiple short names and multiple long names for a single option?

Yes. clap allows defining both hidden aliases and visisible aliases for flags/options (those with a switch -) and subcommands. The difference is whether or not they're displayed in the --help output or not.

I'm not sure what you mean? sort -r passwd -t gives an error for me (I don't mean with clap, I mean in general`.

I meant sort -r passwd -t : and sort -r -t : passwd, sorry.
Given what you've said, I personally would be willing to accept a pull request replacing getopts or a handwritten parser with clap, especially seeing as clap can handle invalid UTF-8 (unlike getopts...).

Ah ok! Those two invocations would produce identical results in clap.

I am responsible for the od comment mentioned above. What I mean is that od -o -d and od -d -o should provide different results. Looking at the source, a HashMap is internally used to store the parsed arguments, so that does not seem possible. I believe this is very exotic behaviour, so I don't expect this to be implemented in a generic commandline parser.
Still it would be possible to use clap instead of getopts in od for commandline validation and arguments for which the order does not matter.

What I mean is that od -o -d and od -d -o should provide different results. Looking at the source, a HashMap is internally used to store the parsed arguments, so that does not seem possible. I believe this is very exotic behaviour, so I don't expect this to be implemented in a generic commandline parser.

Ah ok, that's my mistake! And hence why I think there are still places where using clap may not make sense.
To clarify clap stores values in order, but not flags/options in order. The notable exception is when overrides are concerned, they're parsed in order and thus allow the last flag/option to "win" so to speak.
This is absolutely something that could be added though if there's a large enough reason to justify doing so.

Ah yeah it's also possible to do like you said use clap for all the validation and such, then once it's necessary just sweep back through the args to get the order which takes nanoseconds so shouldn't be an issue.

I started to migrate some programs to clap for consistency. Please see the commit logs

With uutils/uucore#10 and the associated PR to this repo, everything will be using clap (albeit in quite a few cases through a wrapper API).  A couple utilities may still be manually handling their arguments as well.

it is on going and separate issues have been created. closing


feat(service): Add Amazon SES service

Added support for Amazon Simple Email Service.

@chanioxaris You might want to consider using AWS Go SDK v2 (https://github.com/aws/aws-sdk-go-v2). This has a lot of improvements on the older SDK.

@chanioxaris You might want to consider using AWS Go SDK v2 (https://github.com/aws/aws-sdk-go-v2). This has a lot of improvements on the older SDK.

Thanks, didn't know that there was a newer version of Golang SDK. Updated my implementation.

@chanioxaris appreciate your contribution! Great stuff. And thanks @checkaayush for the info about the up-to-date SDK.
@chanioxaris basically ready to merge. I just need to know if you have successfully tested the service under real conditions.

@chanioxaris basically ready to merge. I just need to know if you have successfully tested the service under real conditions.

Hello @nikoksr, yes i have tested using my own credentials and the message delivered to every receiver email address


v 4+ Windmill Palm (Trachycarpus fortunei) is listed as a conifer

v 4.0.2 (b 69) has an error in the species.json for the Windmill Palm. Current treetype is listed as 'conifer'. Need to set it to 'broadleaf'

Fixed in 4.0.3 (70)


Flipflopwheel

Description of the new feature / enhancement
Reverse the mouse wheel scroll.
Scenario when this would be used?
 The settings are returned to default. I need to enter registry and edit the settings, then reset the computer.
Supporting information
No response

/dup #6434


util/walk/PathWalker

I have a code block that I want to walk my home directory.  I'm getting an error that's stopping the walk.
err = walker.Walk(rootDir)
Error is: open /home/rob/.dbus : permission denied.
I don't want the walk operation to abort when it gets an error like this.  How can I have it continue to completion, ignoring these errors?
The full pgm is here:
https://go.dev/play/p/BN8rtknwFvA

This is now fixed in the development branch.
As long as you have permissions to access the root directory, when it encounters a directory and it's unable to scan it due to permissions it now skips that directory.


Snapshot test for Alert Dialog

MOB 2805
Jira issue:
https://glia.atlassian.net/browse/MOB-2805
What was solved?
Added snapshot tests for Alert Dialog
Release notes:

[ ] Feature
[x] Ignore
[ ] Release notes (Is it clear from the description here?)
[ ] Migration guide (If changes are needed for integrator already using the SDK - what needs to be communicated? Add underneath please)

Additional info:

[x] Tests updated? Added? Unit, acceptance, snapshots?
[ ] Logging for future troubleshooting of client issues added?

Screenshots:

!squash


Provide improved security/bug-reporting disclosure instructions

Due to a lack of communication & established security disclosure instructions, several security researchers have published rather negative research against Gridcoin citing a lack of communication/attention by the devs.
Ideally, we should not promote<EMAIL_ADDRESS>as the main contact point as this isn't a team email account but rather monitored by Rob (who in this scenario allegedly ignored/missed the researchers subsequent emails).
We should route researchers towards Slack's #development channel, or instruct them to contact an admin/op/mod on irc/telegram/slack/cryptocointalk. Had the researchers reached out via chat, they would have had more attention paid to them by many users.

Thank you for getting this moving CM!
I think a clearly marked "Security Disclosure" section under a "contact" page will do wonders for Gridcoin development and reputation.
For those who do not wish to use slack, we could direct them to a specific e-mail, perhaps multidev, perhaps not, whatever structure we want.
While we're at it, what if we set up more direct communication channels for other types of contact:
Media
Marketing
Development
Business Proposals
Partnerships
Researchers (for people who want to make projects with BOINC and fund them with GRC but don't know where to start, for example)
and whatever else we can come up with.
This will break up contact so no 1 person must deal with all the different e-mail GRC receives.  If these are added to a General@gridcoin (or whatever) e-mail, it will also act as a natural filter for people asking random questions and people with specific intent.

I can put a PR in immediately which changes the "Contact Us" link in the footer to a link to the dev slack channel.  If anyone has any other suggestions, such as having multiple points of contact (Contact Us Page), let me know and I will edit the PR.

#72 adds to header

This issue was moved to gridcoin-community/Gridcoin-Site#1


Cancelling timed messages fails sometimes

Hi,
In my project, I send/cancel timed messages very rapidly. They are used as per-message timeouts for receiving a sequence of messages containing bulk data, which is quite fast on localhost (2.5ms per message). After a received message, I cancel the corresponding timeout and create a new one for the next block of data.
Rarely (not exactly reproducable, maybe every 1000 timed sends), cancelling does not work, so that I receive a timed message which should already have been cancelled.
I added some debut prints and noticed an issue when inserting and cancelling a lot of timed messages in short time:
Sometimes, my code calls EventSender::send_with_timer() and EventSender::cancel_timer() while EventReceiver::enque_timers() is still working on removing timers. The remove_timer_receiver queue will then also iterate over the new remove message for a timer, which hadn't even been added to the timer BTreeMap. In the next call of EventSender::enque_timers(), the timer_receiver queue contains the timer, which should already have been cancelled. Of course, this timer then fires at some time.
The EventReceiver::enque_timers() functions seems to be called too rarely and then handles several crossbeam messages at once, which increases the probability of this race condition. In my opinion, the actual issue is that timer creation and cancellation are handled in different queues. Due to this, the creation/cancellation order can be reversed.
If you have them in a single queue, the order would always be correct, and it would be guaranteed, that a timer is created before is is cancelled.
Looking forward to your opinion on this issue :-)
Best,
Garin

Thanks for sharing this and for doing this excellent debug process. Good catch! It took me really little time to get into the problem, and yes, indeed:

the actual issue is that timer creation and cancellation are handled in different queues

That is exactly what is happening. And the solution, as you say, is to merge both queues. Probably using an enum to differentiate the event could be enough:
enum Timer<E> {
    Create(Duration, E)
    Cancel(TimerId)
}

Would you like to make a PR with the fix?

I didn't implement a fix, yet. I try to find some time this evening and make a PR.
I will probably keep the tuples, and just change timer.1 to take the new Timer enum. That then would be
enum Timer<E> {
    Create(E),
    Cancel
}

Thanks @garin1000, no hurry!


Hands of SMPL from ROMP

Hello, thank you for your excellent job. I find that ROMP drop the last two hand joints in the paper. Is it means that our final FBX results converted from pkl do not have hands? But I find that the shape of smpl_thetas is (1, 72).  Is it mean that our results have hands? Thank you.

Sorry, I just pad zeros (1,6) to complete estimated body poses (1,66) to (1,72). We don't support hand pose estimation for now.


ECC LiveSite Update Get-CalendarDiagnosticObjects.md

Customers are unable to take logging output from Get-CalendarDiagnosticLog and convert valid output from Get-CalendarDiagnosticAnalysis, the latter is broken is EXO and results in a Watson OutOfRange error, open active bug linked.
Tenant Admins only workaround is to use Get-CalendarDiagnosticObjects, but by default they will only get 63 out of the 220+ available properties.
Extra properties can be entered via the CustomPropertyNames parameter, however they are not publicly documented
Attached file has Values and Descriptions:
Excluding deprecated values for NetMeeting and those that returned InvalidSchemaProperty, requires review:
CustomProperyNameValuesAndDescriptions_ContentIdeaSubmission.csv
Shane Ferrell EEE from Calendaring Platform recommended Rob Whaley as a writer to get these updated in documentation.
See Attached email in files
RE VSO 1550318 - 193709351 - Customer Escalation Ask  Get-CalendarDiagnosticObjects - Discovering StoreProps for CustomPropertyNames.msg
Per Shane Ferrell we also need to add updates for these, or would this be a different request ? See attached email
Also need to update the Get-CalendarDiagnosticObjects documentation with regards to new parameters:
-ShouldFetchAttendeeCollection, -EwsID, -ConfigurationName

Docs Build status updates of commit 94146f0:
:clock10: Full build: the average full build time is 17 min(s) 38 sec(s), this is based on the last 1000 build(s) for this repository.

Please reach out to<EMAIL_ADDRESS>or<EMAIL_ADDRESS>for any questions or concerns.  Attachment files containing values and descriptions for additional StoreProps can be seen in https://dev.azure.com/contentidea/ContentIdea/_workitems/edit/121547

Docs Build status updates of commit 94146f0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Get-CalendarDiagnosticObjects.md
:white_check_mark:Succeeded
View (exchange-ps)

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

@chrisda Please review and merge this PR. Thanks

@telaws, the area of the topic where you made the addition is standard boilerplate across ALL cmdlet topics, so I don't want to customize it in any way. I moved your changes to the DESCRIPTION area of the topic.

Closing in favor of #6290, which adds the missing parameters, although without descriptions.


Update finch to 0.17, publish async APIs

Finch 0.17.0 was just released!
This unblocks Req.async_request and allows us to {:halt, ...} from the :into callback option of Req.request().
This PR publishes the features made possible by Finch 0.17.0's stream_while and removes the related pre-0.17 version checks. I am not entirely familiar with the Finch codebase, so there might be some accidental leftovers even if tests pass.

Cross-linking the related upstream issue for reference: https://github.com/sneako/finch/issues/237

There is one other Finch change, deprecating :protocol in favor of :protocols. Finch defaults to just :http1 but Req can default to [:http1, :http2]. Lmk if you’d like to look into that but no pressure or rush of course!

Took a shot at deprecating :protocol in favor of :protocols. I added a runtime deprecation warning and renamed the field in the docs as well, but this likely needs to be pointed out more explicitly.

Feel free to adjust to your liking!

Just saw that :into docs should be updated as well to mention that {:halt, …} can be returned. Will do when I get back to my desk.

Thank you!

@wojtekmach
I would appreciate it, if you could create a new release with this fix as we are getting spammed with warnings.

There is one other Finch change, deprecating :protocol in favor of :protocols. Finch defaults to just :http1 but Req can default to [:http1, :http2]. Lmk if you’d like to look into that but no pressure or rush of course!

warning: :protocol option is deprecated. Use :protocols instead.
  (nimble_options 1.1.0) lib/nimble_options.ex:572: NimbleOptions.validate_value/3
  (nimble_options 1.1.0) lib/nimble_options.ex:558: NimbleOptions.validate_option/3
  (nimble_options 1.1.0) lib/nimble_options.ex:540: NimbleOptions.reduce_options/2
  (elixir 1.16.1) lib/enum.ex:4842: Enumerable.List.reduce/3
  (elixir 1.16.1) lib/enum.ex:2582: Enum.reduce_while/3
  (nimble_options 1.1.0) lib/nimble_options.ex:533: NimbleOptions.validate_options/2
  (nimble_options 1.1.0) lib/nimble_options.ex:508: NimbleOptions.validate_options_with_schema_and_path/3
  (finch 0.18.0) lib/finch.ex:232: Finch.cast_pool_opts/1
  (finch 0.18.0) lib/finch.ex:201: anonymous fn/2 in Finch.pool_options!/1
  (stdlib 5.2) maps.erl:416: :maps.fold_1/4
  (finch 0.18.0) lib/finch.ex:160: Finch.start_link/1

Looks like this was released in 0.4.9!


[7745] Added playbook notes for `Adding a previous trainee for a former accredited provider

Context
Adding a previous trainee for a former accredited provider
Changes proposed in this pull request
Added playbook notes for `Adding a previous trainee for a former accredited provider
Guidance to review
For the next support dev
Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?
[ ] Do we need to send any updates to DQT as part of the work in this PR?
[ ] Does this PR need an ADR?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Manual Trainee Record to be added (Non-Census)


VLCInstance.Constructor(Integer,String) can't actually use its parameters

The argv As String parameter is an array of command line arguments, but since arrays can't be passed to declares only using zero parameters is currently possible. Given that many libvlc features may require passing command line arguments to a new instance, this limitation is quite... limiting.

This Constructor was deprecated in commit d7576943b3656d27f418dc9b96cd6e010161084a


Feature/yamllint

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

Project coverage is 100.00%. Comparing base (77faa61) to head (76de216).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #65   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           30        30
  Lines          442       442
  Branches        40        40
=========================================
  Hits           442       442

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


Setting ANDROID_HOME

Shouldn't that needs to be ~/.bash_profile ?

Sigh... I forgot the magic OS/X behavior for the terminal app. :( Will go fix. Thanks for catching this!


MIOPEN/CK fails if /dev/dri and /dev/kfd has render group instead of video

MIOPEN/CK CI fails if /dev/dri and /dev/kfd has render group instead of video group on baremetal
For ubuntu-20.04 the default group of /dev/dri and /dev/kfd is render but CI expects them to be in video group causing cliinfo failing the CI.
The reboot job is taking care of changing permissions but the solution isn't ideal.

Then what is the solution?

@okakarpa Are we moving forward with this issue?

I haven't observed any CI crashes due to GPU not detected in any of CK branches since last Monday. So as far as CK team is concerned, the issue seems to be resolved.

@okakarpa @junliume Let's try to get some experience out of this. What has changed?

Has CK updated based OS from 18.04 to 20.04 in the time frame? @illsilin

We are still using the same docker file with Ubuntu 18.04 for CK.
I suspect the solution was to change the group of the offending folders /dev/dri and /dev/kfd from render to video on all the jenkins nodes that run Ubuntu 20.04.
Is that correct, @okakarpa ?


[release-1.2] Update Global Meshpolicy on upgrades

This is an automated cherry-pick of #17033

@googlebot I consent

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c8c4acb14fb78ef0d8335e2cc76b3d2f9c857775
link
/test istio-unit-tests-release-1.2

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c8c4acb14fb78ef0d8335e2cc76b3d2f9c857775
link
/test istio-unit-tests-release-1.2

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests-release-1.2

After verification, it looks like the circleCI tests on a known issue (request.total_size failing following recent security 1.2.7 release that didn't trigger a refresh on header size recompute)
Attempting to close/reopen for this change to pickup latest proxy

Thanks @fpesce for tracking this PR. Let me know if I can help you triage.

@fpesce that doesn't work for circleCI, it needs to be manually rebased

@howardjohn can it be manually rebased when automatically cherrypicked though? :\

I mean, I can force merge, I went over the tests that failed and all of them have been fixed

Thanks @fpesce, is there a release note wiki for 1.2.8? We should add a note for this bug fix.

@nrjpoddar I usually take care of the release notes when I'm working on the release.
I try to refer to original issue to write a one liner, I guess I'll use something from #16170 but I'm open to any suggestions that would ease my writing work ;-)

@nrjpoddar I usually take care of the release notes when I'm working on the release process itself.
I try to refer to original issue to write a one liner, I guess I'll use something from #16170 but I'm open to any suggestions that would ease my writing work ;-)

This is the note I added for 1.3.4, if it helps:
Fixed an issue with Helm upgrades not updating global mTLS policy on changes. (Issue 16170)

:+1:


feat(post): blockchain-crud-app

Tech Talk - July 12, 2021

Updated and ready for review, including link to example repo: https://github.com/asooge/BeatBox


Compiling error with Visual Studio 2005

Yes I know, Visual Studio 2005 is ancient, but it's what I have to deal with. I'm using boost 1.63.
3>C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\vector(1187) : error C2668: 'boost::compute::fill' : ambiguous call to overloaded function
3>        boost/compute/algorithm/fill.hpp(276): could be 'void boost::compute::fill<boost::compute::device*,_Ty>(BufferIterator,BufferIterator,const T &,boost::compute::command_queue &)' [found using argument-dependent lookup]
3>        with
3>        [
3>            _Ty=boost::compute::device,
3>            BufferIterator=boost::compute::device *,
3>            T=boost::compute::device
3>        ]
3>        C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\xutility(2975): or 'void std::fill<boost::compute::device*,_Ty>(_FwdIt,_FwdIt,const _Ty &)'
3>        with
3>        [
3>            _Ty=boost::compute::device,
3>            _FwdIt=boost::compute::device *
3>        ]
3>        while trying to match the argument list '(boost::compute::device *, boost::compute::device *, boost::compute::device)'
3>        C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\vector(1117) : while compiling class template member function 'void std::vector<_Ty>::_Insert_n(std::_Vector_iterator<_Ty,_Alloc>,__w64 unsigned int,const _Ty &)'
3>        with
3>        [
3>            _Ty=boost::compute::device,
3>            _Alloc=std::allocator<boost::compute::device>
3>        ]
3>        boost/compute/device.hpp(331) : see reference to class template instantiation 'std::vector<_Ty>' being compiled
3>        with
3>        [
3>            _Ty=boost::compute::device
3>        ]

Looking at the vector header file, there's a call to fill() without a namespace (bad Microsoft). I'm not sure what can be done to fix this, if anything at all can be done. I figure maybe someone else with more insight into the framework may have an idea.

Try passing command_queue to the boost::compite::fill, so you have 4 arguments.

No, the call to fill() that's problematic isn't in my code. It's in Microsoft's std::vector implementation. That's why I say there's probably nothing that can be done. It stems from the return values std::vector (copy-construction) in device.hpp. Line 331 in the error above is partition(). The same error appears for partition_equally(), partition_by_counts() and partition_by_affinity_domain().

Ah, ok, so in Microsoft's std::vector implementation they intended to call std::fill but they call fill(). That means when we call std::vector<int> x(1) inside boost::compute:: namespace the compiler finds two function templates that matches that. Possible workarounds: (I don't have VS2005, so I may be wrong).

Edit boost::compute::fill algorithm so there is no default value for command_queue &queue, that means different number of arguments.
Edit functions in  boost::compute:: namespace, so they never call std::vector<device> devices(count) (just an example), because this constructor triggers fill(). You can replace that with:

std::vector<device> devices;
devices.reserve(count);

In that code fill() should not be called, since none of those functions has to fill vector with any data.

I'm not sure how to go about (2). The problematic vectors are the return values, so we never actually resize them. They are resized automatically by the copy constructor.
As for (1), that is possible but I'd rather not have a custom version of the library that my co-workers will need to share/be aware of and that will break every time we decide to upgrade.

I'm not sure how to go about (2). The problematic vectors are the return values, so we never actually resize them. They are resized automatically by the copy constructor.

Oh, I thought it's the std::vector that is used inside function and returned is causing this problem. If it's the copy constructor (however, it seems inefficient for copy-ctor to use fill()), then I don't have a solution to that problem.

As for (1), that is possible but I'd rather not have a custom version of the library that my co-workers will need to share/be aware of and that will break every time we decide to upgrade.

That's understandable. Well, in that case unless there's a painless solution you can propose, then we probably won't add a workaround for that VS2005 bug to Boost.Compute.

Line 331 in the error above is partition(). The same error appears for partition_equally(), partition_by_counts() and partition_by_affinity_domain().

Only in those functions? I mean, there are other functions in Boost.Compute that returns std::vector object.

Yeah only those functions. Unless visual studio gives up, maybe it's because my code doesn't compile the other ones in.


Only call toString in the stdout flusher

Motivation

Previously, we were calling toString before pushing the the error message
into the queue, which mean that even flushers that did not using the
toString version of the error were eagerly computing it.
This might have a slight performance improvement? But probably not noticeable,
unless you're seeing tons and tons of errors in the IDE.
Incidentally, this will fix most of the crash logs we're seeing for addLocLine
by simply not exercising that code path. I still am curious to see if the logs I
just added are going to be enough to show me where the problem is, so I'll hold
off on merging this for the moment while I wait for those logs to show up.
Test plan

See included automated tests.

As a curious note for posterity, it looks like the last time this code was changed, it was being changed in service of a huge speedup 😅 #1342

I'm not sure why we ever did this weird not-quite-lazy error reporting.

There is maybe an argument that maybe bugs could creep in if you report the error using one GlobalState, then mutate it, and use another GlobalState to flush the error? (That's an argument in favor of the current approach, where the toString(gs) is called as close to when the ErrorBuilder destructs as possible. Not sure that it's a good reason, but ¯_(ツ)_/¯)


1.5.3 and previous are broken

It seems like the name of the downloaded jar has changed from compiler.jar to closure-compiler-v20160713.jar. The older versions of ClosureCompiler.js look for compiler.jar explicitly while 1.6.0looks for closure-compiler*. For users that specify their dependency on this library as ^1.5.3 or ~1.5.3, or any version below, the library doesn't work. It might make sense to pull in the jar finding code that was added in 1.6.0 to a 1.5.x minor so as not to break frozen builds.
This might not be the best solution and I'm sure you aren't totally in control of this but thought I would put it here for others.

I just noticed the deprecation message on the front page. This can serve for posterity I guess.


Support child channel writability management.

Motivation:
It's important to ensure that child channel users can observe the
writability state of a child channel in order to avoid ballooning data
in memory. Up until now we haven't supported writability notifications,
but we really should.
Modifications:

Added a flow controller to manage writability.
Managed data flow through promises.
Lots of tests.

Result:
Child channels will provide a much better signal as to whether they are
writable.

One of my concerns with this patch is that it comes with quite a hefty performance cost: a throughput based test showed a reduction in req/s from 10905.00 to 9853.33. This represents an approximately 10% performance loss.
Admittedly, this test fairly aggressively tests frame throughput: it uses only HEADERS and zero-length DATA frames, which means that the cost of managing the promises is more expensive than it would be in a production server. The cost would also be lower in cases where the writes already have promises attached to them.
This functionality is definitely more important than the performance we see here, but we do need to investigate whether we can do something that performs better.

@swift-nio-bot test this please

Thanks @normanmaurer, feedback addressed.


Highlight color only applys on dark theme.

**OS:**Elementary OS (Debian)
Issue Descriptions: see title.
**Steps to Reproduce:**Make sure you have dark theme off. Attempt to set a highlight color. Note it does nothing. Feel sad.
This may just be a non existent feature but the app doesn't really make it seem so.

Also I feel there should be a little border around your selected highlight color because right now I feel there's not enough user feedback.

It's indeed non-existent, there's a ticket for it in the theme.js repo, IIRC.
Graying out the colours in light theme sounds like a cool idea (or some other effect).

There is actually a PR in the theming repo that is currently being reviewed to enable "light" theming I guess you would call it

Closing as it belongs in the theming repo (where a ticket already exists)

link to the theming repo?

here, made you a clicking tutorial :P


Raindeletia's only function during Thunderstorms

Whats supposed to happen:
Curseforge page and Lexica entries say it works during the rain and is boosted during a Thunderstorm.
Whats happening now:
Only functions during a Thunderstorm. Or pages need updating.
MC: 1.16.5
Version: 1.4.14 (latest)

It only works during thunderstorms on regular soil. This is intended. Place it on vivid grass or enchanted soil to make it work during normal rain.


Cmdlets contain undefined variables

Set-Mailbox $acctUpn -Type Regular
Set-CASMailbox $acctUpn -ActiveSyncMailboxPolicy $easPolicy
Set-Mailbox $acctUpn -Type Room
Set-Mailbox $credNewAccount.UserName -RoomMailboxPassword $credNewAccount.Password -EnableRoomMailboxAccount $true
These variables have been copied from the script: https://docs.microsoft.com/en-us/surface-hub/appendix-a-powershell-scripts-for-surface-hub#create-on-premises-ps-scripts
If a user would like to run the cmdlets by hand, copying them from this article, cmdlets will not work.
Please update by mentioning the variables or full cmdlets that will work

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

ID: dda01aa0-b7f1-6cdb-44c8-56fe240e4a16
Version Independent ID: 75948a94-880f-036b-d293-94dcaf146cda
Content: On-premises deployment single forest (Surface Hub)
Content Source: devices/surface-hub/on-premises-deployment-surface-hub-device-accounts.md
Product: surface-hub
Technology: windows
GitHub Login: @jdeckerMS
Microsoft Alias: jdecker

@officedocsbot assign @e0i

Hello, @czrik
The issue is under investigation and you will be notified with any changes on the way.
Thank you for providing feedback.

@czrik
With the help of your feedback, the content has been updated with relevant changes accordingly. Thanks.

@officedocsbot close


LspInfo: "Failed to get version" with bash-language-server

Description
Hi there,
My bashls wasn't running, so I ran :LspInfo inside of Neovim with a shell file open, and got this back as part of the info:
version:           `?` (Failed to get version) Tried:
  `…/mason/bin/bash-language-server --version`
  `…/mason/bin/bash-language-server -version`
  `…/mason/bin/bash-language-server version`
  `…/mason/bin/bash-language-server --help`

I found it's because the recipient is reading STDERR output too, and if there's anything coming through on STDERR then it chokes:
$ ./mason/bin/bash-language-server --version
5.4.2
(node:51440) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

This line is where the server is started:
I replaced:
    cmd = { 'bash-language-server', 'start' },
with:
    cmd = { 'sh', '-c', 'bash-language-server start 2>/dev/null' },
and it's fixed.
I'd put in a pull request but this is just a workaround and it'd probably be better if STDERR wasn't read (or was handled),  but I've no idea about this codebase and any further effects this may have, so this is an FYI.
Regards,
iain

This seems like a pretty safe change to me. To my knowledge, no command-line tool should output the version to stderr. It just doesn't make sense.
diff --git a/lua/lspconfig/health.lua b/lua/lspconfig/health.lua
index 5f40b1a..826d530 100644
--- a/lua/lspconfig/health.lua
+++ b/lua/lspconfig/health.lua
@@ -48,9 +48,7 @@ local function try_get_cmd_output(cmd)
   local chanid = vim.fn.jobstart(cmd, {
     -- cwd = ?,
     stdout_buffered = true,
-    stderr_buffered = true,
     on_stdout = on_data,
-    on_stderr = on_data,
   })
   local rv = vim.fn.jobwait({ chanid }, 300)
   vim.fn.jobstop(chanid)

This seems like a pretty safe change to me. To my knowledge, no command-line tool should output the version to stderr.

Capture stderr is mostly to have something to show on failure. It shouldn't cause the logic to fail. If 5.4.2 is printed, this logic should see it and treat it as "success": https://github.com/neovim/nvim-lspconfig/blob/dafd61d6533bd90ecf6e2a3a972298fdddc74d82/lua/lspconfig/health.lua#L75-L78
Can someone using bash-language-server troubleshoot that logic and find out why it's not captured 5.4.2 ?

@yb66 what nvim -v are you using? And can you try the above script

Thanks for the replies.
$ nvim -v
NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1713484068

$ nvim -l bug.lua
`?` (Failed to get version) Tried:
`bash-language-server --version`
`bash-language-server -version`
`bash-language-server version`
`bash-language-server --help`

I've been playing with the code, is there a reason why vim.system isn't used? I narrowed down the problem to vim.fn.jobstart (though not what the problem with it actually is) and so I changed the methods in bug.lua to the below and it fixed the issue:
--- This avoids hangs if a command waits for input (especially LSP servers).
---
--- @param cmd string[]
--- @return table|nil # A table with `stdout` and `stderr` keys, or `nil` on timeout or nonzero exit.
local function try_get_cmd_output(cmd)
  -- Use vim.system to execute the command.
  local result = vim.system(cmd, { text = true }):wait()

  -- Return stdout and stderr as a table.
  return { stdout = result.stdout, stderr = result.stderr }
end

--- Finds a "x.y.z" version string from the output of `prog` after attempting to invoke it with `--version`, `-v`,
--- `--help`, etc.
---
--- Returns the whole line.
---
--- If a version string is not found, returns the concatenated output.
---
--- @param prog string
--- @return string
local function try_fmt_version(prog)
  local all_stdout, all_stderr = nil, nil --- Collected output from all attempts.
  local tried = '' --- Attempted commands.

  for _, v_arg in ipairs { '--version', '-version', 'version', '--help' } do
    local cmd = { prog, v_arg }
    local output = try_get_cmd_output(cmd)

    if output then
      all_stdout = output.stdout and ('%s\n%s'):format(all_stdout or '', output.stdout) or all_stdout
      all_stderr = output.stderr and ('%s\n%s'):format(all_stderr or '', output.stderr) or all_stderr

      local v_line = output.stdout and output.stdout:match('[^\r\n]*%d+%.[0-9.]+[^\r\n]*') or nil
      if v_line then
        return ('`%s`'):format(vim.trim(v_line))
      end
    end

    tried = tried .. ('`%s %s`\n'):format(prog, v_arg)
  end

  all_stdout = all_stdout and vim.trim(all_stdout:sub(1, 80):gsub('[\r\n]', ' ')) .. '…' or '?'
  all_stderr = all_stderr and vim.trim(all_stderr:sub(1, 80):gsub('[\r\n]', ' ')) .. '…' or '?'

  return ('`%s` (Failed to get version) Tried:\n%s\nStderr: `%s`'):format(all_stdout, tried, all_stderr)
end

print(try_fmt_version('bash-language-server'))

I'm running Neovim now with that code and it seems okay to me, so far, but I'm new to Vim and Lua so again, I'm not the best judge of the ramifications of such a change.
Regards,
iain

Ah, I just noticed the bit about not hanging. Perhaps that could be emulated with a timer? I'll give that a go if you think there's any merit in this approach.
Regards,
iain

is there a reason why vim.system isn't used?

Because nvim-lspconfig still supports Nvim 0.9

Ah, I just noticed the bit about not hanging. Perhaps that could be emulated with a timer?

Can you instead try Nvim 0.11 https://github.com/neovim/neovim/releases/tag/nightly to see if the issue is fixed there?

I seem to be having the same exact issue, but with arduino_language_server. It at all doesn't have a version flag (there's a PR for it arduino/arduino-language-server/issues/196), which results in this in LspInfo (I've replaced full paths with "...").
LSP configs active in this buffer (bufnr: 1)
- Language client log: ~/.local/state/nvim/lsp.log
- Detected filetype: arduino
- 0 client(s) attached to this buffer
- Other clients that match the "arduino" filetype:
- Config: arduino_language_server
  filetypes:         arduino
  cmd:               ~/.local/share/nvim/mason/bin/arduino-language-server
  version:           Usage of .../.local/share/nvim/mason/bin/arduino-language-se… (Failed to get version) Tried:
  .../arduino-language-server --version
  .../arduino-language-server -version
  .../arduino-language-server version
  .../arduino-language-server --help

  executable:        true
  autostart:         true
  root directory:    [Path to project]

And this odd log, it was written to stderr, but looks like a "normal level" log to me.
[ERROR][2024-11-26 21:32:27] .../vim/lsp/rpc.lua:770	"rpc"	".../arduino-language-server"	"stderr"	"21:32:26.990967 ArduinoCLI config file found at .../.arduino15/arduino-cli.yaml\n21:32:26.990995 arduino-cli found at /usr/bin/arduino-cli\n21:32:26.991002 clangd found at .../.local/share/nvim/mason/bin/clangd\n21:32:26.991045 \27[97mLS: : Initial board configuration: \27[0m\n21:32:26.991049 \27[97mLS: : arduino-language-server Version: 0.7.6 Commit: 9c2f44d Date: 2024-02-06T14:12:58Z\27[0m\n21:32:26.991055 \27[97mLS: : Language server temp directory: /tmp/arduino-language-server2355612588\27[0m\n21:32:26.991057 \27[97mLS: : Language server build path: /tmp/arduino-language-server2355612588/build\27[0m\n21:32:26.991058 \27[97mLS: : Language server build sketch root: /tmp/arduino-language-server2355612588/build/sketch\27[0m\n21:32:26.991060 \27[97mLS: : Language server FULL build path: /tmp/arduino-language-server2355612588/fullbuild\27[0m\n21:32:26.991740 IN Elapsed: 596.601µs\n21:32:26.991817 \27[92mIDE --> LS REQU initialize 1\27[0m\n"

I'm using the latest stable version of everything (meaning, mason, lsp stuff, nvim, this LSP). For Nvim this means 0.10.2 (I also tried the nightly build which I compiled locally today from (66bb1e577c96d8eb63c04dcc737394b4ce2b0f5d), the same exact thing happened).
This has never worked for me, as I'm just getting started with arduino, and just today tried to set everything up. I am also not sure which side is at fault here, but I've found this issue, which seems related.
As a side note, all other LSPs I'm using (roslyn, svelte-language-server, and lua_language_server) work as expected.

Can you instead try Nvim 0.11 https://github.com/neovim/neovim/releases/tag/nightly to see if the issue is fixed there?

$ nvim -v
NVIM v0.11.0-dev-1238+g66bb1e577c
Build type: RelWithDebInfo
LuaJIT 2.1.1731601260
Run "nvim -V1 -v" for more info

$ nvim -l bug.lua
`?` (Failed to get version) Tried:
`bash-language-server --version`
`bash-language-server -version`
`bash-language-server version`
`bash-language-server --help`

$ nvim -l fix.lua
`5.4.2`

I had the same result with v0.10.2. I've also added a line in bug.lua to add Mason's bin where bash-language-server is installed to the PATH Neovim is using, and run it without that line, both ways produce the same result so it's not a path issue.
Regards,
iain

Hello! exactly the same issue with elixir-ls: can't get version from :LspInfo (I get error ", but I can running the command <path>/elixir-ls --version.
And in the last weeks I get a lot of crashes of elixir-ls, but maybe is not related to lspconfig.

If you need more info just ask


"auto.create.tables": true setting doesn't work correct (altinity/clickhouse-sink-connector:2022-07-26)

Looks like auto creation with the first "INSERT" in one step doesn't work correct (but creation of table in ClickHouse works correct if we don't drop table after first insert which is always wrong, all other inserts work correct). I tried with different variants of sink start up.
Sink ver.:
altinity/clickhouse-sink-connector:2022-07-26
Some retries and results:
Case 1:
1) restart sink/non restart sink
2) sysbench test "load insert" + "auto.create.tables": true in sink
3) optimize CH table
3) drop table in the end
result: data in MySQL and CH always different.
Case 2:
1) restart sink/non restart sink
2) sysbench test "load insert" + "auto.create.tables": true in sink
3) optimize CH table
3) truncate table in the end
result: data in MySQL and CH on the first run different then always same.

Thanks @AlmostIvanSidorov.


ViewPager + Transformer problem

I tried to add the transformers found on http://developer.android.com/intl/es/training/animation/screen-slide.html to a ViewPager, especially the DepthPageTransformer...
The result is that if I zoom in into on image and slide sometimes the zoom function of your view stops working or the sliding of the viewpager does not work... sometimes the images are already zoomed in when first shown altough that shouldn't be...
Seems like the animations are messing something up...

I've reproduced this with DepthPageTransformer, and it's a bug with that transformer. It occasionally leaves the previous page on screen, and still receiving touch events, but with the alpha set to 0. There's probably a way to fix it but I haven't tried.


DataLoader for S3DIS causes train_S3DIS.py to crash when num_workers>0

I am running everything on Fedora 34.
From tracing the program, I found out that the program crashes at for batch_i, batch in enumerate(dataloader): in the S3DIS.py file.  This is called by training_sampler.calibration(training_loader, verbose=True) in train_S3DIS.py.
I am not sure why, but I can tell you that setting num_workers=0 prevented the crash.

I should also let you know, I was running the program in an IDE called IDLE when the program crashed.  I tried running the script from the command line and it works fine.

Thanks for filing the bug, I am not sure what is the cause of this, because I only use the code from the command line and in ubuntu. If setting num_workers=0 prevented the crash. It is probably due to a problem with how Pytorch dataloader handles multiprocessing.
If you want to use the code, I think the best course of action is to remain with command-line execution and avoid necessarily complex bugs.
Best,
Hugues

I believe that this is the reason why the IDE does not work https://github.com/python/cpython/issues/92633


Add job-server and handlers

This change adds a simple job server and handler type to provide operations for:

Init - initializes a set of pending jobs as dates.
Lease - removes one date job from pending queue and returns it to the caller.
Update - updates a leased job. jobs that are not updated are eventually returned to the pending queue.
Complete - completes a leased job.

This change is

Pull Request Test Coverage Report for Build 42

122 of 129 (94.57%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+3.6%) to 92.537%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/jobs/handler.go
122
129
94.57%

Totals

Change from base Build 36:
3.6%

Covered Lines:
186

Relevant Lines:
201

💛  - Coveralls

Thank you!

Part of:

https://github.com/m-lab/uuid-annotator/issues/48


samples: net: Fix zperf build issue

If NET_IPV6 is disabled, build issue happens as below.
zephyr/samples/net/zperf/src/zperf_tcp_receiver.c: In function ‘zperf_tcp_rx_thread’:
zephyr/samples/net/zperf/src/zperf_tcp_receiver.c:171:9: error: ‘in6_addr_my’ undeclared (first use in this function)
        &in6_addr_my->sin6_addr);
         ^~~~~~~~~~~
zephyr/samples/net/zperf/src/zperf_tcp_receiver.c:171:9: note: each undeclared identifier is reported only once for each function it appears in
zephyr/samples/net/zperf/src/zperf_tcp_receiver.c: In function ‘zperf_tcp_receiver_init’:
zephyr/samples/net/zperf/src/zperf_tcp_receiver.c:250:3: error: ‘in6_addr_my’ undeclared (first use in this function)
   in6_addr_my = zperf_get_sin6();
   ^~~~~~~~~~~
*** [CMakeFiles/app.dir/src/zperf_tcp_receiver.c.obj] error 1
*** [CMakeFiles/app.dir/all] error 2

Signed-off-by: Bub Wei<EMAIL_ADDRESS>

Codecov Report

Merging #11730 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11730      +/-   ##
==========================================
- Coverage   48.21%    48.2%   -0.02%
==========================================
  Files         279      279
  Lines       43303    43312       +9
  Branches    10370    10372       +2
==========================================
  Hits        20878    20878
- Misses      18279    18288       +9
  Partials     4146     4146

Impacted Files
Coverage Δ

subsys/shell/shell.c
35.35% <0%> (-0.44%)
:arrow_down:

include/shell/shell.h
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Showing the GM selected token's vision

I am getting things situated with FoundryVTT for an in-person game. I would like the ability for the GM to select a token, and for that token's vision to be shown by the Stream View UI. Currently, it seems like all the vision circles for the tokens being observed by the stream user are shown.
For example, in the following screenshot, the token on the left is selected in the GM view, but in the Stream view the vision for the token on the right is visible.

This would help me easily convey what an individual player's token can see without interacting with the stream UI. Ideally, I'll just setup a TV to display the stream user's view and not have to touch it for the rest of the session. Basically, I want to fully control what I see as the GM and what my players see, but only using the GM's UI.
There was a brief discussion in the FoundryVTT discord here https://discord.com/channels/170995199584108546/494726439263010826/1116134105009102930
This is a feature that I got used to when using EncounterPlus on my Mac.

Please try the new Track GM Controlled Tokens option in v1.8.0

Great, happy games and if you have any issue LMK.


Fix lookahead to not add comments to arrays which are not cloned

We do not clone arrays in lookahead() but comments were added
to leading/trailing arrays during lookahead, and as this arrays were not cloned the comments would not get reseted after lookahead finishes. The next next() call would then add the comments again, leading to this comments being in this arrays twice.
This was showing as test failure since #42 was merged, but was not a problem introduced in this PR.
Also extracted parsing of JSXSpreadChild to own parse function.
cc @kittens @calebmer

[Current coverage][cc-pull] is 97.00%

No coverage report found for master at 3fad8cc.

Powered by Codecov. Last updated by [3fad8cc...700068b][cc-compare]
[cc-base-branch]: https://codecov.io/gh/babel/babylon/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/babel/babylon/compare/3fad8cc9a74a56aa5f641742cec073462979c20c...700068b3d69af26bcf93ecdcdffc19596052bff8?src=pr
[cc-pull]: https://codecov.io/gh/babel/babylon/pull/76?src=pr


Implement Start API to resolve Device SDK cache inconsistency, causing device not found errors

🐞 Bug Report
Affected Services [REQUIRED]
device-sdk-go
Is this a regression?
Yes
Description and Minimal Reproduction [REQUIRED]
All edgex services are running normally. Called docker stop . Wait a while. Call docker start . Observe issue where no device commands work due to 404 device not found error, even though the devices clearly exist in core-metadata.
The first error message code is located in device.Initialize and it calls for _, device := range d.sdkService.Devices() {, which in turn calls return cache.Devices().All(), which leads me to believe the devices do in fact exist in the cache.
🔥 Exception or Error

level=INFO ts=2023-02-17T16:47:20.247530253Z app=device-onvif-camera source=driver.go:141 msg="Initializing onvif client for 'tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4' camera"
level=ERROR ts=2023-02-17T16:47:20.440493715Z app=device-onvif-camera source=manageddevices.go:56 msg="failed to find Device tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 in cache"
level=ERROR ts=2023-02-17T16:47:20.440673388Z app=device-onvif-camera source=driver.go:145 msg="failed to initialize onvif client for 'tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4' camera, skipping this device."
level=INFO ts=2023-02-17T16:47:20.440714682Z app=device-onvif-camera source=driver.go:141 msg="Initializing onvif client for 'HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67' camera"
level=ERROR ts=2023-02-17T16:47:20.491345631Z app=device-onvif-camera source=manageddevices.go:56 msg="failed to find Device HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67 in cache"
level=ERROR ts=2023-02-17T16:47:20.491489277Z app=device-onvif-camera source=driver.go:145 msg="failed to initialize onvif client for 'HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67' camera, skipping this device."
...
level=INFO ts=2023-02-17T16:47:23.952698178Z app=device-onvif-camera source=driver.go:610 msg="Discovered 2 device(s) in 2.44027692s via netscan."
level=INFO ts=2023-02-17T16:47:23.952931049Z app=device-onvif-camera source=async.go:104 msg="Adding discovered device HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67 to Metadata"
level=INFO ts=2023-02-17T16:47:23.958015598Z app=device-onvif-camera source=async.go:104 msg="Adding discovered device tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 to Metadata"
level=ERROR ts=2023-02-17T16:47:34.382891635Z app=device-onvif-camera source=restrouter.go:168 X-Correlation-ID=8b894975-57a7-43d3-b1d6-70a83e510116 msg="device HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67 not found"

🌍  Your Environment
Deployment Environment:
docker compose 2.x
edgex compose levski branch v2.3.0
EdgeX Version [REQUIRED]:
2.3.0
Anything else relevant?

Moved this to the ONVIF repo for implementing the Start() API for this service

Latest SDK requires the Start API() to be implemented.

@ajcasagrande do you need my team to help fix this issue in 3.0?

@cloudxxx8 I think we should be able to. We have prioritized this issue along with others to complete by May 10th.

@cloudxxx8 Sorry, my notifications seem to not be working properly, or I set my outlook rules incorrectly. Yes, we will address this. Bruce has already added the stub for it, and I can implement it after my current refactor PR, since it may cause conflicts if done separately.


int formatter does not output the precise value

> import qualified Formatting as F
> F.format F.int (10^16 - 1)
"10000000000000000"

This is because F.int relies on shortest in text-format, which is a formatter for real value.

Added regression test for this.