added graph for movie earnings per league

Might want to separate this into an extra page cause it takes up most of the screen on league home page now

I can only speak to how we use it but generally the graph is the main attraction, so it would be cool to leave it on the league landing page. One thing I can try doing is shortening the graph, dropping the legend and somehow putting the legend colors in the standings. How does that sound?

This is fantastic, @minime283
Definitely the main attraction of the league page. I also love that it looks like the team colors look like they won't be switching around as the season develops. That made the old graphs confusing sometimes.
Another cool graph might be daily earnings, non-cumulative.

As for the visuals, what about the key in the top-left corner? That corner should always be open. Here's an example that puts the key on the graph, as well as showing data on hover which might be nice:
http://www.flotcharts.org/flot/examples/interacting/index.html

so regarding the legend specifically, the reason I took it out of the graph is the foundation css was clashing with the chart CSS, and CSS is not my strong suit.


[ +119 ms] I/Ads     (12444): Ad failed to load : 3
[   +1 ms] I/System.out(12444): onAdFailedToLoad errorCode = 3
[  +12 ms] I/art     (12444): Do partial code cache collection, code=34KB, data=62KB
[  +17 ms] I/art     (12444): After code cache collection, code=34KB, data=62KB
[   +1 ms] I/art     (12444): Increasing code cache capacity to 256KB
[  +16 ms] D/libc-netbsd(12444): getaddrinfo: exemple.com get result from proxy gai_error = 0

[+1408 ms] D/ActivityThread(12444): EYE startEyeVerifyBroadcast packagename=com.exemple.myapp; ClassName=com.exemple.myapp.MainActivity
[   +9 ms] V/PhoneWindow(12444): DecorView setVisiblity: visibility = 0, Parent = ViewRoot{b592ea1 com.exemple.myapp/com.exemple.myapp.MainActivity,ident = 0}, this =
DecorView@2e81397[MainActivity],statusBarBackground visible =true,statusColor: 0x40000000->
[ +120 ms] V/InputMethodManager(12444): onWindowFocus: io.flutter.embedding.android.FlutterView{9adc6bb VFE...... .F....I. 0,0-720,1280} softInputMode=16 first=false flags=#81810100
[+1223 ms] D/SQLiteConnection(12444): executeForChangedRowCount took 726ms - succeeded, sql="INSERT INTO t_type_event (id, designation) VALUES (?, ?)", changedRows=1

Hi @elikyalk
This is just an example link but if you're using your own backend with self defined security certificates, you need to add them in your code . Please check https://stackoverflow.com/a/54110360 https://stackoverflow.com/questions/59622087/flutter-https-with-self-signed-certificate
Hope this helps, TrustManager can also be seen in native Android when uploading app to play store so this isn't directly related to Flutter itself

Hi @TahaTesser !
Where can I redeem this code? In which part of my code should I integrate it? I tried to use it in the main one before any internet connection and I put the app on google play I get the same vulnerability

Hi @elikyalk
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

Having the same problem here.

No self signed certificates
The app is already published
The only new Plugin is firebase_messaging: ^7.0.0 (no upgrades either)


Add support for openblas

This change adds support for openblas - works if you build openblas and install with
make install PREFIX=/root/openblas
Then configure jblas like so:
./configure --static-libs --libpath="/root/openblas/lib"  --download-lapack --lapack-build
cc @shivaram

Hi,
very cool. Sorry, took me forever to look at this pull request.
Very nice. Looks like peak performance is similar, but openblas performs much better already for small matrix sizes.
Thanks!
-M

In the version on and after 1.2.4, use --build-type is ok.
./configure --static-libs --libpath=$HOME/openblas/lib --build-type=openblas

Hi, I'd like to create a jar file wrapped with openblas.
Here is what I did:

Cloned the master branch of this project
./configure --libpath=/usr/lib --libs=openblas,lapack --download-lapack --build-type=openblas
configure.log can be seen here: http://pastebin.com/mzSwwZVD
make
make all-jars
Unfortunately, I got error. Here is the log: http://pastebin.com/qFL9BneJ

java-blas project in build.xml doesn't have lean-jar. Any idea?

I managed the make use of openblas by doing the step 1, 2, 3 and then ant dynamic-lean-jar. This last command provides a jar file (whose name is jblas-dynamic-{OS}-{ARCH}-{VERSION}.jar. This jar file uses the other CPU in the machine (of course you have to export necessary environmental variable (most likely: OPENBLAS_NUM_THREADS).
But please help me understand these:

why neither make all-jars nor make all-static-jar didn't work (except lean-jar does not exist in the java-blas project)?
the jar file created by ant dynamic-lean-jar works but why the jar file which is built by ant static-lean-jar doesn't work?

Thanks!

Hi Osman,
Sorry, the ant stuff is pretty old and probably doesn't work anymore.
Preferred way to build it now is to use make for the native part and maven
for the java part.
-M
Osman Başkaya<EMAIL_ADDRESS>schrieb am Fr., 23. Okt. 2015 um
23:03:

I managed the make use of openblas by doing the step 1, 2, 3 and then ant
dynamic-lean-jar. This last command provides a jar file (whose name is
jblas-dynamic-{OS}-{ARCH}-{VERSION}.jar. This jar file uses the other CPU
in the machine (of course you have to export necessary environmental
variable (most likely: OPENBLAS_NUM_THREADS).
But please help me understand these:

why neither make all-jars nor make all-static-jar didn't work
(except lean-jar does not exist in the java-blas project)?
the jar file created by ant dynamic-lean-jar works but why the jar
file which is built by ant static-lean-jar doesn't work?

Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/mikiobraun/jblas/pull/51#issuecomment-150692151.


Vertically Stacked Charts sharing X-Axis

Probably a long shot but it would be great to have a way to stack charts so that there are multiple y-axes all sharing a single x-xis (example below).  This type of chart is great for comparing different types of data clearly without overlapping multiple y-axes.

Any tips to get started with a plugin?

@tuckwat you might get away with having 4 separate graphs but only showing the x axis on the bottom one. You could write something that makes sure the min/max of the other 3 are synchronized to the graph with a visible axis.

Closing since my answer above is the best way to do this. I think the plugin would need to read some custom settings that link the charts together. Once v2.5 releases, you'll be able to add plugins to individual charts which makes this easier to do

The above solution works when the ylables for all panels have the same widths. The y-axes won't line up when the labels have different widths. I use afterFit callback to line them up.
var ylabelwidth = 0;

// panel 1
options: { scales: { yAxes: [ { afterFit: function(scaleInstance) { if ( ylabelwidth < scaleInstance.width) {ylabelwidth = scaleInstance.width} else {scaleInstance.width = ylabelwidth;}},},]}}
// panel 2
options: { scales: { yAxes: [ { afterFit: function(scaleInstance) { if ( ylabelwidth < scaleInstance.width) {ylabelwidth = scaleInstance.width} else {scaleInstance.width = ylabelwidth;}},},]}}
// panel 3
options: { scales: { yAxes: [ { afterFit: function(scaleInstance) { if ( ylabelwidth < scaleInstance.width) {ylabelwidth = scaleInstance.width} else {scaleInstance.width = ylabelwidth;}},},]}}

// draw and get max ylabel width
c1 = new Chart(ctx1, config_pnl);
c2 = new Chart(ctx2, config_mwh );
c3 = new Chart(ctx3, config_mwh );

// redraw
c1.destroy(); c2.destroy(); c3.destroy;
c1 = new Chart(ctx1, config_pnl);
c2 = new Chart(ctx2, config_mwh );
c3 = new Chart(ctx3, config_mwh );

Sorry for responding in a closed issue.
Is there a best practice since v2.5 for creating stacked charts with a shared axis?

Has anyone implemented this logic including zoom and pan support?

In V3 you can use stacked Y axis to achieve this result: https://www.chartjs.org/docs/3.7.0/samples/scales/stacked.html

@LeeLenaleee Thanks. This really covers my needs. Just one point: Is there a way to increase the offset between stacked Y axes? It seems that the "offset" option is a boolean and can't config the amount of offset?

You could add an extra axis just for spacing, don't know any other way


🔭 Add option --path for Plans command

Is your feature request related to a problem? Please describe.
It can be useful to keep common plans.yml under git and also have one private plans file per user.
Describe the solution you'd like
To implement that strategy we need to add --path option for ✈ Plans command.
Need to think about expanding different shell shortcuts like ~.
Describe alternatives you've considered
I didn't see other solutions to that problem.
Additional context
Discussions: #95

I've implemented this feature in 🏈 Remastered (Early Beta).


Why does all children get re-rendered when they have @ChildContent but only one is updated from parent?

Describe the bug
In case 1, when a component/page (parent) contains children, that have a ChildContent parameter, and when the parent changes a parameter of one of the children, all children gets re-rendered. If the child changes that parameter itself, then only that child gets rerendered.
In case 2, when a component/page (parent) contains children, that does NOT have a ChildContent parameter, and when the parent changes a parameter of one of the children, only that child gets rerendered.
Why is that? It seems to be a bug.
To Reproduce
Using VS 2019 16.2.0 preview 1.0 and ASP.NET Core Preview 5, with the following code for each case, I am able to produce the log output shown below.
Case 1 code - parent component:
@functions {
    protected override void OnAfterRender()
    {
        Console.WriteLine($"Parent: OnAfterRender");
        base.OnAfterRender();
    }

    private void ToggleFirst()
    {
        Console.WriteLine("Parent: ToggleFirst clicked!");
        FirstChildVisible = !FirstChildVisible;
    }

    private bool FirstChildVisible { get; set; } = true;
}
<button class="btn btn-primary" onclick=@ToggleFirst>Toggle first</button>

<Child id="c1" Visible=@FirstChildVisible>c1</Child>
<Child id="c2">c2</Child>

Case 1 code - child component:
@functions {
    protected override void OnAfterRender()
    {
        Console.WriteLine($"Child: OnAfterRender {Id}");
    }

    private void Dismiss()
    {
        Console.WriteLine($"Child: Dismiss {Id}");
        Visible = false;
    }

    [Parameter]
    public RenderFragment? ChildContent { get; set; }

    [Parameter]
    public string Id { get; set; }

    [Parameter]
    public bool Visible { get; set; } = true;

    private string ShowCssClass => Visible ? "show" : "";
}

    ALERT: @ChildContent
    <button type="button" class="close" data-dismiss="alert" aria-label="Close" onclick=@Dismiss>
        ×
    </button>

Case 1 console output:
Parent: ToggleFirst clicked!
Parent: OnAfterRender
Child: OnAfterRender c1
Child: OnAfterRender c2
--
Parent: ToggleFirst clicked!
Parent: OnAfterRender
Child: OnAfterRender c1
Child: OnAfterRender c2
--
Child: Dismiss c2
Child: OnAfterRender c2
--
Child: Dismiss c1
Child: OnAfterRender c1
--
Parent: ToggleFirst clicked!
Parent: OnAfterRender
Child: OnAfterRender c1
Child: OnAfterRender c2

Case 2 code - parent:
@functions {
    protected override void OnAfterRender()
    {
        Console.WriteLine($"Parent: OnAfterRender");
        base.OnAfterRender();
    }

    private void ToggleFirst()
    {
        Console.WriteLine("Parent: ToggleFirst clicked!");
        FirstChildVisible = !FirstChildVisible;
    }

    private bool FirstChildVisible { get; set; } = true;
}
<button class="btn btn-primary" onclick=@ToggleFirst>Toggle first</button>

<Child id="c1" Visible=@FirstChildVisible />
<Child id="c2" />

Case 2 code - child:
@functions {
    protected override void OnAfterRender()
    {
        Console.WriteLine($"Child: OnAfterRender {Id}");
    }

    private void Dismiss()
    {
        Console.WriteLine($"Child: Dismiss {Id}");
        Visible = false;
    }

    [Parameter]
    public string Id { get; set; }

    [Parameter]
    public bool Visible { get; set; } = true;

    private string ShowCssClass => Visible ? "show" : "";
}

    ALERT:
    <button type="button" class="close" data-dismiss="alert" aria-label="Close" onclick=@Dismiss>
        ×
    </button>

Case 2 console output:
Parent: ToggleFirst clicked!
Parent: OnAfterRender
Child: OnAfterRender c1
--
Parent: ToggleFirst clicked!
Parent: OnAfterRender
Child: OnAfterRender c1
--
Child: Dismiss c2
Child: OnAfterRender c2
--
Child: Dismiss c1
Child: OnAfterRender c1
--
Parent: ToggleFirst clicked!
Parent: OnAfterRender
Child: OnAfterRender c1

Expected behavior
For case 1, I would expect only child 1 c1 to need to be re-rendered, and I guess the parent as well, like it works with case 2.
Screenshots
If applicable, add screenshots to help explain your problem.
 A RenderFragment is a delegate, so its output could change each time it is invoked. Blazor has no way to predict whether your child content render fragments are going to produce the same output or not, so it has to execute them in case the output changes.
Basically, rerendering starts at a certain point in the tree, and refreshes everything below that point that might have changed. Then the diffing algorithm figures out what actually did change and applies a minimal set of updates to the DOM.

Ok, thanks for the response.
So I general, if a parent has code that is triggered though UI trigger or from a child component by a bound value/paramter/eventcallback, it will rerender itself AND any child components that are directly affected or have a ChildContent parameter?

Close. It will render any children for which there are parameters whose values might have changed. This means any parameters other than immutable primitives like string, int, etc, since there’s no way to know if complex objects have mutated internally.

Thanks again.
I guess you could add immutable collections to that whitelist, as long as they hold other immutables, like the primitives you mention. Perhaps also readonly structs in the future, but I guess detecting those at runtime will require reflection which might not give an overall benefit with performance.


License Discrepancy - API vs GUI

I'm having trouble running python functions as they trip a runtime error with "License is not valid. Please supply a valid license."
From the GUI it shows that the core license count is 1, but through the API it says it is 0. I'm running Python 2.7.15 (64-bit) on Arch Linux. I'm using the student edition of Binary Ninja.
>>> import platform
>>> print(platform.architecture())
('64bit', 'ELF')

Unfortunately, use of the API requires a commercial license. The personal/student license gives access to all it's functionality, just from within the console in Binary Ninja.


Add workaround for unhandled  gmake jobserver flags in c_check/f_check

fixes #2616

What's wrong with unsetting envs?

Going for minimal required change here - some system actually expecting to link lib1234.so seems much less likely than some combination of environment variables actually being vital for someone.

But it seems more likely that some other make arguments will look like compiler arguments.

Did not come across any so far.

What does "so far" mean? If it is about no one having hit this then that's not an argument since no one was printing it until GCC 10. If it's from reading of make flags then AFAICT -L is an example of make flag that can be incorrectly intnterpreted. -R seems like one too.


fs: compaction

Looks good, please rebase on top of our branch and feel free to merge. (if there are leftover fixup commits, let's squash them)


$this->PageTitle is not working

I receive only 500 internel error on doing echo of $this->pageTitle.

index.php
// Test page
$klein->respond('/test', function ($request, $response, $service) {
    $service->pageTitle = 'Home page';
    $service->render('views/test.php');
});
$klein->dispatch();

test.php
<?= $this->pageTitle; ?>

Probably need to start by looking at the error output.  Depending on your server's PHP config, it might be in the body of the response, or it might be in your Apache/Nginx logs.
At first glance, that code looks fine.  Not that many moving parts here, which is nice.  Maybe it can't find test.php?  I can't remember how it handles relative paths.  That has tripped me up in other situations, so I'm kind of paranoid about it now.  I generally use __DIR__ all the time to be safe:
$service->render(__DIR__.'/views/test.php');

I think some PHP configs also disable the <?= syntax in favor of the more verbose <?php echo.  Not a fan personally, but people do it.  If that's the case, you'd need to tweak your PHP config, or use the more verbose syntax.
Those are my 2 best guesses.  The error output should make it clear if it's either of those things, or something entirely different I've failed to notice.

Thank you for the reply. I fixed that by updating .htaccess by following
<IfModule mod_rewrite.c>
    Options -MultiViews

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>


Add fonts-liberation dependency

I tried the docker-drawio-desktop-headless as a GitHub action (using https://github.com/rlespinasse/drawio-export-action) and it worked like a charm. However, the current docker-drawio-desktop-headless uses system fonts and these fonts are very limited in docker instances. I understand why this is the case - limiting storage usage - but could you please add the fonts-liberation package here https://github.com/rlespinasse/docker-drawio-desktop-headless/blob/v1.x/Dockerfile#L7?
The problem is that the default font (Helvetica-12pt) in drawio is not available by default in the docker image, and thus, the resulting PNG images look ugly (with some strings drawn out of the boxes)
Example:
This is what I get after running drawio-export-action: (look at the "Berkeley" node on the right side of the picture)
This is what I would expect:

Thanks for your work and help

:tada: This issue has been resolved in version 1.9.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

The additional fonts are available on

https://github.com/rlespinasse/drawio-export/releases/tag/v4.8.0
https://github.com/rlespinasse/drawio-export-action/releases/tag/v2.6.0


[BUG] ESPHoMaTriXv2 not compatible with ESPHome 2024.10.0

Bug report
Home Assistant Entities Unavailable After ESPHome 2024.10.0 Installation
After updating to the new ESPHome 2024.10 version, the Ulanzi device disappeared from Home Assistant. Only a rolling back to version 2024.9.2 resolved the issue.
While the device remains accessible via the local control URL after the 2024.10.0 installation, its services and entities are unavailable in Home Assistant.
Additional information

used EspHoMaTriXv2 Firmware:

2023.9.1

Confirm

I too have multiple challenges with 2024.10.0 and my Ulanzis.
What I do see is that devices with the newer version seem to work.
See:
https://github.com/lubeda/EspHoMaTriXv2/releases/tag/2024.3.0
external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EspHoMaTriXv2
      ref: 2024.3.0
    refresh: 120m
    components: [ehmtxv2]

(The "120m" caused an error. I changed it to 120min and it installed, don't know if that is correct, though).
But I have additional issues with the integration. It keeps finding my Ulanzis, eventhough they are already configured.
And one really annoying one: My Ulanzis randomly switch identities!
But I'll open a separte one for that,

@clfberlin I attempted to work around the issue by updating to version 2024.3.0 (EspHome 2024.10.0), but unfortunately, it did not resolve the problem. I had to flash back to version 2023.9.1 (EspHome 2024.9.2) and rejoin the Ulanzi device to Home Assistant. By doing that it also changed the swich entity name for me.
BTW the refresh value is in seconds: refresh: 120s not minutes.

Thanks! I have three Ulanzis in use. Let's call them Ulanzi01, Ulanzi02 and Ulanzi03.

phenomenon 1: If I get Ulanzi01 running, it tests out fine. I then update Ulanzi03 (or all three) and suddenly Ulanzi03 is addressed as Ulanzi01 oder Ulanzi02. They just randomly switch identities
phenomenon 2: My Ulanzi integrations are not properly found. I.e. Ulanzi01 is found in integrations. It discoverso Ulanzi02. But when I want to add it, it is 'already configured' (without actually showing up).
There seems to be an issue with MAC addresses (which might be the reason, why all Ulanzis are confused). The one Ulanzi that does appear as an integration has "MAC: FC:3F:00:00:00:00"

All three Ulanzis can be reached via browser. And they react ok there. When I push the left button on Ulanzi02, the state on the page changes accordingly for Ulanzi02.
But when I try to add an Ulanzi that was discovered as an integration, I get the following error(s):
[component:170] | Component api cleared Warning flag
[esp-idf:000] | E (320493) system_api: Base MAC address from BLK3 of EFUSE version error, version = 0
[component:157] | Component api set Warning flag: unspecified

Oh, and another one:
In the integrations only one Ulanzi appears. In the overview it is Ulanzi02. But if click on 'device', it has the name 'Ulanzi01' in the top left corner. This goes hand in hand with the mix up when I add a discovered Ulanzi-integration. From that point on the added Ulanzi02 reacts when I address Ulanzi01.

Hi, can confirm the same Problem here, used also a Ulanzi Device.
external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EspHoMaTriXv2
      ref: 2024.5.1
    refresh: 120s
    components: [ehmtxv2]

tried ref: main, 2024.3.0, 2024.4.1 and 2024.5.1 on each of them i got the error:
ehmtxv2: [source /config/esphome/ke-kueche-esphome-ulanzi.yaml:267]
  id: rgb8x32
  icons2html: True
  matrix_component: ehmtx_display
  time_component: ehmtx_time

  [show_date] is an invalid option for [ehmtxv2]. Did you mean [show_dow]?
  show_date: False
  time_format: %H:%M
  date_format: %d.%m.
.....

He compiles, when i remove the Line "show_date: False", but after the reboot i get a black screen and he reboot each few minutes and in Home Assistant i get always a new device.
<!--StartFragment-->
09:54:00 | [E] | [api:129] | No client connected to API. Rebooting...
10:09:08 | [E] | [api:129] | No client connected to API. Rebooting...
<!--EndFragment-->

@clfberlin This sounds to me like it could be an mDNS issue or an issue with the ESPHome / Home Assistant discovery process.  It's certainly not directly an eHMTX problem.  If this error is due to mDNS, it's going to have this kind of error even if your YAML is barebones.
Why not try a more thorough "cleaning-out" by 1) unplugging ALL clocks, 2) deleting ALL eHMTXv2 clocks from the ESPHome integration (and any entities leftover - double check, not just in the ESPHome integration), 3) reboot your router by unplugging it for a full minute (if it's an mDNS issue this will help), 4) flash one manually via USB (if the integration shows up in HA, nevermind it until flashing is done), 5) when it comes back online, add that one to HA properly... repeat steps 4 and 5 until finished.
I did have a similar problem with mine because I decided to switch names of my clocks and there was some leftover integrations and entities in HA... until I did the above cleaning.
Also, you really should open your own issue instead of hijacking another...
As for the original issue, that sounds very concerning.  Got me a bit worried to upgrade my ESPHome container.  Have y'all tested this out with other devices...?  Does it just affect the EHMTXv2s?

I've got the same problem, but no idea yet where it comes from. I have to check the esphome changelog for hints

@trip5 - Thanks. I already removed the Ulanzis from integration and from ESPHome and reinstalled via USB. That didn't do the job. But what I didn't do was sweep through the system to delete all entities and such. Should be worth a try. And yes, I also considered this to be an ESPHome problem (and it might be). But I do have other devices in there and unlike the Ulanzis, they all have proper MAC-addresses. To me this indicates a problem that ESPHome 2024.10.0 might specifically cause for ESPHoMaTriXv2 (or the Ulanzis in this case).

possible troublemakers from the esphome change-log:
[wifi] Use custom MAC address if programmed esphome#7498 by @kbx81
[wifi] Fix error message when no custom MAC is set esphome#7515 by @kbx81
[wifi] Replace USE_ESP32_IGNORE_EFUSE_MAC_CRC with IDF’s CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR esphome#7502 by @kbx81
Perhaps also the changes to the idf

Downgrade is no option, i think we should watch this: https://github.com/esphome/issues/issues/6333

@idodov Thanks for the input. You are talking about ESPHome downgrade only, right? Because just today I had a major cleanup session in my system, getting rid of many, many obsolete entities and old configuration stuff. ZHA alone involves 100 devices in my household. A full restore of the entire system would be a setback of many clean-up hours. I'd rather sit out the situation and take the Ulanzis out of the game for a while until a proper solution is at hand.
I of course could use a second (backup) system, install the older backup there, flash the Ulanzis and then wait. I would consider that. But the situation is rather fresh and as @lubeda points out, there seem to be other issues as well.
Thanks and cheers!

Downgrade is no option, i think we should watch this: esphome/issues#6333

Yes, that looks promissing.

@lubeda You have any clue what exactly needs to be changed in the YAML file?
It's definitely not this: (or other combinations I tried)
esp32:
  board: esp32dev
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_FREERTOS_UNICORE: y
    advanced:
      ignore_efuse_custom_mac: true
      ignore_efuse_mac_crc: true

got error:
Failed config

light.neopixelbus: [source /config/esphome/pixel.yaml:233]

  This feature is only available with frameworks ['arduino'].
  platform: neopixelbus
  id: ehmtx_light
  type: GRB
  internal: True
  variant: WS2812
  pin: GPIO32
  num_leds: 256
  color_correct:
    - 30%
    - 30%
    - 30%
  gamma_correct: 2.0

Hm. Isn't EspHoMaTriX based on Arduino (rather than ESP-IDF)?

Hm. Isn't EspHoMaTriX based on Arduino (rather than ESP-IDF)?

These options can't be configured for the Arduino framework type, making the current "fix" ineffective for our situation.

Hi,
Arduino vs. ESP-IDF is more a internal compiler/library thing. So, i use these options:
esp32:
  board: "$board"
  framework:
    type: esp-idf
    sdkconfig_options:
        CONFIG_FREERTOS_UNICORE: y
    advanced:
        ignore_efuse_custom_mac: true
        ignore_efuse_mac_crc: true

external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EspHoMaTriXv2
      ref: latest
    refresh: 60s
    components: [ ehmtxv2 ]

With this i have got a working ulanzi.

Using the neopixelbus platform (as demonstrated in the EspHoMaTriXv2 documentation) will not work with with esp-idf. Any suggestion to work around that?
light.neopixelbus: [source /config/esphome/ulanzi.yaml:385]

  This feature is only available with frameworks ['arduino'].
  platform: neopixelbus
  id: ehmtx_light
  type: GRB
  variant: WS2812
  pin: GPIO32
  num_leds: 256
  color_correct:
    - 30%
    - 30%
    - 30%
  gamma_correct: 2.0
  name: ulanzi Light

Yes, same error here. Failed config.

@lubeda How should we address the neopixelbus error?

Thanks for the workaround. What do you set as max_refresh_rate? A definition for $timing cannot be found.

Thanks for the workaround. What do you set as max_refresh_rate? A definition for $timing cannot be found.

works for me with max_refresh_rate: 16ms

I intended to -very proudly- show off my work around I found for all of the same issues I had with my ulanzi TC001. Only to find that you, @lubeda, beat me to exactly the same workaround with 2 days :-). Thanks anyway!

ESPHome 2024.10.1 is here. And it brings (tadah):
[wifi] Support custom MAC on Arduino, too [esphome#7644](https://github.com/esphome/esphome/pull/7644) by [@kbx81](https://github.com/kbx81)
Once the dust settles, I'd linke to get rid of workarounds (eventhough it works great) and back to a solid and reliable configuration.  ^^

Once the dust settles, I'd like to get rid of workarounds (eventhough they work great) and come back to a solid and reliable configuration. ^^

Arduino? Without:
    advanced:
        ignore_efuse_custom_mac: true
        ignore_efuse_mac_crc: true

?

There were several alterations.

external_components
esp32
light

So would it be ok to go back to
external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EspHoMaTriXv2
      ref: 2024.3.0
    refresh: 120s
    components: [ehmtxv2]

as stated in the 2024.3.0 release
and
light:
  - platform: neopixelbus
    id: ehmtx_light
    type: GRB
    internal: true
    variant: WS2812
    pin: $matrix_pin
    num_leds: 256
    color_correct: [30%, 30%, 30%]
    gamma_correct: 2.0
    name: "$devicename Light"
    restore_mode: ALWAYS_OFF

and esp: would be a simple
esp32:
  board: esp32dev

Correct?

Correct?

It seems that only the version of EspHoMaTriX that I have is more up-to-date.

I've encountered additional issues. After updating the firmware, the Ulanzi display switches in Home Assistant went missing. Rebooting the Ulanzi devices restored everything to normal, but they reverted back to firmware 2024.9.2  (After update to 'latest').
I first noticed this after changing the clock display settings to show seconds. After flashing, the seconds appeared, but due to the display issue (unable to turn the clock display on/off), I rebooted the clock and the seconds disappeared. Checking the device settings in Home Assistant, I clearly saw that it was back to the old firmware.

This is the final fix:
esp32:
  board: "$board"
  framework:
    advanced:
        ignore_efuse_custom_mac: true

external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EspHoMaTriXv2
      ref: latest
    refresh: 60s
    components: [ ehmtxv2 ]

light:
  - platform: neopixelbus
    id: ehmtx_light
    type: GRB
    internal: true
    variant: WS2812
    pin: $matrix_pin
    num_leds: 256
    color_correct: [30%, 30%, 30%]
    gamma_correct: 2.0
    name: "$devicename Light"
    restore_mode: ALWAYS_OFF
    on_turn_on:
      lambda: |-
        id(ehmtx_display)->set_enabled(false);
    on_turn_off:
      lambda: |-
        id(ehmtx_display)->set_enabled(true);

Just adding that additionally to the esp32: part did the trick for me, both my Ulanzi's work fine again using ESPHome 2024.10.2.
  framework:
    advanced:
        ignore_efuse_custom_mac: true

This is the final fix:

Confirmed working, thanks!
the only line i still have issues with is ref: latest (throwing these errors with show_date not known etc.)

Hi there, i tried to update the latest config file in the MR above for 2024.12.0: https://github.com/fthiery/EspHoMaTriXv2/blob/2024.12.0/install/ulanzi-easy.yaml#L77
esp32:
  board: "$board"
  framework:
    advanced:
      ignore_efuse_custom_mac: true

While i added the "fix", i now have the problem again (i.e. HA detects the device again, and has 2 devices detected). Is this "hack" still necessary ? Why did the problem come back with my config ?

Those settings are (still) valid. This is due to a change in ESPHome regarding the way it handles MAC addresses. With these settings you should see one entry in Home Assistant per device. Without those settings, HA will confuse devices and/or create multiple entries.

Ok, so if still valid, it should be part of the default install/ulanzi-easy.yaml (for newcomers).
I think that the problem on my side was that i did not click "Clean Build Files" before installing (as suggested in https://github.com/esphome/issues/issues/6333#issuecomment-2440992218)


Error calling API with status code 404

error log
    Error calling API with status code 404 and message "{

    "error": {

    "message": "The model: `gpt-4` does not exist",

    "type": "invalid_request_error",

    "param": null,

    "code": "model_not_found"

    }

    }

    "

what's wrong ? any suggestions ?

@changchichung a fix is in the works.

Closing as duplicate of #13

@changchichung FYI issues should be fixed. I've made the model being used consistent across all plugins based on selection.


[core] CAE support for azure-core

reference : https://github.com/Azure/azure-sdk-for-python/commits/feature/cae
RE: CAE

Closing this in favor of #19365 because feature/cae is out of date.


Support GetRandomBytes in Key Client

As per https://github.com/Azure/azure-rest-api-specs/blob/c2dce10efdbaffe9358eadb14791a0bcbcabbcb5/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json#L1223-L1266
I believe the current proposed API is
const bytes: UInt8Array = await keyClient.getRandomBytes(count /* number of bytes */)

Questions:

Does this return a buffer / byte array or a base64 encoded string?

Does this return a buffer / byte array or a base64 encoded string?

For what it's worth, I like that it currently returns a Uint8Array, since that is an array of bytes and roughly matches browser's getRandomValues() which returns a TypedArray and node.js' randomBytes which returns a Buffer (which extends Uint8Array).
I'd expect that operations that needed to use the output of getRandomBytes would use the byte array, not the base64 string but open to hearing how it's meant to be used if that's not the case.

Closed via #15955


Orientation EXIF tag lost with Imagick and gd drivers

The Intervention Image library, when initiating from a stream, loses all EXIF data with the gd driver, while it resets the Orientation EXIF tag to 0 with the Imagick driver.
The following code, used on this test image:
<?php
use Intervention\Image\ImageManager;

$driver = ['driver' => 'Imagick'];
$image_manager = new ImageManager($driver);

$image = $image_manager->make('./Landscape_3.jpg');
echo "Instantiated from file path, Imagick:\n";
echo var_export($image->exif(), TRUE);
echo "\n";

$stream = fopen('./Landscape_3.jpg', 'r');
$image = $image_manager->make($stream);
echo "Instantiated from stream, Imagick:\n";
echo var_export($image->exif(), TRUE);
echo "\n";

$driver = ['driver' => 'gd'];
$image_manager = new ImageManager($driver);

$image = $image_manager->make('./Landscape_3.jpg');
echo "Instantiated from file path, gd:\n";
echo var_export($image->exif(), TRUE);
echo "\n";

$stream = fopen('./Landscape_3.jpg', 'r');
$image = $image_manager->make($stream);
echo "Instantiated from stream, gd:\n";
echo var_export($image->exif(), TRUE);
echo "\n";
?>

Generates the following output:
Instantiated from file path, Imagick:
array (
  'FileName' => 'Landscape_3.jpg',
  'FileDateTime' =><PHONE_NUMBER>,
  'FileSize' => 348796,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0',
  'COMPUTED' =>
  array (
    'html' => 'width="1800" height="1200"',
    'Height' => 1200,
    'Width' => 1800,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
  ),
  'Orientation' => 3,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'YCbCrPositioning' => 1,
)
Instantiated from stream, Imagick:
array (
  'FileDateTime' => 0,
  'FileSize' => 440610,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0',
  'COMPUTED' =>
  array (
    'html' => 'width="1800" height="1200"',
    'Height' => 1200,
    'Width' => 1800,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
  ),
  'Orientation' => 0,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'YCbCrPositioning' => 1,
)
Instantiated from file path, gd:
array (
  'FileName' => 'Landscape_3.jpg',
  'FileDateTime' =><PHONE_NUMBER>,
  'FileSize' => 348796,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0',
  'COMPUTED' =>
  array (
    'html' => 'width="1800" height="1200"',
    'Height' => 1200,
    'Width' => 1800,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
  ),
  'Orientation' => 3,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'YCbCrPositioning' => 1,
)
Instantiated from stream, gd:
array (
  'FileDateTime' => 0,
  'FileSize' => 593747,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'COMMENT',
  'COMPUTED' =>
  array (
    'html' => 'width="1800" height="1200"',
    'Height' => 1200,
    'Width' => 1800,
    'IsColor' => 1,
  ),
  'COMMENT' =>
  array (
    0 => 'CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 90
',
  ),
)

Notice how, when using a stream, the gd driver loses all EXIF data, while the Imagick driver has the Orientation wrongly set to 0.
Therefore issue 745 is still open. As the API clearly states that "Image object must be instantiated from file path to read the EXIF data correctly", this is not a bug, but it is in my opinion an important missing feature of the library.

Consider my +1 and reference the #1192

This is still an issue sadly. +1 from me too

Just hit this problem too :)

It's a little silly that this is still going and the PR with a fix isn't yet approved.
For those who need to create it from filesystem, because you are using a driver like S3
My workaround:
public function getOrientatedImage($path): \Intervention\Image\Image
    {
        $image = Image::make(Storage::get($path));

        $stream = Storage::readStream($path);
        $data = @exif_read_data($stream);
        if (empty($data) || !isset($data['Orientation'])) {
            return $image;
        }

        switch ($data['Orientation']) {
            case 2:
                $image->flip();
                break;

            case 3:
                $image->rotate(180);
                break;

            case 4:
                $image->rotate(180)->flip();
                break;

            case 5:
                $image->rotate(270)->flip();
                break;

            case 6:
                $image->rotate(270);
                break;

            case 7:
                $image->rotate(90)->flip();
                break;

            case 8:
                $image->rotate(90);
                break;
        }

        return $image;
    }

This issue should be resolved as of version 3.


SYN/ACK is not SNATed for host with high connection churn

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
We have many k8s clusters with the following configuration:

Cillium running without kube-proxy in native routing mode with DSR enabled.
K8s service with externalIP type announced to clients by BGP protocol. Endpoints of this service are Istio gateways.
Cilium Load Balancers as an entrypoint for clients.
Clients connect to applications running behind Istio using service external IP address (let's call it VIP).
Traffic flow is:

Client sends SYN to VIP (ipSrc = ClientIP, ipDst = VIP).
SYN arrives to LB node. Cilium sends SYN to service endpoints - istio pods (ipSrc = ClientIP, ipDst = IstioPodIP).
SYN arrives to Istio pod. Istio responds with SYN/ACK directly to client and Cilium replaces Istio Pod IP with VIP because of DSR mode. (ipSRC = VIP, ipDst = ClientIP).
Client gets SYN/ACK and then connection is established.

Problem happens with clients with high connection churn rate: they get connection timeout error when they connect to the application in cluster. We got tcpdump on Istio nodes and noticed that in some cases there was an incorrect behaviour:

Client sends SYN to VIP (ipSrc = ClientIP, ipDst = VIP).
SYN arrives to LB node. Cilium sends SYN to service endpoints - istio pods (ipSrc = ClientIP, ipDst = IstioPodIP).
SYN arrives to Istio pod. Istio responds with SYN/ACK directly to client BUT this time source IP address is not replaced with VIP (ipSRC = IstioPodIP, ipDst = ClientIP).
Client doesn't get SYN/ACK because it's dropped somewhere in the network path because of invalid source ip.
When this issue happens we see the same source port(ports) for such failed connection attempts. If we restart Istio pod the problem is gone for some time, but then appears again with new "invalid" source port.
We checked CT and NAT on cilium on node with Istio pod and noticed that there is no problem ipSrc:portSrc in NAT table.

# cilium bpf ct list global | grep <IP_ADDRESS> | grep 56772
TCP IN <IP_ADDRESS>:56772 -> <IP_ADDRESS>:8443 expires=3732265 RxPackets=140003 RxBytes=11480246 RxFlagsSeen=0x02 LastRxReport=3710665 TxPackets=240318 TxBytes=17265052 TxFlagsSeen=0x12 LastTxReport=3710665 Flags=0x0090 [ SeenNonSyn DSR ] RevNAT=0 SourceSecurityID=16778508 IfIndex=0

# cilium bpf nat list  | grep '<IP_ADDRESS>:56772'

ClientIP=<IP_ADDRESS>, ClientSrcPort=56772.
IstioPodIP=<IP_ADDRESS>, IstioDstPort=8443.
As a result all connections attempts from <IP_ADDRESS> with source port 56722 are failed because they never get to the NAT table. This is just an example - we have any "SrcIP:SrcPorts" which do not have entries in NAT table.
Cilium Version
1.11.4
Kernel Version
5.4.0-100-generic
Kubernetes Version
1.21.14
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Cilium sysdump is 120MB so I have upload it in parts.
Please run the following command before extracting archive (I had to add .zip extension in order to upload if to github):
mv  cilium-sysdump-20230113-185259-parted.z01.zip cilium-sysdump-20230113-185259-parted.z01
mv  cilium-sysdump-20230113-185259-parted.z02.zip cilium-sysdump-20230113-185259-parted.z02
mv  cilium-sysdump-20230113-185259-parted.z03.zip cilium-sysdump-20230113-185259-parted.z03
mv  cilium-sysdump-20230113-185259-parted.z04.zip cilium-sysdump-20230113-185259-parted.z04
mv  cilium-sysdump-20230113-185259-parted.z05.zip cilium-sysdump-20230113-185259-parted.z05
mv  cilium-sysdump-20230113-185259-parted.z06.zip cilium-sysdump-20230113-185259-parted.z06

cilium-sysdump-20230113-185259-parted.zip
cilium-sysdump-20230113-185259-parted.z01.zip
cilium-sysdump-20230113-185259-parted.z02.zip
cilium-sysdump-20230113-185259-parted.z03.zip
cilium-sysdump-20230113-185259-parted.z04.zip
cilium-sysdump-20230113-185259-parted.z05.zip
cilium-sysdump-20230113-185259-parted.z06.zip

This issue might be related to this. We hit a similar issue with v1.11.
https://github.com/cilium/cilium/pull/20006/commits
Now we upgraded to v1.12, and the issue was gone since the CT handling has improved, thanks to https://github.com/cilium/cilium/pull/18454.

@ysksuzuki Thanks for the reply.
The issue is similar but we do not use NodePort.

The issue is similar but we do not use NodePort.

@egsysoev The LoadBalancer BPF implementation is using the NodePort BPF code. Indeed, from your symptoms it's very similar to what @ysksuzuki linked. Try upgrading Cilium.

OK, we will try to upgrade.
Thank you @brb and @ysksuzuki.

@egsysoev Any update?

@egsysoev did the upgrade help? We are running into simliar problems which we yet dont know are related to this issue and we are running 1.12.4.


terraform plan shows changes to read only attribute on stackit_ske_cluster

Expected Behavior
Terraform will not show changes to read only attributes on stackit_ske_cluster resource.
Current Behavior
Terraform shows planned changes to the read only attribute kubernetes_version_used.
# stackit_ske_cluster.example will be updated in-place
~ resource "stackit_ske_cluster" "example " {
      id                      = "1a143c23-8b0b-4dd8-8dd8-a5794773cde5,example-cluster"
    ~ kubernetes_version_used = "1.25.15" -> (known after apply)
      name                    = "wzk-cluster"
      # (5 unchanged attributes hidden)
  }

You can add this attribute to ignore_changes, but this is only a band-aid fix and terraform will (rightfully) display a warning about this:
│ Warning: Redundant ignore_changes element
│
│   on kubernetes.tf line 1, in resource "stackit_ske_cluster" "example ":
│    1: resource "stackit_ske_cluster" "example " {
│
│ Adding an attribute name to ignore_changes tells Terraform to ignore future changes to the argument in configuration after the object has been created, retaining the value originally
│ configured.
│
│ The attribute kubernetes_version_used is decided by the provider alone and therefore there can be no configured value to compare with. Including this attribute in ignore_changes has
│ no effect. Remove the attribute from ignore_changes to quiet this warning.
╵

Steps to Reproduce

Deploy stackit_ske_cluster resource via terraform
Run terraform plan again.

Terraform version used: 1.5.7
Stackit provider version used: 0.6.0 (issue was already present on 0.3.0)

Hello, thanks for your feedback!
This is a known issue that we already have planned to address. In the meantime, we have noticed that when adding a maintenance block to the configuration the issue does not seem to occur.


Fix for running with GraalVM

Not such an important fix, but when running with GraalVM, tests will fail with
[info] Passed: Total 35, Failed 0, Errors 0, Passed 35
[error] stack trace is suppressed; run last apiJS / Test / loadedTestFrameworks for the full output
[error] (apiJS / Test / loadedTestFrameworks) org.scalajs.testcommon.RPCCore$RPCException: scala.scalajs.js.JavaScriptException: TypeError: Access to host class org.scalacheck.ScalaCheckFramework is not allowed or does not exist.

See https://github.com/scala-js/scala-js/issues/3673
I was hit by this one, not pleasant.

@raboof, code is now formatted
I rebase with master and squashed the commits.
Tests are running.


KAFKA-12398: Fix flaky test ConsumerBounceTest.testClose

More detailed description of your change
The test fails some times as follow:

We'd better use TestUtils.waitUntilTrue instead of waiting for 1 second because sometimes 1 second is too long and sometimes is too short.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thank for the update. Have you tried to repeatedly run the test to verify that it resolve the issue?

@dajac Of course, I tried many times to verify, only when I set the waitTimeMs<6000 it fails occasionally.


Add TryGetSlice() methods in TextureRegion

These are simple shortcut methods which I needed for my own use, and I believe others could benefit from this.

Retargeting this PR so it targets develop and not main branch.
main should only be targeted when a release is finished after going through a release branch.

Added XML documentation to new methods. Everything looks good otherwise, thanks @fdrobidoux for the contribution.


Keybinding ctrl-e (emmet:expand-abbreviation) interferes with core keybinding

Emmet adds a keybinding, ctrl-e, for the command emmet:expand-abbreviation.  This conflicts with the Atom core binding for editor:move-to-end-of-line.  This is a standard binding on many Unix systems (including Mac OS X) which originated with emacs.  It is also the only Atom binding for editor:move-to-end-of-line, out of the box.  This binding should be changed to avoid interfering with a core Atom binding.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3405501-keybinding-ctrl-e-emmet-expand-abbreviation-interferes-with-core-keybinding?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github).

Thanks @jclark-dot-org, it worked for me too!!
Although I changed it from alt-ctrl-e to tab.

Thanks @jclark-dot-org  !

thanks, @jclark-dot-org start using atom instead sublime, tab is working for me better and faster

@arnohattingh Same here, on Windows I cannot get TAB to autocomplete HTML, only CTRL + E will autocomplete HTML. Please see the new issue and kindly let me know what can or could possibly be done. Thank you heaps.

Completely agree, it does not make sense.

The workaround from @jclark-dot-org that seems to be meeting with a lot of success didn't work for me - I got a "Failed to load" error: Duplicate key 'ctrl-e'.  The workaround to this makes things even more straightforward.  Just:
'atom-text-editor:not([mini])':
  'ctrl-e': 'editor:move-to-end-of-line'

worked perfectly for me.

Today mine stopped working (on Windows) for some reason and this got it working again
'.platform-win32 atom-text-editor, .platform-linux atom-text-editor':
	'ctrl-e': 'unset!'
'.editor:not(.mini)':
        'ctrl-e' : 'emmet:expand-abbreviation'

ctrl-shift-, also interferes on Linux
'atom-text-editor:not([mini])':
  'ctrl-shift-,': 'unset!'
  'ctrl-shift-,': 'emmet:select-previous-item'

yields

Past it into keymap :
'.editor:not(.mini)':
'tab' : 'emmet:expand-abbreviation'    # alternate binding for emmet

What is the answer to the ctrl-d problem. I want to retain the current "delete forward" or "delete character ahead". But I don't know atom's name for that to use in my keymap!
I.e. this works for ctrl-e:
'atom-text-editor:not([mini])':
  'ctrl-e': 'editor:move-to-end-of-line'

But I don't know the name for delete-forward. Using
'atom-text-editor:not([mini])':
  'ctrl-d': 'editor:delete-forward'
  'ctrl-e': 'editor:move-to-end-of-line'

Does not work.

Here's the solution for ctrl-d being delete forward:
'ctrl-d': 'core:delete'
I found this by looking at the github repo under keymaps.


[docs] Rename docs/index.md to docs/README.md

When I search for documentation, I open the docs folder in github, but then I don't see the topics of the help pages. I first have to open the index.md file. With this change I directly see the content of the index.md file without opening it.
See here for reference.

We name the file index.md for compatibility with MkDocs (https://www.mkdocs.org/); to rename this we would need to also add a mkdocs config file.

We name the file index.md for compatibility with MkDocs (https://www.mkdocs.org/); to rename this we would need to also add a mkdocs config file.

I don't think so. From here:

Many repository hosting sites provide special treatment for README files by displaying the contents of the README file when browsing the contents of a directory. Therefore, MkDocs will allow you to name your index pages as README.md instead of index.md. In that way, when users are browsing your source code, the repository host can display the index page of that directory as it is a README file. However, when MkDocs renders your site, the file will be renamed to index.html so that the server will serve it as a proper index file.
If both an index.md file and a README.md file are found in the same directory, then the index.md file is used and the README.md file is ignored.

If I understand correctly, you can name the file index.md or README.md

Awesome, just a reading comprehension fail on my part. Thanks!


init=False attributes which depend on keyword-only attributes are impossible

The initialization of an init=False attribute cannot (straightforwardly) depend on a kw_only=True attribute because there is no legal ordering of these two attributes.
from attr import attrs, attrib

@attrs
class BrokenInitFirst:
    _to_init: str  = attrib(init=False)
    kwarg: str = attrib(kw_only=True)

    @_to_init.default
    def _init_to_init(self) -> str:
        return self.kwarg + "foo"

BrokenInitFirst(kwarg="meep")

produces:
AttributeError: 'BrokenInitFirst' object has no attribute 'kwarg'

while
from attr import attrs, attrib

@attrs
class BrokenKwArgFirst:
    kwarg: str = attrib(kw_only=True)
    _to_init: str = attrib(init=False)

    @_to_init.default
    def _init_to_init(self) -> str:
        return self.kwarg + "foo"

BrokenKwArgFirst(kwarg="meep")

produces
  File "/Users/gabbard/anaconda3/envs/cwc-event/lib/python3.6/site-packages/attr/_make.py", line 904, in attrs
    return wrap(maybe_cls)
  File "/Users/gabbard/anaconda3/envs/cwc-event/lib/python3.6/site-packages/attr/_make.py", line 855, in wrap
    cache_hash,
  File "/Users/gabbard/anaconda3/envs/cwc-event/lib/python3.6/site-packages/attr/_make.py", line 471, in __init__
    cls, these, auto_attribs, kw_only
  File "/Users/gabbard/anaconda3/envs/cwc-event/lib/python3.6/site-packages/attr/_make.py", line 416, in _transform_attrs
    a=a
ValueError: Non keyword-only attributes are not allowed after a keyword-only attribute.  Attribute in question: Attribute(name='_to_init', default=Factory(factory=<function BrokenKwArgFirst._init_to_init at 0x10830df28>, takes_self=True), validator=None, repr=True, cmp=True, hash=None, init=False, metadata=mappingproxy({}), type=<class 'str'>, converter=None, kw_only=False)

These examples can also be found in https://github.com/rgabbard/attrs-kwonly-init-bug
This is related to https://github.com/python-attrs/attrs/issues/448 . Assuming there is some sort of internal ordering of attributes which also controls their initialization order, I think the solution here is to sort kw_only=True attributes after kw_only=False, and init=False last of all.

At a quick glance it looks like performing a the sort mentioned above (first kw_only=False, init=True, then kw_only=True, init=True, last init=False) around https://github.com/python-attrs/attrs/blob/master/src/attr/_make.py#L378 should do the trick for both this and #448 .   @hynek , if this seems like the right strategy to you, I can make a PR with it.

@hynek : bumping the question above, since I just ran into this problem again today.  If you can confirm you are happy with the proposed approach to a fix, I am happy to submit a PR with it.

I’m sorry you hit me in the middle of my vacation and I'm having a hard time to catch up with the more complex issues.
And yes I agree that:

init=False attributes should never cause a Non keyword-only attributes… error
it’s kinda weird that we don’t allow kw_only attributes anywhere. someone should research why we chose that route. they are a lot more useful if you can sprinkle them anywhere.

So feel free to submit a PR if you manage to achieve that without breaking backward compatibility. Even in subclassing scenarios. I tend to think that it might be better to make the condition slightly more complicated instead of re-ordering them because that might have other unforeseen side effects.

@hynek : After more thought I think you are correct that using a more complex condition is better.  I will poke at this as I have free time. :-)

@hynek: I don't think you commented on the BrokenInitFirst case.  As with #448, it would introduce a (simpler) difference between the order of attributes at the order of arguments to __init__.  But the arguments for allowing them anywhere would be similar, no?

I think that makes sense.  It doesn't address BrokenInitFirst, though, right?

@wsanchez : I am a little uncertain whether BrokenInitFirst needs to be fixed, since the general rule seems to be that an init=False attribute with a default needs to come later in the attribute ordering than any fields it depends on (me calling it Broken was misleading - I was just trying to illustrate that no legal attribute ordering for this case existed; as long as we fix one of the two options then the particular problem I had in mind is solved).

Whoops sorry, I flossed over the dependency there, but mostly wanted to be clear that this case wasn’t addressed. I agree it shouldn’t be.

@hynek : PR ready at https://github.com/python-attrs/attrs/pull/459


dan model

Excuse me.I can't find the libritrain='/home/ai/matlab2016b/Magnolia-master/data/librispeech/authors/processed_train-clean-100.h5' file.

Hi Qiming-
The data "processed_train-clean-100.h5" is our training set, which we created from folders in:
https://github.com/Lab41/Magnolia/tree/master/src/features
You need to create the training set there. You can access a notebook in there called:
https://github.com/Lab41/Magnolia/blob/master/src/features/preprocessing_example.ipynb
for an example. Once you create that file, you'll be able to run your models.
Please let us know if that works...
-Karl

Closing this issue; please let us know if you'd like us to reopen it.


Looks great - case

Found your repository, your work and detail in this github page is awesome. thank you.
two things:

would you consider sharing your step file for the 3d case?
have you see the openHASP project that utilizes this device? openhasp.com/ its come a long way!

Thank you.

Aren't the STL files sufficient? It's on TinkerCAD. Please don't mind the disorganized way it is put together. I'm no 3D designer.
Thank you for the pointer! I was starting to think about using it for small control panels for my HA instance (I already have a tablet directly connected to HA as a main wall panel).

Thanks! I'll take a look at TinkerCAD.
Also, where did you get that USB-C Serial programmer!??

See the What You'll Need section. It has purchase links to everything.

Just updated TinkerCad design to fix the issues with the case. Sending to production to test.

The new case fits the battery and the switch very well, as well as allowing easy mounting of the charger module.
However the lid is not fitting very well so one more iteration...

I have removed my case as PrintMinion was kind enough to create a great hand-held case at my suggestion.
https://cults3d.com/en/design-collections/printminion/various-cases-for-wt32-sc01-plus-by-wireless-tag


Bad address index.

Godot version
4.1
System information
macOS12.1
Issue description
func test():
if self is Player:
pass
Impossible code that prevents it from running
Steps to reproduce
run main.tscn
Minimal reproduction project
bug.zip

supplement  The following modifications still have the same error
if is_instance_of(self,Player):

error image:

I can repro this in Godot 4.1.1, but looks like this has already been fixed in current 4.2 master (0511f9d9a7d56c742d87fafdcea8785d40ad14b3) and 4.2 dev 3 release. Closing, but feel free to comment or reopen the issue if the problem is not solved for some reason.

I reproduced in 4.1.1:

Possible duplicate of https://github.com/godotengine/godot/issues/74253?

Yes, the reason is the same, circular dependencies/requirements:
flowchart LR
    main.gd-- requires -->char.tscn
    char.tscn-- requires -->char.gd
    char.gd-- extends -->entry.gd
    entry.gd-- requires -->player.gd
    player.gd-- extends -->char.gd

I did mention that I can also reproduce this in 4.1.1

Sorry, I misread.

but this has been fixed at some point since (fixed at least in 4.2 dev 3 relese) so I don't think this is a valid issue anymore

Although it could be useful to find out what PR fixed this for future reference

I don't think this has been properly fixed, it's a complex issue. However, we can close this as a duplicate of #74253.


Re-schedule monitoring-stack to worker nodes

Signed-off-by: Raul Sevilla<EMAIL_ADDRESS>Description
Re-scheduling the monitoring stack to worker nodes before the benchmark starts will prevent the benchmark to be affected by prometheus noise (compaction, scraping, etc) and will help us to obtain more deterministic results.
The below graphs show an snippet of the system prometheus system activity during a benchmark

Where the highest CPU spikes happen during the database compaction: ~19:00 and 21:00
There's also a almost constant network I/O activity caused by metric scraping.
Another interesting fact is that we deploy 3 infrastructure nodes and there's only 2 prometheus replicas, so in some tests it's possible to have an ingress-controller in a node w/o any prometheus replica, that means that the test scenario can be different between runs.

/rerun all router-perf-v2:./ingress-performance.sh

/rerun all router-perf-v2:./ingress-performance.sh

Results for e2e-benchmarking CI Tests

Workload
Test
Result
Runtime

router-perf-v2
./ingress-performance.sh
FAIL
00:00:49

/rerun all router-perf-v2:./ingress-performance.sh

@rsevilla87 Just thinking, why do we shuffle monitoring around? Why don't we just deploy it on worker nodes to begin with?

@rsevilla87 Just thinking, why do we shuffle monitoring around? Why don't we just deploy it on worker nodes to begin with?

Other workloads require monitoring stack to be placed in infra nodes to avoid messing up with the workload itself. i.e networking (uperf) uses worker nodes to run the tests.


Inquiry related to oss-fuzz fuzzers for unbound.

Hello, I was recently looking into recreating and analyzing the scenarios where fuzzers helped find bugs in oss projects and was trying out the oss-fuzz fuzzers that had found bugs for unbound in the past. Unfortunately, I have found that the initial seed corpora for the fuzzers that had found bugs for unbound have gone missing around 2 weeks ago as the account hosting them seems to have been deleted. So I was hoping if by chance you might have a backup of the missing corpora?
I had asked the oss-fuzz maintainers but they also seem to be out of luck and got a suggestion to make an inquiry here.
Thank you in advance!

No, I do not have copies of that stuff. In unbound's repository, there is a contrib directory for contributed files, where a couple fuzz programs are located.
It is contrib/unbound-fuzzme.patch. The unbound-fuzzme program parses a packet. It is replaced by unbound-fuzzers.tar.bz2. It adds three programs that process their input.

Thank you for the clarification :)

@hyyi I found these fuzz files here: https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/luisx41/fuzzing-corpus&path=projects/unbound I have downloaded them locally in case they disappear again. The tip revision that has the files is 0026a4660ddc895fc46565d0920a3227646c3684.
I hope you can use these to continue your fuzzing research, I would be interested to read your results.
Perhaps these files could be merged directly in the unbound repo (under /testdata/, presumably). The fuzz_n_fuzzer_seed_corpus.zip files from luisx41/fuzzing-corpus repo total about 400kB, and parse_packet_fuzzer_seed_corpus.zip from the jsha/unbound repo is about 8MB. I think it would be worth it for these corpora to be preserved in the main repo to reduce the impact of url rotting.

@infogulch Thank you very much! These will definitely help me in my current research :) I hope I'll be able to share the results soon.


[Donot merge] intro a buggy comment

Repro to demo a bug with the relay compiler
Bug:  Adding Unicode characters in comments ( 🐛), causes the Relay compiler to error
Looking at the graphql spec notes, this feels like a bug.
How to repro
yarn build the todo example.
Error
[INFO] [default] compiling...
thread 'main' panicked at 'internal error: entered unreachable code', crates/graphql-syntax/src/lexer.rs:169:40
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error Command failed with exit code 101.

Thanks for the repro! Is there an issue in the main repository for this?

Yes, there is an issue in the main repo
https://github.com/facebook/relay/issues/4044


Formula error at Chapter 4 (Working with Linear SVM)

Is that suppose to be - instead of +? This is a formula that I found on Wikipedia.

Hi @erichooi ,
Thanks for asking.  I believe just a substitution of a negative b for a positive b will make the formulas equivalent.
But it is important in the results to remember that the b is negative and not positive.  I'll recheck the code for this. (I'll keep this issue open until I can check it).
But the formulas are equivalent under a negative-b substitution.

Just went to go fix this.  I see what you mean now.  The code is correct, but the formula is wrong.  It's fixed in the jupyter notebook finally.  I'm going to close this. Feel free to reopen if I missed something.


refactor RelativePath to allow late stage canonicalization in support of windows

motivation: delay canonicalization of relative path to the construction of absolute path from it, to better fit how windows paths work
changes:

remove the canonicalizing, non-throwing initializer of relative path
for tests, conform RelativePath and AbsolutePath to ExpressibleByStringLiteral and ExpressibleByStringInterpolation to make it easier to pass in string and static strings
remove incorrect validation of ~ as invalid relative path
update call sites and test

companion: https://github.com/apple/swift-package-manager/pull/5910

testing via https://github.com/apple/swift-package-manager/pull/5910

Hmm, merging this locally seems to not build on Windows? :/

@swift-ci please build Windows platform

@swift-ci please test Windows platform

@tomerd did you forget part of the commit?
S:\SourceCache\swift-project\swift-tools-support-core\Sources\TSCBasic\Path.swift:524:14: error: no exact matches in call to initializer
        self.init(normalizingAbsolutePath: path)

There is no Windowspath(normalizingAbsolutePath:) that I can see.

@swift-ci please test Windows platform

This does seem to regress the test suite:
Test Case 'ManifestSourceGenerationTests.testAdvancedFeatures' started at 2023-04-14 09:37:04.984
TSCBasic/Path.swift:974: Assertion failed
Current stack trace:
0    (null)                             0x00007ffe873af220 swift_stdlib_reportFatalErrorInFile + 132

tested via https://github.com/apple/swift-package-manager/pull/5910


[OpenCL] RuntimeError MEM_COPY_OVERLAP during initialisation of ParticleMonitor

During initialisation of a Particle monitor using the pyopencl context the following error occours:
Traceback (most recent call last):
  File "/xsuite/./monitor_test.py", line 22, in <module>
    monitor = xt.ParticlesMonitor(_context=context,
  File "/xsuite/xtrack/xtrack/monitors.py", line 60, in _monitor_init
    self.xoinitialize(
  File "/xsuite/xobjects/xobjects/hybrid_class.py", line 276, in xoinitialize
    self._reinit_from_xobject(_xobject=self._xobject)
  File "/xsuite/xobjects/xobjects/hybrid_class.py", line 243, in _reinit_from_xobject
    setattr(self, pyname, vv)
  File "/xsuite/xobjects/xobjects/hybrid_class.py", line 48, in __set__
    setattr(container._xobject, self.name, value._xobject)
  File "/xsuite/xobjects/xobjects/struct.py", line 104, in __set__
    self.__get__(instance)._update(value)
  File "/xsuite/xobjects/xobjects/struct.py", line 335, in _update
    self._buffer.update_from_xbuffer(
  File "/xsuite/xobjects/xobjects/context.py", line 341, in update_from_xbuffer
    self.update_from_native(
  File "/xsuite/xobjects/xobjects/context_pyopencl.py", line 417, in update_from_native
    cl.enqueue_copy(
  File "/usr/local/lib/python3.10/dist-packages/pyopencl/__init__.py", line 1903, in enqueue_copy
    return _cl._enqueue_copy_buffer(queue, src, dest, **kwargs)
pyopencl._cl.RuntimeError: clEnqueueCopyBuffer failed: MEM_COPY_OVERLAP

Minimum code to reproduce:
#!/usr/bin/env python3

import xobjects as xo
import xtrack as xt

xo.ContextPyopencl.print_devices()
context = xo.ContextPyopencl("0.0")  # For OpenCL GPUs

monitor = xt.ParticlesMonitor(_context=context,
                              start_at_turn=5, stop_at_turn=15,
                              num_particles=100)

My setup is an Ubuntu 22.04 with AMD OpenCL drivers (amdgpu-install --usecase=opencl), python 3.10 and the latest xsuite modules (git clone and pip install -e with the fix described in https://github.com/xsuite/xobjects/pull/68 applied and the compiler flag described in xsuite/xsuite#247 set)

Just opened a pull request that should solve this by avoiding the copy:
https://github.com/xsuite/xobjects/pull/79

Should be solved. Don't hesitate to reopen if needed.


windowscodecs not linked.

clip_win_wic.h uses functions from the "windowscodecs" library, but this isn't linked in the CMakeLists.txt resulting in "unresolved symbol" errors.
Tested on Windows with GCC 10.2.0.

Hi @API-Beast, what are those specific unresolved symbols (what is the specific output of gcc)? Because the clip_win_wic.h header uses COM objects and those are dynamically linked (COM vtables are just defined with structs in .h files, so there is no need of an extra .lib). I guess that maybe some GUID is defined in a .a library in the gcc/mingw case (e.g. for GUID_WICPixelFormat32bppBGRA, etc.) but I'm not sure.

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: clip/libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.CLSID_WICPngDecoder1[.refptr.CLSID_WICPngDecoder1]+0x0): undefined reference to `CLSID_WICPngDecoder1'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: clip/libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.CLSID_WICPngDecoder2[.refptr.CLSID_WICPngDecoder2]+0x0): undefined reference to `CLSID_WICPngDecoder2'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: clip/libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.GUID_WICPixelFormat32bppBGRA[.refptr.GUID_WICPixelFormat32bppBGRA]+0x0): undefined reference to `GUID_WICPixelFormat32bppBGRA'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: clip/libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.CLSID_WICPngEncoder[.refptr.CLSID_WICPngEncoder]+0x0): undefined reference to `CLSID_WICPngEncoder'

WICPngDecoder1, WICPngDecoder2, WICPixelFormat32bppBGRA and WICPngEncoder

As I was suspecting, it's related to the undefined GUIDs/CLSIDs. Not sure where they are defined in the MinGW implementation.

Hmm, at the very least I can confirm that linking windowscodecs resolves those symbols.

@dacap I'm having some similar issues, letting the problem here since it is related, I'm using mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0 on windows.
Neither CLSID_WICPngDecoder2 nor CLSID_WICPngDecoder1 are in #include <wincodec.h> so it doesn't compile:
HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);
DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);
DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);
DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);
// ....
DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);

I have to change the code to use CLSID_WICPngDecoder in order to compile. The lib compiles fine, but the tests fails with the similar errors shown above:
[ 40%] Built target clip
[ 50%] Linking CXX executable clip_user_format_tests.exe
../libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.CLSID_WICPngDecoder[.refptr.CLSID_WICPngDecoder]+0x0): undefined reference to `CLSID_WICPngDecoder'
../libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.GUID_WICPixelFormat32bppBGRA[.refptr.GUID_WICPixelFormat32bppBGRA]+0x0): undefined reference to `GUID_WICPixelFormat32bppBGRA'
../libclip.a(clip_win.cpp.obj):clip_win.cpp:(.rdata$.refptr.CLSID_WICPngEncoder[.refptr.CLSID_WICPngEncoder]+0x0): undefined reference to `CLSID_WICPngEncoder'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[2]: *** [tests\CMakeFiles\clip_user_format_tests.dir\build.make:88: tests/clip_user_format_tests.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:126: tests/CMakeFiles/clip_user_format_tests.dir/all] Error 2
mingw32-make.exe: *** [Makefile:94: all] Error 2

I'm using your latest change:
  # MinGW requires the windowscodecs just because CLSIDs are defined
  # in the windowscodecs.a file instead of the wincodec.h file (?!)
  if(MINGW)
    find_library(CLIP_WINDOWSCODECS_LIBRARY windowscodecs)
    if(CLIP_WINDOWSCODECS_LIBRARY)
      target_link_libraries(clip ${CLIP_WINDOWSCODECS_LIBRARY})
    endif()
  endif()

But seems to not work still... I will be researching, but if any clue will be great :)

Hi @agudpp! It looks that you have an older version mingw64-headers (link of latest wincodec.h).
Anyway I cannot help too much because I wasn't able to test this change (I don't have the latest MinGW 64 version, available, nor sure where to find it, also I'm not sure what is official or a distro that can be trusted).

Currently the best way to install MinGW is via MSYS2.

hi @dacap thanks for the fast reply. Interestingly I assumed was the latest version of mingw since I downloaded from the official website.
I will check it with a new version I'm downloading from Qt and let you know!
cool project btw :)

I have the same problem with the latest MinGW-w64. I changed this:
  if(MINGW)
    find_library(CLIP_WINDOWSCODECS_LIBRARY windowscodecs)
    if(CLIP_WINDOWSCODECS_LIBRARY)
      target_link_libraries(clip ${CLIP_WINDOWSCODECS_LIBRARY})
    endif()
  endif()

to this:
  if(MINGW)
    target_link_libraries(clip windowscodecs)
  endif()

And now it links and it compiles. Any idea why find_library cannot find the library? Maybe you should skip the CMake's searching part and just let the compiler find it assuming that on Windows platform this library is always be available?

Hi, sure. I even added some messages:
  if(MINGW)
    message("lizard looking for windowscodecs")
    find_library(CLIP_WINDOWSCODECS_LIBRARY windowscodecs)
    message(${CLIP_WINDOWSCODECS_LIBRARY})
    if(CLIP_WINDOWSCODECS_LIBRARY)
      target_link_libraries(clip ${CLIP_WINDOWSCODECS_LIBRARY})
    endif()
  endif()

And when I ran cmake --debug-output .. (in CLion this command is a little bit longer) I got nothing printed:
Running with debug output on.
lizard looking for windowscodecs
   Called from: [1]	C:/Users/Me/clip/CMakeLists.txt
CLIP_WINDOWSCODECS_LIBRARY-NOTFOUND

Generally I am a little bit lost with this "MinGW" stuff. It seems way too complicated for me 😅. I just want to open your library in CLion with MinGW toolset and compile the clip's examples. But it doesn't work out-of-the-box 😢
Your CI job proves that if I had MingGW configured in my system "correctly" then it should work. But I can't do:
 - uses: msys2/setup-msys2@v2

On my system, like you do in your CI, unfortunately 😄
I suspect that I may use CMake from "Windows" and GCC compiler from "MinGW". That's why CMake can't find the library (because it searches in Windows' locations), but the linker has no problem with that. I have no idea how to fix it though ¯\(ツ)/¯
Have you ever tried to compile the examples in CLion with MinGW toolset?

Related: #51.
Related on Stack Overflow: C++ Bulid Error "undefined" on VSCode CMake Tools.


flarectl always reports the same version "2017.10.0"

The version does not change during all the updates to flarectl
https://github.com/cloudflare/cloudflare-go/blob/master/cmd/flarectl/flarectl.go#L16

Won't fix?

Fixed via #524

Hi @rvalitov, version should now auto-populate build time when GoReleaser is used.


LSP exit code 101

I've tried the full path (It's in my path env anyway), building the latest nushell commit (https://github.com/nushell/nushell/commit/1ff8c2d81dea68e90a6a61b68a50a2098b1d6a8a), but no avail
LSP: starting ['nu.exe', '--lsp'] in ~\scoop\apps\sublime-text\current
LSP: nushell crashed (1 / 5 times in the last 180.0 seconds), exit code 101, exception: None
LSP: starting ['nu.exe', '--lsp'] in ~\scoop\apps\sublime-text\current
LSP: nushell crashed (2 / 5 times in the last 180.0 seconds), exit code 101, exception: None
LSP: starting ['nu.exe', '--lsp'] in ~\scoop\apps\sublime-text\current
LSP: nushell crashed (3 / 5 times in the last 180.0 seconds), exit code 101, exception: None
LSP: starting ['nu.exe', '--lsp'] in ~\scoop\apps\sublime-text\current
LSP: nushell crashed (4 / 5 times in the last 180.0 seconds), exit code 101, exception: None
LSP: starting ['nu.exe', '--lsp'] in ~\scoop\apps\sublime-text\current
LSP: nushell crashed (5 / 5 times in the last 180.0 seconds), exit code 101, exception: None

LSP.sublime-settings
{
	"lsp_format_on_save": true,
	"lsp_code_actions_on_save": {
		"source.fixAll": true
	},
	"show_symbol_action_links": true,
	"inhibit_snippet_completions": true,
	"inhibit_word_completions": true,
	"show_inlay_hints": true,
	"log_debug": true,
	"log_max_size": 0,
	"clients": {
		"nushell": {
			"command": [
				"nu.exe",
				"--lsp"
			],
			"enabled": true,
			"selector": "source.nu"
		}
	}
}

Hey, I can't really test on windows. But once in a while I do get the message of that the services has stopped, and I have to restart sublime. Not sure if it's a sublime thing or nushell...

Not very positive, but this makes the lsp unusable, as it happens the whole time

hey, I don't have this problem anymore with the latest version of nushell, you could try it now

LGTM


Username abbreviation

I created ldap according to this project, but now the ldap user contains a domain name, such as<EMAIL_ADDRESS>I hope that the domain name will be automatically matched when logging in, so that I only need to enter a.b. Is there a way to do this?

Depending on the system you connect, all 3 variants may work:

username only
<EMAIL_ADDRESS><EMAIL_ADDRESS>
I personally find it easiest to use the original domain, which is why I also use this for the ldap server and not, for example, test.com.

OK , I will try it  again by username only ;

I had test , it is work, my error is i have a same user ; i change the principle name ;


Renditions List proposal

Closes #1

just realized this is missing recommendations on how it should get populated from hls and dash content, like the other proposals do.

sorry for the late review, I'd scanned it over before but this all looks great to me! don't see any issues to not start development on this

I've had a few conversations IRL on this, including philosophical ones about this project's purpose in general. Starting with the tl;dr:

Let's raise the prop level to videoEl.videoRenditions, instead of building on videoTracks. And have that list represent only the current videoTrack's available renditions.
Let's not introduce any changes to videoTracks, at least not yet
Let's not introduce an API to enabling/disabling tracks as options in the adaptive algorithm, at least not yet
Let's not introduce an API to the "active" rendition (currently playing vs. selected by user), at least not yet
Let's not introduce an API for externally adding/removing tracks. It should be a read-only list, at least to start.
Everything else stays the same (selectedIndex, onaddrendition, etc.) - @luwes tell me if I missed anything

The result then being a simple videoEl.videoRenditions list, where selectedIndex allows you to control which rendition is selected (or -1 for auto), and events that allow you to know when the renditions have changed and update the select menu appropriately.

On to the broader conversations...
There's one related topic about the sometimes competing goals of "solve APIs only for UI purposes (intentionally avoiding the deeper complexities of video)" and "create APIs that the W3C might some day adopt". Because sometimes the video element APIs support more than what the UI might require.
In this case, building on videoTracks is intuitive because of the natural data structure of video tracks and renditions, however quality selection UIs don't need that level of complexity. The UI doesn't need to know the available renditions of a non-active video track, or even what track they belong to. It just needs to know what renditions the viewer should be able to choose from, and what's currently selected. If it made no difference to the design, great! But the stacking events/listeners on videoTracks and videoRenditions makes the existing shape complicated to build on and implement.
After this conversation I think the W3C adoption of these APIs still needs to be a consideration, but only a secondary concern. Otherwise it can distract from the UI problems we're specifically trying to solve for, and open the APIs back up to  video technology complexity we're trying to avoid. Ultimately meaning these specs take a lot longer to ship, and [I think] puts them at risk of not actually being adopted by other video player projects.
The other related topic was about where in the stack this API lives. Is the list a direct representation of the renditions available in the manifest, or does the list only represent what renditions are available after configuration decisions have been applied. i.e. is this API seeing what HLS.js see and in a place to tell HLS.js what renditions it should choose from, or is HLS.js telling this API what to list after it's imposed a resolution cap (for example). This is related to the feature of enabling/disabling renditions within the list, changing if a rendition  can be chosen.
This is another situation where the UI doesn't need the feature of enabling/disabling tracks, so it's going deeper than the first goal and only there for the second goal. The main issue I see with this feature is it's imposing a configuration interface on players that they may not be able to support easily. For that reason alone I think we shouldn't include the feature in the first version of this spec at least. But I also think configuration of which renditions are available should just be up to players to provide.
Feel free to push back on any of that. But the general conclusions I'm coming to are:

We really need to focus on UI problems specifically, and sometimes that will mean abandoning our goal of W3C adoption. If we don't, I think shipping these specs will [continue to] take forever, and there will be real risk that no other players actually adopt them because of complexity.
We could do a better job of documenting the UI problems we're specifically solving for in these specs, to constrain the design and keep conversations focused.

We really need to focus on UI problems specifically, and sometimes that will mean abandoning our goal of W3C adoption. If we don't, I think shipping these specs will [continue to] take forever, and there will be real risk that no other players actually adopt them because of complexity.

I'm completely with you on this one Steve. W3C adoption is terribly slow (with good reason) but it gets in the way of innovation and exploration. I also think it's hard to standardize APIs we haven't explored pratically, things we just won't know without real world experimentation and user feedback.
A simple process in my mind would be come up with a list of media player UI/UX requirements which we can have conversations around, design API's solely around that with a backing spec around the intricate/important video details, and then ship solutions to these problems in some package that we can all install and start using (e.g., npm i media-extensions).
import { VideoRendtionList, ... } from 'media-extensions'

Ideally the API should speak for itself and I think this will dramatically help with adoption. Do note, preferably any API shipped is based on contracts and doesn't require the HTMLMediaElement itself.

You're also on point about the goal difference. At the UI-layer we just want what gets the job done and leads to best UX, don't care about intricate details at that level. Extremely likely we won't expose the same primitives to our users. Browser APIs are generally shaped in the form of authoring, and as library authors we adapt them for consuming. There's always a gap. If we can just figure out what library authors need to build great UI/UX first, ship the code to start experimenting, we can then work backwards to primtives that might make sense internally. I think W3C should be the last step in the proposal process/stages.

Otherwise it can distract from the UI problems we're specifically trying to solve for, and open the APIs back up to video technology complexity we're trying to avoid. Ultimately meaning these specs take a lot longer to ship, and [I think] puts them at risk of not actually being adopted by other video player projects.

Agreed. My personal feedback is technical video conversations/specs are amazing and clearly required as they form the basis on why certain higher-level API decisions were made, but ultimately the main deliverable should be simplified and answer, "what player UI/UX challenge is this solving and how?" Preferably with code, docs, and examples. Priority is getting something we can start experimenting with out the door fast. I'm personally okay with mistakes, semver and proposal stages can iron that out.

We could do a better job of documenting the UI problems we're specifically solving for in these specs, to constrain the design and keep conversations focused.

Agreed. Top-level conversations should be centered around UI/UX. Easier for people to chime in and easier/faster adoption.

Thanks for weighing in @mihar-22! And good reframing of the situation. I like the idea of W3C adoption being the last step, with real world implementation coming first, rather than projecting ahead.
We have a PR in media chrome exploring an implementation of this. Want to try it out in Vidstack and see if it works in that context?


Use pull_request.merge_commit_sha instead of process.env.GITHUB_SHA

Proposal
My proposal would be to enhance the action by using pull_request.merge_commit_sha instead of process.env.GITHUB_SHA as the commit to be cherry picked.
Based on the documentation [1]:

The value of the merge_commit_sha attribute changes depending on the state of the pull request. Before merging a pull request, the merge_commit_sha attribute holds the SHA of the test merge commit. After merging a pull request, the merge_commit_sha attribute changes depending on how you merged the pull request:

If merged as a merge commit, merge_commit_sha represents the SHA of the merge commit.
If merged via a squash, merge_commit_sha represents the SHA of the squashed commit on the base branch.
If rebased, merge_commit_sha represents the commit that the base branch was updated to.

In order to implement this it should be enough to change from const githubSha = process.env.GITHUB_SHA [2] to const githubSha =  github.context.payload.pull_request.merge_commit_sha.

NOTE: if the action is triggered using pull_request_target event when the pr is closed, merge_commit_sha and process.env.GITHUB_SHA should coincide.

Use case
Consider a simple scenario where we merged a pull request a while ago and we noticed that we forgot to backport it, given the current implementation if we try to use this action with pull_request_target workflow event, the process.env.GITHUB_SHA [3] could possibly contain a commit sha which differs from the one we were expecting to backport (e.g., using pull_request_target event it will contain the last commit on the base branch which could be a different one if new commits have been added on that branch).

NOTE: Another possible way could be to parametrize the commit to be backported, in this way we can keep the default and let callers to override it if needed.

What do you think?
[1] https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#get-a-pull-request
[2] https://github.com/carloscastrojumo/github-cherry-pick-action/blob/main/src/index.ts#L30
[3] https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target

Hi @lampajr
Sorry for the late reply. I agree if your suggestion. Do you mind open a PR?

Hey @carloscastrojumo , no worries!
I'll work on it today :muscle:


REACT NATIVE 0.74.3 Signed Release APK Issue

Description
0
I am using React Native Latest version 0.74.3 for developing an APP. My App works fine if I ran this on Emulator with np react-native run-android.
When I try to generate the Signed APK for Android using Android Studio I am facing issue, but same android studio works fine for generating a signed apk for my another react native project which was developed in 0.74.2. here is the Build Error on Release.
Steps to reproduce

Install React native 0.74.3
Create an APP is VS Code
Generate a signed APK using Android Studio

React Native Version
0.74.3
Affected Platforms
Runtime - Android
Output of npx react-native info
"Execution failed for task ':app:checkReleaseDuplicateClasses'.

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output."

Stacktrace or Logs
Could not resolve all files for configuration ':app:releaseRuntimeClasspath'. Failed to transform react-android-0.74.3-release.aar (com.facebook.react:react-android:0.74.3) to match attributes {artifactType=enumerated-runtime-classes, com.android.build.api.attributes.BuildTypeAttr=release, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Could not download react-android-0.74.3-release.aar (com.facebook.react:react-android:0.74.3): No cached version available for offline mode Failed to transform hermes-android-0.74.3-release.aar (com.facebook.react:hermes-android:0.74.3) to match attributes {artifactType=enumerated-runtime-classes, com.android.build.api.attributes.BuildTypeAttr=release, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Could not download hermes-android-0.74.3-release.aar (com.facebook.react:hermes-android:0.74.3): No cached version available for offline mode

Reproducer
https://github.com/facebook/react-native/releases
Screenshots and Videos

Looks like you were offline.
...(com.facebook.react:hermes-android:0.74.3): No cached version available for offline mode

No My internet is working fine I am not In offline mode as I can generate another Project Relase APK but that is in 0.74.2 react version

Looks like you were offline.
...(com.facebook.react:hermes-android:0.74.3): No cached version available for offline mode

No My internet is working fine I am not In offline mode as I can generate another Project Relase APK but that is in 0.74.2 react version

buildscript {
ext {
buildToolsVersion = "32.0.0"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 32
androidXBrowser = "1.4.0"
    kotlinVersion = "1.8.0"
}

...
}You can fix it by adding kotlinVersion in your build.gradle config:
Update kotlinVersion

No cached version available for offline mode

You have Gradle offline mode configured somewhere (either in the Android Studio settings) or in the CLI or so on.


Add button to remove proposals from Schedule

When an activity is a proposal, it doesnt have a Delete button, but we can have a button that just take the proposal out of the Approved onees.

Hey, can you add the steps to reproduce the page where the button should be? Or add a screenshot? Thanks!

Hi @anapaulagomes, someone already took this issue on the PR #272 i recommend you to choose other task

If you want to chat with me about all that, please join our gitter, at least in speak Portuguese in there :D
https://gitter.im/luanfonceca/speakerfight

@anapaulagomes are you working on this? Want some help?

No, someone already took. @mauricioabreu :(

@anapaulagomes :(
Well, no one is assigned.
@luanfonceca do you know who is working on this?


Update default notebook image command

Closes #190.
Let me know if it looks good. I probably misspelled notebook or broke the fabric of spacetime in this PR.
cc: @betatim

LGTM

Thanks!


The notification didn't come after I left the device turned off overnight

The notification didn't come.
The steps:

Setup notification at 8:00AM tomorrow.
Power Off and Power on after 8:00AM tomorrow (Example: Power on at 8:30AM).
Check the notification, not come.

Why ?

Thanks for reporting this.
I'm closing this issue because this forum is for issues with the codelab.
You may take a look on how to configure WorkManager to increase its debug level as documented in this guides to get a better understanding of what is happening in your code. Also you can find a sample in this codelab.
If you still have this problem, Stackoverflow might be a better forum for this kind of questions.
If you think that this is a problem of the WorkManager library, please open a bug on the WorkManager public issue tracker: https://issuetracker.google.com/issues/new?component=409906&template=1094197

@pfmaggi Thanks for replying me. I create issue follow https://issuetracker.google.com/issues/156406644