Possible state leak in AddCommandSystemTest

Windows, from Intellij: this test fails when run with other tests, but passes when run by itself.
java.lang.AssertionError
	at org.junit.Assert.fail(Assert.java:86)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.junit.Assert.assertFalse(Assert.java:64)
	at org.junit.Assert.assertFalse(Assert.java:74)
	at systemtests.AddressBookSystemTest.assertSelectedCardUnchanged(AddressBookSystemTest.java:177)
	at systemtests.AddCommandSystemTest.assertCommandSuccess(AddCommandSystemTest.java:229)
	at systemtests.AddCommandSystemTest.assertCommandSuccess(AddCommandSystemTest.java:217)
	at systemtests.AddCommandSystemTest.assertCommandSuccess(AddCommandSystemTest.java:200)
	at systemtests.AddCommandSystemTest.add(AddCommandSystemTest.java:142)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at systemtests.ClockRule$1.evaluate(ClockRule.java:38)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

@Zhiyuan-Amos have a look at this one if you have time.

I guess the asciidoc files need to be built first with gradle asciidoctor. Usually, when running tests through gradle, gradle will automatically run gradle asciidoctor as a dependency, but if you run it directly via intellij I guess it bypasses gradle.

Seems like there are 3 PersonListPanels running.

INFO: ----------------[USER COMMAND][select 1]
Sep 18, 2017 6:31:12 PM seedu.address.commons.core.EventsCenter post
INFO: ------[Event Posted] seedu.address.commons.events.ui.JumpToListRequestEvent: JumpToListRequestEvent
Sep 18, 2017 6:31:12 PM seedu.address.ui.PersonListPanel handleJumpToListRequestEvent
INFO: ---[Event handled][JumpToListRequestEvent]
Sep 18, 2017 6:31:12 PM seedu.address.ui.PersonListPanel handleJumpToListRequestEvent
INFO: ---[Event handled][JumpToListRequestEvent]
Sep 18, 2017 6:31:12 PM seedu.address.ui.PersonListPanel handleJumpToListRequestEvent
INFO: ---[Event handled][JumpToListRequestEvent]

Further updates: tests work fine after I deleted the tests in seedu.address.ui; the tests pass and there's no additional components as far as I can read from the logs (i.e. only 1 PersonListPanel) etc.
@yamgent can you take a look at the tests in the folder since they are written by you iirc :P

https://github.com/se-edu/addressbook-level4/blob/66d24fc7d51db891f93095d29344300e63ce1049/src/test/java/seedu/address/ui/testutil/StageRule.java#L17 already guarantees that classes that uses StageRule/UiPartRule will clean up the GUI with FxToolkit.cleanupStages();. So if the problem is with FxToolkit.cleanupStages();, then it could be a TestFx problem, and I suggest we disable these tests first.
Otherwise, state leaks may not necessary originate from there. Do remember that test execution order may not always be the same. Just because deleting these files = no problem does not imply that the problem originated from there (which is why I always advocated techniques avoiding state leaks whenever possible - these problems can be hard to find when they crop up).

Do remember that test execution order may not always be the same. Just because deleting these files = no problem does not imply that the problem originated from there

When you execute from IntelliJ, the test order is the same. Or minimally at least, I have visually observed that the tests go in order of guitests ->seedu.address -> systemtests. After I have removed the seedu.address.ui, and visually observed that the tests go in the same order, AddCommandSystemTest passed and there's no additional components from the logs.

@pyokagan can you take a look at this? This issue a bit high level.
https://github.com/se-edu/addressbook-level4/issues/675#issuecomment-330183030, https://github.com/se-edu/addressbook-level4/issues/675#issuecomment-330198268 and https://github.com/se-edu/addressbook-level4/issues/675#issuecomment-330198917

Does this solve the problem?
diff --git a/src/test/java/seedu/address/ui/GuiUnitTest.java b/src/test/java/seedu/address/ui/GuiUnitTest.java
index d163c57..f1ff065 100644
--- a/src/test/java/seedu/address/ui/GuiUnitTest.java
+++ b/src/test/java/seedu/address/ui/GuiUnitTest.java
@@ -2,11 +2,13 @@ package seedu.address.ui;

 import java.util.Optional;

+import org.junit.After;
 import org.junit.Rule;

 import guitests.GuiRobot;
 import guitests.guihandles.exceptions.NodeNotFoundException;
 import javafx.scene.Node;
+import seedu.address.commons.core.EventsCenter;
 import seedu.address.ui.testutil.UiPartRule;

 /**
@@ -18,6 +20,11 @@ public abstract class GuiUnitTest {

     protected final GuiRobot guiRobot = new GuiRobot();

+    @After
+    public void tearDown() {
+        EventsCenter.clearSubscribers();
+    }
+
     /**
      * Retrieves the {@code query} node owned by the {@code rootNode}.
      *

If yes, this just increases my dislike for our global EventsCenter even more >:( >:( Its too easy to cause state leaks.

Yup passes on my side.

Great if true, but I also couldn't reproduce the problem with gradle, even after I set forkEvery to a super high number. Not sure what gradle is doing differently here.

Works for me too, on the set up that used to fail earlier 💯

Teach me to be as pro as you pls senpai @pyokagan. Can you do a PR for it since it's all your work ^^

Teach me to be as pro as you pls senpai @pyokagan. Can you do a PR for it since it's all your work ^^

He did the hard part. Let's do the rest ourselves :-) You can credit him in the commit message.


MVC 5 support

We may want to start work on supporting MVC 5 - https://www.nuget.org/packages/Microsoft.AspNet.Mvc/5.0.0-beta2

Hi
Hw can I implement sitemap for the mvc asp.net core


Fixes on the traefik - prometheus config

I was getting some errors, first:
2017/12/07 18:12:50 Error reading TOML config file /config/traefik.toml : toml: cannot load TOML value of type string into a Go slice

fixed it by hand in the configmap, and then I got:
2017/12/07 18:14:35 Error reading TOML config file /config/traefik.toml : Near line 15 (last key parsed 'web.metrics.prometheus.Buckets'): Array contains values of type 'Float' and 'Integer', but arrays must be homogeneous.

these changes should fix those problems.

cc/ @unguiculus

cc @krancour

/ok-to-test

/retest

/retest

/retest

Thanks @caarlos0!

Thanks! :)


Setup AppVeyor test hook

Setup & Connect PR webhook to AppVeyor
Sample configuration to use for basis in cadquery: appveyor.yml
(suggested by @zwn and @adam-urbanczyk)

[ ] post back to jmwright/cadquery-freecad-module#120 when complete


Fix "fastlane-plugin-appcenter" to support Ruby 3.0

Describe the solution you'd like
Please, take a look at the following issues and PRs on the fastlane-plugin-appcenter:

https://github.com/microsoft/fastlane-plugin-appcenter/issues/283
https://github.com/microsoft/fastlane-plugin-appcenter/issues/279
https://github.com/microsoft/fastlane-plugin-appcenter/pull/287

Describe alternatives you've considered
The only alternative to make fastlane-plugin-appcenter it to work with Ruby 2.x
Additional context
fastlane-plugin-appcenter uses methods that were marked as deprecated on Ruby 2.x and removed on Ruby 3.
PS: I'm opening this issue here because I was instructed to do that through the email that I've received

Hello, @rewgoes! We have released fastlane-plugin-appcenter 2.0.0. Please try it!

Closing this issue, but feel free to reopen if you have additional questions.


Add comparison to Netflix's Atlas to documentation

From https://github.com/prometheus/prometheus/issues/745

From talking to monitoring developers in Netflix at Monitorama, one thing is that not enough of Atlas is open sourced for anyone other than Netflix to be able to run it.

Noone has expressed interested recently, so going to close this off to reduce clutter.


Address change

Please change the target to the development branch :-)

Ok sorry.
Am 07.10.2017 13:46 schrieb "Sebastian Grewe"<EMAIL_ADDRESS>
Please change the target to the development branch :-)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MPOS/php-mpos/pull/2614#issuecomment-334929467, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AE9sc7W9wBVGSsOaIiHZE1ooT7XRyyevks5sp2SGgaJpZM4PxRaA
.


Error: Expression has only 1 part. At least 5 parts are required.`

Make sure these boxes are checked( - [x] ) before submitting an issue.

[x] Running latest npm and node? (Run npm --version and node --version). Get the latest nodejs here.
[x] The node_modules folder has right permissions (Run ls -ld $(npm root -g)/crontab-ui)
[x] Read issues.md
[x] Gone through existing open and closed issues.
When I try to run my job manually I get this error

Running job ID: 30jwU1hIYBDzNHRG Original command: python '/home/gabriel/Documents/anisync/plexanisync/PlexAniSync.py' Executed command: ((({ python '/home/gabriel/Documents/anisync/plexanisync/PlexAniSync.py'; } | tee /tmp/30jwU1hIYBDzNHRG.stdout) 3>&1 1>&2 2>&3 | tee /tmp/30jwU1hIYBDzNHRG.stderr) 3>&1 1>&2 2>&3); if test -f /tmp/30jwU1hIYBDzNHRG.stderr; then date >> "/usr/local/lib/node_modules/crontab-ui/crontabs/logs/30jwU1hIYBDzNHRG.log"; cat /tmp/30jwU1hIYBDzNHRG.stderr >> "/usr/local/lib/node_modules/crontab-ui/crontabs/logs/30jwU1hIYBDzNHRG.log"; fi; if test -f /tmp/30jwU1hIYBDzNHRG.stdout; then date >> "/usr/local/lib/node_modules/crontab-ui/crontabs/logs/30jwU1hIYBDzNHRG.stdout.log"; cat /tmp/30jwU1hIYBDzNHRG.stdout >> "/usr/local/lib/node_modules/crontab-ui/crontabs/logs/30jwU1hIYBDzNHRG.stdout.log"; fi Error: Expression has only 1 part. At least 5 parts are required.
i have set this to run hourly

I'm also with this error, dont know why. That doesnt make sense.

when you use the @hourly i get the error but if i replace it with a standard cron expression 0 * * * * the errs goes away 1 part vs 5 parts

when you use the @hourly i get the error but if i replace it with a standard cron expression 0 * * * * the errs goes away 1 part vs 5 parts

oh that's a good catch, I poked around crontab-ui's code and it looks like a library that crontab-ui uses (cronstrue) doesn't support crontab extensions (https://github.com/bradymholt/cRonstrue/issues/277)


enh:  Navigation Next/Previous Minutes on MinutesEdit Closes #181

Please check indentation. Then we can accept this PR ;-)


Convert the btbridge to use the new IPMI D-Bus API

https://github.com/openbmc/kcsbridge/commit/9ce5a9a0ba3fc08bf8f44f0582ea6df5819c09f3
Along the lines of the above patch, the btbridge has to use the new IPMI D-Bus API which is method based instead of signal/method based.

Hi @tomjoseph83,
Could you share how you know the "Channel number 0 is assigned to btbridge IPMI commands" in the source code? I have been stuck here for a long time. Thanks.


Add GUI for creating Zones, Campaigns, AdItems etc..

Publisher/create
Publisher/delete
Zone/create
Zone/delete
Advertiser/create
Advertiser/delete
Campaign/create
Campaign/delete
CampaignAssignment/create
CampaignAssignment/delete
Placement/create
Placement/delete

If need to add feature model deleting then have to delete all related models also. in this tutorial omit delete feature
ex: Try to delete Publisher > Get Zones assigned to Publisher > Get Campaigns assigned to Zone ...


Cmd/ctrl+k should trigger link command

Currently the link command/tool is triggered by cmd/ctrl+l. This is normally used to focus the address bar in the browser.
More common is to use cmd/ctrl+k to trigger link insertion.

Fixed via https://github.com/substance/substance/pull/582/files#diff-16ce8392834e7de5bcf8302dbfde48dcR514
Btw, we have also generalized the overlay feature and made it a core API. #586
Will all land in beta 4.


use --no-cache-dir in Dockerfile

I found that Docker build for Python 2.x is failing with MemoryError on Docker Hub.
https://hub.docker.com/r/cupy/cupy/builds/bkjms5j4pjhdw4vwynzjf7v/
It seems it hits the memory limit while downloading wheels.
I confirmed that --no-cache-dir reduces the memory usage and succeed to build.
It also improves the footprint of the image size.

LGTM!


Problem with traefik log parser when Taefik is behind CloudFlare proxy

@AlteredCoder @he2ss @chad-jones @actions-user
So, there is "traefik" logs parser that parses Traefik access logs. As far as I understand it takes the value of the "ClientAddr" field from the log. The problem is that my instance of Traefik is behind CloudFlare proxy, and "ClientAddr" always pointing to CloudFlare servers, which is not helpful.
Is it possible to add a configuration that will tell the parser to take a value of a different field instead of "ClientAddr"?
If a configurable field is not possible, maybe you can create traefik_cloudflare parser that will read "CF-Connecting-IP" field value instead of "ClientAddr"?

You need to add Cloudflares IP ranges to forwardedHeaders.trustedIPs
https://doc.traefik.io/traefik/v2.0/routing/entrypoints/#forwarded-header
Here's mine configured via CLI:
--entryPoints.websecure.forwardedHeaders.trustedIPs=<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/18,<IP_ADDRESS>/18,<IP_ADDRESS>/20,<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/17,<IP_ADDRESS>/15,<IP_ADDRESS>/13,<IP_ADDRESS>/14,<IP_ADDRESS>/13,<IP_ADDRESS>/22

You need to add Cloudflare's IP ranges to forwardedHeaders.trustedIPs in Traefik.
Here's mine configured via CLI: --entryPoints.websecure.forwardedHeaders.trustedIPs=<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/22,<IP_ADDRESS>/18,<IP_ADDRESS>/18,<IP_ADDRESS>/20,<IP_ADDRESS>/20,<IP_ADDRESS>/22,<IP_ADDRESS>/17,<IP_ADDRESS>/15,<IP_ADDRESS>/13,<IP_ADDRESS>/14,<IP_ADDRESS>/13,<IP_ADDRESS>/22

Did you check you see right address in the "ClientAddr" field of the log?
Because I have this and I still see inly CloudFlare addresses in the "ClientAddr" field
My configuration is below:
entryPoints:
  http:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: https
          scheme: https
          permanent: true
  https:
    http3: {}
    address: ":443"
    http:
      tls:
        # Generate a wildcard domain certificate
        certResolver: cloudflare
        domains:
          - main: edited1.work
            sans:
              - '*.aedited1.work'
          - main: edited2.com
            sans:
              - '*.edited2.com'
    forwardedHeaders:
      trustedIPs:
        - "<IP_ADDRESS>/20"
        - "<IP_ADDRESS>/22"
        - "<IP_ADDRESS>/22"
        - "<IP_ADDRESS>/22"
        - "<IP_ADDRESS>/18"
        - "<IP_ADDRESS>/18"
        - "<IP_ADDRESS>/20"
        - "<IP_ADDRESS>/20"
        - "<IP_ADDRESS>/22"
        - "<IP_ADDRESS>/17"
        - "<IP_ADDRESS>/15"
        - "<IP_ADDRESS>/13"
        - "<IP_ADDRESS>/14"
        - "<IP_ADDRESS>/13"
        - "<IP_ADDRESS>/22"
        - "2400:cb00::/32"
        - "2606:4700::/32"
        - "2803:f800::/32"
        - "2405:b500::/32"
        - "2405:8100::/32"
        - "2a06:98c0::/29"
        - "2c0f:f248::/32"

I'm not sure what you mean by the ClientAddr field. Here's an example of my access log, as you can see the first IP is a non-proxy one:
<IP_ADDRESS> - - [04/Oct/2022:19:38:12 +0000] "GET /build-deploy-asp-net-core-applications-jenkins-octopus-deploy/ HTTP/2.0" 200 13625 "-" "-" 27132 "benscobie@docker" "http://<IP_ADDRESS>:80" 213ms
If I run that against cscli explain I get the following output:

@benscobie
Yes initially, the Traefik access log was set to "JSON" format, as it was in a tutorial I followed. It seems like when the format is JSON, the Traefik parser takes remote IP from the "ClientAddr" field. This field still points to the Cloudflare server even with "trustedIPs" set. After I switched to the "common" format of the Traefik access log, the remote IP changed to the proper value. It seems to me that both formats should work properly, but JSON definitely not working right. Now I am not sure if it is a problem with Traefik or the CrowdSec parser of Traefik logs.

Should be fixed by #760 ??


BioReactor causing Stack Overload, causing Server to crash

Industrial Foregoing Version: 2.1.2 (on MC 1.14.4)
TeslaCoreLib Version: N/A
Crashlog (If Any): Attached, see below.
To fix the issue on the server, we had to change the bioreactor to stone. Any attempts to load that block before would crash the server.
crash-2020-05-29_20.47.55-server.txt

Update to 2.3.2


rider username space issue solved

i applied the same method is being used in vendor profile for extracting spaces.

Summary by CodeRabbit

Bug Fixes

Improved username input by automatically removing spaces for a cleaner and error-free user experience.

Hey @thebilalkhan brother , I just wanted to provide an update regarding this PR. It seems that the issue has already been solved and merged into the main branch with PR #234 , Thank you for your understanding

Hi, I wanted to thank you for your contribution and effort in creating the pull request for this issue It's greatly appreciated!
After careful review, another contributor's pull request addressing the same issue has been merged. As a result, we are closing your pull request.
Thank you for your time and effort!
Regards,
Team Ninjas Code


Fix JSON-RPC CORS.

The Access-Control-Allow-Origin is not right.
Should be Access-Control-Allow-Origin, but we write Origin.

The Access-Control-Allow-Origin should be *, <origin> or null.
The empty string is not in the specification.

Add a simple test to test if Access-Control-Allow-Origin is existed in JSON-RPC's responses.

And except the docker's CORS, my browser still can't get response from the JSONRPC server, cita-cli and curl work well, I'm wondering happened.
The latest response is a timeout error and the truffle box, doesn't happy either....tried both ws and http.
btw, cita-sdk can work in the node environment.


Remove dead OpenStack Juno link

AWESOME, looks like --file-ignore prints the errors but doesn't return a bad error code, which is exactly the behavior I wanted. LGTM!


keep wrapper in hidden field

With the upcoming of HTML-over-the-wire like HTMX, Unpoly etc., we are facing new challenges.
I am constructing a generic form that has the possibility of updating itself dynamically, based on django-forms-dynamic - but with HTMX functionality included.
This basically works perfectly with Crispy, with one except: When a conditional field triggers the absence of another field, I must "remove" that field from view. When the field is removed from the form itself, it is not rendered at all, and I don't have a tag with an id as HTMX target any more. I'd like to modifie django-forms-dynamic so that it just "hides" the field.
This only works only with django crispy, as crispy adds a functional wrapper to each field which automatically has a id=div_id_<field-name>.
But, and this is my problem, if crispy renders a "hidden field", it just renders the field without wrapper.
https://github.com/django-crispy-forms/crispy-bootstrap5/blob/2737939d424da36ccca95fbf6e48c49f9bd4b7df/crispy_bootstrap5/templates/bootstrap5/field.html#L3-L5
This makes it impossible to use it as target and hide/show it dynamically.
So I have a suggestion, that may be considered impossible as it may break things, but would help crispy to be more consistent with hidden fields:
Would it be possible to also enclose the hidden field in a div that has the same id as the visible field?
this would be like:
{% if field.is_hidden %}
    <{% if tag %}{{ tag }}{% else %}div{% endif %}
        id="div_{{ field.auto_id }}"
        class="{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}"
    >
        {{ field }}
    </{% if tag %}{{ tag }}{% else %}div{% endif %}>
{% else %}

I expanded it a bit for better readability.
What do you think about that?

Another possibility would be a DynamicField wrapper for Crispy fields, that holds that possibility, like the equivalent does for form fields in django-forms-dynamic.


ExperienceSourceFirstLast

Can someone explain the main difference between ExperienceSourceFirstLast and ExperienceSource? Are we still storing every incoming state?

Sorry for delay :).
The main difference is that ExperienceSource produces all traces of given length, but ExperienceSourceFirstLast returns only first and last states with calculated discounted reward between. It could be illustrated on example.
Suppose we have single episode with states 0 -> 1 -> 2 -> 3 -> 4. On the last state episode is terminated.
Suppose we have ExperienceSource(steps_count=3), then it will produce the following data on iteration:

[Experience(state=0), Experience(state=1), Experience(state=2)]
[Experience(state=1), Experience(state=2), Experience(state=3)]
[Experience(state=2), Experience(state=3), Experience(state=4)]
[Experience(state=3), Experience(state=4)]
[Experience(state=4)]

But ExperienceSourceFirstLast(steps_count=3) will return the following:

ExperienceFirstLast(state=0, last_state=2)
ExperienceFirstLast(state=1, last_state=3)
ExperienceFirstLast(state=2, last_state=None)
ExperienceFirstLast(state=3, last_state=None)

Reward returned by ExperienceSourceFirstLast is aggregated using gamma passed on constructor.
Most of the time, ExperienceSourceFirstLast is more convenient, as we're not normally need intermediate states. But sometimes, we need more control, so, ExperienceSource could be handy.
In terms of implementation, ExperienceSourceFirstLast is a wrapper around ExperienceSource.


Can't download WavePad tutorial on youtube.com

[ x] I've verified and I assure that I'm running youtube-dl 2018.11.03
[x ] At least skimmed through the README, most notably the FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones
[ x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x ] Bug report (encountered problems with youtube-dl)

C:\>youtube-dl.exe -v --hls-prefer-native --no-check-certificate --no-overwrites "https://www.youtube.com/watch?v=mlb5diXf1Y8"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--hls-prefer-native', '--no-check-certificate', '--no-overwrites', 'https://www.youtube.com/watch?v=mlb5diXf1Y8']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.11.03
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: ffmpeg N-92087-gdcbd89e000-ffmpeg-windows-build-helpers, ffprobe N-92087-gdcbd89e000-ffmpeg-windows-build-helpers, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] mlb5diXf1Y8: Downloading webpage
[youtube] mlb5diXf1Y8: Downloading video info webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r3---sn-cu-auoz.googlevideo.com/videoplayback?gir=yes&sparams=aitags%2Cclen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&requiressl=yes&key=yt6&clen=18383360&aitags=133%2C134%2C135%2C160&keepalive=yes&itag=135&mn=sn-cu-auoz%2Csn-5hnekn7d&ipbits=0&mm=31%2C26&signature=4C0A32983C7C93B6F19849CF2C3AD658595B0E59.1064A0A9425A490E371ACBC7E8F9446BD203165C&ms=au%2Conr&mime=video%2Fmp4&mv=m&ip=<IP_ADDRESS>&source=youtube&pl=25&id=o-APmmbdnXnPnC5pr5OcY2jA9bCao9hWpU8gQ6xS0QJ4kO&initcwndbps=1733750&fvip=3&dur=491.066&ei=HPveW-HVAvP17gTxkpiADg&mt=1541339788&c=WEB&lmt=1431838679740620&expire=1541361532&ratebypass=yes'
ERROR: unable to download video data: <urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>
Traceback (most recent call last):
  File "C:\Python\Python34\lib\urllib\request.py", line 1183, in do_open
  File "C:\Python\Python34\lib\http\client.py", line 1137, in request
  File "C:\Python\Python34\lib\http\client.py", line 1182, in _send_request
  File "C:\Python\Python34\lib\http\client.py", line 1133, in endheaders
  File "C:\Python\Python34\lib\http\client.py", line 963, in _send_output
  File "C:\Python\Python34\lib\http\client.py", line 898, in send
  File "C:\Python\Python34\lib\http\client.py", line 1279, in connect
  File "C:\Python\Python34\lib\http\client.py", line 871, in connect
  File "C:\Python\Python34\lib\socket.py", line 516, in create_connection
  File "C:\Python\Python34\lib\socket.py", line 507, in create_connection
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\YoutubeDL.py", line 1902, in process_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\YoutubeDL.py", line 1847, in dl
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\downloader\common.py", line 364, in download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\downloader\http.py", line 341, in real_download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\downloader\http.py", line 109, in establish_connection
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\YoutubeDL.py", line 2211, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 464, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 482, in _open
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpxh4iffn2\build\youtube_dl\utils.py", line 1139, in https_open
  File "C:\Python\Python34\lib\urllib\request.py", line 1185, in do_open
urllib.error.URLError: <urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>

Description of your issue, suggested solution and other information
Can't download video from this youtube url:
https://www.youtube.com/watch?v=mlb5diXf1Y8
C:\>youtube-dl.exe -v -F --hls-prefer-native --no-check-certificate "https://www.youtube.com/watch?v=mlb5diXf1Y8"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-F', '--hls-prefer-native', '--no-check-certificate', 'https://www.youtube.com/watch?v=mlb5diXf1Y8']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.11.03
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: ffmpeg N-92087-gdcbd89e000-ffmpeg-windows-build-helpers, ffprobe N-92087-gdcbd89e000-ffmpeg-windows-build-helpers, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] mlb5diXf1Y8: Downloading webpage
[youtube] mlb5diXf1Y8: Downloading video info webpage
[info] Available formats for mlb5diXf1Y8:
format code  extension  resolution note
171          webm       audio only DASH audio   73k , 1fps, vorbis@128k, 4.07MiB
140          m4a        audio only DASH audio   96k , m4a_dash container, mp4a.40.2@128k, 5.57MiB
160          mp4        256x144    144p  136k , avc1.4d400c, 15fps, video only, 5.99MiB
133          mp4        426x240    240p  304k , avc1.4d4015, 30fps, video only, 13.28MiB
134          mp4        640x360    360p  584k , avc1.4d401e, 30fps, video only, 8.02MiB
135          mp4        854x480    480p 1107k , avc1.4d401f, 30fps, video only, 17.53MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k, 3.74MiB
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2, 12.92MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 17.30MiB
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k, 19.64MiB (best)

Most likely network issue on your side.

Thank you for the reply.
It works for me now as well, I didn't make any change on my sistem, don't know what could had caused the error.

C:\>youtube-dl.exe -v --hls-prefer-native --no-check-certificate --no-overwrites "https://www.youtube.com/watch?v=mlb5diXf1Y8"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--hls-prefer-native', '--no-check-certificate', '--no-overwrites', 'https://www.youtube.com/watch?v=mlb5diXf1Y8']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.11.03
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: ffmpeg N-92087-gdcbd89e000-ffmpeg-windows-build-helpers, ffprobe N-92087-gdcbd89e000-ffmpeg-windows-build-helpers, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] mlb5diXf1Y8: Downloading webpage
[youtube] mlb5diXf1Y8: Downloading video info webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r3---sn-cu-auoz.googlevideo.com/videoplayback?ei=s5DfW7aFIJyG7AT1yII4&c=WEB&key=yt6&ipbits=0&mm=31%2C26&mn=sn-cu-auoz%2Csn-5hne6nsk&pl=25&mt=1541378102&mv=m&dur=491.066&initcwndbps=1587500&itag=135&ms=au%2Conr&sparams=aitags%2Cclen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&id=o-AG0V6d01Eq6O6llarqNyQl9ksfkgYFllIi2nYhJk-kYC&fvip=3&keepalive=yes&requiressl=yes&gir=yes&mime=video%2Fmp4&lmt=1431838679740620&expire=1541399827&signature=A24D98AA8593C7F13B2B996A627C2DEDD1961F13.300F929BB6E0238557CE5536262C739DEA8E8A59&source=youtube&ip=<IP_ADDRESS>&aitags=133%2C134%2C135%2C160&clen=18383360&ratebypass=yes'
[download] Destination: WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.f135.mp4
[download] 100% of 17.53MiB in 00:08
[debug] Invoking downloader on 'https://r3---sn-cu-auoz.googlevideo.com/videoplayback?ei=s5DfW7aFIJyG7AT1yII4&c=WEB&key=yt6&ipbits=0&mm=31%2C26&mn=sn-cu-auoz%2Csn-5hne6nsk&pl=25&mt=1541378102&mv=m&dur=491.171&initcwndbps=1587500&itag=140&ms=au%2Conr&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&id=o-AG0V6d01Eq6O6llarqNyQl9ksfkgYFllIi2nYhJk-kYC&fvip=3&keepalive=yes&requiressl=yes&gir=yes&mime=audio%2Fmp4&lmt=1431838634082274&expire=1541399827&signature=36A28004F5DD709CE3EB91F7EAAF7FDFDA6EADD4.D0A639C444BE08BFAC56EDEAB6DDC5909388354D&source=youtube&ip=<IP_ADDRESS>&clen=5836825&ratebypass=yes'
[download] Destination: WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.f140.m4a
[download] 100% of 5.57MiB in 00:02
[ffmpeg] Merging formats into "WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.mp4"
[debug] ffmpeg command line: ffmpeg -y -i "file:WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.f135.mp4" -i "file:WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.f140.m4a" -c copy -map "0:v:0" -map "1:a:0" "file:WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.temp.mp4"
Deleting original file WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.f135.mp4 (pass -k to keep)
Deleting original file WavePad Audio Editing Software _ Intro to Editing-mlb5diXf1Y8.f140.m4a (pass -k to keep)


PE-40775 Document Slurm Operator

Description
Since the CPE docs cannot reference unreleased software, document the Slurm operator here by filling in the placeholder sections. In the future, we can replace the content with references to CPE documentation.
Checklist Before Merging

[x] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[x] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

What should I do about the failed spell check? I don't think they're actual spelling errors, just technical terms that aren't in the dictionary.

/backport release/1.3


Ubuntu Jammy 2023.1 kolla image upgrade

OVS images are not included in this new tag 2023.1-ubuntu-jammy-20240129T151608
Due to the issue where not all images can be built at the same time. (See https://github.com/stackhpc/kayobe/pull/239)

Updated neutron tag to include OVS images.
Now this branch should have all Kolla images.


pull request for e2e test at 12/10/2016 11:26:05

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add initial support for distroless containers

This PR adds support for extracting package information from distroless containers.
As-is, I'm able to extract package names and versions from all current tags. I'm also able to extract copyright information, but not had success mapping it to licenses. Please see the logs for:

gcr.io/distroless/base:latest
gcr.io/distroless/dotnet:latest
gcr.io/distroless/python3:debug

Closes #864

as provided by Google specifically, not distroless containers in general)

What is the difference between distroless containers provided by the distroless project and distroless containers "in general"?

When I say "distroless containers in general" I mean the concept of distroless containers. I've heard the term distroless used to describe minimal, barebones, containers with a single executable.

@nishakm I think I've addressed your comments. Ready for another round of review 👍
I believe the failure in test setup is not related to my changes. It appears that a test is broken upstream.

I believe the failure in test setup is not related to my changes. It appears that a test is broken upstream.

It is. I filed an issue for it and we can ignore it for now.

The linting fails because there are too many branches in get_pkg_attrs. I wonder if you could move the invoke_in_rootfs and invoke_on_host lines into a new function? That way the number of if statements in this function won't be that many and pylint will be happy.

I think I have appeased pylint. I even remembered to sign-off my commit this time!

@JamieMagee last request: can you squash your two commits and keep the first commit without the links to the external files? Thanks for continuing to work on this!

@nishakm I've squashed the commits, but the commit message lint is failing due to the included URLs. I think Linux Kernel commit messages have an exception to the 72 character limit for URLs, compiler messages, etc. But let me know what you want me to do. Thanks!

@rnjudge Can we merge this one even though the link length is more than 72 characters? I think we can add the link exception to the commit message linter later.

@rnjudge Can we merge this one even though the link length is more than 72 characters? I think we can add the link exception to the commit message linter later.

I am fine with this. Maybe @jaindhairyahere can add a check for this since he's working on something similar in https://github.com/tern-tools/tern/pull/911


Connection / reconnection logic

copy connection/reconnection retry logic from here:
https://github.com/jb55/nostr-js/blob/master/lib/relay.js

Reconnect is implemented


Improve bootstrap layout

Do a bower install after composer install/update
Change the background color to the typical Fork color
Don't show the module name everywhere, it's already in the title tag and in the navigation
Fix an issue with the jsTree layout
Use 2 spaces as indentation in tpl files
Use btn-default everywhere in the upper button toolbar.

I've also seen that the asterisk and info glyphicons are way too big, but I couldn't find a solutions.


Open AI Client wrapper for GoFr

can you assign me this issue.

Hi, can you assign me this issue.
Also i want to clear out a doubt that whether to build this in a separate folder at pkg/gofr or at pkg/gofr/services.
(new to OpenSource and first issue. so...)

pkg/gofr/service/openAI might be a good place, IMO. But, it should be written in such a way that it gets included only on demand and does not affect all the other people's binary who don't need it. (Ref: datasources)

I have another doubt. i found that OpenAI has also developed it's wrapper so will it be okay to use that package and will add other logger and metrics functionalities along with it while implementing it. I think it's just like using a mongo client package and wrapping it with logger, metrics and trace.
link to openai-go package

also there is a question for @coolwednesday , i want to clarify that for OpenAI do i need to implement all of the endpoints or just the normal chat one.

I have another doubt. i found that OpenAI has also developed it's wrapper so will it be okay to use that package and will add other logger and metrics functionalities along with it while implementing it. I think it's just like using a mongo client package and wrapping it with logger, metrics and tracer.
link to openai-go package

You can go ahead and build a wrapper around it.

also there is a question for @coolwednesday , i want to clarify that for OpenAI do i need to implement all of the endpoints or just the normal chat one.

I think we can skip audio, images ..... Can you brief me on what do the models and moderation endpoints do ?

There are different endpoints on whether you want to use OpenAI like you want to simply chat you or you can pass audio or image input there are also other different endpoints were you can handle your custom models and fine tuning basically gives us api for settings of our custom models. So I think implementing basic requirements like chat, audio, and image will be sufficient for this task and anyone using framework can implement these three options.

Models is used to list and describe various models available in the api
Moderations is used to classify if any given input content is harmful across several categories. Basically monitoring requests so can be tracked using request id. (can be used to log requests but increases api call).

Models is used to list and describe various models available in the api
Moderations is used to classify if any given input content is harmful across several categories. Basically monitoring requests so can be tracked using request id. (can be used to log requests but increases api call).

I want to use this feature to integrate AI with the observability tools that GoFr provides. For this, we’ll likely need features like chat, embedding conversion, fine-tuning, batch processing, models, and moderation. We can skip audio and image-related features for now.
Let’s start small and explore how these features depend on each other. Try to implement a few related ones together in a single pull request (PR).

@coolwednesday @vikash i have implemented chat endpoint and now will be writing tests, but before that i wanted to know about mock files that different datasources have implemented like mock_logger.go and mock_metrics.go so i wanted to know why they are used.

@coolwednesday @vikash i have wrapped chat endpoint and now will be writing tests, but before that i wanted to know about mock files that different datasources have implemented like mock_logger.go and mock_metrics.go so i wanted to know why they are used.

These mock files exist because the datasource clients incorporate observability features—traces, metrics, and logs—into each of their methods. When writing tests, we not only mock the underlying methods being called but also need to set up mock expectations for logger, metrics.
To achieve this, the respective interfaces for these observability components (e.g., logger and metrics) are defined, and their mock implementations are created. This is where files like mock_logger.go and mock_metrics.go come into play.
The reason for this setup is that, in GoFr, datasource clients are assigned the original GoFr app's logger, metrics, and traces only when the user specifies the necessary configs and calls the addDatasource method on the app. This can be seen in the external_db.go file.
For the chat client, a similar approach will be required: define interfaces for logger and metrics (traces, if invoked without initialization, do not cause a panic), create their corresponding mocks, and set them up correctly during testing.

@coolwednesday I completed implementing the chat endpoint but , getting a linter error and i am pretty much sure it's bug it gives that an imported package is not formatted.

Error:

File is not gofmt-ed with -s (gofmt)go-golangci-lint

I am only getting this error in certain files even i have formatted all of them equal

(orange ones are the one with this linter error)

@coolwednesday I completed implementing the chat endpoint but , getting a linter error and i am pretty much sure it's bug it gives that an imported package is not formatted.

Error:

File is not gofmt-ed with -s (gofmt)go-golangci-lint

I am only getting this error in certain files even i have formatted all of them equal

(orange ones are the one with this linter error)
I searched this error but got no fruitful result

This issue is basically because your imports might not be sorted or your file is not formatted. Check both the cases. So you can right click -> go tools -> Go Fmt file / go imports file ....based on whatever is the usecase .....if you are using Goland .....

@yash-sojitra , any updates on the progress of the PR ?

Writing tests for enough code coverage. Main functionalities are tested but other small functions are remaining to be tested.


TestAdapter is causing Visual Studio 2019 to freeze

Deadlock occur when attemped to save file randomly. One thread background is allways executing Microsoft.NodejsTools.TestAdapterImpl.dll!Microsoft.NodejsTools.TestAdapter.TestContainerDiscoverer.GetTestProjectFromFile(string filename)) while Visual Studio freeze
https://developercommunity.visualstudio.com/content/problem/415146/visual-studio-freeze-1.html

NTVS Version: default from Visual Studio Installer
Visual Studio Version: 2019 Preview 2.2
Node.js Version: not installerd

Easy steps to successfully reproduce issue (tested on newly installed Windows Server 2019 virtual machine with 1 CPU and 1 GB RAM):
1.) Install Visual Studio 2019 Enterprise Preview with selected at least:

.NET desktop development
Node.js development

Example installconfig (cannot be attached here because of unallowed extension):
{
  "version": "1.0",
  "components": [
    "Microsoft.Net.ComponentGroup.TargetingPacks.Common",
    "Microsoft.ComponentGroup.Blend",
    "Microsoft.VisualStudio.Component.EntityFramework",
    "Microsoft.VisualStudio.Component.DiagnosticTools",
    "Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd",
    "Microsoft.VisualStudio.Component.Debugger.JustInTime",
    "Microsoft.VisualStudio.Component.LiveUnitTesting",
    "Component.Microsoft.VisualStudio.LiveShare",
    "Microsoft.VisualStudio.Workload.ManagedDesktop",
    "Microsoft.VisualStudio.Component.WebDeploy",
    "Microsoft.VisualStudio.Workload.Node"
  ]
}

2.) Create new C# Unit Test Project (.NET Framework) project.
3.) Fullfil pregenerated test case (TestMethod1) with code Assert.AreEqual(10, 5 + 5);
4.) Open Test Explorer window and wait until it load and show loaded TestMethod1.
5.) Press Ctrl + S or save button 20 times. Visual Studio will freeze. (Visual Studio freezes randomly at save, so try it until it freeze, on my slow low cost virtual machine it is allways at first try).

@armanio123 Did you already fix this?

Yes, it was fixed by this PR: https://github.com/Microsoft/nodejstools/pull/2124.
The latest Visual Studio release should have the fix ready.


Test issue

Can I work on this?

Can I work on this?

Can I work on this?

Can I take this one?

Can i work on this?

I'd like to work on this as well.

Sorry everyone, this was just a test issue, nothing to work on


doc: add type="checkbox" prop to Switch example

Adds the type prop to the Switch example so users know that type="checkbox" must be applied for the control to work correctly.

I do not understand why this is required. And if it is, why can't formik-material-ui put it on its components?

@Elfayer its because when formik-material-ui builds the props we are already inside the Formik Field. So only the user can pass the top level type into formik to alter its behaviour for that field
@haversnail-cbs Thanks
Would you mind updating the other components that have the same requirement?
https://github.com/stackworx/formik-material-ui/blob/master/packages/formik-material-ui/src/Checkbox.tsx#L35
https://github.com/stackworx/formik-material-ui/blob/master/packages/formik-material-ui-lab/src/ToggleButtonGroup.tsx#L24

@cliedeman no problem. 👍 It looks like the type="checkbox" prop has already been annotated on the ToggleButtonGroup example, but I went ahead and added it to the Checkbox and CheckboxWithLabel component examples as well.

@haversnail-cbs Thanks


Configure Template and make it SEO friendly

Incompleteness of Current Template
Current template is not enough to create a functional site. Therefore, it needs to be improved.
Desired Solution
Clean and Professional template for the site.
Steps to Achieve

[x] Learn Zola in depth.
[ ] Create a professional template.
[ ] Add Theme
[ ] Make it SEO friendly

Step 1 is done.


Support older versions of Python

Support all of the following:

3.9
3.10
3.11

Need at least 3.9 to support using list as a type annotation.


Add ability to deny access in Network Security Group rules

Right now, priority is only used in Azure and we don't expose any way to deny traffic.
We need to:

Expose a way to deny traffic in a NSG, similarly to how azure does it
Make sure priority is respected in both AWS and AZURE

Hi @goncalo-rodrigues,
If It's open to the community, Can I  try to fix it?


Inconsistency between HasManyList and ManyManyList add method

HasManyList will force a write on the item added, whereas ManyManyList will not.
The behaviour should be consistent and do one or the other.
I propose writing the object if it doesn't yet exist.

HasManyList::add() has to write the object for the relation to be written. We could force ManyManyList::add() to run a write too, but really it would just result in a lot of unnecessary, performance-sucking DB writes in most cases.
The issue described by @tractorcow won’t occur in 4.0.0 as ManyManyList::add() will throw an exception if the object doesn’t exist: https://github.com/silverstripe/silverstripe-framework/blob/4.0.0/src/ORM/ManyManyList.php#L234-L236.


Addition of 'Soon' Section in README

PR Type:
Documentation

PR Description:
This PR introduces a new section titled 'Soon' in the README file. It provides information about an upcoming feature - 'Pre PR inside the IDE extension' and encourages users to follow the project on Discord for more updates.

PR Main Files Walkthrough:
README.md: Added a new section 'Soon' with details about an upcoming feature and a call to action to follow the project on Discord.

/describe

/review

/update_changelog

/ask should I add more tests?


Optional scopes

Description
Scenario:
I don't want to include all the scopes in the first install as some users don't need all the advanced features. But they can later enable a feature which requires a new scope, and they should be prompted to give the app permission to use the needed scope.
Problem:
Is there a way to define optional scopes?
I know that redirecting the users to the /install route will prompt them to add the missing scopes. But afaik all the scopes should be defined in the App's initialization options.
iirc, passing a scope that doesn't exist in the scopes array will create a scope mismatch and the oAuth will fail.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Hi, @ilyasmez! Thanks so much for reaching out with your question!
Unfortunately, as of right now there is not a way to have optional scopes for users within your app that can be conditionally added on top of an existing install. In that scenario, if a user already has an app installed and is then trying to access a feature that requires an additional scope, they will need to re-install from an OAuth flow that is requesting all scopes, including the new one(s).
If it suits your use case, I think something worth trying would be to allow users to select whether they want to install a "Basic" (including only the scopes needed for basic functionality) or "Advanced" (including the scopes needed for basic + advanced functionality) set of scopes. This could look like a radio button or a drop down on your OAuth page. Then, you could conditionally pass in the specific set of scopes to install based on what the user selects when they click the install button. (Note that on the app config side of things, your app will need to have all scopes added)
I hope this helps!

Thank you for the reply @hello-ashleyintech,
regarding your suggestion, that would work for me, as I'll make the users always install the basic version first, and allow them to "upgrade" the permissions from within the app (using the OAuth flow again of course).
I just didn't know that the first basic installation would work, I thought that the scopes array should match the exact scopes required by the OAuth flow.
I'll try this approach and share let you know how it goes.


typo in scaffolding.html - "Fluid gird system"

Updated typo in scaffolding.html - "Fluid gird system" to  "Fluid grid system"

Already resolved in 2.0.2-wip.

Oh, didn't realize you branched on the latest rather than using master.
Is the branching approach documented somewhere I am missing. If not is it simply updates to latest release (e.g. 2.0.1) go in master while work on next release goes in wip<next version #> (e.g. wip2.0.2)? Thanks, d

Never mind, found it - https://github.com/twitter/bootstrap/wiki/Contributing-to-Bootstrap. Guess I should have checked the wiki first. Maybe you should link to it from the README.md?


Restore support for Chef Infra Client < 16

Signed-off-by: Tim Smith<EMAIL_ADDRESS>

I'd feel better if we cleaned up the tests. Looks like they are still referencing attributes. Mind if I make another PR which makes this all "green" so we can be sure this works properly?

I'd feel better if we cleaned up the tests. Looks like they are still referencing attributes. Mind if I make another PR which makes this all "green" so we can be sure this works properly?

Hmm, I realized this rabbit hole goes deeper than I was hoping for.

Yeah I sorta noped out of it when I saw how bad it was


fatal error: no matching function for call to 'fma'

Code that reproduces the issue:
#pragma once
#include <cmath>
#include <concepts>
#include <vector>

template <class RandomAccessContainer>
requires std::random_access_iterator<typename RandomAccessContainer::iterator>
class polynomial {
public:
  using CoefficientType = typename RandomAccessContainer::value_type;
  using SizeType = typename RandomAccessContainer::size_type;

  polynomial(RandomAccessContainer &&coefficients)
      : c_{std::move(coefficients)} {
    while (c_.size() > 1 && c_.back() == CoefficientType{}) {
      c_.pop_back();
    }
  }

  template<typename Real>
  [[nodiscard]] CoefficientType operator()(Real x) const noexcept {
    using std::fma;
    CoefficientType y = c_.back();
    long n = c_.size() - 1;
    for (long i = n - 1; i >= 0; --i) {
      y = fma(y, x, c_[i]);
    }
    return y;
  }
private:
  RandomAccessContainer c_;
};

In the main.cpp:
#include <mp-units/systems/si/si.h>
int main() {
    using namespace mp_units;
    using namespace mp_units::si::unit_symbols;
    std::vector<decltype(1*km)> coeffs(7);
    for (size_t i = 0; i < coeffs.size(); ++i) {
         coeffs[i] = i*1*km;
    }
    auto p = polynomial(std::move(coeffs));
    auto y = p(0.0);
}

The Other maths section lists quite a few special functions, but not fma.

Hi @NAThompson, thanks for reporting. We provided only a few most popular math functions so far mostly due to to lack of time to provide more. If someone would like to extend those a PR is welcome.

The required arguments in fma function are of same types so this line "result = fma(static_cast(result), static_cast(x), coefficients_[i]);" might solve the issue


Fix filestat_from_nix conversion fn

Fixes bug uncovered in #65.
I think that in the long run we should consider utilising filetime, but this would require adding an extension trait so that we can set and get {a,c,m}times from (&File, &Path) pairs as well (essentially allowing for *at syscalls). @alexcrichton do you think it would be valid to extend filetime with such functionality for *nix hosts?

cc @sunfishcode @marmistrz

Hm I'm not sure I fully understand, what would be added to filetime? (it's probably reasonable to add I'm just curious)

@alexcrichton Oh sorry for not explaining myself very well! Currently in filetime we can set/get times from handles such as &File. For WASI on *nix hosts, it'd be very useful to permit for openat-style calls, so then &File handle would point to a directory and &Path to a path relative to that handle. I'm just worried that representing open handle to a directory wrapped in &File would not be very clear from the interface perspective to the crate's user; that is, it could cause confusion where users would supply a handle to an actual file and not a directory, but perhaps the very same problem is still faced in raw syscalls to openat-style functions.

I'm just worried that representing open handle to a directory wrapped in &File would not be very clear from the interface perspective to the crate's user; that is, it could cause confusion where users would supply a handle to an actual file and not a directory, but perhaps the very same problem is still faced in raw syscalls to openat-style functions.

@kubkon it may cause confusion, but the openat-style functions are very confusing themselves. I didn't understand why in world one would want such syscalls until I read openat(2) :P

@kubkon sounds reasonable to me to add!

@marmistrz that’s a fair enough actually. I sometimes also find openat-style functions confusing :-)
@alexcrichton great! Let’s merge these changes as they are for now, with the intention of enabling the openat-style functionality in filetime, which I’ll do my best to add in the near future :-)

Sounds good!


X11: Fix get_current_monitor

Fixes #64
This also adds an eprintln! to the X11 error handler. Since many X11 errors occur asynchronously, this should make debugging a bit easier. I still plan on adding proper logging in future work, but for now, this serves as a convenient preview for the panic that will happen soon afterwards.
Another notable change is that the monitor list is cached now. XRRGetScreenResources is supposedly very slow, and XRandR can notify us when we need to invalidate the cached list. Previously, Alacritty would query and reconstruct the monitor list 3 times, but now it only needs to once, so hooray for minor startup time improvements. (This will be more important when full HiDPI support for X11 lands, since detecting DPI changes involves checking which monitor a window is on whenever it moves.)
The rest of this is just some refactoring to reduce code duplication between the XRandR 1.5 and <1.5 paths.

Bonus: MonitorId now implements Debug on all platforms.


Flan t5 sample

Updating Flan-T5 CMI example
Added new mandatory formatting:
Overview.
What are we demonstrating .
What use case .
What will you learn.
What is the architectural pattern and why we select this. With a diagram
What are the libraries to install
What model did we choose and why this model
Every cell needs to have a markup
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

could you please generate the docs from this link -- https://github.com/aws-samples/amazon-bedrock-samples/blob/main/CONTRIBUTING.md


v18 updates for introduction to afw table

problems were:
*have to use 'calexp_photoCalib' instead of 'calexp_calib' as the data product to retrieve to get magnitudes
*have to use photoCalib.instFluxToMagnitude' now instead of 'getMagnitude'

I agree the verified run note needs to be updated before merge.

Updated header and merged.


[REQ] silent startup flag

I am using sthp because my proxyswitchyomega doesn't support socks5 proxies, hence I need to convert them to http format.
So I suggest adding the -silent startup flag, so that this lovely program wouldn't annoy me so much with the constant reminder that it is running.
Thanks :3

Hi @tokyoquest,
By any chance, do you use a Linux or Mac system? For those platforms, I have added the flag -d or --detached for running it in the background in the new beta version.

Hello! Unfortunately, i don't use any *Nix or MacOs based platfroms, so not applicable i guess.
windows feature implementation waiting room


Image build failed when I try to install Docker in provisionner part

Hi
I followed this tutorial : http://bingel.it/raspberry-pi-image-with-hashicorp-packer/
But it fails .... see below ... any idea?
Info : I use Packer 1.6.5 in the Dockerfile
Here is my json file:
{
  "variables": {},
  "builders": [{
    "type": "arm-image",
    "iso_url" : "/applications/raspios/2020-08-20-raspios-buster-armhf-lite.zip",
    "iso_checksum": "4522df4a29f9aac4b0166fbfee9f599dab55a997c855702bfe35329c13334668",
    "iso_checksum_type": "sha256"
  }],
  "provisioners": [
    {
      "type": "shell",
      "inline": [
        "touch /boot/ssh",
        "apt-get update",
        "curl -sSL https://get.docker.com | sh &> /dev/null",
        "sudo usermod -aG docker pi"
      ]
    }
  ]
}

root@debian-tools:/applications/packer-builder-arm-image# docker run --rm --privileged -v /applications/packer-builder-arm-image/build:/build -v /applications/packer-builder-arm-image/packer_cache:/build/packer_cache -v /applications/packer-builder-arm-image/build/output-arm-image:/build/output-arm-image -e PACKER_CACHE_DIR=/build/packer_cache -v /applications/raspios:/applications/raspios solo-io-packer-builder-arm build /applications/raspios/raspios2.json
running /bin/packer
arm-image: output will be in this color.

==> arm-image: Retrieving Image
==> arm-image: Trying /applications/raspios/2020-08-20-raspios-buster-armhf-lite.zip
==> arm-image: Trying /applications/raspios/2020-08-20-raspios-buster-armhf-lite.zip?checksum=sha256%3A4522df4a29f9aac4b0166fbfee9f599dab55a997c855702bfe35329c13334668
==> arm-image: /applications/raspios/2020-08-20-raspios-buster-armhf-lite.zip?checksum=sha256%3A4522df4a29f9aac4b0166fbfee9f599dab55a997c855702bfe35329c13334668 => /build/packer_cache/b97f5390e800f79bb942ce5911840e053b371159.iso
==> arm-image: Copying source image.
==> arm-image: Image is a zip file.
==> arm-image: Unzipping 2020-08-20-raspios-buster-armhf-lite.img
    arm-image: Speed:  177.71 MB/s
    arm-image: Progress: 48.15%
    arm-image: Speed:  141.19 MB/s
    arm-image: Progress: 86.40%
    arm-image: mapping output-arm-image/image
==> arm-image: kpartx -s -a -v output-arm-image/image
==> arm-image: partitions: [/dev/mapper/loop0p1 /dev/mapper/loop0p2]
    arm-image: Mounting: /dev/mapper/loop0p2
    arm-image: Mounting: /dev/mapper/loop0p1
==> arm-image: Mounting additional paths within the chroot...
    arm-image: Mounting: /proc
    arm-image: Mounting: /sys
    arm-image: Mounting: /dev
    arm-image: Mounting: /dev/pts
    arm-image: Mounting: /proc/sys/fs/binfmt_misc
==> arm-image: Installing qemu-user-static in the chroot
==> arm-image: Provisioning with shell script: /tmp/packer-shell880311305
    arm-image: Get:1 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
    arm-image: Get:2 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
    arm-image: Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
    arm-image: Get:4 http://archive.raspberrypi.org/debian buster/main armhf Packages [336 kB]
    arm-image: Get:5 http://raspbian.raspberrypi.org/raspbian buster/contrib armhf Packages [58.7 kB]
    arm-image: Fetched 13.4 MB in 22s (616 kB/s)
    arm-image: Reading package lists...
==> arm-image: sudo: unable to resolve host 02df390c1497: Name or service not known
==> arm-image: usermod: group 'docker' does not exist
    arm-image: # Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c
==> arm-image: + sh -c apt-get update -qq >/dev/null
==> arm-image: + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
==> arm-image: + sh -c curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | apt-key add -qq - >/dev/null
==> arm-image: Warning: apt-key output should not be parsed (stdout is not a terminal)
==> arm-image: + sh -c echo "deb [arch=armhf] https://download.docker.com/linux/raspbian buster stable" > /etc/apt/sources.list.d/docker.list
==> arm-image: + sh -c apt-get update -qq >/dev/null
==> arm-image: + [ -n  ]
==> arm-image: + sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
==> arm-image: debconf: unable to initialize frontend: Dialog
==> arm-image: debconf: (TERM is not set, so the dialog frontend is not usable.)
==> arm-image: debconf: falling back to frontend: Readline
==> arm-image: debconf: unable to initialize frontend: Readline
==> arm-image: debconf: (This frontend requires a controlling tty.)
==> arm-image: debconf: falling back to frontend: Teletype
==> arm-image: dpkg-preconfigure: unable to re-open stdin:
==> arm-image: E: Sub-process /usr/bin/dpkg returned an error code (1)
==> arm-image: fuser -k /tmp/272101727
Build 'arm-image' errored after 2 minutes 51 seconds: Script exited with non-zero exit status: 6.Allowed exit codes are: [0]

==> Wait completed after 2 minutes 51 seconds

==> Some builds didn't complete successfully and had errors:
--> arm-image: Script exited with non-zero exit status: 6.Allowed exit codes are: [0]

==> Builds finished but no artifacts were created.

i think from the output the package is trying to ask you a question, and as there is no tty it fails to do so. Is there way to install it in an uninteractive way?

Hi, closing this as inactive, please re-open if needed

I just had this same issue. When I removed all the output suppression from the get docker script, it showed me that the device was full. I hadn't set a target_image_size. I updated the builder config to "target_image_size":<PHONE_NUMBER> and docker installed no worries. Just thought I'd leave this here incase someone else stumbles across it with the same issue.


Support multiple planner output dialects

The planner is currently hard-coded to output MySQL dialect, which Flink natively understands. In order to target additional runtimes, we need a way to generate SQL in other dialects. N.B. the planner is largely dialect-agnostic already, until you ask for the plan as a String.

Hi, I didn't mean to disturb you, I was watching with interest. The line that you mean is here? https://github.com/linkedin/Hoptimator/blob/f748776207ad49858b2cb0628966995fdf337a03/hoptimator-planner/src/main/java/com/linkedin/hoptimator/planner/PipelineRel.java#L39

The line that you mean is here?

Yep. It looks like the hard-coded dialect is only used in a couple methods that return SQL strings. It might make sense to change those to return the underlying ScriptImplementer, which is dialect agnostic. Then callers could do rel.query(...).sql(dialect) and get whatever dialect they want.

Oh... you mean https://github.com/HoganEdwardChu/Hoptimator/pull/1/files this way? But than i think we have to get input dialect

Thanks for the detailed and contextual explanation. I'll think about what you said too. (if there's a good direction, I'll try it and share it again too!) Implmenting alternative runtimes Spark SQL instead of Flink SQL would be awesome.

I haven't given much thought to how we'd support multiple runtimes in the operator. There is a flink adapter, which is really the only place in the control plane that we assume the SQL will run on flink: https://github.com/linkedin/Hoptimator/blob/main/hoptimator-flink-adapter/src/main/java/com/linkedin/hoptimator/operator/flink/FlinkSqlJobReconciler.java#L57
As you can see, the flink adapter just passes the SQL from SqlJob to a FlinkDeployment (which is handled by the external flink-kubernetes-operator). Theoretically, we could do something similar for Spark or any other SQL runtime. I'm not sure how valuable that would be, but it seems possible.

I guess I'll have to think about it a bit. If you have any good opinions on whether it is better to put a dialect in the pipeline, please proceed. I will continue to try. I think making another adapter should be postponed to a later date. I think the most important thing is to handle the flink job well.

I think adding sqlDialect to pipeline is best at this point
https://github.com/HoganEdwardChu/Hoptimator/blob/90f4c459e1bb71f79c2625f19d79753eb0fbfbd5/hoptimator-planner/src/main/java/com/linkedin/hoptimator/planner/PipelineRel.java#L95

adding sqlDialect to pipeline

Makes sense to me!

Thanks @HoganEdwardChu  for #31

Thanks!!!!!
I am trying to add another sql time like spark. If there is any valuable progress I will pr!  @ryannedolan


Cleanup SqlServerTestStore.CreateDatabase()

The SqlServerTestStore.CreateDatabase() method (and the async version) in our tests has some funky code to probe for SQL files. After we've fully transitioned to the .NET Core CLI, someone should cleanup this logic.

I believe @AndriySvyryd did this.

@bricelam No


Add config for disabling eslint-plugin-babel rules

eslint-plugin-babel contains rules that conflict with Prettier, so it might be a good idea to add another ESLint config called prettier/babel. This seems easy, so I might be able to submit a PR for this.

Feel free to send a PR! :+1:


:seedling: Revert upgrade sdk to support Kafka

Summary
This reverts commit 0882f6d0587c786aeac1a8a218cb2069e7f18414 (#436).
We revert the Kafka support due to the Kafka cross compiling does not work

/assign @qiujian16

/approve
/lgtm


feat: SafePolygon component

Closes #1811
This exports a new SafePolygon component that can be used to block pointer-events as the cursor traverses it, a better solution to the current global "holes" strategy due to side effects
Usage:
const {polygonState, safePolygon} = useSafePolygon();

useHover(context, {
  handleClose: safePolygon()
});

return (
  <>
    {/* Avoids containing blocks messing with the position, not always required */}
    <FloatingPortal>
      {open && <SafePolygon state={polygonState} />}
    </FloatingPortal>
    {/* reference / floating stuff here */}
  </>
);

@mihkeleidast

A thought on the new component API: as a use, it is not too comfortable to have to use a separate outside state to save the points and pass it on to SafePolygon.
Could it use the context instead? Passing the context to different components seems to be an existing practice:
useHover(context, {
  handleClose: safePolygon(),
});

return (
  <>
    {/* Avoids containing blocks messing with the position, not always required */}
    <FloatingPortal>
      {open && <SafePolygon context={context} />}
    </FloatingPortal>
    {/* reference / floating stuff here */}
  </>
);

As an alternative, maybe create a hook that saves the state internally:
const { SafePolygon, safePolygon } = useSafePolygon();

useHover(context, {
  handleClose: safePolygon(),
});

return (
  <>
    {/* Avoids containing blocks messing with the position, not always required */}
    <FloatingPortal>
      {open && <SafePolygon />}
    </FloatingPortal>
    {/* reference / floating stuff here */}
  </>
);

Do I also understand correctly that the SafePolygon is not rendered as a child of the floating element, rather it should be aside it?

useSafePolygon() is indeed much better. This is breaking in React 17 and 18 when using flushSync for some reason due to onScrollMouseLeave(), will debug after and try to refactor to a hook

How's this, you still import SafePolygon as a component, but now the other one is returned from the hook with points state internal within it.
const {polygonState, safePolygon} = useSafePolygon();

useHover(context, {
  handleClose: safePolygon(),
});

return open && <SafePolygon state={polygonState} />;

I think this is a good API 👍

Alternative using spreadable props which is slightly more ergonomic imo:
const {polygonProps, safePolygon} = useSafePolygon();

useHover(context, {
  handleClose: safePolygon(),
});

return open && <SafePolygon {...polygonProps} />;

Unfortunately this has a problem in Firefox where it won't block pointer-events when the polygon gets generated on the mouseleave for 1 frame ~half the time, doesn't happen in Chrome or Safari 😒 , not sure how to fix it.

How to reproduce that issue? Would investigate a bit, but not sure what exactly to look for.

Add the polygon component to the Menu.tsx component file in the playground. Add another nested submenu right under the "Share..." one. Remove restMs: 25 from the safePolygon() call (non-0 is broken right now)
In Firefox, you can see a 1 frame flicker. This also causes issues seen at the end:
https://user-images.githubusercontent.com/22450188/181524306-82ba4d9f-2e48-45a3-afa6-577fd6bba3bc.mov

This one get stalled? :(

https://github.com/floating-ui/floating-ui/pull/2069


win11 building error

Hi all, I'm building the docker compose on windows with docker 'compose up --build' and got the following error. Just wondering if anyone has encountered this?

failed to solve: changes out of order: "images/datamodel.png" "chains.py"

I am guessing this is related to the Docker Desktop version. If you are on Docker Desktop 4.27.1 then upgrade to 4.27.2 or downgrade to 4.26.X instead and try running docker compose up --build. Hopefully it should work fine then.


Return to top button at bottom of Contact section

Simple and centered up arrow to return to top all the way at bottom of page.

Simple and centered up arrow to return to top all the way at bottom of page.


PowerToys Run settings.json should not change all the time (bad for version control)

Description of the new feature / enhancement
The settings.json files should change as little as possible to allow for better version control.
It should also only contain actual settings. Cached data (strings) should be saved in a separate file if it is even needed.
I know that PowerToys has a backup feature, but I prefer to version all my preferences of various apps myself with Git.
That way, I can update and sync all of them in one go via a script and don't have to fiddle with the backup buttons inside the PowerToys settings screen every time on every one of my machines. I do this by versioning all the settings.json files in the ...\AppData\Local\Microsoft\PowerToys.
This works fine for all modules of PowerToys, except Run, as it always updates the description of the "Time and Date" on application start since it uses the current time and date to generate a description string.

It could also just use a fixed time and date to generate the string.
Another (way more complex) solution would be to implement proper settings sync. Like for example in VS Code, where I also do not have to resort to Git.
Also: For the purpose of version control, it would be nice to have a formatted (indented) version of the settings.json files, as it makes it much easier to diff the changes. I get that the minified version saves some space, but I think it is extremely negligible on a modern PC and it could also be a setting if you wish to have minified or pretty settings files.
Scenario when this would be used?
If you want to use a version control system to keep track of your settings.
The backup feature is nice for some people, but not exactly what I want.
Supporting information
No response

I also version control select files from my home folder, including the settings files from PowerToys. I run into the same problem as opening post.
Here are some examples that cause the file to be changed without any setting being changed:
~/AppData/Local/Microsoft/PowerToys/MouseWithoutBorders/settings.json

~/AppData/Local/Microsoft/PowerToys/PowerToys Run/settings.json
Note that this file is also not very readable. Would be nice to either make it human readable or compress it to binary instead (prefer the former for version control reasons).

~/AppData/Local/Microsoft/PowerToys/PowerToys Run/Settings/PowerToysRunSettings.json

The AppData/Local/Microsoft/PowerToys/settings.json file also stores the PowerToys version, so syncing general settings across multiple PCs can lead to issues, even with small differences in patch versions.


Is there a way to trigger manually the code called when resizing the window

The code after line 5173 here : window.addEventListener('resize', AnimEvent.add(function(/* event */) {
trigger an update of the graphics when the window is resized. In my use case the target part of the arrow does no go where it should, but it does as soon as I resize the window. Note that if I just call position  it does not change the arrows. Is it possible to trigger externally the code called when resizing the window, which is:
      Object.keys(insProps).forEach(function(id) {
        update(insProps[id], {position: true});
      });

It seems that I am not able to access the insProps from outside the function.
Note that the creation of my LeaderLine is performed in a function triggered by the onLoad event, in:
<body onload="initLines()">
And I am doing:
     var line = new LeaderLine(
       document.getElementById(theStartDiv),
       document.getElementById(theTargetDiv)
     );

Hi @hervegirod, thank you for the comment.
Sorry, my English is poor.
What is the "the code alled"?
And, What does the "it does not change the arrows" mean? Do you mean that the position method throws an error?

Sorry, my fault, it was "code called" (a typo). I added two images showing the result before resizing the window manually, and afte

r

I understand my problem. It was linked to the fact that I changed a style, but this change was not propagated by the browser immediately. I had something like:
     document.getElementById("commentPanel").style.width = "250px";
     document.getElementById("mainContent").style.marginLeft = "250px";

With commentPanel being the left div, and mainContent the right div.
I added a top0 div as a parent of the two divs, and this code did the trick:
   document.getElementById("top0").style.display = 'none';
   document.getElementById("top0").offsetHeight;
   document.getElementById("top0").style.display = 'block';

I see. :smile:
So, could you close this issue if it was solved?

Yes!!!

Close


Add SHT30 Alternative Packaging products

Adds aliases for the sht30_shell + sht30_weatherproof

Blocked by I2C Decode Error, sensor name is too long (15character max)

Can merge when ready


winget upgrade for JetBrains Rider incorrectly uninstalls the software before updating it

Brief description of your issue
If you try to upgrade JetBrains Rider through winget upgrade, it tries to uninstall the software before updating to the next version.
The uninstaller is not silent (a GUI appears and asks for user input), and the winget cli does not wait for the uninstall to finish before upgrading.
If you cancel the uninstall, this leaves you with 2 Rider entries, causing all manner of trouble.
Steps to reproduce

Install an older version of JetBrains Rider (see this)
run winget upgrade --all or winget upgrade JetBrains.Rider (personally, I ran --all)
do not press anything in the uninstaller window that appears
watch as winget says uninstalling finished successfully and moves on with installing the new version

Expected behavior
winget upgrade should silently update JetBrains Rider, without prompting to uninstall.
If you update Rider from the IDE itself, you just press update and wait for it to finish. winget should work the same way.
At minimum, it should wait to finish uninstalling before continuing, and abort the upgrade if the uninstall is aborted by the user.
Actual behavior
winget upgrade prompts for user input to uninstall the old version of JetBrains Rider before installing the new one, and does not wait for the uninstaller to finish.
Environment
Windows Package Manager v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22621.963
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.2691.0

Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Does exactly the same thing for JetBrains Toolbox

After using winget some more, it looks like the issue is specifically with the uninstall portion of the upgrade process - it doesn't wait for the uninstallation process to finish and instead exits immediately. This happens when running winget uninstall too, and I'm guessing that's the cause for faulty upgrades.

Still not fixed

I can confirm this

Same happens to PyCharm. Furthermore, it is commonly invoking this flow leading to an attempt to uninstall PyCharm on my machine startup, even though I do have the latest version of PyCharm. That is extremely annoying, and I am not sure what it is that runs winget here.
I suspect that happens because of this PyCharm version detection issue in WinGet (I wonder how that can be fixed...):

I have the same issue and my machine gets polluted with old Rider installs.
Any feedback from @JetBrains?

This happens for all @JetBrains software, it's been reproduced with RustRover, PyCharms, Rider, WebStorm, etc.

how is this still open after 2 years? Lol

Does anyone have any fixes?


Add cheat for getting maximum stack on item pickup

https://discord.com/channels/1211839449151967344/1211840150141673473/1260570509016436816


simplifies the use and increases the security of the script.

Increase support for distros, improve control and simplify user use.

Hello, Thanks for this conrtibution i will merge.


Feat/prereq validator

Overview
Implements pre-req validation. Returns a Map of courses with valid bit for each course in the plan.
TODO

Implement co-requirement validation(trivial)
Conflict resolve between coreq and prereq (probably not trivial)
Handle requirement type other than courses, such as minimum grade, major requirements for particular pre-reqs.
Return list of unsatisfied requirements instead of boolean flag.
Move to client side.

Looks good for now. I can try to integrate this into the frontend sometime next week. Should be compatible with any future changes you'll make.


Removed broker-cluster-context

Signed-off-by: Aswin Surayanarayanan<EMAIL_ADDRESS>

We don't need to do the "mergedconfig" stuff anymore, look at the other quickstart guides and do it the same way please :-)
Thanks @aswinsuryan ! :)

Done.


Add script to convert vits models

Note: We are going to support TTS in sherpa-onnx. The first step is to support vits models.

The following lists some generated waves with this PR.
1
Liliana, our most beautiful and lovely assistant

https://github.com/k2-fsa/sherpa-onnx/assets/5284924/6c174a14-1f07-4093-a8bb-5f1fec79a376
2
Ask not what your country can do for you; ask what you can do for your country.

https://github.com/k2-fsa/sherpa-onnx/assets/5284924/0d9c1f11-1ad5-447a-9a0c-0a57347b7d30
3
Success is not final, failure is not fatal, it is the courage to continue that counts!

https://github.com/k2-fsa/sherpa-onnx/assets/5284924/aa515ccf-1b46-4056-a238-b1ae6cd51dee

Note: GitHub markdown does not support uploading .wav. We use https://www.freeconvert.com/wav-to-mov to convert wav to mov.

unfortunately this does not work when converting coqui tts vits models. Also is there a way to export piper models to generate lexicon and tokens.txt files for mobile?


basic sound support

This is a first draft for feedback. I didn't implement stop_sound and unload_sound yet.
And for now it's only working on native side because I haven't found an easy way to integrate the wavefile loader with unrust asset database system. We'll probably have to fork wavefile for that.
The main API is SoundSystem. It's available at world.sound. It provides the user methods (load_sound, play_sound). Check the new sound example for a usage example.
The Generator is the sound dedicated thread. SoundSystem communicate with it through SoundEvents.
It contains the samples cache and CHANNEL_COUNT (4) stereo channels.
The channels can play a mono or stereo buffer, do panning and dynamic resampling if the buffer sample rate it not equal to the driver sample rate. It's better and faster to use samples that use the same rate as the driver.
This is a basic system, as planed for 0.1.1. Not sure you want to keep it further. It would be better to find a robust sound library but until then, it can do the job.

This is the WaveFile loader to be integrated to the asset database :
https://github.com/ledbettj/wavefile/blob/master/src/lib.rs#L94

I just changed to use hound crate, which is pure rust based so it is possible to compile in wasm32-unknown-unknown target. (I tested it)

And im integrating unrust asset system to the sound system now. But it is a little bit tricky, because all resource in Web need to use futures to handle (As it is loaded asynchronously).
All other resources right now are loaded as lazily, which means if the resources are not ready, it will skip it. Maybe i have to wrap the SoundHandle struct to allow this kind of mechanism.

Ok, after https://github.com/edwin0cheng/unrust/pull/36/commits/e426bbf31486f03923353b852ae10a07d66992ed , it works in both native and web now.
When the sound handle is called with play_sound but it is not ready (Still loading), it will be added to pending_play queue for later playing.
see https://github.com/edwin0cheng/unrust/pull/36/commits/e426bbf31486f03923353b852ae10a07d66992ed#diff-050d12545b1bbfa5ddedf8e07c8d8017R99

Anything i missed in here ? If no, i am okay to merge it :)

It looks great!

Because normally we do not have a lot of sound handle, and rust HashMap is slow for few keys (It hash function is optimalize for security, not optimalize for speed), so BTreeSet would be faster.
And in fact, i already added fnv crate for faster hashmap, but i forget about that, haha


Test verifying signed extensions

Refs: https://github.com/microsoft/vscode/issues/162284

[ ] Mac: @TylerLeonhardt (x64)
[ ] macOS @alexdima (@arm64)
[ ] win: @rebornix (ia32)
[ ] win: @joyceerhl (x64)
[ ] win: @jrieken (arm64)
[ ] linux: @aeschli (x64)
[ ] linux: @chrmarti (arm)
[ ] linux: @alexdima (arm64)

Complexity: 3
Create Issue

Set Up
Enable extension sign verification by adding following settings
"extensions.verifySignature": true,
"_extensionsGallery.enablePPE": true

Restart insiders.
Note: Do not forget to remove this setting _extensionsGallery.enablePPE after testing, so that you can use actual Marketplace.
Testing
Only test on WEDNESDAY. We have encountered a bug in VS Code which we have just pushed a fix for.

Install 3-5 random extensions (which are not signed) and make sure the installation works as expected.
Open the Log (Shared) Output channel.
Install at least 6 of the following extensions and make sure that the extension is installed properly and that "verified extension" message is logged in the output channel. Eg: Verified extension: nikhgup1.component-creator true

https://marketplace.vsallin.net/items?itemName=nikhgup1.component-creator
https://marketplace.vsallin.net/items?itemName=nikhgup1.xml1298
https://marketplace.vsallin.net/items?itemName=nikhgup1.JavaScriptSnippets123
https://marketplace.vsallin.net/items?itemName=nikhgup1.vscode-pull-request-github123
https://marketplace.vsallin.net/items?itemName=nikhgup1.theme-dracula123
https://marketplace.vsallin.net/items?itemName=nikhgup1.appmap123
https://marketplace.vsallin.net/items?itemName=nikhgup1.todo-tree1298
https://marketplace.vsallin.net/items?itemName=nikhgup1.material-icon-theme1298
https://marketplace.vsallin.net/items?itemName=nikhgup1.vscode-thunder-client1298
https://marketplace.vsallin.net/items?itemName=nikhgup1.rest-client1298
https://marketplace.vsallin.net/items?itemName=nikhgup1.calva1298
https://marketplace.vsallin.net/items?itemName=nikhgup1.godot-tools1298

@sandy081 since I don't have access to an macOS ARM, I've removed my assignment

This test plan item is NOT yet ready for testing. We are waiting for a Marketplace deployment that should ideally happen by tomorrow. I will update the test plan item as we get updates from the marketplace team. Sorry about this.

Latest insiders is available now and you can test it now. Thanks.

This doesn't seem to work on windows arm64: #164707

Update: make sure to only test the signed extensions that are listed in the test plan item.
It is expected that regular extension install does not work due to this weird setup.

I was able to install all extensions on Windows x64 except nikhgup1.appmap123 due to version mismatch
2022-10-26 10:42:43.908 [error] Failed to install extension. nikhgup1.appmap123
2022-10-26 10:42:43.909 [error] Invalid: Cannot install 'nikhgup1.appmap123' extension because of version mismatch in Marketplace
    at $.checkAndGetCompatibleVersion (vscode-file://vscode-app/c:/Users/huer/AppData/Local/Programs/Microsoft%20VS%20Code%20Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:87:96873)
    at async $.installFromGallery (vscode-file://vscode-app/c:/Users/huer/AppData/Local/Programs/Microsoft%20VS%20Code%20Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:87:86770)

Thanks everyone for testing 👏


Feat/1496 remove dead code

Part of #1496.
Removed old unused and out commented code. If you notice any components that were intended for future usage, please note them here.

@creed-victor re-added requested files, and out commented code. Added a TODO comment on the TradeDialog to indicate it's future usage.

I think /pages/OriginsLaunchpad files will be used, just not used right now because there is no active sale on it. @tiltom

You're right Victor, pages/OriginsLaunchpad will be used but there is no sale yet.

Just for clarity: components/Form/* and pages/OriginLaunchpad are already reinstated, and this PR can be reviewed.


How do i send RAW Packet?

Hello, how do I send a raw packet? Thanks 🙏
And can you make some documentation, please? Thanks 🙏

Currently there is no contributor for documentation. But you can see example at WorldPacket.go or TankPacket.go


feat: add round_robin and weight_round_robin algorithm for loadbalance

What type of PR is this?
feat

Check the PR title.

[x] This PR title match the format: <type>(optional scope): <description>
[x] The description of this PR title is user-oriented and clear enough for others to understand.

(Optional) Translate the PR title into Chinese.
为负载均衡增加轮询以及加权轮询算法
(Optional) More detail description for this PR(en: English/zh: Chinese).

Instance
insList := []discovery.Instance{
    discovery.NewInstance("tcp", "<IP_ADDRESS>:8881", 10, nil),
    discovery.NewInstance("tcp", "<IP_ADDRESS>:8882", 20, nil),
    discovery.NewInstance("tcp", "<IP_ADDRESS>:8883", 50, nil),
    discovery.NewInstance("tcp", "<IP_ADDRESS>:8884", 100, nil),
    discovery.NewInstance("tcp", "<IP_ADDRESS>:8885", 200, nil),
    discovery.NewInstance("tcp", "<IP_ADDRESS>:8886", 500, nil),
}

Use weight_random
<IP_ADDRESS>:8886
<IP_ADDRESS>:8886
<IP_ADDRESS>:8882
<IP_ADDRESS>:8885
<IP_ADDRESS>:8885
<IP_ADDRESS>:8885
<IP_ADDRESS>:8886
<IP_ADDRESS>:8886
<IP_ADDRESS>:8886
<IP_ADDRESS>:8885

Use round_robin
<IP_ADDRESS>:8881
<IP_ADDRESS>:8882
<IP_ADDRESS>:8883
<IP_ADDRESS>:8884
<IP_ADDRESS>:8885
<IP_ADDRESS>:8886
<IP_ADDRESS>:8881
<IP_ADDRESS>:8882
<IP_ADDRESS>:8883
<IP_ADDRESS>:8884

Use weight_round_robin
<IP_ADDRESS>:8886
<IP_ADDRESS>:8885
<IP_ADDRESS>:8886
<IP_ADDRESS>:8884
<IP_ADDRESS>:8886
<IP_ADDRESS>:8886
<IP_ADDRESS>:8885
<IP_ADDRESS>:8886
<IP_ADDRESS>:8883
<IP_ADDRESS>:8886

Which issue(s) this PR fixes:

Fixes #358

I think Hertz-contrib is more suitable to put this code.

I think Hertz-contrib is more suitable to put this code. What's your opinion?

My opinion is that the load balancer which adapts to the third-party service registry can be placed in hertz-contrib, and this kind of load balancing algorithm is placed directly in the main library.

I don't think it should be placed in the main repository or Hertz-Contrib by whether there are third-party dependencies. I should be decided by the design. And the random implementation placed in the main repo is because it's just a simple implementation. Hertz is a HTTP framework, not a framework provided loadbalance algorithm, so I think it's better to be placed in Hertz-COntrib.

Agreed, I'll put it in hertz-contrib.
Thx.

Please create pr in repo: https://github.com/hertz-contrib/loadbalance

Please create pr in repo: https://github.com/hertz-contrib/loadbalance

got it, thx.


Help!! NoSuchMethodError: The method '>' was called on null

I want to realise Schulte grid , This is my code:
import 'package:flutter/material.dart';
void main(){
runApp(MyApp());
}
class MyApp extends StatelessWidget{
const MyApp({Key key} ) : super(key: key);
Widget build(BuildContext context) {
return MaterialApp(
title: "Schulte grid",
home: SchulteCell(),
);
}
}
class SchulteCell extends StatefulWidget{
SchulteCell({Key key}) : super(key: key);
_SchulteCellState createState() => _SchulteCellState();
}
class _SchulteCellState extends Statewith TickerProviderStateMixin{
int count;
List data=List();
List curSel=List();
List controllers=List();
List<Animation> animations=List<Animation>();
void iniState() {
super.initState();
count=16;
List.generate(count, (index){
data.add(index+1);
controllers.add(AnimationController(
vsync:this, duration: Duration(milliseconds: 600)));
animations.add(
ColorTween(begin: Colors.white, end: Colors. purpleAccent)
.animate(controllers[index])..addListener((){
setState(() {
          });
    })
  );
});
data.shuffle();

}
tapCell(i){
int lastSel= curSel.length>0?curSel.last:0;
if(data[i]-1==lastSel) {
animations[i] = ColorTween(begin: Colors.white, end: Colors.purpleAccent)
.animate(controllers[i])
..addListener(() {
setState(() {
      });
    });
  curSel.add(data[i]);
}
else{
  animations[i] = ColorTween(begin: Colors.white, end: Colors.redAccent)
      .animate(controllers[i])
    ..addListener(() {
      setState(() {

      });
    });

}
controllers[i].forward(from: 0).then((_)=>controllers[i].reverse());

}
Widget build(BuildContext context){
return Scaffold(
appBar: AppBar(title: Text("Schulte grid"),),
body: GridView.count(
crossAxisCount: 4,
children:
List.generate(
count, (index) => Container(
alignment: Alignment.center,
decoration: BoxDecoration(border: Border.all(width: 1),
color: animations[index].value),
child: FlatButton(
onPressed: (){tapCell(index);},
child: Text(
"${data[index]}",
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),

)
      ))),
);

}
}
AND THE IntelliJ  demonstrates:
Performing hot restart...
Syncing files to device iPhone Xʀ...

Please see https://flutter.dev/community for resources for asking questions like this,
you may also get some help if you post it on Stack Overflow.
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


Use dispatch more in additional_tendency!

This PR replaces some of the tendency_knobs Bools with model types, union splitting and dispatch.

bors r+