Incorrect use of make_fixed_length_events ?

from mne.datasets import testing
import os.path as op
from mne.io import read_raw_fif
from mne import Epochs, make_fixed_length_events
from numpy.testing import assert_equal

elekta_base_dir = op.join(testing.data_path(download=False), 'misc')
fname_raw_elekta = op.join(elekta_base_dir, 'test_elekta_3ch_raw.fif')

def test_shape():
    raw = read_raw_fif(fname_raw_elekta, preload=True)
    sfreq = raw.info['sfreq']
    events = make_fixed_length_events(raw, id=1, duration=20.)
    epochs = Epochs(raw, events, tmin=0., tmax=20.)
    epochs_ok = Epochs(raw, events, tmin=0, tmax=20. - 1./sfreq)
    data = epochs.get_data()
    data_ok = epochs_ok.get_data()
    assert_equal(data.shape, (4, 4, 20000))
    assert_equal(data_ok.shape, (4, 4, 20000))

if __name__ == '__main__':

    test_shape()

The following test fails because of the first assert_equal.
Here, the raw object contains data with 4 channels and 80 000 samples (sfreq = 1000Hz).
I want to epoch the raw data and have epochs which are all 20s long. For that, I used the make_fixed_length_events function. Intuitively, I expected the shape of the epoched data to be (4, 4, 20000). However, it is actually (3, 4, 20001). It seems that there is one redundant sample. This issue (if it is really one), is easily corrected by replacing tmax=20. with tmax=20. - 1./sfreq in Epochs.
Is this happening because I made a mistake somewhere ?

Epoching is inclusive, so the sample number 0 is also included. I think it's stated somewhere in the docs, if not, it should.

Its a bug of make_fixed_length_events for me
Alex

I agree it looks like a bug - everybody so far has been using make_fixed_length_events the same way as @jbschiratti above (to segment raw data, without subtracting one sample from epoch length) so they all have been duplicating some samples. It is performed the same way in _segment_raw for example.
On the other hand - make_fixed_length_events does what it advertises (creates events with fixed spacing) and the bug is actually in the interaction of these events with mne.Epochs inclusiveness. So it only occurs when someone wants to use the evets from make_fixed_length_events in epoching; if one uses them for slicing data matrix for example - everything is fine.
Therefore another way of resolving this problem would be to fix _segment_raw, make it public and advertise to use it for purposes of segmentation instead of make_fixed_length_events (and add a note in make_fixed_length_events about that). :smiling_imp:

how about just removing one sample in make_fixed_length_events ?

@agramfort
That would not cause mne.Epochs to stop being inclusive, so samples would still be duplicated (even more actually) and epoch length would still be surprising - as long as the same duration is passed to make_fixed_length_events and mne.Epochs. Adding a sample in make_fixed_length_events would not make duplication happen but would still lead to epochs longer than expected (due to mne.Epochs inclusiveness).
Removing (or adding) a sample in make_fixed_length_events could also lead to other problems - if someone is using make_fixed_length_events to do something else than epoching (like taking slices of data - in which case one would get too short segments). And also - the difference between event times would not be equal to the requested duration.
I think that fixing _segment_raw and making it public is really the easiest solution.

I don't get why it would not fix the problem to fix make_fixed_length_events
we should fix people's code rather than teach them to use something
different.
there should be only one obvious way of doing things.

(Here is what I tried) In the code I provided, because raw.first_samp is 3000 and raw.last_samp is 82999, the events array (as given by make_fixed_length_events) is :
[[ 3000     0     1]
 [23000     0     1]
 [43000     0     1]
 [63000     0     1]]

Changing it to
[[ 3000     0     1]
 [22999     0     1]
 [42998     0     1]
 [62997     0     1]]

does not seem to completely solve the problem because data.shape changes from (3, 4, 20001) to (4, 4, 20001). However, it seems that because tmax is set to 20. in Epochs, we still get a "redundant sample" in the end.

@agramfort
Maybe I misunderstood what you were suggesting.
From my point of view there are two problems here: one is duplication of samples (ending sample of epoch  1 is the starting sample of epoch 2)  another is unexpected length (duration + 1 sample). If you remove one sample in make_fixed_length_events  then the shape will be ok, but the duplication will still be there.
Let's take a signal that has sfreq=2 and so the times of the first 6 samples are:
0, 0.5, 1, 1.5, 2, 2.5
When one asks make_fixed_length_events for events separated by one second (duration=1.) they will get events at times:
0, 1, 2
This is ok, but using these events in Epochs along with tmax the same as duration will produce following segmantation:
[0, 0.5, 1], [1, 1.5, 2]
The segment length is longer than 1 second, sample 1 is used twice and sample 2.5 is excluded. This is because mne.Epochs does not perform pythonic slice but includes the last sample too - at least to my understanding).
Now, if make_fixed_length_events subtracted one sample from duration the events returned in this example would be:
0, 0.5, 1, 1.5, 2, 2.5
and segmentation, given tmax is set as the duration (most common case) will be then:
[0, 0.5, 1], [0.5, 1, 1.5], [1, 1.5, 2]
now epochs are still longer than expected and more samples are duplicated.
The most common scenario is that people pass the same duration to make_fixed_length_events and Epochs, so we wont be able to fix all problems by just changing make_fixed_length_events.

If you remove one sample in make_fixed_length_events then the shape will be ok, but the duplication will still be there.

should be: "will still not be ok and the duplication will still be there".

If you remove one sample in make_fixed_length_events then the shape will
be ok, but the duplication will still be there.

how about:
raw = read_raw_fif(fname_raw_elekta, preload=True)
events = make_fixed_length_events(raw, id=1, duration=20.)
events[:, 0] += np.arange(len(events))
epochs = Epochs(raw, events, tmin=0., tmax=20., baseline=None)
raw_data = raw[:, :][0]
epochs_data = np.concatenate(epochs.get_data(), axis=1)
assert_array_equal(raw_data[:, :60000], epochs_data[:, :60000])

is that good enough?

@agramfort:
adding one sample works for overlapping samples, but the segment length should still be 1 sample longer than duration, right?

it would not change the segment length but I think that in practice +1 or
-1 samples on an epoch is no big deal. I am more afraid of people doing
epochs_data = np.concatenate(epochs.get_data(), axis=1)
on epochs to recover the raw data.

I meant that for sfreq=250 and tmin=0., tmax=1. the epoch length is 251 samples. I don't think it is big deal in general, but in case of segmentation people would probably prefer to have it more precisely match duration if it is possible. See the example in the first post in this issue:

I expected the shape of the epoched data to be (4, 4, 20000). However, it is actually (3, 4, 20001). It seems that there is one redundant sample.

Because each epoch was one sample longer, whole 20 000 sample segment is dropped.
If you are opposed to making segment_raw public we could modify examples to preach something like:
duration = 1.
sfreq = raw.info['sfreq']
events = make_fixed_length_events(raw, id=1, duration=duration)
if int(sfreq * duration) == sfreq * duration: # if whole number of samples in given duration
    duration -= 1 / sfreq * 0.001 # make sure we do not include the tmax sample
epochs = Epochs(raw, events, tmin=0., tmax=duration, baseline=None)

this should avoid overlap and give adequate segment length, but this is getting complex and such implementation details should rather be hidden from the user than required him to remember or check online each time.

I meant that for sfreq=250 and tmin=0., tmax=1. the epoch length is 251
samples. I don't think it is big deal in general, but in case of
segmentation people would probably prefer to have it more precisely match
duration if it is possible.

that's a problem we cannot fix without changing Epochs. You already have
this problem with Epochs. What I am suggesting is just to fix by 1 sample
the output of make_fixed_length_events so you are less likely to be bitten
but using simple code. At least that's my opinion. If you make segment_raw
public we need to duplicate a lot of API code.
@dengemann any thoughts on this?

that's a problem we cannot fix without changing Epochs. You already have
this problem with Epochs

I don't think it is a problem in general - just in the case of segmentation. segment_raw is already present in the codebase and can be made fit to the special case of segmentation, I am not sure what is duplicated when making it public.
In general - I understand your prespective, but if make_fixed_length_events always added one sample to the duration then it may be surprising in other cases (using the event samples for slicing for example). Then - the problem with sample overlap is not present when the duration contains for example 125.8 samples (right?), so always adding a sample may lead to other inconsistencies like loosing samples.

ok I slept over it and I think I can leave with:
make_fixed_length_epochs
which would be a good public name for _segment_raw
and we keep the rest untouched ok?

Ok, I can start a PR soon that fixes _segment_raw and adds make_fixed_length_epochs

sounds like a plan !

@mmagnuski I just debriefed with @agramfort and I feel I also want to sleep over it. Let me see if we can find a clean way to avoid creating a monster function that takes the union of make_fixed_length_events and Epochs ...

@dengemann Sure, in the meantime I can fix _segment_raw (which is pretty small , I wouldn't call it monster function :) ).

it's not a monster as it has **kwargs which we never use for public
functions. We will need to duplicate all Epochs parameters...

So it's a monster :)
On Wed, 5 Jul 2017 at 21:34, Alexandre Gramfort<EMAIL_ADDRESS>wrote:

it's not a monster as it has **kwargs which we never use for public
functions. We will need to duplicate all Epochs parameters...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/issues/4367#issuecomment-313203999,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB0fig51uEK0PcUBvKoiVIqw8BDX8WxVks5sK-U4gaJpZM4OMJ3b
.

Ah, ok, that's the montrocity. :)

conclusion is to expose _segment_raw as make_fixed_length_epochs
@mmagnuski volunteer?

Sure, glad we all agree. :)

I would however reconsider the function name because all epochs in mne have "fixed length" - here we are talking about adjacent segments/epochs.

Did someone make a PR for this issue ?

no AFAIK
it remains to be done...

Sorry, I forgot about it. I'll take a stab at it during the weekend.

Hello, the code above runs fine. Is there still any issue to work on?
The _segment_raw function already uses the make_fixed_length_event as shown: _segment_raw

yes given how often this is requested I think that doing a make_fixed_length_epochs that does not expose most of the epochs param (just bare minimum) can be useful to users.


Errors while installing the node

npm WARN<EMAIL_ADDRESS>requires a peer of jest@>=24 <25 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\zigbee-herdsman\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

<EMAIL_ADDRESS>added 1 package and audited 2252121 packages in 14.721s
found 8 vulnerabilities (2 low, 1 moderate, 4 high, 1 critical)
run npm audit fix to fix them, or npm audit for details

Hello I'm getting the above error while installing the this node in node-red
Please help me out with this....

Hi, the issue template you've ignore kindly asks that any general help question should be asked on the forum. Especially when it is regarding a node we aren't responsible for.
If you have questions about a particular node, then you should raise it against that node.
In this instance, yes there are some warnings with that install, but they are not errors and the install has succeeded.


For dynamic checking, adding, removing of validation rules we should …

…be able to check a rule exists

In my case I'm dynamically adding validators depending on user choices. I'd like to check in real time whether a validator already exists to avoid adding it again because the validator needs to be created on-demand. So for performance reasons I'd rather check for its existence than create and add the same validator again.

@rowrowrowrow thank you for PR


any update on this being released?

any updates?

it's available at https://plexio.stream/

Can we run it ourselves locally?
Can it support jellyfin instead of Plex?


"Note:" boxes and hyperlinks ought to render in green and blue (respectively), but do not

circa 9-Feb-2021, my local bikeshed install, updated using bikeshed update, changed rendering behavior in that "Note:" boxes and hyperlinks that ought to render in green and blue (respectively), began rendering in black (fg) & white (bg) (respectively).
A colleague's local BS install began behaving in the same manner not long afterwards, upon his doing bikeshed update.
upon investigation it appears the CSS has changed like so:
OLD
.note {
    border-color: #52E052;
    background: #E9FBE9;
    overflow: auto;
}

NEW
.note {
    border-color: #52e052;
    border-color: var(--note-border);
    background: #e9fbe9;
    background: var(--note-bg);
    color: black;
    color: var(--note-text);
    overflow: auto;
}

The second definition overrides the first. But none of the vars are defined anywhere in the document.
An example bikeshed .html doc, renamed to be .txt (so I could upload it here), and  exhibiting this issue is:
fido-client-to-authenticator-protocol (1).txt
thanks!

What's your source file? Those variables are all set in style blocks added by Bikeshed, or come from the W3C's own stylesheet if you're publishing to /TR.

(And nit - bikeshed update just updates the data files. I presume you mean you did pip upgrade bikeshed or similar.)

(I'm the colleague mention above)
@equalsJeffH attached a sample source as the txt msg in his post.
The variables --note-* aren't defined anywhere in the source or the output. Do I have to turn something off so those lines aren't added to the output?

Jeff attached the post-bikeshedding html file, not the source bs file. 😃

Source and output
FIDO-IoT-spec.bs.txt
FIDO-IoT-spec.html.txt

Okay, confirmed the issue. The Bikeshed-default stylesheet assumes that a particular set of color variables exist. These are automatically added by Bikeshed normally, but if you are publishing to /TR, Bikeshed omits those variables and depends on the W3C stylesheet defining them instead. (The colors are set up separately from the rest of the default stylesheet for complicated reasons involving W3C's slow migration to darkmode-aware; the details are unimportant here.)
However, you're not publishing a W3C spec! You're using Group: fido in your metadata, which Bikeshed recognizes (allowing a similar set of Status values to what the W3C uses), but which doesn't have any boilerplate files defined for it. This is fine, it just means you get the Bikeshed-default boilerplate instead.
But then your spec has Prepare for TR: true set, which suppresses the color variables from being generated, and nothing else in the Bikeshed-default boilerplate sets up those colors again.
The solution is to either (a) not use Prepare for TR, since you're not generating W3C specs and the concept of "TR" doesn't mean anything for you, or (b) if you still want to use that metadata for some reason, then provide a set of boilerplates for the FIDO group that fills in those color variables.
(If you were a W3C group, then missing boilerplates would fall down to the W3C-default boilerplates instead, which do refer to the W3C stylesheet that defines the color variables.)

Also: you don't have any "note" boxes at all in that spec, just a couple of tables (used for layout!!!!) specifying notes that aren't styled at all. Are you looking at a different doc that has "Note:" blocks?

I removed Prepare for TR: true and got the colors back. Thanks for this.
Sorry for uploading the wrong docs. :-(

But then your spec has Prepare for TR: true set....

yeah, doh, that's probably been in there since forever, we ignored it, and it didn't bite us until here recently.  Thanks for your help!


d2oracle for dagger-graph

Hi @aluzzardi, I saw that you were using D2 for https://github.com/dagger/dagger/tree/main/cmd/dagger-graph, looks great!
I wanted to just bring up that we have an API that can make programmatic generation of D2 diagrams a lot easier/simpler to manage/debug than writing the script with fmt lines<EMAIL_ADDRESS>Here's a blog post with runnable code on how it might be used: https://terrastruct.com/blog/post/generate-diagrams-programmatically/. Anyway, no action for this issue, just floating it by in case it's helpful and was missed. happy to help if you have any q's!

Neat, thanks @alixander! Indeed I missed it -- I went through the 1-d2lib example and entirely missed the 2-d2oracle one.
By the way, is there a way using d2oracle to set a label programmatically and skip "interpretation" altogether?
While generating using a string, I ran into escaping problems (single/double quotes,$ being interpreted etc). The graph "labels" are extracted from logs so they can contain anything.

@aluzzardi, if you just Set (https://pkg.go.dev/oss.terrastruct.com/d2@v0.1.5/d2oracle#Set), D2 will figure out the best way to quote the string, handling escaping for you.
See here for an example:
https://github.com/terrastruct/d2/blob/master/d2oracle/edit_test.go#L806
It's calling Set with a string that has both single quotes and double quotes


142 Add use cases to logs markdown file

Our markdown file about the inductiva logs command was missing some functionalities about redirecting the output to files.
This PR adds a small description about redirecting stdout and errors to files.

some updates are needed. @maiyahershey Can you please review it after Paulo makes the requested changes? Thanks.

will do

Edited the log bit and separated them into two @sergiomsantos

Thanks @maiyahershey. Please approve it as well


Fix closing tag in readme

Seems like there was probably a mistake made during a documentation refactor
(Really enjoying this library btw)

Thanks!

:tada: This PR is included in version 6.2.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Incompatibility with BlueZ version >= 5.38

There is a known incompatible with BlueZ versions greater than 5.37, since the API was changed in 5.38 to fully conform to D-Bus specs.
This results in a device.find_characteristic(uuid) call failing because paths = self._props.Get(_SERVICE_INTERFACE, 'Characteristics') in bluez_dbus/gatt.py throws an exception with the Characteristics property doesn't exist.
The fix is relatively simple (although I'd ended up writing almost a complete wrapper for Bluez D-Bus by the time I figured it out), the GATT Characteristics are now objects in the tree below the Service objects, rather than being properties.
Patch: gatt_fix_characteristics_bluez_5.38.patch.txt
This patch could be edited to retain compatibility with pre-5.38 versions of BlueZ, it would take a version check in the setup process and alternate code paths. Happy to add those if it means the patch can be merged. In the meantime, this issue should help anyone coming fresh to this library and not wanting to revert to an older BlueZ.

I use bluez 5.46, everything is fine after following your instruction except when I write value into a characteristic:
antidos_char.write_value([ord('0'), ord('1'), ord('1'), ord('i'), ord('3')])
<Adafruit_BluefruitLE.bluez_dbus.gatt.BluezGattService object at 0x7573edf0>
ERROR:dbus.connection:Unable to set arguments ([48, 49, 49, 105, 51],) according to signature 'aya{sv}': <class 'TypeError'>: More items found in D-Bus signature than in Python arguments
Traceback (most recent call last):
File "low_level.py", line 97, in connect
antidos_char.write_value([ord('0'), ord('1'), ord('1'), ord('i'), ord('3')])
File "/home/pi/env/lib/python3.4/site-packages/Adafruit_BluefruitLE-0.9.9-py3.4.egg/Adafruit_BluefruitLE/bluez_dbus/gatt.py", line 85, in write_value
self._characteristic.WriteValue(value)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in call
**keywords)
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 641, in call_blocking
message.append(signature=signature, *args)
TypeError: More items found in D-Bus signature than in Python arguments

In addition to the first patch, the empty dict additional argument in BluezGattCharacteristic.read_value() and *.write_value() got it working for me. Using bluez 5.43 from debian9.

Is there any chance we can get @donatieng fix for this merged? There seems to be a known issue with the latest version of bluez that has a simple fix ready to go.

@kschmelzer hiya have you tested that fix?

Hi @ladyada I have tested af46b05 and can confirm that it addresses the DBUS crash with BlueZ versions >= 5.38. As @neomanic points out, this would be a breaking change and it would require the README.txt to be update to reference 5.38 as the minimum version supported. I would be happy to help if I can.

ok thanks, can you try making a PR with both that fix and the readme change? i will merge it :)

I will do that, thanks!

Any updates on the PR?

This library has been deprecated. Please update to use this new library:
https://github.com/adafruit/Adafruit_Blinka_bleio
If you continue to have this issue, please open a new issue in that repo.


SSL failing in Entity Service client tests

From Jenkins in #237:
SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)'),)

On it. Root cause was I'd removed the deployment of the testing.es.data61.xyz not realizing we relied on it for clkhash cli testing.

Redeployed and retested.


US-52 | Add venue ontology words to API

Codecov Report

Merging #37 (2aa3e49) into develop (1cda702) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #37   +/-   ##
========================================
  Coverage    49.59%   49.59%
========================================
  Files           14       14
  Lines          498      498
  Branches        70       70
========================================
  Hits           247      247
  Misses         250      250
  Partials         1        1

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 1cda702...2aa3e49. Read the comment docs.

While testing in the review environment I was not able to return ontology words. Should I assume that it's because a reindexing is needed?
Codewise this looks good to me 👍

Yeah, reindexing is needed. I cannot verify it works though, because reindexing doesn't work in that review env for some reason. Well, WOMM, let's merge and pray.


multi: add golang 1.17 compatible build tags

With go 1.17 a change to the build flags was implemented:
https://go.googlesource.com/proposal/+/master/design/draft-gobuild.md
The formatter now automatically adds the forward-compatible build tag
format and the linter checks for them, so we need to include them in our
code.

IUUC we need to wait for Go 1.18 for this to work safely, since the new tags have been inroduced in 1.17 and are not supported in 1.16, but 1.17 supports both type of tags.

I just tested the code in this PR with Go 1.16.3 and 1.15.8 and none of them complained about the new tags. They probably just are ignored so they need to be kept in sync (which the formatter/linter will take care of or warn about).

I just tested the code in this PR with Go 1.16.3 and 1.15.8 and none of them complained about the new tags. They probably just are ignored so they need to be kept in sync (which the formatter/linter will take care of or warn about).

Okay, great! Also great we're adding and not replacing, quickly glanced and missed that we're just adding the new tags.

I just tested the code in this PR with Go 1.16.3 and 1.15.8 and none of them complained about the new tags. They probably just are ignored so they need to be kept in sync (which the formatter/linter will take care of or warn about).

Okay, great! Also great we're adding and not replacing, quickly glanced and missed that we're just adding the new tags.

Kinda annoying that they changed the format around....though I gotta say the new syntax is much more explicit.


Why setCookiePath create a new cookie instead of setting path of existing cookie

Hi
I am using snowplow version 2.10.2. I am trying to set cookie path but it create a new cookie instead of setting path of existing one.
window.snowplow('newTracker', 'default', 'PATH', {
    appId: 'manager',
    contexts: {webPage: true, gaCookies: true}
});
window.snowplow('setCookiePath', '/manager');

This occurs as the cookie path forms part of the domain hash (05bf and a834) in your case. We do this as the cookie should be tied to its path and we hash the domain so that multiple trackers can exist on the same page.


update storybook

Updated storybook to address critical vulnerabilities (only in dev dependencies)
I forgot the magic commit message so this wont trigger a release on its own, but will trigger the github page to build

:tada: This PR is included in version 3.12.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Native is much slower than asmjs

The following PR lists the changes I had to make to a package to switch it to nbind (from nan). As you can see in the C source codes, I haven't made any critical change, merely changing a few function names and adding a const qualifier. However, when I tried to benchmark it, I noticed that perfs weren't as good as expected:

Pre-PR execution time: 3s
Post-PR execution time (native): 12s
Post-PR execution time (asmjs): 4s

As you can see, something weird is going on with the native version, which is much, much slower than even the asmjs version. I have no idea what might cause this: I checked the flags that were used when compiling it, and the -O3 flag was there without a doubt.
Have you noticed this odd disparity before?
If you want to try by yourself, you can clone git@github.com:arcanis/buffer-offset-index and run npm run install && npm run bench (assuming emcc is in your PATH).

Looks like it might have to do with converting vectors or passing them by value instead of by reference in the nbind version. I'll check this further...

Actually, there is a change that might be a valid cause for this change:
https://github.com/atom/buffer-offset-index/pull/2/files#diff-a2d4f7ee8b35a4f4edffbf257fe50ccdL56
As you can see, I had to remove a ref-qualifier, which probably means that some extra copies are required. Unfortunately, using a reference on this function triggers a segfault on the native version, and yield a wrong result on the asmjs version.

It seems the benchmarks aren't easily comparable because the representation of points is different. Now that your earlier bug is fixed, try commenting out these lines:
https://github.com/arcanis/buffer-offset-index/blob/7ac2f8301be4bb7a671f369121d6d4d84d13d22d/src/entry-common.js#L36-L42
Still not comparable, but again different. You can also comment out the assert.deepEqual in both your PR and the original master, and then compare again.

I can't run reasonable benchmarks at the moment because this laptop is randomly changing clock speeds to keep temperatures down.


Bug Report: Both VENTURA & SONOMA got "No AUDIO" -- missing "AUDIO Files

Both VENTURA & SONOMA:

got "No AUDIO" -- missing "AUDIO Files
[e.g. /Library/Preferences/Audio/com.apple.audio.SystemSettings.plist,
/Library/Preferences/Audio/com.apple.audio.DeviceSettings.plist,
/Library/Preferences/com.apple.audio.DeviceSettings.plist,
/Library/Preferences/com.apple.audio.SystemSettings.plist,
/Users/Administrator/Library/Preferences/BHost/com.apple.MIDI.001617Aee065.plist,
/Users/Administrator/Library/Audio/MIDI Configurations/Default.mcfg, etc.]"..

Safari Browser, after pressing "ENTER key", won't show the "Texts, Images nor Video" of that which you
are HTTPS Requesting..

@humbleme8 could you please explain how the audio issue is affecting you and provide a screen recording of the safari issue?


[Question] How to use suspense?

Can I use suspense like this?
then I get below
[Vue warn]: Failed to resolve component: suspense
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.
How can I use suspense?

@Soff73
<Suspense
  v-slots={{
    default: () => <SomeComponent />,
    fallback: () =>
Loading...
,
  }}
/>

@SoftrainHere
<Suspense
  v-slots={{
    default: () => <SomeComponent />,
    fallback: () =>
Loading...
,
  }}
/>

Sorry to say this... That does not work....
I am still facing with
"[Vue warn]: Failed to resolve component: Suspense
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement."

@SoftrainHere, can you provide a repo/project with example?

@SoftrainHere, can you provide a repo/project with example?

Hello Thanks for answering. But I dont have my private repo for this yet
I think I cannot use 'Suspense' keyword itself anywhere in my project
Currently I am using vite(2.6.5) / Vue3 / typescript / JSX
import ...

export default defineComponent({
  components: {
    ...
  },
  setup: () => {
    ...
    return () => (

      <Suspense
        v-slots={{
          default: () => <SomeComponent />,
          fallback: () =>
Loading...
,
        }}
      />

    );
  }
});

@SoftrainHere, did you import Suspense component?
import { Suspense } from 'vue';
...

     <Suspense
        v-slots={{
          default: () => <SomeComponent />,
          fallback: () =>
Loading...
,
        }}
    />

...

Also it is a little bit weird to see that you kable-case style in JSX :)

Aaaand also you can try this:
import { resolveComponent } from 'vue';
...
const suspense = resolveComponent('Suspense');
...

     <suspense
        v-slots={{
          default: () => <SomeComponent />,
          fallback: () =>
Loading...
,
        }}
    />

...

see here about resolvecomponent

Also it is a little bit weird to see that you kable-case style in JSX :)

Wow, You just saved my day bro!!!
I missed 'import Suspense'...

@SoftrainHere, you can use kable-case style in JSX, but I do not know how nice it works with ts. If you want to see more examples with vue3, ts and jsx you can check out my repo there.
Hope at the end of the summer I will complete full docs how to use vue3 with ts and jsx.

@SoftrainHere, you can use kable-case style in JSX, but I do not know how nice it works with ts. If you want to see more examples with vue3, ts and jsx you can check out my repo here.
Hope at the end of the summer I will complete full docs how to use vue3 with ts and jsx.

It was just my tiny experimental like "Can I create Vue3 project without 'template' tag and .vue extension"
And all pain around me just started from that
Now I am thinking why I tried doing without 'template' tag... hahaha
Anyway now I am using only .tsx and .ts files in my project very well without any template tag over there
That trying was painful but meaningful for stepping forward to me
And I have to say again I really appreciate you for your kindness bro!!


shebang without .ps1 extension ends up in recursive loop calling powershell

Fix https://github.com/PowerShell/PowerShell/issues/1103
On Linux, when a shebang is encountered (first two bytes are #!), it looks for the interpreter to pass the pass to.  In this case, if it is powershell it calls powershell with a path to the script.  If the script doesn't
have a .ps1 extension, powershell treats it like a native command and executes it as such.  The OS
sees the shebang and again calls powershell with the script.  This causes a hang (and will eventually consume all the OS resources as it keeps spawning new powershells).
Fix is to inspect the file to see if it contains the shebang magic number.  If so, we check if the running
powershell is the interpreter.  If so, we treat it the same as a .ps1 script.  Otherwise, we execute it as
a native command and expect the OS to find the correct interpreter (could be different version of powershell, for example).

I suggest taking a step back, in the context of our discussion to align PowerShell's CLI with that of POSIX-like shells (#3743):
POSIX-like shells interpret an operand (in POSIX speak: an argument other than an option / option-argument) as a script file to execute rather than an arbitrary shell command.
Translated into PowerShell terms that means:

A positional argument should bind to -File, not -Command.

If this change were made, no extra accommodations would have to made for shebang line - except that -File <file-without-ps1-extension> doesn't currently work:
Processing -File '...' failed because the file does not have a '.ps1' extension.

@mklement0 that would certainly be a breaking change, although it would align semantics with POSIX (but break many of our tests that expect the positional parameter to be a command).    We'll discuss the implications at the next committee meeting (next week).
The Mac failures aren't related to this change, but I'll spend time getting those fixed anyways on separate PRs.

the more I think about this, I agree with @mklement0.  there's really only two approaches:

we keep command as the positional parameter and only support scripts with .ps1 extension
we make file be the positional parameter, which is a breaking change, but we treat any given file as a script.  this simplifies the shebang as it's back to just being a comment and no need to parse and we let the OS resolve the interpreter

Can we use a shebang like:
#!/usr/bin/powershell -f

I'm not sure this is the right fix.
First, the difference between -File and -Command is significant and important here in terms of setting the exit code.
Second, I don't think we want shebang PowerShell scripts to run in process, which this change would allow.
I believe the correct fix will involve detecting that we're invoked via shebang, which might mean looking at arg[0] in the console host entry point - it probably isn't powershell.

@iSazonov #!/usr/bin/powershell -f is possible, but only if the script has the .ps1 extension

@lzybkr:
Fundamentally: Is aligning with the CLI of POSIX-like shells a goal in principle?
If so:

breaking changes are inevitable.

the awkward emulation of the shebang-line mechanism considered here isn't needed.

supporting scripts that do not have extension (suffix)  .ps1 is a must, given that extensions have no intrinsic meaning on Unix platforms and the executability of a file is solely governed by its permission bits relating to its ownership and the invoking user.

POSIX-like shells have no analog to the -File option, but they consistently interpret their 1st operand (POSIX speak for: positional argument, as distinct from an option or option-argument) as:

the path to a script file to execute
in a non-interactive shell (session)
that exits when the script exits
with the script's exit code getting passed through.

The shebang mechanism - built into the kernel of Unix platforms - relies on that very behavior:
The path to the script file (exactly as specified when the script was directly invoked) is passed as the (last) argument to the interpreter executable specified by full name in the shebang line.
(Platforms differ in how many additional, fixed arguments they support as part of the shebang line; only one is guaranteed to work portably.)
In terms of the command line that is invoked by the kernel, and the argv[0] ($0, in POSIX shell speak) reported in the resulting process:

Unless explicitly changed, $0 reflects the path to the script file exactly as invoked.

argv[0] / $0 can be set to arbitrary values (see below).

ps -o args= $$ tells you the command line as invoked ($$ is the current PID in POSIX-like shells; I think what that ps command reports can't be tampered with, but I'm not sure; in any event, necessary shell quoting around the original arguments will not be reflected).

A simple example: Let's assume script t, placed in the current directory and made executable with chmod +x t:
#!/bin/sh

echo "\$0: [$0]"
echo "Originating command line: [$(ps -o args= $$)]"

Let's invoke that script directly, letting the kernel interpret the shebang line:
$ ./t
$0: [./t]
Originating command line: [/bin/sh ./t]

Now let's see how we can change argv[0] / $0 (and also demonstrate how ps doesn't preserve shell quoting):
$ sh -c '. ./t' 'foo bar'
$0: [foo bar]
Originating command line: [sh -c . ./t foo bar]

Note when a POSIX-like shell is explicitly invoked with a script filename operand - e.g., sh ./t - it:

does not care whether the script file is executable - all that's needed is the ability to read the file.
ignores the shebang line (which may or may not specify the shell the script is being passed to), because it is a comment from the shell's perspective.

I don't think we want shebang PowerShell scripts to run in process

It would run in-process in  the powershell process, and that's exactly what's expected (and what happens when you run sh ./t, for instance).
In-process considerations apply only when you have a parent session from which you launch other commands, but here there's only 1 session here, whose sole purpose is to run the script, and - at least by default - immediately exit afterwards.

@mklement0 - if you run ./t and sh ./t, you are starting a new process in both cases.
With the proposed change, running ./t from bash would start a new PowerShell process, but it would not when running the same command line from PowerShell.
This should be a intentional design choice, not an accidental side effect of fixing the recursive hang. My inclination is that starting a new process is desirable (so perhaps more POSIX-like), but I'm open to a discussion, especially given PowerShell's slow startup cost.
As for -File - I mentioned that only in regards to semantics - we want shebang to behave as though -File was specified, in part so the exit code is set correctly.
And as for $0, I was hinting at what I thought it would take to implement what I propose above - that we have a new code path that behaves as though you ran powershell -File foo when argv[0] == 'foo'.

but it would not when running the same command line from PowerShell.

Again, if we're talking about aligning with POSIX-like shells:
It certainly should, because that invocation should be treated as the invocation of an external utility (delegated to a system call such as execv on Unix). We're not talking about _sourcing _ the invocation (the . is part of the script path).
I get that this is not how it currently works with invoking *.ps1 files, which do run in the same process, but perhaps the extension / lack thereof could be the distinguishing factor:

Continue to run *.ps1 files in-process from within a PowerShell session, for backward compatibility.

Treat files without that extension like any other external utility - invoke it via the platform's system calls (you don't even need to know / care what they are and whether their shebang line happens to also target PowerShell).

If the intent is to run such files in-process, dot-sourcing is an option (which already works with files that do not have a .ps1 extension.

What interpreter ultimately processes a given executable file that happens to have a shebang line should really be considered an implementation detail, and there's no reason to reflect that interpreter in the filename extension (even though, sadly, there's a widespread bad habit in the Unix world of naming shell scripts *.sh).

What is the behavior for another interpreters (bash, perl, python, etc.)? Run a native script in-process?

perl follows the POSIX convention of having the positional parameter point to a script and using an explicit -c for a command
bash, of course, does the same
python accepts the first positional as the script and subsequent positional parameters passed as args to the script
We should strongly consider adopting the POSIX conventions for PowerShell (which means closing this PR):

we've already seen that existing Linux tools that work with shells have expectations on parameter semantics and syntax and if we don't adopt them, it means there are some tools people use that aren't compatible with PowerShell
if we stay different, this will impact our adoption on Linux
since this is a breaking change, if we ever do this, we need to do this with the 6.0.0 release

My question was how they behave internally: if we type in Bash "bash-script-file-name" - do Bash run it "in-process"?

@SteveL-MSFT: An (interfaith) amen to that.

accepts the first positional as the script and subsequent positional parameters passed as args to the script

Interpreting all remaining arguments after the script filename as the arguments to pass through to the script is also part of "shebang-line compatibility", so all POSIX-like shells and Perl support it too; Ruby are Node.js are other examples.
The ability to use -c (per POSIX) for passing a command string  (the contents of a script) is less universally supported: among the interpreters mentioned, Perl, Ruby, and Node.js require -e, unfortunately.
Combining -c  with positional arguments is supported and required by POSIX, but involves a pitfall:
The first argument after the command string binds to $0 (the equivalent of $myInvocation.MyCommand.Name), not $1, which means that it isn't reflected in the $@ ($*) array of positional parameters.
$ sh -c 'printf "%s " "$@"' ARG0 one two
one two    # !! Note how ARG0 is not listed.

PowerShell does not support this, currently:
# !! BROKEN
> powershell -noprofile -command '$args' one two
Unexpected token 'one' in expression or statement.

# !! BROKEN
> powershell -noprofile -command '"`$args: $args"' one two
$args : The term '$args' is not recognized as the name of a cmdlet, function, script file, or operable program

It looks like PowerShell simply string-appends the additional arguments directly to the command string, which, of course, only works in limited cases, whereas -c  in POSIX-like shells basically allows passing an entire script ad-hoc, with arguments passed as positional parameters, as to a script.
The only way to get this to work currently appears to be:
$ powershell -noprofile -command '& { "`$args: $args" }' one two
$args: one two

From within Powershell:

This actually BREAKS:

# !! BROKEN when invoked from PowerShell
> powershell -noprofile -command '& { "`$args: $args" }' one two
$args: : The term '$args:' is not recognized as the name of a cmdlet, function, script file, or operable program.

Using an actual script block (not a string representation) breaks too, because arguments are apparently not supported:

# !! DOES NOT WORK - arguments not supported.
> powershell -noprofile -command { "`$args: $args" } one two
(prints CLI help text)

# Only works *without arguments*:
> powershell -noprofile -command { "`$args: [$args]" }
$args: []

Other problematic aspects of -Command are discussed in #3223.

@iSazonov:

if we type in Bash "bash-script-file-name" - do Bash run it "in-process"?

No: The only way to make a POSIX-like shell run a script run in-process of an existing session is to use . (or its nonstandard, effective alias, source).
Conversely, anything that is neither a shell builtin or a shell-language statement is considered an external utility and runs in a child process, and it is irrelevant (a) whether the script invoked is indeed a script or a binary and (b) if the former, what shell/interpreter will process it.
Note, however, that this only works with executable shell scripts (whereas invocation with . doesn't require this, but will, of course, only work if the script "speaks the same language" as the invoking shell).
An otherwise well-formed script with shebang line that isn't executable [by the current user] will simply result in a Permission denied error.
If it is executable, a system call is made to invoke the external utility, at which point the kernel's shebang-line processing will kick in.
As a courtesy, if a script is executable but lacks a shebang line, POSIX-like shells will fall back to processing the script themselves, but - again - in a separate instance in a child process.

To more explicitly contrast the invoke-a-script-written-in-the-shell's-own-language scenarios:

In POSIX-like shells, invoking a script is an all-or-nothing choice:

Invoked with . (source), everything the script does potentially affects the current shell; (e.g., a non-local variable created in the script will linger).

Invoked by file path only, it will run in a child process that cannot affect the calling shell's environment at all.

In PowerShell, the distinctions are more nuanced:

Invoked with . (source), the same applies as in POSIX-like shells: , everything the script does potentially affects the current session and its global state.

Invoked by file path only, the script still runs in-process, but in a child scope:

While that commendably localizes variables and function definitions,

it still allows for explicit and - pitfall alert - implicit modification of the session's global state - something that will catch Unix shell users by surprise; e.g.:

Simply changing the current location in the script (using Set-Location the equivalent of cd) changes the location globally.
By contrast, changing a global variable, for instance, requires a more deliberate effort.

Personally, I think the implicit and invariable global location-changing behavior is problematic.

Another area is static members on classes.
They will also be shared implicitly.
Maybe we should have syntactic sugar for invoking scripts easily out-of-proc.
like
.\a.ps1
. .\a.ps1
! .\a.ps1 # -> powershell.exe -noprofile -file .\a.ps1

Or change the defaults before PowerShell v6 ships, so that you explicitly have to opt in to run in-proc.

Another area is static members on classes.

Good point, and definitely worth documenting, though probably less of a problem in practice.

Maybe we should have syntactic sugar

Introducing another symbol-based operator may not be worth the effort (as an aside: I assume ! was just an example, but to clear: it's already taken), especially that, once the CLI has been harmonized with POSIX, all you'd need to do to run out-of-process is:
powershell ./foo.ps1

so that you explicitly have to opt in to run in-proc.

As long as it doesn't come with surprises, I think that running in-process by default is a great strength:

No startup cost (no child-process creation, no PowerShell startup cost)
Integration with the calling session with respect to input/output types (no need for serializing / deserializing of objects to to/from strings on in-/output).

@PowerShell/powershell-committee reviewed this and agree that the right change is to have -File be the positional parameter instead of -Command.  Also allow scripts used with -File (or implicit) to not require a .ps1 extension.  A new PR will be submitted.


Removed files not needed in bower packages

My goal is to make the bower packages smaller by ignoring these files:
"src", "Gruntfile.js",  "webpack.conf.js", "webpack.conf.minify.js", "karma.conf.js", "karma.conf.cs.js", "other",
"CONTRIBUTING.md", "CHANGELOG.md"

Sounds good. Fix that one thing and then I think we're good to merge this


refactor(overlay): move connected position assertions into FlexibleConnectedPositionStrategy

Since the ConnectedPositionStrategy proxies everything to FlexibleConnectedPositionStrategy, these changes move the assertions that verify that the config looks correctly into the FlexibleConnectedPositionStrategy.

@crisbeto there seems to be some failing tests

This is very odd. The errors definitely get thrown, but something ends up swallowing them.

Could it be related to the new error handling behavior in rxjs 6?
https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md#600-alpha1-2018-01-12

error handling: Unhandled errors are no longer caught and rethrown, rather they are caught and scheduled to be thrown, which causes them to be reported to window.onerror or process.on('error'), depending on the environment. Consequently, teardown after a synchronous, unhandled, error will no longer occur, as the teardown would not exist, and producer interference cannot occur

Looks like that was the issue @mmalerba. I've pushed a fix.


chore: udpate docs for the telemetry crate

Added more docs for the telemetry crate

Not sure why cargo-audit is failing, since I tried it locally on latest main and it passed 🤷 - but either way, I opened a cargo update PR here: https://github.com/influxdata/influxdb/pull/25433, so if that passes we can merge and then update this branch to get CI 🟢

https://github.com/influxdata/influxdb/pull/25433 is merged now, so hopefully bringing in main will fix CI here.


Adding Databricks to the LLM customization list

Describe the Feature
Hi. I have to work with databricks foundation models and was wondering if it would be possible to add them to the list of supported llms. The amazon bedrock and vertex ai examples are very similar to the databricks. I am not fluent enough in your code base to do this myself and raise a PR for review. Would appreciate your help.
Why is the feature important for you?
I am working on a databrciks cluster with no internet connection. So, configuring other llm judges with RAGAS wouldn't be possible for me.
Additional context
here's the code snipped for the integrated databricks model with langchain:
from langchain_community.chat_models import ChatDatabricks

chat_model = ChatDatabricks(endpoint="databricks-llama-2-70b-chat")
chat_model.invoke("How are you?")

this should work out of the back actually. with #631 I have hopefully explained the details and you can use bedrock docs as an example.
let me know if you want to contribute this in - we can work together on this 🙂

Hi @jjmachan! Thanks so much for getting back to me. Based on the Bedrock example, I was initially hoping that by passing the Databricks model to the Evaluate function, I can make it work; but it doesn't work. I think you also mentioned that that should work and Ragas takes the model and wraps in the LangchainLLMWrapper. This is what I have tried:
I created "ds" from a dictionary with the 4 required fields "question", "ground_truth", "answer", and "contexts" and:
fiqa_eval = DatasetDict({"baseline": ds})

from langchain_community.chat_models import ChatDatabricks

chat_model = ChatDatabricks(endpoint="databricks-llama-2-70b-chat")
chat_model.invoke("How are you?")

result = evaluate(fiqa_eval["baseline"], metrics=metrics, embeddings=fast_embeddings, llm = chat_model)

I'm getting this error:
Exception in thread Thread-9:
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/executor.py", line 75, in run
    results = self.loop.run_until_complete(self._aresults())
  File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/executor.py", line 63, in _aresults
    raise e
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/executor.py", line 58, in _aresults
    r = await future
  File "/usr/lib/python3.10/asyncio/tasks.py", line 571, in _wait_for_one
    return f.result()  # May raise f.exception().
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/executor.py", line 91, in wrapped_callable_async
    return counter, await callable(*args, **kwargs)
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/metrics/base.py", line 91, in ascore
    raise e
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/metrics/base.py", line 87, in ascore
    score = await self._ascore(row=row, callbacks=group_cm, is_async=is_async)
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-30077124-4178-4736-9be6-0ce81669262c/lib/python3.10/site-packages/ragas/metrics/_faithfulness.py", line 190, in _ascore
    assert isinstance(statements, dict), "Invalid JSON response"
AssertionError: Invalid JSON response

I would appreciate your help with troubleshooting this. I am more than happy to contribute btw; but I'll need to first make sure I have a working solution.

do you want to get on a call to help debug this? I suspect this could be either

context window overflow
model is not capable of JSON outputs

@shahules786 is there anything we can do to help him to unblock him fast?
Also @shahules786 do you think a smaller model could do a better job at ensuring JSON format?  If it can @lalehsg  do you think that is something if we make it available you could use inside your company/setup?

Hi @jjmachan.
Regarding the context window size:  Let me try to shorten my text then to see if it makes a difference.
Regarding your comment about a smaller model: did you mean a smaller llm judge?
Also, I am available for a call, if that works better.
Thanks!

update: So, I tried with much shorter text in the dictionary and the same error happened.

Hi @jjmachan and @shahules786 I have been trying to troubleshoot this a bit. Would like to let you know that from the 3 metrics (context_relevancy, answer_relevancy, and faithfulness) that use the llm judge, only faithfulness is causing the above issue. As soon as I comment the faithfulness out, I can get results. I have not looked into the code in details yet to compare and find what is causing the difference but wanted to let you know asap. I am going to unblock my team for now with the current set of metrics but definitely will need faithfulness metric and would appreciate your help with that.
Thanks!


Migrated OpenCV to 3.1 (default in Kinetic)

Made changes required to compile and run mapviz on kinetic.

@malban @pjreed @evenator This patch is needed as well to build mapviz under kinetic.

It looks like another PR that just got merged in caused some conflicts; could you fix that up?


Send an empty SETTINGS frame as server preface.

As it is described in rfc(https://http2.github.io/http2-spec/#rfc.section.3.5):

The server connection preface consists of a potentially empty SETTINGS frame (Section 6.5) that MUST be the first frame the server sends in the HTTP/2 connection.

AFAIU, first SETTINGS frame sent by server is an ack SETTINGS frame to the first SETTINGS frame sent by client. And this is done by http server implementation:
pub fn server_handshake<I : Io + Send + 'static>(conn: I) -> HttpFuture<I> {
    let mut preface_buf = Vec::with_capacity(PREFACE.len());
    preface_buf.resize(PREFACE.len(), 0);
    let recv_preface = read_exact(conn, preface_buf)
        .map_err(|e| e.into())
        .and_then(|(conn, preface_buf)| {
            done(if preface_buf == PREFACE {
                Ok((conn))
            } else {
                Err(HttpError::InvalidFrame)
            })
        });

    let recv_settings = recv_preface.and_then(|conn| {
        recv_settings_frame(conn).map(|(conn, _)| conn)
    });

    let send_settings = recv_settings.and_then(|conn| {
        send_frame(conn, SettingsFrame::new_ack()) // <-- HERE
    });

    Box::new(send_settings)
}

@stepancheg I think there are some misunderstandings here. According to RFC, both endpoints should send a SETTINGS frame(without setting ACK) after the connection is established, and send a SETTINGS frame(with ACK) after receive SETTINGS from the other.
FYI, the latest release of netty checks the first frame should be SETTINGS and should not be ACK, and both send SETTINGS as the very first frame. Please refer to https://github.com/netty/netty/blob/4.1/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2ConnectionHandler.java#L319 https://github.com/netty/netty/blob/4.1/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2ConnectionHandler.java#L344

Seems like you are correct. Thanks for pointing out. I've fixed it differently in b4dae8e18ef19ef5b4da8f3df7f3bec503622c82. Thanks!

My fix was incorrect. Go server sends:
[FrameHeader SETTINGS len=0]
[FrameHeader WINDOW_UPDATE len=4]
  Window-Increment = 983025
[FrameHeader SETTINGS flags=ACK len=0]

i. e. it sends WINDOW_UPDATE before SETTINGS ACK.

Fixed now.


WebApp:Resource state Failed for az webapp deployment source config

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp deployment source config
Errors:
Deployment failed. Correlation ID: 353e2da1-d040-4e3b-b640-fae47ee2923d. Operation failed with status: 200. Details: Resource state Failed

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp deployment source config --name {} --resource-group {} --repo-url {} --branch {} --manual-integration

Expected Behavior
Environment Summary
Windows-10-10.0.18362-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.14.0 *

Additional Context

route to service team

route to service team

hi, is there any update for this issue?

webapp service team should look into this

@kelvinduan2020 I see that operation is failed with the status 200. Could you please share the -debug log for further analysis.

Hi Kota,
I have attached the screenshot, as you can see from it, the deployment is fine when I removed the branch but it is not ok when I added the branch with master.
However, it is not the biggest issue, the one is this https://github.com/Azure/azure-cli-extensions/issues/3468
Could you please ask the team to investigate is asap, as it is blocked our CICD pipeline.
Thank you in advance.
Best Regards,
Kelvin DUan
Environments Support Engineer
Cell: +86 177 2754 2929
Shen Zhen, China   epam.comhttp://www.epam.com/
From: Kota Sudhakar Reddy @.>
Sent: Tuesday, June 15, 2021 10:15 PM
To: Azure/azure-cli @.>
Cc: Kelvin Duan @.>; Mention @.>
Subject: Re: [Azure/azure-cli] WebApp:Resource state Failed for az webapp deployment source config (#18357)
@kelvinduan2020https://urldefense.com/v3/__https:/github.com/kelvinduan2020__;!!GF_29dbcQIUBPA!j-5zlrwTLzDAgxL8DlDk2nATEdED68W_oJCmgrSWPyUp0UGk7TMZfwKL2Jn0_fM6$ I see that operation is failed with the status 200. Could you please share the -debug log for further analysis.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/Azure/azure-cli/issues/18357*issuecomment-861536037__;Iw!!GF_29dbcQIUBPA!j-5zlrwTLzDAgxL8DlDk2nATEdED68W_oJCmgrSWPyUp0UGk7TMZfwKL2G-HImUb$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ALLBSCH3PY7LPFTGDD7NEWDTS5N5NANCNFSM46CP7N5Q__;!!GF_29dbcQIUBPA!j-5zlrwTLzDAgxL8DlDk2nATEdED68W_oJCmgrSWPyUp0UGk7TMZfwKL2DcfKYeN$.

Thanks for sharing. Will look in to it.

@kelvinduan2020 have you tried to run this command by deleting the extension you have installed? @calvinsID please check the extension issue https://github.com/Azure/azure-cli-extensions/issues/3468

closing due to no response. please reopen if there is still an issue.


Add support for relative image paths in workshops

It might be possible to configure our markdown generator to support relative paths for image URLs. This is a pain point for authors who develop on a local machine on localhost and would like to also make the image requests to localhost too.

We might be able to provide a custom imageLinkResolver that can handle relative links correctly.

With https://github.com/dart-lang/dart-pad/issues/2808, support for workshops was dropped, so I'll close this as obsolete. If anyone reading this desires a feature similar to this in DartPad or a new form of workshops, please discuss that in a new issue. Thanks!


DOC-286: Add documentation on SCATTER SQL statement

Fixes DOC-286

This change is

This is on hold until Engineering determines how they want SCATTER to work.


Excluded routes must be an array

When deployed to production I get this issue and I'm unsure what to do. I cannot reproduce locally but config generated by getShopifyConfig seems to be inconsistent across environments even though  config/shopify-app.php are equivalent.
 @php artisan package:discover --ansi

   LogicException

  Excluded routes must be an array

  at vendor/osiset/laravel-shopify/src/ShopifyApp/helpers.php:138

It's weird because it seems like I have some remnants of OhMyBrew based classes messing with the system but I'm not sure where these ghosts are coming from because locally I don't have them.


[JENKINS-54425] Avoid warnings in build logs

In general we don't want warnings in build logs, since we are only interested there in the results of our Jenkinsfiles.
BEFORE

AFTER

@oleg-nenashev I have downgraded the level only for the logger logging such message.


WoW Token gold purchase not tracked

Currently, Journalator will track incoming gold from the sale of a WoW Token on the auction house but not the outgoing gold used when purchasing said token. If continually trading tokens, this will then to a very inflated net profit. Is this something Journalator is able to track?

It's theoretically possible, but very awkward to test a feature to track them due to the large amounts of gold involved.
Another solution is adding a "Custom" tab to let a user add in entries for stuff not tracked by Journalator by hand.


Rename wizard step2 component

In Wizard (funnel / multi-step) form example:
Step 2 component should be Step 2, not Step 1.
It may make example reader confused.

Thanks for the correction, but the component name is actually correct. I think we miss a step3 which is duplicated for step2:
https://codesandbox.io/s/form-wizard-pages-kkg7m

Wait...I think I modify the wrong file.
I'd like to update CodeSandBox example, not this example in official website.
Is this CodeSandBox example in these GitHub repo?
Or it's in another repository?

oh! you are right. could you replace the link to this:
old: https://codesandbox.io/s/form-wizard-pages-kkg7m
new: https://codesandbox.io/s/react-hook-form-wizard-form-gxvvc

oh! you are right. could you replace the link to this:
old: https://codesandbox.io/s/form-wizard-pages-kkg7m
new: https://codesandbox.io/s/react-hook-form-wizard-form-gxvvc

OK, I got it.
I'll replace all the links to the new one.

Thank you 👍


[github-actions] Cert_9_2_09_PendingPartition.py fails intermittently

======================================================================
ERROR: test (__main__.Cert_9_2_09_PendingPartition)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/openthread/openthread/tests/scripts/thread-cert/thread_cert.py", line 304, in tearDown
    self._verify_packets(test_info_path)
  File "/home/runner/work/openthread/openthread/tests/scripts/thread-cert/thread_cert.py", line 333, in _verify_packets
    self.verify(pv)
  File "./tests/scripts/thread-cert/Cert_9_2_09_PendingPartition.py", line 690, in verify
    pkts.filter_wpan_src64(ROUTER_1).\
  File "/home/runner/work/openthread/openthread/tests/scripts/thread-cert/pktverify/packet_filter.py", line 234, in must_next
    raise errors.PacketNotFound(self.index, self._stop_index)
pktverify.errors.PacketNotFound: ((384, 384), (592, 592))

----------------------------------------------------------------------

https://github.com/openthread/openthread/runs/6614111037?check_suite_focus=true

Submitted #7771 to disable the checks for now.

Closing stale issue.


meta-schemas cannot be loaded asynchronously

What version of Ajv are you using? Does the issue happen if you use the latest version?
ajv - 4.8.2
Ajv options object (see https://github.com/epoberezkin/ajv#options):
{
    loadSchema: function(uri, callback) {
        request(uri, function(err, res, body) {
          if (err || res.statusCode >= 400)
            callback(err || new Error('Loading error: ' + res.statusCode));
          else
            callback(null, JSON.parse(body));
        });
    }
}

JSON Schema (please make it as small as possible to reproduce the issue):
{
    "$schema": "http://json-schema.org/draft-04/hyper-schema#",
    "properties": {
        "links": {
            "type": "array",
            "items": {
                "$ref": "http://json-schema.org/draft-04/hyper-schema#/definitions/linkDescription"
            }
        }
    }
}

Data (please make it as small as posssible to reproduce the issue):
{"links":[{"rel":"foo","href":"/foo"}]}

Your code (please use options, schema and data as variables):
var request = require("request");
var Ajv = require('ajv');
var ajv = Ajv({
    loadSchema: function(uri, callback) {
        request(uri, function(err, res, body) {
          if (err || res.statusCode >= 400)
            callback(err || new Error('Loading error: ' + res.statusCode));
          else
            callback(null, JSON.parse(body));
        });
    }
});

var schema = {
    "$schema": "http://json-schema.org/draft-04/hyper-schema#",
    "properties": {
        "links": {
            "type": "array",
            "items": {
                "$ref": "http://json-schema.org/draft-04/hyper-schema#/definitions/linkDescription"
            }
        }
    }
};

ajv.compileAsync(schema, function(error, validate) {
  if (error) {
    console.log(error);
  } else {
    console.log('valid:', validate({"links":[{"rel":"foo","href":"/foo"}]}));
  };
});

https://runkit.com/lwhitaker/581b813da447b8001345f61f
I get this result:
Error: no schema with key or ref "http://json-schema.org/draft-04/hyper-schema#"

What results did you expect?
I expected the schema to be resolved.
Are you going to resolve the issue?
Sounds like you already have a fix for this coming in 5.0.

@pressureDrop there is no fix yet, let me know if you want to make a PR to 5.0.0 branch.

TODO:

[ ] docs
[ ] dts

In 5.0.0-beta.0.
To use: npm install<EMAIL_ADDRESS>


Hugo server cannot find page when file path contains bytes > 0x80

With this structure...
content/
├── post/
│   └── hügö.md
└── _index.md

...hugo server displays "Page Not Found" when visiting http://localhost:1313/post/hügö/.

This problem is limited to hugo server. The page is correctly rendered to public when running hugo.
Problem was introduced in v0.103.0.
Git bisect says a5cda5ca4dc9ced8179eb6bcccb1bbdc567afe17 is the first bad commit

Ref: https://discourse.gohugo.io/t/40560/
MRE:
git clone --single-branch -b hugo-github-issue-10287 https://github.com/jmooring/hugo-testing hugo-github-issue-10287
cd hugo-github-issue-10287
hugo server

To be clear: This was introduced back when the server redirect feature was added, but obviously became more visible now that we add a default 404 redirect if not set.

@kusma this issue is closed, if there are related issues they need to be described in a new issue.

@bep: I'm well aware. Did you even read what I wrote?

@kusma yes I read it, but the thing is, my GitHub notification log is very busy, so I rarely read comments on closed threads, which means I need to be strict about this. So, if you still think there is a related issue here, I would appreciate if you could open a new issue.


Request to add TMI and rename TITB to JBHI

Thanks for this wonderful project!
I could find MICCAI and IPMI conferences that are relevant to Medical Imaging. If you could add IEEE TMI that would be great.
Secondly, I see that there is IEEE TITB in the venue list. It has been renamed to IEEE JBHI (link). Please rename it in your venue list too.
Thank you.

Hi @mayurmallya
Thank you for sharing the information. IEEE TITB is now renamed to IEEE JBHI.
We will consider adding IEEE TMI in the next update!

IEEE TMI is added in 2022 update.
See the new venue list: https://github.com/csmetrics/csmetrics.org/blob/master/app/data/venue_list.csv


⚠ Bofrost.be has degraded performance

In e8fb670, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1112 ms

Resolved: Bofrost.be performance has improved in a9ac0b3 after 24 minutes.


.btn class difference Win/Mac.

If you see this link https://plnkr.co/edit/WwjnWP88h33RvopG4yrS?p=preview in Windows you should see a button with grey background.
If you see the same link on OSX (Mac) you see just a text (button description) without grey brackground.
I'm using just .btn css class.
Can you explain this difference to me?

because different browsers/OSs have different default values for things, and .btn alone does not explicitly specify/override them all


Dart Native Executable improvement

hi

graalvm native image support for dart native exe (to make dart native exe faster)
dart native exe cross platform (make only one native executable run in any platform)

thanks.

I think there are some fundamental misunderstandings here.

graalvm native image support for dart native exe (to make dart native exe faster)

Dart is not a JVM based language and Native Image is for JVM based languages. Also it is unclear why you think that going from Dart to Java Bytecode to Native Image would yield faster code than Dart's own AOT compilation (it will not).

dart native exe cross platform (make only one native executable run in any platform)

Native executables are by definition not cross platform, because they are native. If you want to run on any platform distribute your code in Kernel snapshot and use JIT.


Implement DbDataAdapter (and DbCommandBuilder)

The class SqliteFunction and SqliteFunctionAttribute are missing.
SqliteDataAdapter is also missing.
These are needed for projects that implement them, e.g. Lumisoft Mail Server.
This used to work with mono.

For reference:
https://github.com/jstedfast/MimeKit/blob/master/Mono.Data.Sqlite/SQLiteFunction.cs
https://github.com/jstedfast/MimeKit/blob/master/Mono.Data.Sqlite/SQLiteFunctionAttribute.cs
Example usage:

#if NOT_DOTNET_CORE
using System.Data.SQLite;
#else
using SQLiteFunction = Microsof.Data.Sqlite.SqliteFunction;
using SQLiteFunctionAttribute = Microsof.Data.Sqlite.SqliteFunctionAttribute;
using FunctionType = Microsof.Data.Sqlite.FunctionType;
#endif

using System.Text.RegularExpressions;

namespace System.Data.SQLite
{

    [SQLiteFunction(Name = "REGEXP", Arguments = 2, FuncType = FunctionType.Scalar)]
    class SqlLite_Regex : SQLiteFunction
    {
        public override object Invoke(object[] args)
        {
            return Regex.IsMatch(System.Convert.ToString(args[1]), System.Convert.ToString(args[0]), RegexOptions.IgnoreCase);
        }
    }

}

We chose to implement user-defined functions differently than System.Data.SQLite. Please see the scalar and aggregate samples.

Instead of using DbDataAdapter, have you considered using a technology that builds on top of Microsoft.Data.Sqlite like Entity Framework Core or Dapper?

@divega, do we have an idea of how many new applications are using DbDataAdapter? I was under the it has been largely displaced by other technologies.
I think the cost of implementing (or even accepting and maintaining a PR for) this if fairly high, and we'd need a compelling reason to justify it.

Yea, it would be better to replace it, that's certainly correct.
I considered doing that, but it's a bit problematic, because the API making use of it uses DataSets which it passes between MailServer-interfaces (configuration, data).
Since I'm also porting the entire Mail-Server to .NET-Core, I don't want to start experimenting with changes before I'm sure it runs as before.
The data-adapter shouldn't be very difficult, I actually managed to do that in about 5 minutes.
Just copied data-adapter from
https://github.com/jstedfast/MimeKit/blob/master/Mono.Data.Sqlite/SQLiteDataAdapter.cs
into my dll and replaced occurences of Mono.Data.Sqlite with Microsoft.Data.Sqlite.
The result of that is here
https://github.com/ststeiger/Lumisoft.Net.Core/tree/master/xml_API_NetStandard/_garbage_MSFIX
(I didn't check if that would actually work as expected).
But I gave up on that strategy when having to implement SQL-Function.
Instead I just took Mono.Data.Sqlite from MimeKit and converted it to NetStandard 2.0
https://github.com/ststeiger/Lumisoft.Net.Core/tree/master/Mono.Data.Sqlite
That worked.
I didn't know Microsof.Data.Sqlite supported functions (and didn't look at the gihub repo), so looking at your links - I like the new variant of function-definition better.
I might just want to change back to Microsoft.Data.Sqlite, once all other things are running.
Is Microsof.Data.Sqlite actually based on the fully managed sqlite-code ?
Or does it still rely on the x86/x64/elf/arm native dlls ?
By the way, the mailserver is largely working right now ;)
Only being hold-back by missing System.Security.Cryptography.Pkcs.CmsSigner and System.Security.Cryptography.Pkcs.SignedCms

I like the new variant of function-definition better.

So did we. 😉

Is Microsof.Data.Sqlite actually based on the fully managed sqlite-code? Or does it still rely on the x86/x64/elf/arm native dlls?

We build on top of SQLitePCL.raw (also used by Azure Mobile Apps, SQLite-net & AWSSDK) which P/Invokes to a native SQLite implementation (e.g. SQLCipher, the machine-installed version of SQLite or a locally deployed version).

How is deployment supposed to work?

SQLitePCL.raw should copy e_sqlite3.dll to the output directory (or another variant depending on how you installed it). How are you publishing? A few people have run into problems using win-* as the platform, You should specify at least win7-*.

Shame, a fully managed version would have been more interesting - albeit certainly slower.
How I published ?
I didn't, yet. I just compiled it with Visual Studio, debug mode.
Just because there were no sqlite files and no Microsoft.Data.Sqlite.dll in the output.
This seems to be a general problem.
For example:
I implemented a System.Drawing.Image-wrapper.
Here:
https://github.com/ststeiger/Lumisoft.Net.Core/blob/master/Luminet_NetStandard/___NetPort/NamespaceFix.cs
And ImageSharp requires these nuget libraries:

System.Buffers
System.Memory (pre-release)
System.Runtime.CompilerServices.Unsafe
plus
SixLabors.Core
which requires System.Numerics.Vector

Now I reference ImageSharp in Luminet_NetStandard, but

System.Buffers
System.Memory (pre-release)
System.Runtime.CompilerServices.Unsafe
System.Numerics.Vector
do not appear in the output (compile-debug).

Same thing for Microsoft.Data.Sqlite + PCL
The mail-server-port is now completely finished, btw.
Implemented the missing System.Drawing.Image, SignedCms and CmsSigner  parts - testing still todo.

Are you using a class library? If so, NuGet won't bin-place dependencies by default. You'll need to add:
<PropertyGroup>
  <CopyNuGetImplementations>True</CopyNuGetImplementations>
</PropertyGroup>

@divega, do we have an idea of how many new applications are using DbDataAdapter?

@bricelam let's chat about how to think about this when we triage this issue. It is possible we may be able to find some data, not sure, but I am also not sure this is the right question :smile_cat:

We discussed this in triage and decided that, for now, we don't want to support DbDataAdapter and related classes in this provider. These are older APIs/technologies, and we would like to keep this provider clean and simple. However, if enough people request this functionality specifically in this provider, then we will reconsider this decision, so please comment or thumbs up this issue if this is something you need.

@ststeiger did you see that System.Data.Sqlite now also supports NetCore, so maybe you could use it

@jogibear9988: Have long since settled for Mono.Data.Sqlite.
There I kow that it works and how it works.
Does System.Data.Sqlite nuget also contain and deploy the x86/x64 binaries for Linux on the fly without installation in system-path ?
I'm sceptical - have used System.Data.Sqlite in the past and because it didn't work on Linux, that's how I ended up with Mono.Data.Sqlite everywhere.

I also used Mono, but it is not really well supported! Code seems to be a fork of System.Data.Sqlite but many patches are not included

They share a common ancestor--created by Robert Simpson. But they have definitely diverged.
Are there any places where their behavior is different than Microsoft.Data.Sqlite which you would like to see us fix? (Or not-implemented features that aren't on our backlog?)

P.S. We've reconsidered implementing DbDataAdapter. See #520

Don't know if you are missing any in thsi lib.
I only saw that when we used Mono.Data.Sqlite, that there are many fixes in System.Data.Sqlite, wich haven't been ported to the Mono one. Also the Mono one does not seem to get many fixes, while System.Data.Sqlite is very active. So I suggest every to use System.Data.Sqlite instead of the Mino one (when you are using Mono).
When using Net Core, it depends. Maybe we need a Perf. comparison between System.Data.Sqlite and your Code, because for me that's what mostly matters. Most people use ORM Mappers, so they are not Interested if they use System.Data.Sqlite or yours. Only the Performance matters

Well, yea, there's one major divergence:
Microsoft.Data.Sqlite considers implementing DbDataAdapter, while Mono.Data.Sqlite & System.Data.SQLite actually already implements it since a long time ;)
Now as to quality and what sense that makes, that's another story.
I think the mono assembly mainly contains all the fixes to make it run on Linux, while System.Data.SQlite probably contains more engine/wrapper fixes.
Don't know if you're actually testing your version of SQLite on Linux, or just on Azure.
But if it runs (on Linux - bin-deploy with the app straight from nuget without major surgery) that's good enough.
If you implement DbDataAdapter, be sure to also implement DbCommandBuilder, because that can really save ME from writing a lot of SQL or from having to use EntityFramwork for inserts/updates.
Which means you (respecively I) don't have a model to maintain in sync with the db - so I can do DB-FIRST and can actually care about the data-structures.
DbAdapter with DataTables otherwise is largely a waste of RAM.
I actually much prefer to use datareader and output the data very directely to json, such as here.
My stumbling block was simply just that Ivar Lumi used it extensively in his C# mailserver passing it all around multiple interfaces as DataTable/DataSet/DataGridView.
The mail server is working now, by the way, here:
https://github.com/ststeiger/Lumisoft.Net.Core
Maybe you can use that mail server to play around with the IMAP search functionality in your version of SQLite, for a performance test, because Ivar's reason for using SQLite (he used MS-SQL and PG-SQL before), was that MS/PG-SQL was too slow for IMAP search operations.
I maintain that's because he should have done the searching with Lucene (or elasticsearch if at scale), and just didn't know Lucene .NET exists, or how it works (my opinion - not a fact, just a claim).
It's probably not uncommon to use SQLite in fast-search scenarios.
An interesting idea would be to combine SQLite and Lucene in one interface for querying/inserting - to provide super fast search functionality that goes beyond the capabilities of SQL.


Reference Not Defined? Not Sure How To Get This Working

Hello! This looks awesome, just implemented your Auth package, and so far so good! I'm trying to get this working, but not sure I'm doing it right. Basically trying to make a storage object to work with, but when I do this:
import Reference from 'firestore-storage-lite'; export const storage = new Reference(config.storageBucket);
I get a "Reference is not defined", Rollup says it's missin ga global variable name. Is there any other setup? Would you be able to post a dummy example of setting config and uploading a file? Thanks for the help, can't wait to try it out!

Hi Bob, thank you for opening an issue.
I tried to reproduce your error, but It seems to work for me.
Can you provide a little bit more info?
Specifically, if you can please comment with your rollup config, or even better if you can, a repository(or even a zip file) with minimal stuff needed to reproduce the error.
The error doesn't seem to originate from the library, so I'm guessing it has something to do with the build process.
And if you get any other errors in the console, that could be helpful too.

Mmmm... After looking at your code again, I spotted a typo, which exists in the README file again, so it's my fault.
The name of the Library is firebase-storage-lite and not firestore-storage-lite(Firebase not Firestore).
Im sorry, I always confuse them because I write them so much 😅...
That should solve the issue.
Please comment if it does, so I can close this.

Haha, great thanks! That worked, now on to uploading!

Feel free to ask/suggest anything else.


Changed pom.xmls and sssp.scala so mvn install works

Before typing mvn install wouldn't work. The errors which occurred could be seen here

Thank you for your contribution. We missed the license issue because we typically use mvn package for the platform repositories, which means the license plugin is not triggered.


Installation fails on Debian/Ubuntu wheren configuring the apt keyring

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 7.32.1
Ruby:
Distribution: Debian/Ubuntu
Module version: 6.0.0

How to reproduce (e.g Puppet code you use)
class { 'icinga2':   manage_repos => true, }
What are you seeing
When the module tries to install the apt keyring, puppet aborts because the user/group 'nagios' does not exist on the system.
What behaviour did you expect instead
It should install the apt keyring.
Output log

Info: Using environment 'test_icinga2'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Notice: Requesting catalog from
Notice: Catalog compiled by
Info: Caching catalog for
Info: Applying configuration version 'cd50cad411cf3d06febb26c9c7c91d8c206a9484'
Error: Could not find user nagios
Error: /Stage[main]/Icinga::Repos::Apt/Apt::Keyring[icinga.key]/File[/etc/apt/keyrings]/owner: change from 'root' to 'nagios' failed: Could not find user nagios
Error: Could not find group nagios

Any additional information you'd like to impart
I am not a puppet expert but I think the problem is the following:
The module sets the default owner/group for all file resources^1. These defaults are apparently used later when configuring the apt keyring directory^2. Perhaps it will be enough if this line is executed a little earlier^3

Hm, never happend here. But the directory '/etc/apt/keyrings' isn't managed by the module puppet-icinga2 neither puppet-icinga.
What kind of version you use for the modules apt and icinga?
The keyring dir is handeld by puppetlabs-apt, see
https://github.com/puppetlabs/puppetlabs-apt/blob/e0b3a5db6abb043f106614dffe341f68d88158ab/manifests/keyring.pp#L43
without any owner or group membership. Is there some code around the class declarition?