Asio & Opus

Hi Mark,
First of all, thank you for your great work!
We created an application that allows users to communicate through an UDP Server using NAudio.
We started by creating a P.O.C using WaveIn and WaveOut, we encoded the byte[] using Opus, send that through to the server, the clients received it, that worked.
However, the latency was a bit too high for us using WaveIn/Out so we decided to use Asio instead.
We then changed our way to do, we are now using Asio, we convert the float[] to an byte[], send that through the network, the clients gets it, that works perfectly, the latency is perfect and the sound is crystal clear. Only issue there, is that the bandwidth is obviously busy by this transfer of data as we aren't encoding the byte[].
We then tried to encode it using Opus, send it, decode it then, the sound becomes super distorted.
Is there something that comes-up to your mind ?
Here some part of the code that might help:
Sender, Init
            var buffered = new BufferedWaveProvider(IeeeFloatWaveFormat);
            _asioOut = new AsioOut(driverSelected);
            _asioOut.InitRecordAndPlayback(buffered, 1, codec.RecordFormat.SampleRate);
            _asioOut.AudioAvailable += _asioOut_AudioAvailable;
            _asioOut.Play();

Sender, Asio Callback method
        private void _asioOut_AudioAvailable(object sender, AsioAudioAvailableEventArgs e)
        {
            var samples = new float[e.SamplesPerBuffer * e.InputBuffers.Length];
            e.GetAsInterleavedSamples(samples);
            var byteArray = new byte[samples.Length * 4];
            Buffer.BlockCopy(samples, 0, byteArray, 0, byteArray.Length);

            var soundBuffer = new byte[byteArray.Length + _notEncodedBuffer.Length];
            for (var i = 0; i < _notEncodedBuffer.Length; i++)
                soundBuffer[i] = _notEncodedBuffer[i];
            for (var i = 0; i < byteArray.Length; i++)
                soundBuffer[i + _notEncodedBuffer.Length] = byteArray[i];

            var byteCap = _codec.FrameByteCount(_codec.SegmentFrame);
            var segmentCount = (int)Math.Floor((decimal)soundBuffer.Length / byteCap);
            var segmentsEnd = segmentCount * byteCap;
            var notEncodedCount = soundBuffer.Length - segmentsEnd;
            _notEncodedBuffer = new byte[notEncodedCount];
            for (var i = 0; i < notEncodedCount; i++)
                _notEncodedBuffer[i] = soundBuffer[segmentsEnd + i];

            for (var i = 0; i < segmentCount; i++)
            {
                var segment = new byte[byteCap];
                for (var j = 0; j < segment.Length; j++)
                    segment[j] = soundBuffer[(i * byteCap) + j];
                var buff = _codec.Encode(segment, segment.Length, out var len);
                var list = buff.ToList();

                var bytes = BitConverter.GetBytes(this.UserId).ToList();
                list.RemoveRange(len, (buff.Length - len));
                bytes.AddRange(list);
                _audioSender.Send(bytes.ToArray());
            }
        }

Player, Init
           _waveProvider = new MixingSampleProvider(IeeeFloatWaveFormat);
            _codec = codec;
            _receiver = receiver;
            TextReceived += callback;
            receiver.OnReceived(OnDataReceived);
            var stereo = new PanningSampleProvider(_waveProvider)
            {
                Pan = 1f
            };
            _output = new AsioOut(driverSelected);
            _output.Init(stereo);
            var playing = new Thread(_output.Play);

            this.AddClient(0);

            playing.Start();

Player, OnDataReceived method
        private void OnDataReceived(byte[] compressed)
        {
            try
            {
                var decoded = _codec.Decode(compressed, compressed.Length,out var length);
                var client = this.Clients.FirstOrDefault(c => c.UserId == 0);
                client?.WaveProvider.AddSamples(decoded, 0, length);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                var data = Encoding.ASCII.GetString(compressed);
                TextReceived?.Invoke(data, null);
            }
        }

WaveFormatCreated
WaveFormat IeeeFloatWaveFormat => WaveFormat.CreateIeeeFloatWaveFormat(this.RecordFormat.SampleRate, 1);

Anyone has an idea on that ?

Anyone has an idea on that ?

what format does the opus decoder decode into? I'd guess 16 bit PCM. It should match the format of the BufferedWaveProvider you are writing to
or it could be the encode stage. You need to supply the opus encoder with exactly the input format that it is expecting
I recommend doing the following:

using ASIO save audio to a WAV file. Check the WAV file sounds OK
write code to convert the WAV file into opus, and then convert back to WAV. Check that sounds OK
once you are sure your encode decode works correctly, then plug it back into the network + ASIO code

what format does the opus decoder decode into? I'd guess 16 bit PCM. It should match the format of the BufferedWaveProvider you are writing to
or it could be the encode stage. You need to supply the opus encoder with exactly the input format that it is expecting
I recommend doing the following:

using ASIO save audio to a WAV file. Check the WAV file sounds OK
write code to convert the WAV file into opus, and then convert back to WAV. Check that sounds OK
once you are sure your encode decode works correctly, then plug it back into the network + ASIO code

That sounds like a plan @markheath, thank you!

That sounds like a plan @markheath, thank you!


tagName should not be part of the manifest

This might prove controversial, especially since the practice of a library registering its custom elements is already commonplace in most examples I see across the web. Even the example in the README here defines the element just below the class declaration. Everyone seems to have forgotten that global namespace pollution is bad and people are repeating the same mistakes made in an old paradigm of library development before module scoping made everything better.
If your library defines its custom element when it is imported, then it will suffer some of the same pitfalls that polluting the global object presents.
// This is a bad practice
window.jQuery = jQuery;

// So is this
customElements.define(
  "awesome-element",
  class AwesomeElement extends HTMLElement {
    // ...
  }
);

You might argue that collisions are less likely with custom elements, given the forced hyphen. However, what if I have two dependencies that rely on different versions of awesome-element? Those dependencies should attempt to define each version of the element under their preferred tag name (ideally in a scoped custom element registry if it ever becomes standardised).
If you can agree that the above makes sense, then the logical conclusion to be drawn is that tagName should not be part of this manifest.

I dont think this is controversial at all, but browsers do support registering custom elements on the global registry however, so I think it makes sense that the manifest supports tagName.

@thepassle I'm not sure if you understood my post. I guess the gist of it is that having tagName in the manifest (and the example in the README) promotes bad practice. Browsers support registering on the global registry, but any library or package exporting a custom element should not be doing that registration, it should be up to the consumer. Therefore, the tagName should not be in the manifest because it should not be decided what the tagName is by the library or package exporting it.

I understood your point, but my point still stands. You can globally register custom elements in the browser, and in many cases this is not actually a problem. There are indeed cases where you'd need something like scoped elements. If you register a custom element in the global registry, you can use it via that tagName in your HTML, and a browser will know what to do with that element, so it still makes sense to support tagName in the manifest regardless of your opinion of it being a good or bad practice.

To reenforce @thepassle's take here - the CEM is trying to describe what packages of elements can do, not prescribe what they should do. If there are elements out that the use global registration, this format should have the structure to say so.
That could enable tools that detect tag name collisions, or disallow using the global registry altogether, if that's your goal.


Zcash listener ports of CD instances are not open to the internet

Motivation
I launched an instance using https://github.com/ZcashFoundation/zebra/blob/main/.github/workflows/continous-delivery.yml and then tried to connect to its Zcash listener port using:
nc -v -z <IP_ADDRESS> 8233

nc did not give any response and did not finish, indicating that packets to that address are being dropped.
Priority
This is required for final release candidate testing.
Specifications
The default Zcash listener ports are 8233 for mainnet and 18233 for testnet.
Testing
Repeat the same tests given in the description.

@mpguerra not fixed yet, I'm tracking this

Tested with our latest deployed instance:
nc -zvw100 <IP_ADDRESS> 8233
Connection to <IP_ADDRESS> port 8233 [tcp/*] succeeded!

Adding testnet as reference:
nc -zvw100 <IP_ADDRESS> 18233
Connection to <IP_ADDRESS> port 18233 [tcp/*] succeeded!

I also tested my custom instance that I deployed for other teams to do testnet testing:
nc -G 5 -z <IP_ADDRESS> 18233
Connection to <IP_ADDRESS> port 18233 [tcp/*] succeeded!


Refactor page connection

When I went to do my routine update PR on convection this morning I started getting RuboCop warnings about the Types::Pagination::PageableConnection#page_cursors method so I took a look at it. I saw that there was a way to refactor it be less complex so I took the opportunity to do it.
Other than that, this is just a routine update PR. Note: I did try to upgrade the graphql gem again and did get test failures, so I'm going to punt on that again. I'll try to fix it next week.

@jonallured out of curiosity, what was rubocop warning about?

Oh oops, I should have mentioned that, haha. I believe it was the cyclomatic complexity one.


Disabled users get token while signup

While signing up with NEW_USER_DISABLED flag set to true, response is sent with a valid token.
While EMAIL_VERIFIED flag is honoured during the same, DISABLED flag is not.
However, when the user tries to re-login, a token does not get generated.
Similar to the handling of Email Verified flag, if Disabled flag is set, token should not be sent in response.

Hello @im-what-im,
apologies for the late response. I just tried replicating this issue and I am afraid I couldn't. I started hasura-auth with:
AUTH_DISABLE_NEW_USERS: "true"

and then ran signed up a user:
$ curl -H "Content-Type: application/json" -X POST -d '{"email"<EMAIL_ADDRESS>"password": "asd234sadqeA"}' https://local.auth.nhost.run/v1/signup/email-password
{"session":null,"mfa":null}

As you can see there is no session coming back. Would you mind providing step by step instructions to reproduce?
Thanks!


Windows 10: Cannot move window after resizing window

Description
In Windows 10, there seems to be a bug with the GUI window where, upon first load, I can move the window. However, if I resize the window, then I can no longer move it by clicking-and-dragging the top of the window. I can "move" the window by using the resize handles to move it one edge at a time but it is a weird behaviour I noticed with both 3.6.1 releases.
Reproduce

On Windows 10, open JupyterLab v 3.6.1-x
Resize the window
Attempt to move the window by clicking-and-dragging the top of the window (unable to do so)

Expected behavior
The window moves with the usual gestures.
Context

Operating System and version: Windows 10
JupyterLab-Desktop version: 3.6.1-x
Installer: .exe

This may occur on Linux as well, per @krassowski

@connorferster can you test again with the latest (3.6.2-1)? There were some electron updates to drag regions and the issue might be resolved now.


Identifier 'sendAck' has already been declared

This partly duplicates this issue https://github.com/socketio/socket.io-redis/issues/211, but last one was closed to soon because of lack of information provided.
Problem is
  /home/htdocs/socket/server/node_modules/socket.io-redis/index.js:258
          }
          ^
  SyntaxError: Identifier 'sendAck' has already been declared
      at Object.exports.runInThisContext (vm.js:76:16)
      at Module._compile (module.js:542:28)
      at Object.Module._extensions..js (module.js:579:10)
      at Module.load (module.js:487:32)
      at tryModuleLoad (module.js:446:12)
      at Function.Module._load (module.js:438:3)
      at require (internal/module.js:20:19)
      at Object.<anonymous> (/home/htdocs/socket/server/server.js:47:5)
      at Module._compile (module.js:570:32)
      at Object.Module._extensions..js (module.js:579:10)

server.js code
const port = 3001 + (parseInt(process.env.NODE_APP_INSTANCE) || 0); // 3001, 3002, 3003 ...

const io = require('socket.io')(port);

io.adapter(
    require('socket.io-redis')({
        host: 'localhost',
        port: 6379
    })
);

io.on('connection', function (socket) {
    console.log('connected');
});

Package.json is
{
  "name": "test",
  "version": "0.0.0",
  "description": "",
  "dependencies": {
    "file-type": "latest",
    "htmlspecialchars": "latest",
    "jsonwebtoken": "latest",
    "mysql": "latest",
    "pmx": "latest",
    "redis": "latest",
    "socket.io": "1.7.4",
    "socket.io-redis": "latest",
    "twemoji": "latest"
  },
  "author": "",
  "license": "UNLICENSED",
  "private": true
}

Socket.io is 1.7.4 version because off https://github.com/socketio/socket.io-redis/issues/214
How to reproduce: run socket.io server as cluster, there is no error if you run single instance of socket.io, but if you run several of them, server crashes.
Latest version of socket.io-redis is a must, because error happens only with version 3 >=, version 2.0.1 works fine and as a separate instance, and as cluster
Possible fix: rewrite sendAck (index.js#L236  and index.js#L252) methods to anonymous one
      case requestTypes.remoteJoin:

        var socket = this.nsp.connected[request.sid];
        if (!socket) { return; }

        socket.join(request.room, function(){
            var response = JSON.stringify({
                requestid: request.requestid
            });

            pub.publish(self.responseChannel, response);
        });
        break;

      case requestTypes.remoteLeave:

        var socket = this.nsp.connected[request.sid];
        if (!socket) { return; }

        socket.leave(request.room, function(){
            var response = JSON.stringify({
                requestid: request.requestid
            });

            pub.publish(self.responseChannel, response);
        });
        break;

this solution is working perfectly for a week on production chat application.

Closed by #213


addAceActions Port

Port addAceActions.sqf from the old framework to sia3f/ace/postClientInit, using development standards, etc.
Rename the _actions with the action variable names for readability, along with consistent headers for different sections.

Still need to set up the phase changes properly, and mission start/end actions. Could use some formatting cleanup as well.


[libzippp] Update to 4.1-1.8.0

Related to #18552

Have you tested the feature locally

@ctabin ,Thanks for your pr .


GitHub inter-repo pull request and later push, triggers two builds

If I create a pull request (inter-repo) and then later push more commits to my PR, it creates two concurrent builds. Anyway to prevent this, and just trigger the single push build without the pull_request build?

:+1:
I disabled the PR build for the time being for the project (all PRs are built of inter-repo branches any ways) to get around it.

@macb @nodesocket any thoughts on the desired behavior if we implement a fix? I was thinking:

if a push also has an open pull request (inter-repository) ignore. Only build the pull_request
if a push has a closed pull request (inter-repository) proceed with the build. This would effectively build when you click the merge button, in case you wanted to trigger any deployments on merge

merging this issue with #1980


Any type json marshaling.

It'd be nice if the Any type could be marshaled properly by jsonpb, as currently it ends up marshaling as a couple of strings, one of which being the base64-encoded value of the type.
I recognise this might not be an easy-to-do thing (I had forked to try and get it going, but couldn't find an obvious place for it. ) however it is still wanted, so at the very least this can be a tracking bug or similar.

It's just something we haven't gotten to yet. The text format supports Any messages; jsonpb just needs to be updated.

If you can give me some hints as to where I should be hooking in, I'd be glad to try and tackle this problem, as it's something of great interest to me.
ATM, I'm mildly confused as to wether I should be poking at marshalValue or marshalObject, as neither seem particularly well-suited for types that are actually objects, instead of primitives, at least in the WKT corner.
Or am I to assume that this isn't exactly trivial in the current code layout, and that's why it's not been gotten to yet.

I'll see if I can get it done today.

I should have marshaling done later today. It was a bit trickier than the other well-known types.
Unmarshaling is going to be harder again; that'll be a TODO for now. Is that going to be something important for you?

Marshaling only will be fine for now. However has there been a tracking bug for me to follow for possible updates in the future?

There isn't, but feel free to open one.


Move CONTRIBUTING.md to documentation site

Description

Our current contributing guide exists locally in the repository: https://github.com/WordPress/openverse/blob/523a3599c34463275ce57c4e4ce6c14de1baefbd/CONTRIBUTING.md
It would be ideal to move this into the documentation site at docs.openverse.org, where most of our other quickstart/contributor information exists!
Note: When we convert this into Sphinx, we should also emphasize further the verbiage about choosing more than one good first issue - https://github.com/WordPress/openverse/blob/209cd44abed611ae4a2ef97ea77e8d2b0b612a53/CONTRIBUTING.md#friendly-notes (we've had a few folks ask about this, so it seems useful to highlight it better).
This would involve moving the file from it's current position into documentation/general, adding a callout for the above using a MyST callout, and then linking from the current CONTRIBUTING.md to the new location on the docs site.

@AetherUnbound I'd like to pick this up

Thanks, @shivamganwani! Please just ping @WordPress/openverse-maintainers here if you have any questions 😄

@WordPress/openverse-maintainers
I think I found an issue, not sure.
In the Contributing section of the Readme there is this line See the [CONTRIBUTING.md](https://github.com/WordPress/openverse/blob/main/CONTRIBUTING.md) file for details.
Now I click on the link and it takes me to contributing guidelines page. All good till now.
Now I scroll down and there is a part where the below links are present
[GitHub contribution practices](https://docs.openverse.org/reference/github_contribution_practices.html)
[Dev flow](https://docs.openverse.org/reference/dev_flow.html)
[General setup guide](https://docs.openverse.org/guides/general_setup.html)
[Quickstart guide](https://docs.openverse.org/guides/quickstart.html)

Here comes the issue, all these links take me to 404 Not found. Can someone explain if this is really an issue or am I doing something wrong.

@AetherUnbound so we're making a separate ticket or fixing this in this one?

Do you mind including that in your changes in #2030? 😄

Not at all @AetherUnbound


4053 Test

Hi,
If you search for 16 pins IC, without a IC in ZIF, will return CI 4053.
Maybe the test pattern are wrong.

Hey,
I tried it on my tester and it worked fine. Try testing for shorts in your IC tester, some pins might be passing the test for IC 4053, or could be set in that pattern.
I'll close the issue, kindly reopen it if it didn't workout for you.
Happy Making :)


Running example fails with UnboundLocalError: local variable 'integrand1' referenced before assignment ...

Simply following the initial steps on https://species.readthedocs.io/en/latest/tutorials/running_species.html after a fresh pip install. When doing the
database.add_companion('51 Eri b')
The result is the following error...:
>>> database.add_companion('51 Eri b')
Downloading Vega spectrum (270 kB)... [DONE]
Adding Vega spectrum... [DONE]
Adding filter: MKO/NSFCam.J... [DONE]
Adding filter: MKO/NSFCam.H... [DONE]
Adding filter: MKO/NSFCam.K... [DONE]
Adding filter: Paranal/SPHERE.IRDIS_B_H... [DONE]
Adding filter: Paranal/SPHERE.IRDIS_D_H23_2... [DONE]
Adding filter: Paranal/SPHERE.IRDIS_D_K12_1... [DONE]
Adding filter: Keck/NIRC2.Lp... [DONE]
Adding filter: Keck/NIRC2.Ms... [DONE]
Adding object: 51 Eri b
   - Distance (pc) = 29.78 +/- 0.12
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/typeguard/__init__.py", line 891, in wrapper
    retval = func(*args, **kwargs)
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/species/data/database.py", line 171, in add_companion
    self.add_object(object_name=item,
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/typeguard/__init__.py", line 891, in wrapper
    retval = func(*args, **kwargs)
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/species/data/database.py", line 657, in add_object
    flux[mag_item], error[mag_item] = synphot.magnitude_to_flux(
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/typeguard/__init__.py", line 891, in wrapper
    retval = func(*args, **kwargs)
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/species/analysis/photometry.py", line 344, in magnitude_to_flux
    zp_flux = self.zero_point()
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/typeguard/__init__.py", line 891, in wrapper
    retval = func(*args, **kwargs)
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/species/analysis/photometry.py", line 101, in zero_point
    return self.spectrum_to_flux(wavelength_crop, flux_crop)[0]
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/typeguard/__init__.py", line 891, in wrapper
    retval = func(*args, **kwargs)
  File "/home/feldt/miniconda3/envs/petitRADTRANS/lib/python3.9/site-packages/species/analysis/photometry.py", line 208, in spectrum_to_flux
    integral1 = np.trapz(integrand1, wavelength[indices])
UnboundLocalError: local variable 'integrand1' referenced before assignment

Looks like no detector type gets ever assigned...

Thanks for opening this issue @mfeldt!
The problem is related to an update on the website of the SVO Filter Profile Service. The specification of the detector type had changed.
Which version of species are you using? The latest pip version (0.3.6) should be compatible with the changes by SVO but let me know if that doesn't solve the problem.

I freshly installed it this morning (with pip) after Paul pointed me to the package, and it came up as 0.3.4
Maybe some pip data base is not up to date yet?

Yes that could be. I am not sure how this works with Miniconda. Is there a way to sync Miniconda with the PyPI server?
The species version on the PyPI server is up to date:
https://pypi.org/project/species/
Otherwise, you could also install the Github version. That should also work.

OK; I'll give it a try!

OK, I managed to upgrade to 0.3.6 (turns out there were some unfullfilled sub-sub requirements about ultranest...)
The error, however, is still there!

Could you remove the species_database.hdf5 file and try once more?
Then it will download again the filter profile and (hopefully) store it correctly in the database this time.
Does that work?

Actually I cannot  find that file...

Ah, ok, got it. Yes, that did the trick!
THX!

Great, glad it worked!


fix: only fetch all assocations for flagged applications

Does this create an empty key in the interface we hand off to customers and did we do that prior to fetching associations?
I'm thinking about whether this might cause confusion to developers consuming the response. @asdfryan might know more

https://github.com/supaglue-labs/supaglue/blob/f71c08896696226a7c746f5f8689d92abcf6f20a/packages/core/remotes/impl/hubspot/index.ts#L826-L827


Providing registered claims via payload versus options in sign()

If I interpret the options for sign() correctly, they offer mostly a convenient way for defining the registered claims and the user doesn't have to know the official claim names (e.g., one can define audience instead of more cryptic aud). However, one can define these claims straight via payload as well.
I assume this is by design and everything user passes in via payload is meant to be preserved as-is (unless overriding options are provided). And this is fine - as long as it is acknowledged that users may define registered claims via the payload, too.
The thing I'm worried is that this method of defining these claims is not well-defined in the docs or in the tests. Thus, defining payload.exp directly feels a bit like using a private API (if seeing the options.expiresIn as the public one) and a simple, unintentional error in this library wiping the raw exp value might go unnoticed to production, making generated tokens valid forever.
I'd propose clarifying this way of defining the registered claims in the documentation and adding tests for them. If this sounds like the way to go, I can create a PR for getting this forward.
If, however, the user is not supposed to define registered claims via payload, I'd propose adding strict validation for this and throwing an error if this is tried.
In my opinion, in general regarding the configuration options and the registered claims, the stricter the validation the better, misunderstandings with configuring a security-related lib such as this can lead to unpleasant end results. FWIW, I'm liking the way hapi uses the excellent Joi library for validating its configuration options everywhere, gives a nice warm feeling for the developer when you know that simple configuration mistakes lead to immediate exceptions (and the schemas act as up-to-date docs for the options, too).

Sorry for the big delay!
I agree with everything you said. I will think this a little bit, we should change it for the next major version

Fixed in v6. Have a look to changelog/readme

Hey, thanks, looks great!


Upstream Snabb NFV into OpenStack Juno

Ensure that OpenStack Juno supports Snabb NFV "out of the box".

Does this being close imply that Juno onwards does support Snabb NFV out of the box?

Hi Nathan,
No. Currently we are compatible with Icehouse and require a small number of patches to Nova and Neutron. OpenStack is gradually taking in NFV related features and we are being patient and maintaining our code downstream.
The holdup is that NFV functionality in general and vhost-user in particular is taking time to be accepted by OpenStack even though it is already in QEMU and Libvirt. We submitted patches to Juno but those slipped. Intel have kindly taken over and resubmitted this to Kilo and hopefully that will go in.
The good news is that we have reduced our total OpenStack changes down to about 200 lines of simple code that we can maintain downstream for as long as is needed.
Here are our latest Git trees for nova/neutron/qemu: https://github.com/SnabbCo/snabb-nfv
And here is the upstreaming effort now being lead by Intel: http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/libvirt_vif_vhostuser.html


USSD Menu keeps on looping

Hi, I have a really interesting problem. sometimes the menu returns to welcome regardless of where someone is in the journey. I was hoping this situation has been seen or addressed.

@ultrasibz Which version of the framework are you using? V2 or V3?


Always scroll to the most recent message

element.scrollIntoView()

Do this on initial page load.
AND do this when we get new messages to our page.

els[ els.length - 1 ].scrollIntoView()


Shear layer

Hi, I am a student assistant working with DominikWilde. I did a thing:
Added Doublyperiodic shear layer as new test case in a new file, also added new file to init.py

Hi @MartinKliemank,
welcome on board!
This looks very good. Is there any test that you could add to tests/test_flows.py to make me believe that everything is alright here?
@dominikwilde Can you review this, please?

The code of the shear layer is good.
Only the additions in tests/test_flows.py are missing.

@Olllom Thank you!
I have (hopefully) added the new flow to test_flows.py, it seems to run the test, though it returns:
SKIPPED [ 33%]
Skipped: Half precision is not precise enough ;-)
Does that mean I need to change something or is that a normal behavior?

That's no problem at all. I'll get rid of this in a separate PR.
Thanks for this addition.


Type error in custom named environment overrides in Nuxt config

Environment

Operating System: Windows 10
Node Version:     v22.9.0
Nuxt Version:     3.14.159
CLI Version:      3.15.0
Nitro Version:    2.10.3
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      default
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-ryp8ak?file=nuxt.config.ts
Describe the bug
When using the environment overrides in Nuxt config for custom environments (i.e. not $development, $production, or $test), there is a type error for the custom environment. For example, when trying to create overrides for an environment named preview, the following error appears on type checking:
error TS2353: Object literal may only specify known properties, and '$preview' does not exist in type 'InputConfig<NuxtConfig, ConfigLayerMeta>'.

There is no issue trying to use the overrides themselves, the error only appears during type checking.
Additional context
This error also appears in the documentation for the environment overrides: https://nuxt.com/docs/getting-started/configuration#environment-overrides
Logs
No response

The example should be:
export default defineNuxtConfig({
  $production: {
    routeRules: {
      '/**': { isr: true }
    }
  },
  $development: {
    //
  },
  $env: {
    staging: {
      //
    }
  },
})


folderv only shows 'DateUpdate' image

I'm not sure why folderv query works in other but not in a particular one.  The result is:

It may be caused by too many notes?

Strangely after I submitted the issue, the issue went away after I went to other folders to look for similar folders with the same symptom.


[SDK] Standardize on lower-case, dash-formatted enum values.

This is a cleanup pass on our enum values to use a dash-formatted, lower-case format. For the sake of back-compatibility, I won't merge this PR until https://github.com/Microsoft/mixed-reality-extension-unity/pull/33 has been integrated into AltspaceVR and released.

I left gltf-gen alone. It's kind of its own thing.

Curious why we are changing these over to dash-formatted for enum values.  The camel case ones should parse naturally in to the camel case versions in unity without any conversion.  Seems weird that we are requiring the use of a converter in C# when this would just happen automatically if they were camel case.

Actually, we were already using a default enum converter on the C# side: the StringToEnumConverter. I replaced that with the DashFormattedEnumConverter.

In reply to: 466138145 [](ancestors = 466138145)

Actually, we were already using a default enum converter on the C# side: the StringToEnumConverter. I replaced that with the DashFormattedEnumConverter.
In reply to: 466138145 [](ancestors = 466138145)

That is the built in one that performs the automatic conversion in newtonsoft that I was talking about originally.  I should have been more specific in the use of a custom converter for enums.


Ruby 2.3 image has moved

The Ruby example doesn't work - there's no image at openshift/ruby-23-centos7. It's now at centos/ruby-23-centos7.

thanks

[merge]


Align::Wrap has no effect on Frames

Hi,
Maybe I'm doing it wrong, but I can't wrap the text to the width of the Widget.
Simple example:

fn update_gui(vpack: &mut Pack) {
    let status = Frame::default().with_size(400,50).with_align(Align::Wrap)
      .with_label("Example text:\nThis text should be wrapped because its size exceeds the Widget width.");
   let mut innerpack = Pack::default().with_size(400, 50);
   innerpack.add(&status);
   vpack.add(&innerpack);
}

Align::Wrap is not applicable to a Frame?

I’ll have to check when I’m front of my dev machine. Is it reproduced also when outside of a pack, and with other widgets as well?

Tested outside of a pack, with other widgets and also with a TextBuffer. Same result.
Reproduction:
use fltk::{
    app,
    enums::Align,
    prelude::*,
    text::{TextBuffer, TextDisplay},
    window::Window,
};

fn main() {
    let app = app::App::default();
    let mut w = Window::default()
        .with_size(400, 200)
        .center_screen();
    let mut txt = TextDisplay::default()
        .with_size(400, 200)
        .with_align(Align::Bottom);
    let mut buff = TextBuffer::default();
    buff.set_text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum");
    txt.set_buffer(Some(buff));
    w.end();
    w.show();
    app.run().unwrap();
}

I just tried the Align::Wrap on my machine and it works as intended. It doesn't resize the widget but more importantly doesn't allow the text to flow outside its bounds.
// without Align::Wrap
    let mut frame = Frame::new(160, 210, 80, 40, "A very very long label");
    frame.set_frame(FrameType::BorderBox);

// With Align::Wrap
    let mut frame = Frame::new(160, 210, 80, 40, "A very very long label").with_align(Align::Wrap);
    frame.set_frame(FrameType::BorderBox);

To get the widget to resize according to the label length, you'll have to use measure_label:
    let mut frame = Frame::new(160, 210, 80, 40, "A very very long label");
    let (w, _h) = frame.measure_label();
    frame.set_size(w + 10, frame.h());
    frame.set_frame(FrameType::BorderBox);

And as you've noticed, DisplayExt widgets like TextDisplay and TextEditor have their own wrap method since with_align and set_align work for labels (it will still work for the label of the DisplayExt widget, not for their text content).

I was expecting Align::Wrap mode to cut the text into multiple lines.
Okay. Solved. I will use TextDisplay with wrap_mode() instead of Frame.
Thank you.

By the way, you can change the FrameType of the TextDisplay and its color if you need for it to look like a Frame.

I don't understand why exists the align() method in FLTK if it doesn't work.
Text in TextDisplay can't be centered. It also doesn't work in Input.
I'm working with numbers and the Input should display the number at the right (finance).
On the other hand, the state in Textdisplay should be centered, otherwise it is unreadable.
I have already created the same application in GTK3 with gtk-rs and it works perfectly.
The problem is that GTK only works fine on Linux/Unix.
Also I tested orbtk. It's a chaos. The text exits the input widget (in wayland).
You finish typing, you lift your hands from the keyboard and the text continues to write itself. In slow motion.
fltk-rs is not perfect either. Cannot align text to center/right.
Although the appearance can be colored and changed schema and theme, it is still as beautiful as windows 95.

Yeah align is only for labels of widgets. If you need a right aligned input, you can try something like:
use fltk::{enums::*, prelude::*, *};
use std::ops::{Deref, DerefMut};

pub struct RtlInput {
    inp: input::Input,
}

impl RtlInput {
    pub fn new(x: i32, y: i32, w: i32, h: i32, label: &'static str) -> Self {
        let mut inp = input::Input::new(x, y, w, h, label).with_align(Align::Right);
        let mut frame = frame::Frame::new(x, y, w, h, None).with_align(Align::Inside | Align::Right);
        frame.set_frame(FrameType::DownBox);
        frame.set_color(Color::White);
        inp.set_trigger(CallbackTrigger::Changed);
        inp.set_callback(move |i| {
            frame.set_label(&i.value());
        });
        Self {
            inp
        }
    }
}

impl Deref for RtlInput {
    type Target = input::Input;

    fn deref(&self) -> &Self::Target {
        &self.inp
    }
}

impl DerefMut for RtlInput {
    fn deref_mut(&mut self) -> &mut Self::Target {
        &mut self.inp
    }
}

fn main() {
    let app = app::App::default();
    let mut win = window::Window::default().with_size(400, 300);
    let _inp = RtlInput::new(160, 190, 100, 40, ":Value");
    win.end();
    win.show();
    app.run().unwrap();
}

Not exactly perfect, but works!

It works. But the cursor appears in the middle of the Input box.
For now, even without being able to align to the right, fltk-rs is still better than all the alternatives.
Thank you!


Prepare release of v3.0.0

I don't really expect anyone to review this many changes so I'm going to go ahead and merge it in.


PyTorch error

I get the following error when I try to train the model using:
python main.py --test --refine --reload --refine_reload --previous_dir checkpoint/pretrained
AttributeError: 'list' object has no attribute 'seek'. You can only torch.load from a file that is seekable. Please pre-load the data into a buffer like io.BytesIO and try to load from it instead.
I'm using Google Colab, with CUDA version of 11.2 and PyTorch version of 1.12, Python version 3.7

Please check whether the pretrained model is in the "checkpoint/pretrained"


Azure Workload Identity (Service Account auth)

MS just announced a new Azure Workload Identity feature: https://cloudblogs.microsoft.com/opensource/2022/01/18/announcing-azure-active-directory-azure-ad-workload-identity-for-kubernetes/
repo: https://github.com/Azure/azure-workload-identity
It provides authentication based on annotated service accounts. We want to use that from a SecretStore similarly to our AWS and GCP providers.

I'll take a look at this one.


ambiguous relation when relating to prometheus - missing docs

Bug Description
If I follow the instructions in the readme:

Relate the charms together.
$ juju relate cassandra-k8s scrape-interval-config
$ juju relate scrape-interval-config prometheus-k8s

I get an error:
ubuntu@server:~$ juju relate scrape-interval-config prometheus
ERROR ambiguous relation: "scrape-interval-config prometheus" could refer to "prometheus:metrics-endpoint scrape-interval-config:metrics-endpoint"; "scrape-interval-config:configurable-scrape-jobs prometheus:self-metrics-endpoint"

The readme must be updated, and it should be documented what the use cases are for each endpoint.
To Reproduce
see above
Environment
latest/stable or latest/edge charm (same error)
Relevant log output
see above
Additional context
No response

Clsoed by https://github.com/canonical/prometheus-scrape-config-k8s-operator/pull/51


Update name of "TR064"

Resolves https://github.com/arduino/library-registry/issues/2426

Done here https://github.com/arduino/library-registry/issues/2426#issuecomment-1412281652


add tests that demonstrate various ways to use babel config.

Issue #448 was kept open, in part, because we wanted to enable an extends option.
What we are after is actually possible using existing babel options.
A separate PR with recipes is forthcoming.

Just that typo. LGTM otherwise.

LGTM


[POC] AAD: Handling TokenCredential

Proof of Concept: Demonstrating how to handle the TokenCredential
The purpose of this PR is to demonstrate my current approach and to get some early feedback.
For more information see the parent item: #2190.
Introduction
This PR demonstrates an approach to handling the Azure.Core.TokenCredential.
We have a unique challenge of needing to support this, while having incompatible Framework.

To address this I'm making the assumption that if a customer's application is able to create an instance of TokenCredential, then they also have the Azure.Core assembly in their runtime.
Going off of this assumption, we're able to use reflection to access the methods of TokenCredential and return types available in Azure.Core.
Test Project
This PR introduces a new test project; Microsoft.ApplicationInsightns.Authentication.Tests.
I've introduced this to have a quick and easy way to control the exact target framework for my test scenarios.
Please ignore the project itself, and instead focus on the tests within. :)
Implementation
TelemetryConfiguration.SetCredential
We need a way for a customer to provide an implementation of Azure.Core.TokenCredential.
For this, I've introduced a new method TelemetryConfiguration.SetCredential.
https://github.com/microsoft/ApplicationInsights-dotnet/blob/0fe4b8ce661e2691e23efbc84e82be6df500b422/BASE/src/Microsoft.ApplicationInsights/Extensibility/TelemetryConfiguration.cs#L403-L407
For NetStandard2.0, we're able to handle the TokenCredential directly.
For all other frameworks, we must accept Object and validate that the actual object inherits TokenCredential.
CredentialEnvelope
I'm introducing a new interface ICredentialEnvelope to wrap whatever the customer provides to the SDK.
For NetStandard2.0, we can use TokenCredentialEnvelope which is a simple wrapper around TokenCredential.
For all other frameworks, we can use ReflectionCredentialEnvelope which as the name suggests, uses Reflection to interact with the Object that was provided.
We store this in the new property TelemetryConfiguration.CredentialEnvelope which is accessible by all internal classes in the SDK.

This might be an opportunity to simplify dependencies and targets for net452 and net46 altogether.
Indeed, you might be able to get to the point where netstandard2.0 is the only target framework.

Builds are currently broken because I'm working on tests. Will fix it tomorrow.


Add commands to stress playground

Description
The stress project has a bunch of APIs for causing certain behavior. For example, /log-message logs a message with a bunch of unusual content. This PR adds commands to call the APIs from the dashboard.
@DamianEdwards Some issues I encountered using WithHttpCommand:

Order matters. If commands are added before endpoints then it errors. A fix could be to resolve the endpoint inside the command callback.
Command name is based on the method. If there are lots of "GET" commands then they're reduced to one. Need a better automatic name (I modified the method to include the URL in the name)
Needs HttpClientFactory registered. It's not registered in app host by default. Bug or not? An improvement could be to detect if it is registered or not and throw a more friendly error message.

Screenshot:

Checklist

Is this feature complete?

[x] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[ ] Yes
[x] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[x] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[x] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[x] No

Microsoft Reviewers: Open in CodeFlow

/azp run


.move_node(foreign_node) should work on it's own node (by ID or clone)

While moving a node from one jstree instance to another, sometimes same node object gets inserted into the destination jstree, resulting in shared properties between two different jstree instances for same node.
Because of this issue I get some errors and missbehaviours in the original jstree instance related to the likned node.
I made a small change in .move_node(), that seems to fix this issue, but I'm not sure about other side-effects:
L3702
obj = obj && obj.id ? obj : this.get_node(obj); // I replaced this line
// with:
obj = this.get_node(obj); // this one

I cannot reproduce the issue, but the above can not be used as is. The idea is that when a node is foreign it comes with its own ID, if get_node is called one of two issues will happen:

If there is a node with the same ID in the destination tree that node will be moved instead of the foriegn one
If there is no node with the same ID in the destination tree the move will fail.

Both of the above are not acceptable.
From what I understand maybe the problem comes from the way you are invoking the move_node method? Invoking move_node with a foreign node, especially provided that the same ID exists in the destination tree can lead to problems, because of those lines:
old_ins = obj.instance ? obj.instance : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id));
is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id);

In the above case (when you are moving a foreign node, whose ID is already in the destination tree), please provide an instance property on the node object, there is no other way for jstree to reliably determine which node to use (this is what the DND plugin does).
instance.move_node({
  id : 1,
  instance : the_source_instance,
  ...
})

If I misunderstood - please let me know and I will reopen the issue.
Best regards,
Ivan

In my setup I have two trees side by side from same data source, which means I have nodes with  the same id in both trees.
I got into this issue by dragging from one tree to another.
Here is my scenario:

Both trees load data dynamically as nodes are open
Node B is child of node A
Node A is open on right-side tree, but close on left-side tree (whch means left-side tree doesn't know anything about node B yet)
I move node X from left tree to right tree, and place it under B.
At this point node X moves to B on right-side tree, but X on left stays in place and I see and error in console at L3592 -  'Cannot read property 'children_d' of undefined'

This is due to the fact that node object X from left tree has been modified in .move_node() called on right-side instance, and now it's .parents property contains a new chain of parents from right-side tree that are missing on left (B is not laoded on left yet, cause A is closed). Even if I don't get the error in the console, (say A is open on left), there is something wrong happening if .delete_node() on left does stuff with .parents from right.

I have to add that is doesn't ahppen all the time. In my tests B had one more child C, and I notice a relation between DND and the issue:

A is closed on both sides (contains at least one child node B)
I drag X from left to right, and drop X into A before A loads & opens.

Thanks, I was able to reproduce, I am on it.

I found another quick fix.
Clone foreign_node in .move_node(foreign_node):
obj = obj && obj.id ? $.extend(true, {}, obj) : this.get_node(obj);

With this I can't reproduce the issue.

Sorry, cloning is not an option, as with the previous idea - it will cause a lot of issues (aside from the performance penalty, which will be the minor problem).
Everything should be fine with the latest commit. It is a rewrite of the foreign move / copy operation and is generally cleaner.
Best regards,
Ivan

I just tested your last commit and the issue seems to be fixed.
Thanks

After last commit I get another error.
When I move some node to the top-most one, I get "Uncaught TypeError: Cannot read property 'parents' of undefined" in L6947

http://vakata.eu/jstree/ - please provide steps to reproduce.

I'm not able to reproduce it here.
Even in my working setup it doesn't always trigger the error, but it happens very often.
If it happens, I can't move to that node any more until a refresh.
I'll try to find steps to reproduce this.

Please describe the steps and share your types config - it must be relevant. By describe I mean - grab a node from tree A, and drop it above the first root of tree B, then try dragging the newly dropped node, etc. Something like that so that I can try reproducing.

OK, I got it. It really is the reference as you suggested - the types plugin is checking for the foreign node in the local node collection. But since it is quite late here I prefer to fix this after resting, so I will fix this first thing tomorrow - hope it is not too late.

I still can't find the steps to reproduce.
Here is my config:
$tree.jstree({
  'core' : {
    'themes' : { 'stripes' : true }
  , 'data' : function (node, done) { ... }
    , 'check_callback' : function(){ ... }
    , 'multiple': true
  }
  , 'plugins' : ['dnd', 'contextmenu', 'search', 'types', 'wholerow']
  // Plugins settings
  , 'search': { ... }
  , 'dnd': {
    'always_copy': false
    , 'copy': true
    , 'drag_selection': true
    , 'is_draggable': function (nodes) { ... }
  }
  , 'types' : {
      '#' : {
        'valid_children' : ['root', 'trash']
      },
      'root' : {
        'valid_children' : ['dir', 'tab']
      },
      'trash' : {
        'valid_children' : ['dir', 'tab']
      },
      'dir' : {
        'valid_children' : ['dir', 'tab']
      },
      'tab' : {
        'max_children' : 0,
        'max_depth' : 0,
        'icon' : 'glyphicon glyphicon-file',
        'valid_children' : []
      }
  }
  , 'contextmenu': {
      'items': function(){ ... }
  }
})

I'm basically draging dir onto dir and get the error, even in one tree (on right tree so far).
The error logs multiple times, as I drag the dir over other dir nodes, which makes me think it has to do with types, as you mentioned.
Unfortunately I'm new to this library and don't know the inner working of it.
Thank you @vakata again for your support and quick responses.
Have a good night!

It looks like the issue is gone.
I decided to not use types plugin and replaced it with a custom check_callback() function, which does exactly what I need. Without the types plugin the issue were gone. Now I enable back types, use same old configuration, and can't reproduce the issue any more.

Great, thanks. Sorry of the delay and thank you for your patience.
Best regards,
Ivan


The GitHub link may be replaced by the GitHub Icon

Feature description
The GitHub link(Under - Contact Us) to this page is in for of text which can be replaced by its icon, which will add to attractiveness of the site.

Hi @SauravMukherjee44
Please assign me with this issue .
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Go for it!

can you assign this to me

Under Contact Section:
We can change link (LinkedIn, Github, Twitter, YouTube) written in text form to their icons it is a visual invitation to users to try out the latest and greatest features of any Web application. And due to this our website will look more attractive.
@SauravMukherjee44 Hey, please assign this an issue to me.

On the home page, icons are not added for the same which I have mentioned above. Its written in text form.


Improve CSS/Design implementation

Right now things look okay in ideal conditions, but rough when dynamically changed. It would be good to improve these issues.
Of note -

[x] The logo shrinks too fast and becomes unreadable
[x] Policy page is pretty rough

Fixed logo issue by making hamburger menu when page becomes a certain size. Will be in staging soon, currently in footnotes&misc branch

Did some small work on the policy page. It's in an acceptable stage right now and would just need legitimate design work for improvement going to close this ticket until we have that meeting


Consistent docs and project structure

This is a multi-project set of PRs:

TranscribersOfReddit/ToR_Flair#3
TranscribersOfReddit/ToR_Archivist#2
TranscribersOfReddit/tor_core#10
TranscribersOfReddit/ToR_OCR#8
TranscribersOfReddit/TranscribersOfReddit#62

All of these pull requests center around the same concept: updating documentation and tooling to be a unified front.

waffle.io badges were used inconsistently
some references to the repository A when repository B was the intended target
messy dependency tracking
license files varying between LICENSE and LICENSE.txt, referencing a copyright holder as TranscribersOfReddit, which is not a legal entity.
... and so on

This merges all of that into a set of clean instructions, descriptive... well, descriptions, and making as much use of setup.py as possible (instead of the split standard with requirements.txt).

Merging due to no activity in 11 days and holding up cloud hosting migration.


Error: Cannot find module 'esbuild'

Description

After Run  npm run dev I got Error: Cannot find module 'esbuild'

Possible solution(s)

Additional context

Thanks for reporting, @EslamAsHhraf. @git-anurag-hub, @JaeAeich, @SalihuDickson: can you pls check what's going on here? :pray:

@JaeAeich Thanks, I don't run on the root.♥♥


F821: Support annotations with yet-to-exist names with from __future__ import annotations

Example code:
from __future__ import annotations

class X:
    @classmethod
    def factory(cls) -> X:
        return cls()

Output:
❯ ruff repro.py
repro.py:6:25: F821 Undefined name `X`

Found 1 error(s).

Note that this should only be considered valid when the annotations future import is present.

Note that this applies to any annotations, not just return values, e.g:
from __future__ import annotations

ROOT: Node | None = None

class Node:
    parent: Node

❯ ruff repro.py
repro.py:4:7: F821 Undefined name `Node`
repro.py:8:13: F821 Undefined name `Node`

Found 2 error(s).


Doesn't work on 1.18 but marked as 1.18 mod on Modrinth

But in metadata only 1.19 allowed so it doesn't load on 1.18.2
https://github.com/Roundaround/mc-fabric-pickup-notifications/blob/32c72f66eed6bc1a204b0a70165c3baa59d995ec/src/main/resources/fabric.mod.json#L31
Same problem with your other mods

Make sure that you're downloading the 1.18.2 version. Unfortunately in Modrinth the download button next to each version only downloads the .jar marked as "primary", which at the moment for my mods is the 1.19 version. If you click on the version name, you'll see all the files for that version, including the 1.18.2 .jar you need.
https://modrinth.com/mod/roundaround-pickup-notifications/version/1.1.0


Authentication Rewrite

If somebody doesn't want to spin up an entire athenz server, we should have authentication be a plugin so they can swap athenz out for another solution, such as ssh keys.

[x] Refactor Athenz auth to be a plugin
[ ] Authenticate requests with JWTs
[ ] Sign in with OAuth

Going to take slightly longer on this one as I do some refactoring to make testing things more easy.
Specifically, github.com/spf13/cobra looks like it is far more amenable to automated testing than urfave/cli.


Relative Paths not working on MJML with mjml-react

Describe the bug

The use of relative paths render broken links on the email recipient
The use of links from images on the web generate broken links on the email, except for the case that these links have a termination which explicitly names an image, with its type (jpg, etc), e.g src="http:://somelink....jpg"

To Reproduce
Relative path does not work:
       <MjmlImage
              width="400px"
              src="./public/Book/Book.png"
            ></MjmlImage>

Only this kind of link that works:
<MjmlImage
              width="400px"
              src="https://image.shutterstock.com/image-photo/bright-spring-view-cameo-island-260nw-1048185397.jpg"
            ></MjmlImage>

Expected behavior
The image should show on the email of the recipient.
MJML environment (please complete the following information):

OS: Windows
MJML Version 4.7.1
MJML tool used: mjml-react 1.0.61

Email sending environment(for rendering issues):

Platform used to send the email: Gmail

Affected email clients (for rendering issues):

Email Client: Gmail
OS: Windows
Browser: Google Chrome

Screenshots

Additional context
I tried using this package and followed the steps for webpack on my next.config.js file (I am using NextJs) but it did not work also.

Hi, we don't maintain mjml-react so you should open your issue on their repo instead.
But if i understand your issue correctly, there is no way that a relative link would work for the recipient, how would they have access to the image file ? You need to host the image somewhere.


[scmProvider] - Github repos with no branches cause scmProvider to fail

Overview
There are basically two problems here:

A single misconfigured repo inside a Github organisation crashes the reconcile loop for an scmProvider
Filtering out misbehaving repos does not work.

What did I expect to happen?

I expect the controller to disregard repositories that do not match the filter.
I expect the applicationset-controller to survive misconfiguration of repositories that are not being targeted.

What happens
Filter does not seem to work
I have an AppSet definition which uses the scmProvider with the following filter:
[...]
        - scmProvider:
            cloneProtocol: ssh
            filters:
              - repositoryMatch: ^dh-

Despite this filter, the applicationset-controller  is throwing out errors while trying to enumerate the branches of a repo called monorepo (which doesn't fit the filters).
Reconciler error
The repo in question not having any no branches. This makes the applicationset-controller fail to reconcile the AppSet definition with the following error:
time="2022-02-15T12:05:32Z" level=error msg="error generating params" error="error listing repos: error listing branches for github-org/monorepo: GET https://api.github.com/repos/github-org/monorepo/branches/main: 404 Branch not found []" generator="&{0xc00050f9a0 <nil>}"
time="2022-02-15T12:05:32Z" level=error msg="error generating params" error="child generator returned an error on parameter generation: error listing repos: error listing branches for github-org/monorepo: GET https://api.github.com/repos/github-org/monorepo/branches/main: 404 Branch not found []" generator="&{map[ClusterDecisionResource:0xc0001856d0 Clusters:0xc000185680 Git:0xc0007bdf50 List:0x3e24b38 Matrix:0xc000524bb0 Merge:0xc000524bb8 PullRequest:0xc0006fd830 SCMProvider:0xc00030e680]}"
time="2022-02-15T12:05:32Z" level=error msg="error generating application from params" error="child generator returned an error on parameter generation: error listing repos: error listing branches for github-org/monorepo: GET https://api.github.com/repos/github-org/monorepo/branches/main: 404 Branch not found []" generator="{<nil> <nil> <nil> <nil> <nil> <nil> <nil> 0xc000532780}"
2022-02-15T12:05:32.856Z	ERROR	controller-runtime.manager.controller.applicationset	Reconciler error	{"reconciler group": "argoproj.io", "reconciler kind": "ApplicationSet", "name": "services-apps", "namespace": "argocd", "error": "child generator returned an error on parameter generation: error listing repos: error listing branches for github-org/monorepo: GET https://api.github.com/repos/github-org/monorepo/branches/main: 404 Branch not found []"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:253
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.0/pkg/internal/controller/controller.go:214

I have a repro using my own org: gzur-org. It's just two repos - one empty and one not.
I think a solution to this would have to perform repository filtering before attempting to fetch all branches.

I think https://github.com/argoproj/applicationset/pull/472 might resolve this.
If you have time to test against your repro org, that would be appreciated! If not I'll try to get to it asap.

Actually I was super curious, so I tested. 😆 #472 does solve the problem if you add a filter. But it still fails if you don't have a filter.
I'll write up a test and see if it's reasonably easy to handle no-branch repos.


feat: Add connectors card and service category label

Adds a new connectors card to the overview page per https://issues.redhat.com/browse/MGDCTRS-645
Also adds service labels to all cards on the overview page.

@srambach Please update the product logo on the new RHOC card to be for Connectors instead of Data Science. There is a link to it in the copy doc.

Can we merge this?

:tada: This PR is included in version 1.28.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


moving things around + statics + forking + exec cleanup + fixed cmd_focus return + keep exec programs out of logs

moved struct wlc_interface into handler.c accessable via extern in handler.h
basic forking safety checks, and reduce code duplication.
added signal handler to cleanup dead processes.
added error handling function for checking argument count.
fixed cmd_focus movement function return values.
added FD_CLOEXEC flag to stdout|in|err so programs called with exec dont write stuff to logs
also sorry for the mess of adding a bunch of different stuff.

EXPECTED_MORE_THAN*
And don't use == false, just use !.
It's fine for this pull request, but in the future split up your changes into several.

done. i love sed.

:tada:


Use newStringOfCap in parseStringFast

I don't see any reason to use newString + unsafe ptr UncheckedArray with a template here instead of just newStringOfCap.

this slows down string parsing significantly

@SolitudeSF ok


Error in Crime Data Endpoints Documentation Code

Bug Description
There is an issue with the get_crimes endpoint in the crime data documentation. The code provided is throwing a TypeError when attempting to retrieve query parameters.
@app.get("/crimes")
async def get_crimes(request):
    with SessionLocal() as db:
        skip = request.query_params.get("skip", 0)
        limit = request.query_params.get("limit", 100)
        crimes = crud.get_crimes(db, skip=skip, limit=limit)
    return crimes

**Error:**
skip = request.query_params.get("skip", 0)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument 'default': 'int' object cannot be converted to 'PyString'

Steps to Reproduce
No response
Your operating system
None
Your Python version (python --version)
Python 3.11.3
Your Robyn version
robyn==0.54.5
Additional Info
Corrected Code:
@app.get("/crimes")
async def get_crimes(request):
    with SessionLocal() as db:  # Use SessionLocal here
        skip = request.query_params.get("skip", "0")
        limit = request.query_params.get("limit", "100")
        skip = int(skip)
        limit = int(limit)
        crimes = crud.get_crimes(db, skip=skip, limit=limit)
    return crimes

@sansyrox please CMIIW

Hey @Amaljyothi44 👋
Thanks for raising the issue. Could you confirm your robyn version?

@sansyrox I have updated the version

Hey @Amaljyothi44 👋
One suggestion - please format code snippets using backticks(`) . But apart from that yes, this is definitely an issue. We could fix it like your suggestion, but maybe we can add a cast_to in the request.query_params, which takes a python function callable and tries to cast it to data type.
( https://github.com/sparckles/Robyn/issues/836 )
e.g.
@app.get("/crimes")
async def get_crimes(request):
    with SessionLocal() as db:  # Use SessionLocal here
        skip = request.query_params.get("skip",cast_to=int, default=0)
        limit = request.query_params.get("limit", cast_to=int, default=100)
        skip = int(skip)
        limit = int(limit)
        crimes = crud.get_crimes(db, skip=skip, limit=limit)
    return crimes

What do you think of this approach?

Hi @sansyrox  👋
Thanks for the suggestion! The cast_to argument isn't supported in request.query_params.get, which is causing an error
skip = request.query_params.get("skip",cast_to=int, default=0)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 TypeError: QueryParams.get() got an unexpected keyword argument 'cast_to'

Hey @Amaljyothi44 ,
The suggestion is to implement it 😄

@sansyrox ohhh, sorry 😅,
I agree that using cast_to in request.query_params is a more efficient and cleaner approach.

@Amaljyothi44 , would you like to take that up?

@sansyrox Sure, I'm working on it.

Hey @sansyrox 👋,
Sorry, I think no need for cast_to argument, changing the data type of the default value will fix the bug more effectively.


Support the SymCrypt provider for OpenSSL

This is an umbrella issue to track support for the SymCrypt provider for OpenSSL (SCOSSL). SCOSSL is the the default provider in Azure Linux 3, so we (the Microsoft maintainers of golang-fips/openssl) are very much interested on supporting SCOSSL as a first class target.
SCOSSL does not implement all algorithms supported by this repo, e.g. HMAC-SHA224, and also makes some assumptions that are incompatible with how we use the OpenSSL API. We should revist our assumptions and fix whatever needs fixing.
List of known issues/tasks:

https://github.com/golang-fips/openssl/pull/154
https://github.com/golang-fips/openssl/pull/155
https://github.com/golang-fips/openssl/pull/159
https://github.com/golang-fips/openssl/pull/161
https://github.com/golang-fips/openssl/pull/163
https://github.com/golang-fips/openssl/pull/167
https://github.com/golang-fips/openssl/pull/175
https://github.com/golang-fips/openssl/pull/178
https://github.com/golang-fips/openssl/pull/184
https://github.com/golang-fips/openssl/pull/185
https://github.com/golang-fips/openssl/pull/186
https://github.com/golang-fips/openssl/pull/187
https://github.com/golang-fips/openssl/pull/188
https://github.com/golang-fips/openssl/pull/191
https://github.com/golang-fips/openssl/pull/194
https://github.com/golang-fips/openssl/pull/206
https://github.com/golang-fips/openssl/pull/207
https://github.com/golang-fips/openssl/pull/211

Done!


Electron updates 2024-04-03

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

New releases are out, I'll add them later today.

@yu-re-ka ready for review. Anything missing here from your perspective?


linode-cli: Remove update check

Upon every API call, this program will check the API version and make a
request to PyPi to check the latest version and, if not latest, will
show a warning like

The API responded with version 1.2.4, which is newer than the CLI's
version of 1.2.3.  Please update the CLI to get access to the newest
features.  You can update with a simple pip install --upgrade linode-cli

This is not really useful with Nix, as the update message is wrong. And
connecting to a third-party on each usage is not desired, either.
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 166880 run on x86_64-linux 1

1 package built:

linode-cli


#Bodhi Please provide the source code of the authoring tool

Please provide the source code of the authoring tool

We haven't got your reply since 5 days. We need the source code for the bower components (collection-editor-iframe, content-editor-iframe and generic-editor-iframe) which are minified. We need it to customize the player and the authoring tool.

@Anupama7879 noted. this is not yet an open-source component. will track this along with the request for the player code in https://github.com/project-sunbird/sunbird-portal/issues/65


Add originaldate and originalyear fields

This shouldn't be merged until Max merges https://github.com/MaxKellermann/libmpdclient/pull/1 and confirms it'll be part of libmpdclient 2.12 (and also my corresponding patch for MPD).
Just putting this here so it can be reviewed, for now.

My patches to MPD and libmpdclient have been merged. I've rebased this on master. Ready for review and merge!

Rebased again.

Unsure about the actual implementation. Does this field shadow the original date field?

It will sometimes exist and sometimes not, if that's what you mean. For sorting purposes I have originaldate falling back to the date field where necessary, but not for viewing purposes. I think this gives the best functionality in the cases I can think of.

Are anyone interested in seeing the re-issue year instead of the original year of release? If yes, then differing between these two fields as you have done here is a good choice. If no, it should be an option (set originaldate).

I personally want to see both. I have quite a few albums in their original release and also as a re-issue, and I want it to be obvious which is which, yet have them sorted right next to each other.
Does that answer your questions?


merge package template from Kronos-Tools/npm-package-template

Updated standard to latest version

Codecov Report

Merging #73 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #73   +/-   ##
=======================================
  Coverage   83.33%   83.33%
=======================================
  Files           1        1
  Lines          12       12
=======================================
  Hits           10       10
  Misses          2        2

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 82e47db...a3eee1d. Read the comment docs.


Consider ignore abstract classes in the data:cache-structures command

I have some abstract classes extending Data with a partial implementation:
abstract class ReceptoresDirectorioData extends Data
{
    public DataCollection $receptores;
}

The command php artisan data:cache-structures fails with the Exception CannotFindDataClass: Data collection property receptores in ... has an annotation that isn't a data object or is missing an annotation.
Moving this to a PHPDoc fixes the issue for my case, but I think in general the cache command should ignore abstract classes.

Could you test this in v4, I think we stopped throwing these exceptions.


Update docker.io/projectsyn/kapitan digest to 3371506 - abandoned

This PR contains the following updates:

Package
Update
Change

docker.io/projectsyn/kapitan
digest
1cc6b83 -> 3371506

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox. ⚠ Warning: custom changes will be lost.

This PR has been generated by Renovate Bot.

Autoclosing Skipped
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.


Update conditional install step typo in README.md

Description
The example step for conditional workflow steps was incorrect
Motivation and Context
My pipeline kept installing dependencies on cache-hits when following the README.
How Has This Been Tested?
This change fixed my pipeline
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation (add or update README or docs)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

I've tried recreating the issue I had, but I've come to the conclusion that I must have managed to changed something else at the same time i was changing to the {{ }} syntax without realising it.
Apologies for the PR, I will be closing it now.


Libraries using i18n are not translated in Angular 17 apps with build-angular:application

Which @angular/* package(s) are the source of the bug?
localize, Don't known / other
Is this a regression?
Yes
Description
When a component using i18n and a directive with inputs with custom service for translation/localization purposes is packed as a library and installed in an Angular 17 project, translations no longer work (only default English values are populated).
Same code works in components that are defined in the application (not installed as a separate library/package), and the translations also work with "browser" build (with some additional configurations):
"architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser"

Everything also works as expected when updating Angular 16 application to 17, but not when installing the packages in a newly created Angular 17 application, so it seems the issue is caused by the new default build system - https://angular.io/guide/esbuild.
Reproduction:
Archive.zip

unzip
npm i
ng serve -o --configuration=es

Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
No response
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 17.1.1
Node: 18.18.2
Package Manager: npm 9.8.1
OS: darwin x64

Angular: 17.1.1
... animations, cli, common, compiler, compiler-cli, core, forms
... localize, platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1701.1
@angular-devkit/build-angular   17.1.1
@angular-devkit/core            17.1.1
@angular-devkit/schematics      17.1.1
@schematics/angular             17.1.1
rxjs                            7.8.1
typescript                      5.2.2
zone.js                         0.14.3

Anything else?
Related issue:
https://github.com/telerik/kendo-angular/issues/4195

Sounds like a duplicate of #26350


VSCode extension fail test

Great work with this repository, very useful!
I think there is an issue with
https://github.com/atc-net/atc-winget-configurations/blob/80aef2d943af4b8bd7e75ac9c343f18e1331cf5d/configurations/configuration.dsc.yaml#L140
It fails:
Apply :: Script [VisualStudioCode Extensions]
  The configuration unit failed while attempting to test the current system state.
System.InvalidOperationException: The test script threw an error.
 ---> System.Management.Automation.CommandNotFoundException: The term 'code' is not recognized as a name of a cmdlet, function, script file, or executable program.…
<See the log file for additional details>

Looks like we need the env reload for test as well, because the test already executed the newly installed code:
TestScript: |
          # Ignore deprecation warnings & reload path
          $env:NODE_OPTIONS="--no-deprecation"
          $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")

Hi @anarion80,
I tested on my VM, and cannot get it to fail.
Tried in both Windows Powershell v. 5.1.22621.3880
Aswell as Powershell Core v. 7.4.5
Down-scaled version with only Npp, VSCode + extensions:

Full run (where wsl failed though - but not VSCode)

Thanks. When running via setup.ps1 and then Run Script then it indeed works.
I did winget configure .\configuration.dsc.yaml --accept-configuration-agreements and this seems to run Test first Then Run and therefore fails.

Thanks. When running via setup.ps1 and then Run Script then it indeed works.
I did winget configure .\configuration.dsc.yaml --accept-configuration-agreements and this seems to run Test first Then Run and therefore fails.

Thank you - now i got the error aswell - added a fix now :)


Fix relocate or failover flow is blocked from UI

When someone updates preferred cluster on the DRPC manually from CLI, Then UI is blocking the failover or relocate flow.
UI should not depend on the preferred cluster to decide the target cluster.
Fetch the target cluster from PlacementRule CR to decide to block or unblock the failover and relocation flow.

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2143439
Signed-off-by: Gowtham Shanmugasundaram<EMAIL_ADDRESS>

/test odf-console-e2e-aws

/hold cancel

for both the files "data-policies-status-popover.tsx" and "failover-relocate-modal-body.tsx":
I can see u split single "useMemo" into three diff "useMemo", still for majority of cases all three "useMemo" will gonna run for the same re-render, we are not saving computation instead adding more hooks for the React to take care of.
So, I would say its better to have only a single "useMemo" as all three current "useMemo" are interdependent.
For reducing the size of dependency array we can do the same u have done right now, combining "loaded" and "error" into a single variable and passing that.

for both the files "data-policies-status-popover.tsx" and "failover-relocate-modal-body.tsx": I can see u split single "useMemo" into three diff "useMemo", still for majority of cases all three "useMemo" will gonna run (within same re-render). We are saving little computation, but we are adding more hooks (which are dependent on one another as well) for React to take care of which could affect the performance. So, IMO its better to have only a single "useMemo" like before, as all three current "useMemo" are interdependent (mostly).
For reducing the size of dependency array we can do the same u are doing right now, combining "loaded" and "error" into a single variable and passing that.

But the logic which I used inside each hook is the problem, I dont want to loop again and again when anyone got changed. especially subscription is keep triggering the render.
it is not much only 3 hooks. also, i dont want to do any refactoring for backport. it leads to new bug.

/approve
/lgtm

/cherry-pick release-4.12

/cherry-pick release-4.12-compatibility

/test odf-console-e2e-aws


Camera-driven render to texture breaks when the texture size is changed

Bevy version
v0.8.0, still there on main<PHONE_NUMBER>1828e84bfc63cf8e151e2805e9d278)
The problem
Changing the size of an Image asset which is used as a render target causes a panic. This can be worked around by using set_changed the Projection of the camera.
Additional information
This bug seems to be caused by AssetEvents being processed after PostUpdate where the camera_system lives. This causes the camera_system to miss the change to the texture, leading to a mismatch between the values used for the texture size in different parts of rendering. Setting change detection of Projection solves this by forcing an update regardless.
Potential fix
The ordering of AssetEvents might need to be pulled forward, potentially into PostUpdate, with a particular label.

You don't mention the panic message, but this looks like a duplicate of https://github.com/bevyengine/bevy/issues/5595

Whoops!