Pluggable authentication strategies/mechanisms

Satellizer provides nice abstractions to configure and handle 2- or 3-party authentication mechanisms. This PR enables one to go beyond OAuth or add own OAuth handlers, while keeping full backwards compatibility.
In details this PR:

introduces concept of strategy (plug from ruby's omniauth)
refactors satellizer.oauth  to get rid of dependencies on satellizer.Oauth1 and satellizer.Oauth2 and to provide methods to add new strategies, and actually renames it to satellizer.provider_auth.
refactors angular wrapping of satellizer.Oauth1 and satellizer.Oauth2 into config clause for eager initialization as actually nothing depends on them anymore. They still get registered with angular's $provider just in case it is also a backwards compatibility concern and also to show that unmodified test suites pass.
creates alias satellizer.oauth to satellizer.provider_auth for backwards compatibility.
adds test suite for satellizer.provider_auth new methods.

The minimum of methods that a strategy has to define is:

applies - should return boolean value that indicates whether strategy is applicable to a given provider config.
open - meaning is the same as it was and is satellizer.Oauth1 and satellizer.Oauth2 modules.

This PR also makes it possible to extract Oauth1 and Oauth2 parts into separate modules which can be included/excluded at will.
As a result I was able to make a strategy that uses ruby's omniauth as a proxy for all the provider authentications. (I can add a PR with this separate module as well).
I'm not actually sure if you'd want the project to go in this direction, but let me know your thoughts.
I can add relevant README changes if you find this mergeable.
Some Notes on evaluating the PR:

In this PR I haven't extracted satellizer.Oauth1 and satellizer.Oauth2 into modules as it would mean more significant re-arrangements in the code, thus making it impossible to rebase any other outstanding changes you may have on top of it or the other way around.
I tricked indentation of the two config blocks for those to generate a less distracting diff against master.
As you can see the existing test suites were untouched.
Example app has been tested as well and everything is working without any modifications as before.

Although a little late by now, I am going to close this PR. I would like to avoid making any big changes at this point. There is a chance I might have to rewrite most of the code if I were to support Angular 2.0 in the near future.

However, I do want to thank you for suggesting it. There were a few cases where people suggested to add different types of authorization flows to Satellizer, which I wasn't comfortable with adding to avoid bloating the code base and having to maintain it. But strategies or plugins or whatever it takes to make those authorization flows more modular I think is a step in the right direction.


Training on two GPUs

How to train a model using two GPUs simultaneously to improve speed, the current program only supports training on one GPU. How to modify the train.py file to enable training on two GPUs simultaneously?

Hi @yangguanghaiann ,
I will look into it. Currently I didn't find any option to use more than one gpus.

Hi @yangguanghaiann ,
I updated the training code, now it can support more than one GPUs.
Only need to give --gpus args. It will automatically take all available GPUs.
I think this will solve your issue.
If have any other question and problem, Please let me know.
Thank you.


browser.asControl is not a function

Describe the bug
I am trying to run my first wdi5 hello world test. I have gone through the documentation and have done a basic setup in my application.
To Reproduce
I have the following hello world test code:
const wdi5 = require('wdi5');

const selectAllCheckBox = {
    selector: {
        controlType: "sap.m.CheckBox",
        id: /All$/
    }
}

describe('My Login application', () => {
    it('should login with valid credentials', async () => {
        await browser.url(`myurl`);
        await browser.asControl(selectAllCheckBox);
    });
});

I have tried with and without the require line.
No matter what I do, I always end up with "browser.asControl" is not a function.
I have watched you video on youtube and the require there is as on the following screenshot:

There is no clear explanation on what shall I do to run my brand new first test that just opens my application.
There is some problem as I cannot just run a normal hello world test.
Please explain where is the problem.

Hi Radoslav,
thanks for trying out wdi5!
It could be that something in the conf.js file is not configured correctly. Could you also share that file? When the setup ist done correctly and you reference the url to your application in the configuration file you can also skip the browser.url(...) part in your test code .
Best regards
Simon

Hi Simon,
Thanks for the quick answer. Please see the file attached.
wdio.conf.js.txt

I've gone through the error once more and am abe to see the following thing:
[0-0] 2022-04-27T11:13:43.498Z WARN @wdio/mocha-framework: Unable to load spec files quite likely because they rely on browser object that is not fully initialised.
[0-0] browser object has only capabilities and some flags like isMobile
I hope that this means something meaningful.

Hi Radoslav,
it looks like you are missing the actual configuration part of wdi5 after the installation in the conf.js.
wdi5: {
    screenshotPath: require("path").join("some", "dir", "for", "screenshots"), // [optional] {string}, default: ""
    screenshotsDisabled: false, // [optional] {boolean}, default: false; if set to true, screenshots won't be taken and not written to file system
    logLevel: "verbose", // [optional] error | verbose | silent, default: "error"
    url: "index.html", // [mandatory] {string} name of your bootstrap html file. If your server autoredirects to a 'domain:port/'-like root url, use empty string ''
    skipInjectUI5OnStart: false, // [optional] {boolean}, default: false; true when UI5 is not on the start page, you need to later call <wdioUI5service>.injectUI5() manually
    waitForUI5Timeout: 15000 // [optional] {number}, default: 15000; maximum waiting time in milliseconds while checking for UI5 availability
  }

After you configured wdi5 your desired way, please try it again.
Regards
Simon

All right! I've added it.
Now I have new error:
[chrome 101.0.4951.41 windows #0-0] javascript error: Cannot read properties of undefined (reading 'waitForUI5Options')
JavaScript stack:
TypeError: Cannot read properties of undefined (reading 'waitForUI5Options')
This is without the "require". If I leave it, it says that wdi5 cannot be found.

Seems like there is still an issue with your setup. Can you please check following things:

That you automatically start your ui5 application on startup. Otherwise you have to use skipInjectUI5OnStart: true and use the late injection of wdi5

package.json:
"devDependencies": {
    "wdio-ui5-service": "..." // the higher the installed version the better
  },

Also your referenced module name in the require statement is wrong, it should look like this:
const { wdi5 } = require("wdio-ui5-service")

Okay, the page loaded.
Now a second question comes up: I have a BusyIndicator and the test does not wait for it. The following error comes up.
element click intercepted: Element ... is not clickable at point (407, 62). Other element would receive the click: ...
(Session info: chrome=101.0.4951.41)
Is there something to configure for that?

Busy Indicators are always a little bit tricky. A possible solution is probably to use standard wdio checks like isClickable(). Here is an example how you can retrieve the wdio object and here is an example how you can wait that an object is clickable


GPU Deactivates itself after some time

Running the plugin works overall, theres just one Issue. After having the Lock Screen provided from the Plugin, open for too long, the GPU deactivates itself and changes the GPU output or makes the entire PC unfunctional and forces you to hard shutdown.

You're going to need to phrase that properly. If a GPU deactivates you probably have a broken GPU, or a corrupted OS. The plugin has NO EFFECTS outside of Discord.

@Technetium1 is on point here

Closing this, since there have been no updates on this for a long time.


zos: fix semaphore initialization

To set an intial value to a semaphore, the semop call won't do it.
We need to use the semctl call with the SETVAL flag

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/395/

Landed in https://github.com/libuv/libuv/commit/e80921c1ae6b978fa3a3eaad3c7ec4321c1bad6a. Thanks!


Support Flutter Web

I'd love to use this library, but I need it to work for Flutter Web as well

Hi,
We would love to make it. Unfortunately it is not possible to directly stream over RTMP in a web browser (because you can not open a socket connection). (Duplicated with https://github.com/apivideo/api.video-flutter-live-stream/issues/24).
To stream for a browser, we got another project called browser to rtmp. This project is composed of 2 separate parts:
-in a browser: stream from camera to WebSocket
-in a separate server: stream from WebSocket to RTMP
So if you want to use this library, you must install your own WebSocket to RTMP server.
So, we are thinking to create another Flutter package that only contains browser to RTMP (only web support). It would be a wrapper around browser to RTMP. So if developer wants to have a RTMP from a browser would have to install a new package (as well as this api.video-flutter-live-stream). Hope it is clear enough.
The question we want to answer is: are you willing to install your own server to be able to stream WebSocket/RTMP from a web browser? Does it worth to be implemented?

@ThibaultBee Thanks for the explanation. I understand the situation better now. Doing this would be worth it to me.
I have a few questions for you:

If I understand you correctly, you're saying that currently in flutter it's not possible, but with a little bit of work on your end, you could provide a flutter package that is a wrapper around the linked project. Then that new package would be required for Flutter Web. The requirement for me, however is that I have both packages installed and I set up a WebSocket to RTMP server?
Would I have to do anything else to get it into my cloud database from the external server?
When do you think this new package would come out?

@ThibaultBee Thanks for the explanation. I understand the situation better now. Doing this would be worth it to me.
I have a few questions for you:
1. If I understand you correctly, you're saying that currently in flutter it's not possible, but with a little bit of work on your end, you could provide a flutter package that is a wrapper around the linked project. Then that new package would be required for Flutter Web. The requirement for me, however is that I have both packages installed and I set up a WebSocket to RTMP server?

Yes, that is pretty much it.

2. Would I have to do anything else to get it into my cloud database from the external server?

The WebSocket to RTMP server

3. When do you think this new package would come out?

The roadmap of the first quarter is already pretty full and it is not requested by api.video customers, so it has a low priority. TLDR; We don't know.

Hi,
I don't think this is something we will tackle any day soon.
Closing it for now. We will reopen it if we start working on it.


[1.1.x] RHIDP-1820: Update and reorganize RHDH installation content

Resolves Epic RHIDP-1820 containing the following issues:
RHIDP-1724
RHIDP-1725
RHIDP-1747
RHIDP-1819
Overall, these changes inform the user about where and how RHDH can be installed in Getting Started and links to more detailed information in Administration, which is currently the sole source for all RHDH installation-related procedures for all user roles. This a short-term solution until an Installing RHDH title is created (RHIDP-1804).
Other changes include the creation and application of product and brand attributes and copyedits to existing content to align with CCS best practices.

@linfraze I see that this PR only shows changes in 4 files, but the original PR contained changes in 35 files. Could you please verify if the changes have been cherry-picked correctly? Let me know if you have any questions.

@hmanwani-rh thanks, it's fixed

@linfraze Please rebase your branch, so that move ahead with merging.


experience editor e2e tests for delivery edge

Description / Motivation
Test automation with selenium webdriverIO for experience editor e2e.
wdio is setup with teamcity reporter to output test results to teamcity 'tests' tab.
wdio is setup with rerun on failures to help with any flaky tests.
wdio is setup with outputting screenshots on failures to help with debugging and is pushed as artifacts in ci job and can access these artifacts in outputs/ release/Tests/integration/results/screenshots/.
Testing Details
I tested my changes locally and in CI and tests are all green.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update (non-breaking change; modified files are limited to the /docs directory)

Obsolete work


how to enable syntax error checking automatically?

Hello,
May I ask if monaco can automatically check the syntax error?
For example, I am using it to provide sql support, and if I typed in
wrong_select * form field
I want the wrong_select to be indicated as wrong. and if I mouse hovering, suggestion for fix will appear.
Can this feature be supported? and I believe it is there already, just can not find it.
Thanks for your help.

@datavisorfrankhe Maybe #1477 will help you.

I checked 147, and I don't think the syntax error is automatically detected. when calling setModelMarkers, the data passed in contains the error display position and contents.
Does this mean the syntax error can not be detected automatically by Monaco?

@datavisorfrankhe Monaco is simply an editor. It is not an AST parser or syntax error checker. If you want to check for errors, you need to:

Listen to changes in the backing model (the textual content of the editor).
Identify relevant errors in the text.
Notify Monaco about such errors so it can render them to the user. #1477 showed how to do this with hard-coded values but it is possible to do this dynamically.

Thanks for your clarification, now I know how to do this.
On Thu, Aug 1, 2019 at 2:17 AM Remy Suen<EMAIL_ADDRESS>wrote:

@datavisorfrankhe https://github.com/datavisorfrankhe Monaco is simply
an editor. It is not an AST parser or syntax error checker. If you want to
check for errors, you need to:

Listen to changes in the backing model (the textual content of the
editor).
Identify relevant errors in the text.
Notify Monaco about such errors so it can render them to the user.
#1477 https://github.com/microsoft/monaco-editor/issues/1477 showed
how to do this with hard-coded values but it is possible to do this
dynamically.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/monaco-editor/issues/1527?email_source=notifications&email_token=AJKCEN5B2PRMSOZRPISMZQ3QCKS2XA5CNFSM4III4E62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3J553Y#issuecomment-517201647,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJKCEN7DGITRZ4SGFHVRZRDQCKS2XANCNFSM4III4E6Q
.


Algorithm explanation file for BELLMAN FORD - graph algorithm (no code required)

Important:
Before you start your work on this issue, make sure you go through the README.md and Contribution Guidelines.md
File structure:

Create the Graph Algorithms directory, if not already created.
Create the Bellman Ford sub-directory within the Graph Algorithms directory.
Create the file Algorithm.md.

Here's how the final structure should look like:

Graph Algorithms

Bellman Ford

Algorithm.md

Please follow the same naming conventions as mentioned in this comment.
Before you create a pull request, if you observe that the required folders have already been created, then please refrain from creating a new one, make some changes in your forked repository so that it matches with the current one and there are no conflicts.
Note that all PRs are being checked for plagiarism, please refrain from indulging in any crooked means, we trust you!
We thank you for your contribution and time, we hope that you enjoy contributing to open source.

/assign Please assign this issue to me


Missing Django new_app commands

File: compose/django.md, CC @gbarr01
Hello,
I think what would be useful to include in the docker-compose Django quickstart guide would be how to write equivalent commands from the Django tutorials through Docker-compose. Or at the very least how to execute python commands directed in the docker images.
For example, in the first Django tutorial to create a new app, one must execute:
$ python manage.py startapp polls
However through Docker the equivalent is:
$ docker-compose run web python manage.py startapp polls
$ sudo chown -R $USER:$USER polls
What I think is not necessarily obvious to the developer is how to execute python commands through docker. Mostly because calling python on localhost does not necessarily translate to the equivalent python environment that docker-compose intends to use. The next wall that I've reached is using
$ python manage.py migrate
I will likely try:
$ docker-compose run web python manage.py migrate
If my thinking is correct, all commands given in the Django tutorials only need to add docker-compose run web before the command to be executed. I'm not 100% sure my thinking is correct but without a real basis for how the Django tutorials can be used via Docker-compose, there is an unnecessary learning curve for a developer to include Docker in her project. If you could add an explanation for how to follow the Django docs making use of Docker, the many Django/Python enthusiasts would have real reason to join the wave of Docker.

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!


Hide track map on results card

Is your feature request related to a problem? Please describe.
I'm not interested in seeing the track map and DRS zones etc. when looking through something that occurred in the past, but I like the track map feature on the next race card as it gives more detail about what's to come (and also during the race).
Have you tried if it is already a feature? Have you checked the wiki?
I've looked through the README but couldn't find anything that works.
Describe the solution you'd like
To be able to hide track map from the results card.
Describe alternatives you've considered
A configuration option such as: "show_track: false"

Check out the latest version :)

Amazing! Thanks a lot! :)


Student Performance in exam

Issue Title: Student Performance in exam

Info about the related issue (Aim of the project)

[x] SWOC Participant

[x] Contributor

Closes: #issue number that will be closed through this PR
Describe the add-ons or changes you've made
Give a clear description of what have you added or modifications made
Type of change
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Describe how it has been tested
Describe how have you verified the changes made
Checklist:

[ ] My code follows the guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have added things that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Good work, keep it up @tandrimasingha


fig run web requires docker running

I'm a fig newbie but I generated a project and did a pip install fig and tried to run...:
(env)peterbe@Peters-MacBook-Pro:/tmp/foo2$ fig run web
Couldn't connect to Docker daemon - you might need to run `boot2docker up`.

Why would I need docker running just to run runserver?

fig run web will run the web target, which will run a docker instance for it (https://github.com/mozilla/sugardough/blob/master/sugardough/fig.yml#L18).
Fig is just an easier way to configure all the docker stuff, and then run it.

Clearly I'm a fig newbie. I didn't see that it was a docker thing.


Ability to use an array for criticalUrl

Would it be possible to have the criticalUrl property accept an array of URL's that calls critical.generate() multiple times and have the resulting files prefixed with the second level domain of the URL? This way we can use it together with multi-site in Craft for example.

I'm wondering how one would go about setting this plugin up with a multi-site Craft CMS.
Because in the config you set a criticalUrl and criticalPages with an URI to an existing URL belonging to an entry in the Craft CMS with a changeable slug. What if the slug of the entry changes, you would have to change to URI in the criticalPages to match the new URL. Else how would {{ craft.vite.includeCriticalCssTags() }} know to output the previously generated Critical CSS?

If you have special needs, I'd suggest writing a script that calls critical directly; probably this Vite plugin isn't going to do what you need.


Value should not change when focusing an item, should need enter validation

Open the time-picker and move item focus with keyboard, then push tab the value is changed.
Otherwise escape restores previous value

As discussed on Slack (related to combo-box and date-picker behavior), this is how we want it to work at the moment. I would close this issue as invalid.

No action neede. Working as designed


Move LineLength cop from Metrics to Layout department

Summary
The Layout department was created after Metrics was created.

Create namespace Metrics and move some cops there
Layout department

As far as I use LineLength cop, I think this cop belongs to the layout, not the logic metrics. Rather than changing the logic when LineLength cop becomes a offense, a solution is often a line wrap.
The horizontal length targeted by LineLength cop is resolved by often a line wrapping, while the vertical length targeted by ClassLength cop, MethodLength cop, and BlockLength cop is
resolved by a logic change.
So ClassLength, MethodLength, and BlockLength cop remain in
the Metrics department.
Other Information
I'm wondering if the default maximum length of 80 is reasonable.
This is because there are cases where clear variable name (and etc) have to be omitted due to restrictions on LineLength.
However, this PR does not handle it because first of all this PR aims to move department.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

I agree with your reasoning, but this might be confusing to the end users. @rubocop-hq/rubocop-core what do you think about the proposed change?

I'm wondering if the default maximum length of 80 is reasonable.

I guess we can revisit this before 1.0 when we discuss which defaults should be updated.

I tend to agree with the move, actually. 👍

As for the default length, I think 80 is the only length that has an actual justification. The problem is that justification is veeery outdated, dating back to IBM punch cards.
There does exist some research for optimal line length, but that is for natural language texts, and the results are inconsistent. I'm not aware of any such studies for code.
Bottom line is whatever is chosen is going to be arbitrary. 🙂


Allow candidates to also be found when running $mdm-submit.

Shouldnt have left draft yet. Sry 'bout that


Remove submodule go mod

I'm going to leave this here for consideration for 1.6
I understand the api submodule had the purpose of allowing other projects to import containerd's API without importing the rest of our go mod dependencies. Personally, I find this to be more an issue related to the way go mod handles indirect dependencies rather than a necessity for this project. The submodule approach makes tagging releases difficult and requires us to vendor our own tag of the same version but not at the same commit. Since we do support our API outside of supporting our go client, it does make sense to import our API into a separate repository with generated bindings and tags (this could be true for Go and any other language which wants to consume our API).

+1 to a separate repository (as long as we can do this for the 1.6 release itself, been waiting for a long time eagerly!)


[PL] Add timer to timer

@spitfire Congratulations on making your first contribution to the intents repository!


webgl/context-lost-restored_t01 sometimes times out

co19/LayoutTests/fast/canvas/webgl/context-lost-restored_t01 test sometimes times out.
For example:
https://build.chromium.org/p/client.dart/builders/dart2js-mac10.11-safari-1-3-be/builds/3665/steps/dart2js safari co19 tests/logs/stdio
https://build.chromium.org/p/client.dart/builders/dart2js-mac10.11-safari-1-3-be/builds/3664/steps/dart2js safari co19 tests/logs/stdio
but also in build 3647
Marking as Skip (similar to the other context test).

This issue has been last updated 279 days ago. Please consider investigating whether it is still meaningful and if not close it. If the issue is still meaningful please find a relevant owner. Thank you.

Not meaningful for dart2js.
@alan-knight @terrylucas feel free to reopen if it is meaningful for the libraries area.


How can I change the height to 10 of JFXToggleButton?

How can I change the height to 10 of JFXToggleButton?

Hi. I don't know what you need exactly, but I'm using the setSize() method to change the toggle button scale. The default size is 10.
JFXToggleButton activeToggleButton = new JFXToggleButton();
activeToggleButton.setSize(5);

Example in OwlPlug app:

@DropSnorz thanks a lot for answer, in fact I just want to change JFXToggleButton's padding. Now I set the padding = -10.


Independent Support Generation

I don’t see independent support files included or a way to generate them. I assume that LP2NORMAL (https://research.ics.aalto.fi/software/asp/lp2normal/)  is used for ASP to SAT translation, and MIS (https://github.com/meelgroup/mis) for independent support generation, whose files can be used with ApproxASP . Is this correct? Thanks.

Hi,
You are correct. We used arjun for independent support calculation.
Please note that the independent support file format:
c ind  0


EBUSY: resource busy or locked, access '\\.\pipe\nitro\worker-11280-1.sock'

Environment

Operating System: Windows_NT
Node Version:     v20.11.1
Nuxt Version:     3.10.3
CLI Version:      3.10.1
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      app, build, css, experimental, imports, modules, routeRules, runtimeConfig, typescript, apollo, i18n, dev, devtools, debug, nitro, vite
Runtime Modules:  @nuxtjs/apollo, @nuxtjs/device<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
Unfortunately I cannot provide an reproduction. Please let me know if the information provided in the description is enough to understand the problem.
Describe the bug
I am getting this error on Windows when reaching certain routes of my Nuxt application.
Error: EBUSY: resource busy or locked, access '\\\\.\\pipe\\nitro\\worker-11280-1.sock'
The error is the same described in https://github.com/nuxt/nuxt/issues/22759
Regarding the logs, initially I see an Apollo Error:
at C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\core\QueryManager.js:714:88at both (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\utilities\observables\asyncMap.js:23:31)at C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\utilities\observables\asyncMap.js:12:72at new Promise ()at Object.then (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\utilities\observables\asyncMap.js:12:24)at Object.error (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\utilities\observables\asyncMap.js:25:49)at notifySubscription (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\zen-observable@0.8.15\node_modules\zen-observable\lib\Observable.js:140:18)at onNotify (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\zen-observable@0.8.15\node_modules\zen-observable\lib\Observable.js:179:3)at SubscriptionObserver.error (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\zen-observable@0.8.15\node_modules\zen-observable\lib\Observable.js:240:7)

But when adding a console.log at the apollo:error hook, I can see the EBUSY: resource busy or locked inside the error object:
{
  operation: {
    variables: {
      limit: 10,
      locale: 'fr',
      device: 'desktop',
      url: '/commun/tag/test-ced'
    },
    extensions: {},
    operationName: 'GetGamesByLabel',
    query: { kind: 'Document', definitions: [Array], loc: [Location] }
  },
  networkError: Error [ServerError]: Response not successful: Received status code 503
      at Module.throwServerError (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\link\utils\throwServerError.js:2:17)
      at parseJsonBody (C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\link\http\parseAndCheckHttpResponse.js:124:31)
      at C:\Users\marco.borsoi\Workspace\lq-web-apps\node_modules\.pnpm\@apollo+client@3.8.8_graphql-ws@5.14.2_graphql@16.8.1_react-dom@18.2.0_react@18.2.0\node_modules\@apollo\client\link\http\parseAndCheckHttpResponse.js:182:48
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
    response: Response {
      [Symbol(realm)]: null,
      [Symbol(state)]: [Object],
      [Symbol(headers)]: [HeadersList]
    },
    statusCode: 503,
    result: `<!DOCTYPE html><html><head><title>Error: EBUSY: resource busy or locked, access '\\\\.\\pipe\\nitro\\worker-11280-1.sock' | Nuxt</title>...`,
  graphQLErrors: undefined,
  forward: [Function (anonymous)]
}

Additional context
For context, the main difference between this specific route to others is that this one makes use of several carousel components where each one fetches data from a GraphQL API through @nuxtjs/apollo. The composition of the page is controlled by a headless CMS (Contentstack) and, during my tests, this error started to happen once we have 6 carousels.
BTW, the whole application runs just fine on Mac.
I tested the same application in WSL2 and this route works, but the whole application is extremely slow and I am likely running into https://github.com/nuxt/cli/issues/209
Any help or idea is appreciated! Thank you! 🙏
Logs
No response

Would you see if you can reproduce this in pure Nitro (reproduction sandbox), and if so, raise there? 🙏

@danielroe Sure, I'm on it. Thank you!

I'm also getting this, basically a transient issue when the dev server is spammed with too many requests (these are performing MSSQL queries, maybe this is impacting it)

@danielroe @pi0 I was able to make a simplified Nuxt app to reproduce the issue on Windows: https://stackblitz.com/edit/nuxt-apollo-demo-cd35uc?file=nuxt.config.ts
Please let me know if you prefer to continue the discussion here or if we should move it to Nitro.
I don't why, but it my case, an EBUSY is only thrown by the Nodejs Event Loop when there are too many requests to the API and they are passing by a proxy. By disabling the proxy, the operation don't get locked.
I found this in node/deps/uv/docs/src/loop.rst that might bring some light:

Releases all internal loop resources. Call this function only when the loop
has finished executing and all open handles and requests have been closed,
or it will return UV_EBUSY. After this function returns, the user can free
the memory allocated for the loop.

It would be fantastic if you could reproduce this in pure Nitro (reproduction sandbox), and if so, raise there? 🙏
If it only recurs with Nuxt, let me know and I'll reopen it here.

I am facing this as well. I cannot really reproduce it, but so far this is the context:

Nuxt 3.12.4 with Nitro 2.9.7
Yarn 4.3.0, Node v20.14.0
Dev Mode only
Many requests with useAsyncData with transform and getCachedData
Catch all route with proxyRequest()

Eventually a 503 would happen and an error page would return:
<title>Error: EBUSY: resource busy or locked, access '\\.\pipe\nitro\worker-34972-1.sock' | Nuxt</title>
I am afraid that's all I have 👀

@TimGuendel
I just came across this. Have you done something about this yourself?

@TimGuendel
I just came across this. Have you done something about this yourself?

I have not 😐

Started bumping into similar issue after updating some of the packages - randomly getting 503 resource locked errors for subrequests done by Nuxt on server. Seems to be caused by some new dependency version, though not sure which.
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>(tried with 2.9.7

<EMAIL_ADDRESS>(seems slightly better after updating from 18.17.0, ref) ,
<EMAIL_ADDRESS>Using custom js proxy based on http-proxy-middleware module for proxying to local dev calls to staging env.


Custom Location Enhancement Script

Hi Guys,
I have found how to add the Custom Location Script You can add an optional parameter in the script with the location. Get-Child Item also works with a saved variable. I have tested the line outside of the script and it seems to work. Here is the code underneath. The directory must contain all the .ps1 files and .json files to correctly work.
POWERSHELL PART .PS1
if ($ScriptLocation -eq ''){
try{
If ($excluded_inspectors -and $excluded_inspectors.Count){
	$excluded_inspectors = foreach ($inspector in $excluded_inspectors){"$inspector.ps1"}
	$inspectors = (Get-ChildItem .\inspectors\*.ps1 -exclude $excluded_inspectors).Name | ForEach-Object { ($_ -split ".ps1")[0] }
}
else {
	$inspectors = (Get-ChildItem .\inspectors\*.ps1).Name | ForEach-Object { ($_ -split ".ps1")[0] }
}
}catch{
'An Error Occured trying to find the Inspectors in $inspectors'
}
}else{
try{
If ($excluded_inspectors -and $excluded_inspectors.Count){
	$excluded_inspectors = foreach ($inspector in $excluded_inspectors){"$inspector.ps1"}
	$inspectors = (Get-ChildItem -Path $ScriptLocation -exclude $excluded_inspectors).Name | ForEach-Object { ($_ -split ".ps1")[0] }
}
else {
	$inspectors = (Get-ChildItem $ScriptLocation\*.ps1).Name | ForEach-Object { ($_ -split ".ps1")[0] }
}
}catch{
'An Error Occured trying to find the Inspectors in $inspectors'}
}

POWERSHELL PART .JSON
# For every inspector the user wanted to run...
ForEach ($selected_inspector in $selected_inspectors) {
	# ...if the user selected a valid inspector...
	If ($inspectors.Contains($selected_inspector)) {
		Write-Output "Invoking Inspector: $selected_inspector"
		if ($ScriptLocation -eq '') {
			try {
				# Get the static data (finding description, remediation etc.) associated with that inspector module.
				$finding = Get-Content .\inspectors\$selected_inspector.json | Out-String | ConvertFrom-Json

				# Invoke the actual inspector module and store the resulting list of insecure objects.
				$finding.AffectedObjects = Invoke-Expression ".\inspectors\$selected_inspector.ps1"
			}
			catch {
				'An Error Occured trying to open the .json files in $finding'
			}
		}
		else {
			try {
				$finding = Get-Content $ScriptLocation\$selected_inpsector.json | Out-String | ConvertFrom-Json

				$finding.AffectedObjects = Invoke-Expression "$ScriptLocation\$selected_inspector.ps1"
			}
			catch { 'An Error Occured trying to find the affected objects $finding' }
		}

		# Add the finding to the list of all findings.
		$findings += $finding
	}
}

Let me know if you find this useful.

For every inspector the user wanted to run...
ForEach ($selected_inspector in $selected_inspectors) {
	# ...if the user selected a valid inspector...
	If ($inspectors.Contains($selected_inspector)) {
		Write-Output "Invoking Inspector: $selected_inspector"

        if ($ScriptLocation -eq $null){
		# Get the static data (finding description, remediation etc.) associated with that inspector module.
		$finding = Get-Content .\inspectors\$selected_inspector.json | Out-String | ConvertFrom-Json

		# Invoke the actual inspector module and store the resulting list of insecure objects.
		$finding.AffectedObjects = Invoke-Expression ".\inspectors\$selected_inspector.ps1"
        }else{

        $finding = Get-Content $ScriptLocation\$selected_inpsector.json | Out-String | ConvertFrom-Json

        $finding.AffectedObjects = Invoke-Expression "$ScriptLocation\$selected_inspector.ps1"
        }

		# Add the finding to the list of all findings.
		$findings += $finding
	}
}

This is the part for the .json determination

Thank you.
While this is an easy item to resolve, we think that the benefits of such an addition are not enough to outweigh the potential pitfalls. If one chose to change the location of the inspectors, the included inspectors may not execute and passing multiple paths to the scripts may cause errors.
We feel it is much simpler to save any custom scripts to the Inspectors folder.


BUG: Back Top Button above chatbox

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Description
Require changes in the footer section. The "Back to Top" button should be positioned at the top of the chat box to improve its appearance.

Record

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

Issue is already assigned.


MTV-1354 | virt-v2v add pod anti affinity to the guest conversion pod

Issue: Right now we leave the placement of the conversion pod up to the kubernetes scheduler. But it can cause issues in large scale enviroments as the scheduler can place all migration pods on one node. This can cause the node to run out of the resources and can slow down the migration.
Fix: Add pod anti affinity which will distribute the migration pods evenly across the nodes.

Just got info from the scale team that it helped distribute the migration pods across all nodes.


allow string types for vcpus and memory in parameter validation

Since botocore requires a str type for both memory and vcpus (containerProperties.resourceRequirements) when trying register_job_definition, memory and vcpus should be allowed to be a string.

Codecov Report

Merging #4999 (000242c) into master (15b4939) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #4999   +/-   ##
=======================================
  Coverage   95.74%   95.74%
=======================================
  Files         632      632
  Lines       65830    65830
=======================================
  Hits        63029    63029
  Misses       2801     2801

Flag
Coverage Δ

servertests
36.04% <0.00%> (-0.01%)
:arrow_down:

unittests
95.68% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/batch/models.py
90.14% <100.00%> (ø)

Continue to review full report at Codecov.

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

Hi @coldfire79, the conversion to floats happens right before in _get_resource_requirements, so this should not be necessary:
https://github.com/spulec/moto/blob/3718cde444b3e0117072c29b087237e1787c3a66/moto/batch/models.py#L295:L296
https://github.com/spulec/moto/blob/3718cde444b3e0117072c29b087237e1787c3a66/moto/batch/models.py#L293:L294
Is there a specific use-case where you're seeing errors without this change?

Hi @coldfire79, the conversion to floats happens right before in _get_resource_requirements, so this should not be necessary:
https://github.com/spulec/moto/blob/3718cde444b3e0117072c29b087237e1787c3a66/moto/batch/models.py#L296
https://github.com/spulec/moto/blob/3718cde444b3e0117072c29b087237e1787c3a66/moto/batch/models.py#L294
Is there a specific use-case where you're seeing errors without this change?

Thank you. Maybe because I was using the previous version v2.2.19. Let me close this.


Clarify multi-threading support in C implementation

The README in the C implementation says:

The C implementation doesn't currently support multi-threading.

Could you clarify which of the following do you mean by that?

That the C implementation doesn't do any multi-threading on itself.

That it is not safe to use the C implementation as is on multi-threaded environments. That is, one must not use the exported C functions concurrently.

Thank you.

Good point, we should make this explicit in the docs. We mean number 1. The C implementation doesn't do any multi-threading optimizations internally. But it's safe to use BLAKE3 from multiple threads, as long as each thread is operating on its own separate blake3_hasher object.

blake3 does not support (2) either right now. There is a data race with the global variable g_cpu_features.
I've posted an issue here: https://github.com/BLAKE3-team/BLAKE3/issues/220


add dark mode

Add dark mode after login .

Good idea!

can you please assign this issue to me?

@arushpanwar sure! fix it and make a pull request.


ci(master): doc coredns min version tips

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

What this PR does / why we need it:
coredns min version tips
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

/lgtm
/approve


Searching by Claim URI http://wso2.org/claims/identity/accountLocked works for an individual domain but not across ALL-USER-STORE-DOMAINS

Describe the issue:
Currently in management console we can search for users using the claim url and claim value. When trying to filter users using http://wso2.org/claims/identity/accountLocked claim and value = true. This will only gives results if we specify a single user store domain and not when selected "All User Store Domains."
How to reproduce:
1 - Create secondary user store in WSO2IS.
2- Set account lock claim as default and set the value as true.
3 - Try to filter users with account locked claim and claim value as true.
When select a user store domain it gives proper results. And when selected all user store domains it given null values.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0]

Optional Fields
Related issues:

Suggested labels:

This issue is not reproducible in the wso2is-5.12.0-m6-SNAPSHOT and latest WUM updated IS-5.10.0. Hence closing this issue.

This issue is not reproducible in the wso2is-5.12.0-m6-SNAPSHOT and latest WUM updated IS-5.10.0. Hence closing this issue.


Fix accidental compile dependency on logback-classic

See #214 for more details.
Fixed by completely removing the dependency on logback-classic in non-test scopes, as the dependency was intended to be optional anyways.
@bjansen Does this fix the issue for you?
Dependencies section from generated pgpainless-core/build/publications/mavenJava/pom-default.xml after applying this change:
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.32</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcprov-jdk15on</artifactId>
      <version>1.69</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpg-jdk15on</artifactId>
      <version>1.69</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>3.0.2</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

Coverage remained the same at 91.141% when pulling 4a9dcb46b545cd905be19076a3668859124076a6 on logbackDependency into 74609e0ef7e9b4a97083d9bb1c0b0fea46db8d25 on master.

Yep, looks good to me. Thanks!


REF: de-duplicate

Signed-off-by: Brock<EMAIL_ADDRESS>
What do these changes do?

[ ] commit message follows format outlined here
[ ] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] signed commit with git commit -s
[ ] Resolves #?
[ ] tests added and passing
[ ] module layout described at docs/development/architecture.rst is up-to-date
[ ] added (Issue Number: PR title (PR Number)) and github username to release notes for next major release

@jbrockmendel thanks for the cleanup. Could you please make issue(s) for the cleanup and reference them in the commit message to satisfy the commitlint?

@jbrockmendel looking at this failure I think it's because series shift has fill_value=None and dataframe shift has fill_value=no_default


Integrate server-side rendering

I'm submitting a ...
[ ] bug report
[x] feature request
[ ] question about the decisions made in the repository

Nice work!!.  Would be nice to integrate server-side rendering with Angular Universal

Might be worth taking a look at https://github.com/angular/material2/issues/308.

Closing as duplicate of https://github.com/akveo/ngx-admin/issues/1364


Updating to include Page File support

Page file support for ReFS starts in Windows Server 2022.  Removed the comparison to NTFS.

Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
Public repo URL: https://github.com/MicrosoftDocs/{docs-repo}
Private repo URL: https://github.com/MicrosoftDocs/{docs-repo-pr}
We have closed this pull request. Please resubmit the updates through the private repo. For more information, [see the contributor guide].(https://docs.microsoft.com/en-us/contribute/)


OAS-5856 | Add UsageItem for Notebook

Signed-off-by: Mayank Shah<EMAIL_ADDRESS>

LGTM.


added the various entity types supported by the addAnnotation api call

Description
This PR adds documentation to the addAnnotation api call
https://cloudstack.apache.org/api/apidocs-4.18/apis/addAnnotation.html
It basically shows all the supported entity types
********** -->
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[X] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[ ] Trivial

LGTM, this is api doc only change. Github Actions smoketests and build tests are enough. Thanks for the PR @kiranchavala to improve our docs.


@extend performance

Using @extend in SASS has resulted in massive selectors in CSS.  One of my CSS selectors is 4000 characters long.  Chrome has been crashing and I think it has to do this my use of @extend.  Can you comment?

if the amount of selectors is too large they could be broken into multiple rules and just repeat all the attributes (like a mixin would do).

I realize this has been closed for some time now, but since there was a recent comment it caught my attention. I think it would have been helpful in retrospect to define some sort of reasonable threshold for max_selector_length_before_warning to let the user know about the gigantic selectors being produced as a result of misusing @extend. Food for thought.

Commenting on an old ticket; Has this matter been revisited?
As a suggestion, we could split larger selectors into smaller chunked blocks - each of which would contain the same style properties.
ie
before -
.a, .b, .c, .d {
  background-color: red;
}

After, splitting into groups of two -
.a, .b {
  background-color: red;
}

.c, .d {
  background-color: red;
}


Plugin folder structure

Would it be possible to move all files of this repo to a subfolder called "Snippets"?
We are using an automated process to deploy mantis and the most useful plugins.
The snippets repo is the only plugin that is different from all other plugins we pull from github, so having a unified structure would be fantastic.
Thank you!

Would it be possible to move all files of this repo to a subfolder called "Snippets"?

It used to be like that. We actually changed the structure about a year ago, the rationale being that a lot of people actually install the plugins as git repositories straight into the plugins/ directory, and it does not bring much value to maintain the extra subdirectory (except in some specific cases, like the Source Integration plugin)
So I'm afraid you're request is a "won't fix"... Sorry.

Oh, I wasn't aware that it used be be like that, no need to say sorry.
Should have checked some earlier revisions.
I will integrate a way to handle both ways in our deployment script. Thanks for your time and the plugin!


dgl._ffi.base.DGLError: Expect number of features to match number of nodes (len(u)). Got 355 and 417 instead.

Why?

@xzenglab

yes, I reproduced this problem, how can you solve it @FYY99117 Thank you.


New open source tables: readTableData relies on appropriate sorting

Reported by otter on 15 May 2013 11:24 UTC
The new open source tables are implemented in the following way:
protected
  Types.ExternalCombiTable1D tableID=Types.ExternalCombiTable1D(...)
initial algorithm
  if tableOnFile then
    readTableData(tableID, 0);
  end if;

The problem here is that readTableData does not have a return argument. As a result a tool is free to place this call in the code. One might assume it will be called at the beginning, but it might be also called at the end of the model evaluation during initialization (after a getTableValue call). So this is not a robust implementation and may or may not work.
There seem to be two useful solutions: Either read the table data when the table is instantiated (so in the constructor of the external object), or read the table data the first time an interpolation or any other action on the table data is requested. In both cases an explicit call to readTableData in the Modelica code would no longer be present.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1103

Modified by otter on 15 May 2013 11:25 UTC

Comment by beutlich on 15 May 2013 12:03 UTC
Same holds for getNextTimeEvent which returns
    else {
        /* Should not be possible to get here */
        ModelicaError(
            "No table data available for detection of time events\n");
    }

if it is called before readTableData.

Comment by beutlich on 15 May 2013 12:22 UTC
I wanted to separate between constructor and file I/O by purpose. In the current C implementation the constructor fails only if alloc fails (which of course must never happen). readTableData may file for lots of reasons (e.g. missing file, missing table).
I would suggest to add a return value to readTableData and call only getNextTimeEvent and getTableValue if a previous call to readTableData was successful. Is this OK for you?

Comment by otter on 15 May 2013 12:30 UTC
Replying to [comment:3 beutlich]:

I wanted to separate between constructor and file I/O be purpose. In the current C implementation the constructor fails only if alloc fails (which of course must never happen). readTableData may file for lots of reasons (e.g. missing file, missing table).
I would suggest to add a return value to readTableData and call only getNextTimeEvent and getTableValue if a previous call to readTableData was successful. Is this OK for you?

This is fine for me (this means that getNextTimeEvent and getTableValue need to get an additional (dummy) input argument and the return value from readTableData has to be provided here).

Modified by beutlich on 16 May 2013 07:01 UTC

Comment by beutlich on 16 May 2013 12:58 UTC
It is fixed by r6365, hopefully. I cannot test as I have no tool available where previous implementation (that relied on proper sorting) failed.

Comment by otter on 19 May 2013 16:12 UTC
I recognized that it would be better to read the table in the constructor, since otherwise any other operation needs to have a dummy flag to get the sorting right (e.g. it was forgotting for getTableTimeTmin/Tmax in CombiTimeTable). Furthermore, this would simplify table caching (e.g. the same pointer for a table could be returned for different table instances).
The implementation would be simple, by just making ModelicaStandardTables_CombiTimeTable_read a local (static) function and call this function at the last statement of the constructor. The Modelica code for the tables would then also be simplified.
Maybe, I have overseen something. If this is the case, please explain whether there is a good reason to keep the current structure and have two different function calls (constructor + file reading).

Comment by otter on 21 May 2013 10:01 UTC
A discussion with Thomas Beutlich revealed the following:

The readData function has one additional argument "force" = 1: Table is read from file. force = 0: Table is only read from file if not yet read. Otherwise, the call is ignored.
So, if a tool calls the readData function several times (as it might happen during initialization), the data is still read into main memory only once.
The readData function gives the possibility to re-read data, e.g., after a reinit. So, it gives a few more possibilities.
The previous code with getTableMin/Max was o.k., since in an algorithm section together with readData.

According to this discussion, the current table design is fine for me and the ticket is closed.


Add install-upgrade.

This implements the feature described in #6667. Instead of failing when cargo install detects a package is already installed, it will upgrade if the versions don't match, or do nothing (exit 0) if it is considered "up-to-date".
Closes #6667.
Notes:

This feature rejects ambiguous --version input (such as 1.0). This is not required, but seemed like a reasonable time to make the change.
There is a slight change to the output on stable which reports what was installed/replaced.
Added better support for * in --version (don't show warning).

r? @dwijnand
(rust_highfive has picked a reviewer for you, use r? to override)

:umbrella: The latest upstream changes (presumably #6804) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #6812) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #6811) made this pull request unmergeable. Please resolve the merge conflicts.

I'm just getting home.  Sorry for this sitting in the PR queue unreviewed.  I won't have time to review it in the near future so I'll reassign it.
r? @alexcrichton

Thanks for the detailed review!  I added more comments, and I think I addressed everything (except where I responded).

Ok a request for a comment and a request to look into reducing into_path_unlocked if possible, but otherwise r=me. Looking forward to this, thanks @ehuss!

@bors: r+

:pushpin: Commit 5a9ff8a62192dbbc068ad9a59368d3fc221b0dff has been approved by alexcrichton

:hourglass: Testing commit 5a9ff8a62192dbbc068ad9a59368d3fc221b0dff with merge f5b60ac5cc61621f99ba702e8130af49020ea109...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: alexcrichton
Pushing f5b60ac5cc61621f99ba702e8130af49020ea109 to master...


1501 fix tutorials

Testing fix to mkdocs build, strange error:
ERROR    -  Failed to deploy to GitHub with error:
Deployment Aborted!
detected dubious ownership in repository at '/__w/luna/luna'
To add an exception for this directory, call:

	git config --global --add safe.directory /__w/luna/luna

Fix already tested, closing PR


Inputting a web address should throw an error?

[x] I am on the latest
[x] I have searched the issues, not related.
Latest OsX

Issue
Should this feature be disabled when inputting a web address? Bad UX, took me for a surprise.
Few moments later, leaving it or closing it by ctrl+c - I get an error alert, see 2nd image attached
ps: I know I can close the webpage by ctrl+c.

@dkouvdis This will be moving into a plugin. It's on the roadmap.

@ppot What plugin was this moved to?

@ppot whats the name of the plugin?

+1 again @ppot what is the name of the plugin? Am very curious to try this but now I see in-terminal web browser does not work by default anymore.


Crash after long uptime (vs)

Describe the bug
Occasionally when I go to use my Docker services they will be down. On investigation it will be apparent that OrbStack has stopped the Docker service (the GUI is running but the machine is stopped).
To Reproduce

Use as normal.
Service will stop.

Expected behavior
Service should run and auto restart if interrupted.
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.3.0
Commit: c7cc1bd78adc76441a91befa2a50c0119c9d4703 (v1.3.0)
System info:
macOS: 14.2.1 (23C71)
CPU: arm64, 10 cores
CPU model: Apple M2 Pro
Model: Mac14,12
Memory: 16 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2024-02-06T23-24-01.930019Z.zip
Screenshots and additional context (optional)
Running on a Mac Mini, fully up to date.

Still happening here, any update on this?

Fixed for the next version.

Released in v1.6.0 Canary 1.
To update to Canary: Settings > Update channel

Released in v1.6.0 Canary 1.
To update to Canary: Settings > Update channel

Will give it a try - would love to know some more details of what was fixed though, sounds quite deep!

Released in v1.6.0.
New: Truly fast container filesystems on macOS: 2–10x faster, within 75-95% of native


Could not find concurrent-ruby-1.0.5 in any of the sources

Expected behavior and actual behavior
Running middleman server on a newly created project should run the server but instead it throws this error.
Could not find concurrent-ruby-1.0.5 in any of the sources
Steps to reproduce the problem (from a clean middleman installation)
Create a new middleman project with middleman init
Run middleman server
Additional information

Ruby version: 2.3.1p112
Middleman version: 4.2.1
OS version: macOS 10.12.3

Does bundle exec middleman server make any difference?

Run bundle install from within the directory.

Nothing will make it work unless you reinstall the metasploit-framework. I have been facing the issue for 1 week. I have personally tried and its running now. Run the following command in termux.
$ pkg upgrade && pkg install git && pkg install curl && pkg install wget && pkg install nmap && curl -LO raw.githubusercontent.com/Hax4us/Metasploit_termux/master/metasploit.sh && chmod 777 metasploit.sh && ./metasploit.sh


Works but also does not.

When I upload the jar file, then edit the config it works for about 1-2 hours, then gives this error.
2023-01-15 09:07:49 [SEVERE] SLF4J: Defaulting to no-operation (NOP) logger implementation
2023-01-15 09:07:49 [SEVERE] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2023-01-15 09:07:49 [SEVERE] SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder".
2023-01-15 09:07:49 [SEVERE] SLF4J: Defaulting to no-operation MDCAdapter implementation.
2023-01-15 09:07:49 [SEVERE] SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
2023-01-15 09:07:50 [SEVERE] [JDA RateLimit-Worker 1] ERROR RateLimiter - Encountered cloudflare rate limit! Retry-After: 6711 s

You got cloudflare ratelimited. You are probably using Replit or some other shared hosting where multiple people are accessing Discord's APIs.


Add path aliases to simplify imports

Our codebase has some very complex imports that are not easy to read but also challenging to write (even with the help of an IDE).
Here are some examples:
https://github.com/madatajs/madata/blob/38f6203127c257603048a2726c9e1527c3ac2f40/formats/csv/index.js#L1-L2
https://github.com/madatajs/madata/blob/38f6203127c257603048a2726c9e1527c3ac2f40/backends/basic/element.js#L1-L2
https://github.com/madatajs/madata/blob/38f6203127c257603048a2726c9e1527c3ac2f40/components/auth/index.js#L1
And my favorite one: 😅
https://github.com/madatajs/madata/blob/38f6203127c257603048a2726c9e1527c3ac2f40/backends/github/file/github-file.js#L2-L3
There is a native way to make those paths more readable and maintainable with subpath imports.
With subpath imports, we'll get (no matter how deep the file importing another module is nested):
- import Format from "../../src/format.js";
+ import Format from "#src/format.js";

- import { parse, stringify } from "../../lib/csv/dist/esm/sync.js";
+ import { parse, stringify } from "#lib/csv/dist/esm/sync.js";

- import hooks from "../../../src/hooks.js";
+ import hooks from "#src/hooks.js";

To make this work, we need to add these lines to package.json:
"imports": {
  "#src/*": "./src/*",
  "#backends/*": "./backends/*",
  "#formats/*": "./formats/*",
  "#lib/*": "./lib/*"
}

For code navigation to work in an IDE, we should also configure path aliases in the tsconfig.json file (that we already use to generate the API documentation):
"baseUrl": "./",
"paths": {
	"#src/*": ["./src/*"],
	"#backends/*": ["./backends/*"],
	"#formats/*": ["./formats/*"],
	"#lib/*": ["./lib/*"],
}

I already played with it a bit—it works like a charm. I'm ready to submit a PR if we need this feature.

Those are not supported in browsers. :(


[BEAM-7961] Add tests for all runner native transforms for XLang

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.


Refactor generator handling

Right now generators are hardcoded and shipped with the prisma2 CLI. We should open up the generator API to let users bring their own generators (e.g. for prisma-test-utils) and nexus-prisma).
Also see: https://gnorm.org

Basic support for custom generators is implemented.
You can provide the path to the generator binary like so: https://github.com/timsuchanek/generator-demo/blob/master/prisma/project.prisma#L12

You can provide the path to the generator binary like so: https://github.com/timsuchanek/generator-demo/blob/master/prisma/project.prisma#L12

I assume this means it just works for NodeJS right now but not with arbitrary binaries?


Pin validation not invoked

I have tried this on both iOS 9.3 Simulator + device iOS 10. Installed via pods, latest version (i.e. pod 'TrustKit').
I also tried adding breakpoints in the Trust Kit pin validation routines and they are never hit and as you'll see below, no logs either.
Just to see what happens, I left the default programmatic config in for my domain, with another domain's hashes (yahoo.com's hashes):
    NSDictionary *trustKitConfig =
  @{
    kTSKSwizzleNetworkDelegates: @YES,
    kTSKPinnedDomains : @{
            @"MYDOMAIN" : @{
                    kTSKIncludeSubdomains:@YES,
                    kTSKPublicKeyAlgorithms : @[kTSKAlgorithmRsa4096],
                    kTSKPublicKeyHashes : @[
                            @"TQEtdMbmwFgYUifM4LDF+xgEtd0z69mPGmkp014d6ZY=",
                            @"rFjc3wG7lTZe43zeYTvPq8k4xdDEutCmIhI5dn4oCeE="
                            ],
                    kTSKEnforcePinning : @YES,
                    }
            }};

    [TrustKit initializeWithConfiguration:trustKitConfig];

When I run the app, it actually connects to the domain anyway, despite pinning enforced, and the logs show this:
2016-07-06 20:37:23.451972 TK-Example[2792:869181] === TrustKit: Configuration passed via explicit call to initializeWithConfiguration:
2016-07-06 20:37:23.453288 TK-Example[2792:869181] *** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
2016-07-06 20:37:23.453385 TK-Example[2792:869181] === TrustKit: Loaded 0 SPKI cache entries from the filesystem
2016-07-06 20:37:23.507451 TK-Example[2792:869181] === TrustKit: Successfully initialized with configuration {
    TSKPinnedDomains =     {
        "MYDOMAIN" =         {
            TSKDisableDefaultReportUri = 0;
            TSKEnforcePinning = 1;
            TSKIncludeSubdomains = 1;
            TSKPublicKeyAlgorithms =             (
                1
            );
            TSKPublicKeyHashes = "{(\n    <ac58dcdf 01bb9536 5ee37cde 613bcfab c938c5d0 c4bad0a6 22123976 7e2809e1>,\n    <4d012d74 c6e6c058 185227cc e0b0c5fb 1804b5dd 33ebd98f 1a6929d3 5e1de996>\n)}";
        };
    };
    TSKSwizzleNetworkDelegates = 1;
}
2016-07-06 20:37:23.968416 TK-Example[2792:869243] Response: <NSHTTPURLResponse: 0x17002e920> { URL: https://MYDOMAIN/ } { status code: 200, headers {
    "Cache-Control" = "public, max-age=0";
    Connection = "Keep-Alive";
    "Content-Encoding" = gzip;
    "Content-Type" = "text/html; charset=utf-8";
    Date = "Wed, 06 Jul 2016 19:37:23 GMT";
    Etag = "W/\"44a5-ScJW2rB+srCBlitpEpvKUA\"";
    "Keep-Alive" = "timeout=5, max=100";
    Server = "Apache/2.4.18 (Ubuntu)";
    "Strict-Transport-Security" = "max-age=63072000; includeSubDomains";
    "Transfer-Encoding" = Identity;
    Vary = "Accept-Encoding";
    Via = "1.1 MYDOMAIN";
    "X-Powered-By" = Express;
} }

Any ideas what I might be doing wrong? Will try the Info.plist config route when I get the chance to see if I observe the same behaviour.

Hi,
Thanks for the report. I can see that you are using kTSKSwizzleNetworkDelegates; how are you opening the connection (which API)? The best way to use TrustKit is to manually call into TSKPinningValidator instead of relying on kTSKSwizzleNetworkDelegates.
Thanks,

Hey, not got the source on me right now but i was using NSURLSession and just making a basic connection to a site via HTTPS.
Tonight i'll confirm if the behaviour is the same for the config approach + also see if I have better luck using TSKPinningValidator.

I just tried myself on an iOS 10 device and didn't see any problems. Please re-open this issue if it's still an issue.

@hexploitable any feedback on this ? i have the same problem, also no notifications is posted (kTSKValidationCompletedNotification)

Are you using swizzling or not?

@nabla-c0d3  yes i do. the problem was i gave the domain with the protocol "https://mydomain.com" instead of "mydomain.com"

How do I verify that pinning is working fine? I recently Implemented Trustkit for ios but unable to understand if I need to store the SSL certificate in my app bundle or not? Please reply quick. I have a delivery today. Another question is does trust kit support API calling? or I have to use Afnetworking to call API?

any updates?


Introduce tools to check if implementation is properly synchronized with libpod

Related to https://github.com/containers/python-podman/issues/70
Summarize
This tools allow us to compare branches or revision to check
if python-podman is unsynchronized with libpod.
Design
These changes only check if method exist in python-podman souce code.
They don't yet check method signature.
If a method doesn't exist it will return 1 so we can call it in CI/CD
and catch errors to append missing methods.
It's possible to force to return a code 0 to avoid to polluate our CI/CD
in the first time with a lot of well know issues related to
unsynchronized projects.
Usage
$ # Check if python-podman is properly synchronized with libpod master
$ ./tools/synchronize.sh
Downloading the libpod's defined interface
https://raw.githubusercontent.com/containers/libpod/master/cmd/podman/varlink/io.podman.varlink
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 52112  100 52112    0     0  49725      0  0:00:01  0:00:01 --:--:-- 49725
Method Reset seems not yet implemented
Method GetContainersByStatus seems not yet implemented
Method HealthCheckRun seems not yet implemented
Method GetContainersByContext seems not yet implemented
Method GetContainersLogs seems not yet implemented
Method GetContainerStatsWithHistory seems not yet implemented
...
Method GetLayersMapWithImageInfo seems not yet implemented
Method BuildImageHierarchyMap seems not yet implemented
42 error(s) found
Comparison finished...bye!
$ # Check if python-podman is properly synchronized with libpod version
$ # 1.6.2 (which refer to commit ID f3ffda1e08f19e9a6a88484136b5eed76533f21a)
$ ./tools/synchronize.sh -b=f3ffda1e08f19e9a6a88484136b5eed76533f21a
Downloading the libpod's defined interface
https://raw.githubusercontent.com/containers/libpod/f3ffda1e08f19e9a6a88484136b5eed76533f21a/cmd/podman/varlink/io.podman.varlink
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 50588  100 50588    0     0  51515      0 --:--:-- --:--:-- --:--:-- 51462
Method GetContainersByStatus seems not yet implemented
Method HealthCheckRun seems not yet implemented
...
Method GetEvents seems not yet implemented
Method GetLayersMapWithImageInfo seems not yet implemented
Method BuildImageHierarchyMap seems not yet implemented
37 error(s) found
Comparison finished...bye!

@astronouth7303 feel free to review these changes and to put some comments if needed.

Also see example of real usage here

Now that we can easily identify with methods are not implemented by libopod release it can be interesting to submit patch sets related to specific libpod versions (1.6.1, 1.6.2, etc... 1.7.0).
We can append the missing methods release by release by using the revision id with tools/synchronize.sh and then release and publish related versions of python-podman by creating git tags.
Example:
$ # libpod 1.6.1
$ ./tools/synchronize.sh -b=233d95f4f0a815f11d1c1ae9aba16781c4eb2700
$ # append the related delta
$ git tag 1.6.1
$ git push --tags
$ # libpod 1.6.2
$ ./tools/synchronize.sh -b=f3ffda1e08f19e9a6a88484136b5eed76533f21a
$ # append the related delta
$ git tag 1.6.2
$ git push --tags
$ # libpod 1.6.3
$ ./tools/synchronize.sh -b=9d087f6a766259ba53b224944f1b7b778035c370
$ # append the related delta
$ git tag 1.6.3
$ git push --tags
$ # libpod 1.6.4
$ ./tools/synchronize.sh -b=5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26
$ # append the related delta
$ git tag 1.6.4
$ git push --tags
$ # libpod 1.7.0
$ ./tools/synchronize.sh -b=b7ce1157b00af09f4a09e39b377aa3abff46ee05
$ # append the related delta
$ git tag 1.7.0
$ git push --tags

Then we will have full compatibility with existing releases.
If methods signature still have difference in released version we can fix them in a second time by using new revisions build in python-podman release verison.
Example:

modifying a signature after a python-podman release 1.6.3 will give us a 1.6.3-1 version, 1.6.3 is only synchronized with missing methods.
modifying a signature after a python-podman release 1.7.0 will give us a 1.7.0-1 version, 1.7.0 is only synchronized with missing methods.

Seems like a good start, as long as you remember to adjust it as your needs shift.

Seems like a good start, as long as you remember to adjust it as your needs shift.

Yeah sure, thanks for your feedback

oh, there is one concern: the implementation warnings are buried in the output, but i'm not sure travis has good options to help with that.

oh, there is one concern: the implementation warnings are buried in the output, but i'm not sure travis has good options to help with that.

@astronouth7303 : Yes but it's not really an issue, I'm not sure but I think we can fold commands output if needed to keep the output more human readable.
I need take a further look to travis option to see if we can improve this part.
Anyway thanks for the heads up.

@4383 Looks good, I'm willing to merge with the knowledge that the V2 api will break this.  Ack?

@jwhonce ack, thanks for the heads up.
They are not blocking the CI so it's ok for V2


Add validation for missing CSV and invalid CSV

Is ‘valid’ the right word here? Is it more the case that the file is not in the correct format? (Valid is something is more a way about describing the data, not the file). @emjhf


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


storage: improve storage volume attachment

We currently only allow attaching storage volumes of type custom. So remove any
code that gives a different impression. Also, handle things a little nicer.
Signed-off-by: Christian Brauner<EMAIL_ADDRESS>

jenkins: test this please


Hello, new to cactbot but

I wasnt sure where else to post or who to ask, But how long roughly does it take for new raid/trial content to be added to cactbot? For example the memoria misera (extreme) trial. I'm not sure if I have to manually update cactbot? or if auto updates when i start ACT. Also I couldnt find any place to donate... personally for me after being gone from FFXIV for two years this plugin has done wonders and I wanted to show my support by donating

Cactbot relies on the community (and @quisquous ) to do updates to timelines. There is a fairly comprehensive guide on how to make timelines should you want to try your hand at contributing here: https://github.com/quisquous/cactbot/blob/master/docs/TimelineGuide.md
Cactbot will auto-update once quisquous generates a new release. If you want to see upcoming changes to cactbot, there are two places to check:

https://github.com/quisquous/cactbot/pulls
The ACT_FFXIV Discord (https://discord.gg/ahFKcmx)

https://github.com/quisquous/cactbot/pull/1322 seems to indicate Memoria Miser(y)a Ex triggers are on the docket for being included in a release some time in the future. quisquous can comment further

Thank you!

Glad to hear that cactbot has done wonders for you :heart:
Enjoy the update!


Don't use Arc if not target_has_atomic = "ptr"

Instead of relying on a feature for Arc, just use #[cfg(target_has_atomic = "ptr")], which is what the alloc crate uses anyways. This can be introduced as a non-breaking change as this crate would fail to compile anyways if the arc feature was enabled while the target didn't have support for atomic operations.

The problem with target_has_atomic is that it is unstable.


Virtual DOM Implementation

This PR is the testing of Virtual DOM implementation of Vue in PyFyre.
Anyone can participate in this PR and it will be greatly appreciated!

[x] Virtual DOM structure
[x] Render
[x] Diff algorithm
[x] Adapt widgets to DOM changes

[FIXED] The reason why this hasn't been pushed yet because it is experiencing heavy bugs that will be soon fixed. Again, participation is greatly appreciated.

Everything now looks fine here. This will be now pushed in Staging.


Shading texture editing (normal map, specular, etc)

https://springrts.com/phpbb/viewtopic.php?f=85&t=32544&p=568269#p568259

basic support is in (will need a cleanup in a variety of ways though)


⚠ NCAA has degraded performance

In b85aa26, NCAA (https://www.ncaa.com) experienced degraded performance:

HTTP code: 200
Response time: 626 ms

Resolved: NCAA performance has improved in 20018fa.


Add Parallel Coordinates plot option when there are multiple eval metrics

Suppose we want to choose the ‘best’ prompt template p among N in the sense that it maximizes metrics m0, m1, … mM. We’re run every template through with multiple parameters, but we only care about the template as a parameter. Then, we want to quickly visualize this data across metrics m_i.
For a single LLM case and a reasonable num of prompt templates (eg <20), we can use a Parallel Coordinates plot: https://www.data-to-viz.com/graph/parallel.html
The N prompt templates are different colors on the plot, where each prompt template p has R lines (number of responses in that template).
For multiple LLMs, we could lower opacity and let users select one ‘slice’ of the whole plot to view which visualizes a single LLM. Scrolling through the parallel coord plots then gives us a picture of what’s going on.

So we have parallel coords but not for multiple LLMs. Keeping this open until that part is fixed.


Ruby message installing nodejs

To be able to have more descriptive confirmations I had to enable the --yes parameter, which is useful if we want to skip confirmations in internal calls. Also the user could use it and in a future wlinux-setup could be called from automated scripts

I really like how you've implemented this :+1: just doing some test now

Excellent


wip (streaming): sketch for status-based messages in chat history file

This PR sketches out one possible approach for providing "status"-like events inline in the same "stream" as other File-based (or in the case of agents, History-based) events. It is meant to elicit feedback on the idea of creating tees from logs streams into the request-scoped stream to allow single stream retrieval of incremental information about method (or agent service) progress.
This PR uses a StreamHandler to capture existing logs and redirect them into the ChatHistory as blocks tagged with either a role of Agent or Tool. Those messages are then explicitly ignored when providing blocks for conversation history in LLM interactions (in an attempt to prevent contamination).
If this approach is considered useful / acceptable, we can tweak the filter settings on the StreamHandler to allow a more targeted set of events (based on some runtime parameterization). Imagine a "include_action_updates_in_stream" style param (and related).
The "gotcha" is that the handler MUST be added (and then removed) per context retrieval + request (to avoid multiple handlers logging to the same history). This usability concern can likely be improved via a couple of different mechanisms, should we want to pursue this method.
Here is a BEFORE snapshot of an agent history (without status-like messages in stream):
----- Agent Chat History 6CEBF384-381D-40DE-9746-9A47D7F52138 -----

[user] draw a cat with a funny hat
[assistant] Here is the image you requested:
[assistant] FD36377D-8C86-4CEC-A259-40FEAD220847 (image/png)
[user] who is the president of Taiwan?
[assistant] The current president of Taiwan is Tsai Ing-wen.
[user] draw them at the podium
[assistant] Here is the image you requested:
[assistant] 7BEE023D-112F-4FBE-AF43-A6440A0A0FCB (image/png)

Here is the AFTER:
----- Agent Chat History 75E92802-3E69-493B-ACE6-1CEC75903A45 -----

[user] draw a cat with a funny hat
[agent] [prompt] Prompting LLM with: (draw a cat with a funny hat)
[agent] [action] Running Tool DalleTool (a cat with a funny hat)
[agent] [observation] Tool DalleTool: (Block(47EC0EF8-7BE0-4513-A002-13CB5681C4EB))
[agent] [prompt] Prompting LLM with: (Block(47EC0EF8-7BE0-4513-A002-13CB5681C4EB))
[agent] [action] Next Tool: Agent-FinishAction
[assistant] Here is the image you requested:
[assistant] 3A941CC3-79CD-4AC3-98A2-FBE2B545936E (image/png)
[user] who is the president of Taiwan?
[agent] [prompt] Prompting LLM with: (who is the president of Taiwan?)
[agent] [action] Running Tool SearchTool (who is the president of Taiwan?)
[agent] [observation] Tool SearchTool: (Tsai Ing-wen)
[agent] [prompt] Prompting LLM with: (Tsai Ing-wen)
[agent] [action] Next Tool: Agent-FinishAction
[assistant] The current president of Taiwan is Tsai Ing-wen.
[user] draw them at the podium
[agent] [prompt] Prompting LLM with: (draw them at the podium)
[agent] [action] Running Tool DalleTool (Tsai Ing-wen, the president of Taiwan, standing at the podium)
[agent] [observation] Tool DalleTool: (Block(54456BB7-DC3C-47A8-AF5C-6385FF5CFDB7))
[agent] [prompt] Prompting LLM with: (Block(54456BB7-DC3C-47A8-AF5C-6385FF5CFDB7))
[agent] [action] Next Tool: Agent-FinishAction
[assistant] Here is the image you requested:
[assistant] AA400D36-B6C7-4DBA-9C33-06F9694D034A (image/png)

NOTE: This highlights that Steamship logging of Actions is incomplete (we don't record output of prompts like "LLM requests calling DalleTool with (...)").

There are some considerations here to add:

this could dramatically increase the number of blocks in the history file (and require more time to scan/skip)
this duplicates logs stream information.

Comments just based on the description (which is really helpful, thanks) before diving into code:
Persona: Front End

This checks the box of what would produce a Chat-GPT style interface. The main thing here being that the front-end agent is provided with information to meaningfully keep the user engaged while long-latency delays prevent streaming the actual response ("Running tool..", "Ran tool...")

I don't think, from the front-end perspective, it's 100% necessary to know the input/output of intermediate actions. It would be probably be fine just to know that they were being run and what their eventual status was. This isn't a change request, just an observation about what could be trimmed if the size of ChatHistory is a concern.

Persona: Performance Engineer

Very much read you on the concern for ChatHistory bloat. Thinking out loud:

If we trimmed down the ChatHistory metadata blocks to just which actions ran and their status, and eliminated the FinishAction reporting as sort of a given, that might be a meaningful diet to put the reporting on.
If we had a AgentContextHistory file that sat alongside ChatHistory that contained a fuller picture of the ChatHistory, that could be a way to keep a parallel set of books that was more detailed, but by default not consumed. ChatHistory & ContextHistory could be kept 1:1

Persona: Agent SDK Design

The logging StreamHandler trick feels really clever, but also maybe if we went that route, we'd probably want to make a point of being incredibly explicit (as you allude to above) with rigid expectations upon logging style. Maybe helper functions that pass down to logging operations?
The logging duplication problem does seem challenging.. and the AgentContextHistory idea above exacerbates it. Is AgentContextHistory really just a stream over ElasticSearch with a filter applied?

Will keep thinking... let me know what's useful/not useful feedback wise, but this is really awesome to read through so far 🚀🚀🚀🚀🚢🚢🚢🚢🚢

I am a big fan of this approach generally. I think having all of the inner 'reasoning' steps in the history of the chat makes total sense, and then having them appropriately filtered back out based on tags etc should work really well.
I am not particularly concerned about chat history bloat, personally.  I think that can be handled via nice filter options.


Extend code review list with REST API documentation practises

Description
We require that every change to the REST API is reflected in the OpenAPI documentation. We should add this to our list of code review rules.
Design
If we setup an GitHub pages website like we did for the guides, then we can create a contributing section. Within this section, we can describe our general practises for the REST API.
Tasks

[x] Create REST API page in contributing directory
[x] Document a little about where the code is located in the repostitory
[x] Document that the OpenAPI description files must be kept up to date with the REST API implementation


Email notification

Looking to use this instead of visualping but I need email notifications.
Whats the best way to hack that together with this application? (if at all possible) #

Alerting would be cool so you can let that thing sit in the background and do its job while forgetting about it :)

@ToeiRei what do you think about browser notifications? also kinda interesting I think

For me those browser notifications are something I really try to avoid. I find them annoying as they're omnipresent and often abused for advertising. That's why I prefer email, webhooks and anything I can feed into my system to take load off me.

For me those browser notifications are something I really try to avoid. I find them annoying as they're omnipresent and often abused for advertising. That's why I prefer email, webhooks and anything I can feed into my system to take load off me.

+1 all this. Its why I am using visualping but would love to using something self hosted.

using email is a bit scary in terms of support.. because the python script cant just send directly out (more than likely it will get counted as spam, no DNS-SEC DMARC etc etc)
And then supporting all the email servers could be a pain too.. as in, all their authentication mechanisms for sending the email via gmail, hotmail etc etc

For me those browser notifications are something I really try to avoid. I find them annoying as they're omnipresent and often abused for advertising. That's why I prefer email, webhooks and anything I can feed into my system to take load off me.

+1 all this. Its why I am using visualping but would love to using something self hosted.

Yeah well..

as for email you can send via a given mailserver.

@ToeiRei as for email you can send via a given mailserver.
You didnt read

And then supporting all the email servers could be a pain too.. as in, all their authentication mechanisms for sending the email via gmail, hotmail etc etc

I'm well aware how email servers work

using email is a bit scary in terms of support.. because the python script cant just send directly out (more than likely it will get counted as spam, no DNS-SEC DMARC etc etc)
And then supporting all the email servers could be a pain too.. as in, all their authentication mechanisms for sending the email via gmail, hotmail etc etc

Fair enough then maybe a ping to webhook which we could then use to trigger email via zappier or something similar
(https://zapier.com/apps/email/integrations/webhook/62/send-emails-with-new-caught-webhooks)

@monkeydust webhooks already covered in another open issue here https://github.com/dgtlmoon/changedetection.io/issues/4

And in any case, why do we want to live our lives re-actively through a constant stream of notifications and interruptions? why not just check the UI once a day or two or something, seems to me that everyone is completely addicted to being interrupted and notified, checking your email feels like an addiction to gambling "maybe I'll click check mail and something will happen"

in my case it's just because I get all notifications by mail in one place instead of checking 27 pages.

The sites I am checking don't update frequently. When they do I want to know ASAP so I can act on the information.

in my case it's just because I get all notifications by mail in one place instead of checking 27 pages.

@ToeiRei you know that this application offers one overview page, right? that's what https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/screenshot.png is

You realize that I am not referring to your app as one of them?

@ToeiRei please submit a patch/pull request, or fund my development (I also need to eat), there's a couple of other issues in the queue I'de like to get onto first before email
but actually the direction of this application may not include any notifications, kind of feeling like it's better to use an app like this to keep an overview of all new information from important government/companies etc rather than using any social media to stay in touch with them

That's quite a bold move asking for funding that way - which actually isn't quite encouraging for me to fund you at all (which I was planning to do at some point) - writing a solution on my own now.

Lol, lies, all lies, lies. if you really were going todo something, you would have already done it. You're not listed as a contributor for any other project and I do not see why you'de start with this one.
"Writing a solution on my own" are you 16? that's what github is all about, simply fork the project and add what you need, if you feel the pull request would be quality and fit in, then please make a pull request
otherwise dont bother me with your manipulative lies


Improve floating point tests

Feed less trivial inputs
Check strict equality
Use dtypes_combination for binary operations

Merge #1665 first.

Jenkins, test this please.

Jenkins CI test (for commit 51bd76ab16b581aa2419b2a09630a5f8464e673f, target branch master) succeeded!

LGTM!


Incorrect Longitude output

When trying to run the nmea_navsat_driver the output of longitude is not correct.

Adding an example sentence around the area:
$GPGGA,202656.032,4400.625198,N,8832.555418,W,1,10,0.01,0.021805,M,0.000000,M,,*7C
Using LGSVL simulator, and when running the output message string into a GPS decoder website, it does seem to have the correct location. However, when running the nmea_navsat_driver the longitude is way off

Fixed by setting line 60: in parser.py.
return safe_float(field[0:2]) + safe_float(field[2:]) / 60.0
instead of
return safe_float(field[0:3]) + safe_float(field[3:]) / 60.0

I've checked several online references for the longitude field of the GGA sentence, and it appears that the NMEA standard expects that the format for longitude be 3 digits for degrees longitude followed by the digits for decimal minutes. It looks like your receiver is outputting an incorrect sentence, because it should have a leading zero. 8832.555418 should be 08832.555418.
I'm glad you found a workaround for your receiver, but I don't think there's an error in this package's GGA parser.

It was in LGSVL's message output of gps. It was missing a leading zero, and honestly I'd rather put a leading zero in the output vs. messing with the input! Was a good temporary fix, then I realized the message being received was formatted wrong


[🐸 Frogbot] Update version of com.google.code.gson:gson to 2.8.9

📦 Vulnerable Dependencies
✍ Summary

SEVERITY
CONTEXTUAL ANALYSIS
DIRECT DEPENDENCIES
IMPACTED DEPENDENCY
FIXED VERSIONS
CVES

    High
Not Applicable
com.google.code.gson:gson:2.8.1
com.google.code.gson:gson 2.8.1
[2.8.9]
CVE-2022-25647

🔬 Research Details
Description:
Gson is a Java library that is used for simple serialization and deserialization of Java objects (to and from JSON format).
The Gson implementation has a design problem that leads to unsafe deserialization of untrusted data in the deserialization process of the following internal classes: LinkedTreeMap, LinkedHashTreeMap, and LazilyParsedNumber. Thus, a possible denial of service attack can be performed when trying to deserialize untrusted data to these types directly (serialized by Gson).
An attacker who controls the input data for the ObjectInputStream.readObject() call (or similar) can force the deserialization process to unsafely deserialize these internal classes directly. Forcing direct deserialization of these types can be achieved by manipulating the ObjectStreamClass descriptor of the input data (contains information about the serialized object). This is an unlikely and dangerous prerequisite, which would cause issues even unrelated to this vulnerability.

🐸 JFrog Frogbot

Checkmarx One – Scan Summary & Details – a5f1b4cb-2691-4eae-bdcc-efc15b4d4c1f
Fixed Issues

Severity
Issue
Source File / Package

CVE-2022-25647
Maven-com.google.code.gson:gson-2.8.1


about vehicle.get_location()

Ubuntu 18.04
Carla 0.9.5
import glob
import os
import sys

try:
    sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
        sys.version_info.major,
        sys.version_info.minor,
        'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
    pass

import carla

import random
import time

def main():
    actor_list = []

    try:

        client = carla.Client('localhost', 2000)
        client.set_timeout(2.0)

        world = client.get_world()

        blueprint_library = world.get_blueprint_library()

        bp = random.choice(blueprint_library.filter('vehicle'))

        transform = random.choice(world.get_map().get_spawn_points())
        print("below is transform")
        print(transform.location)

        vehicle = world.spawn_actor(bp, transform)
        print("below is vehicle")
        print(vehicle.get_location())

        actor_list.append(vehicle)
        print('created %s' % vehicle.type_id)

        camera_bp = blueprint_library.find('sensor.camera.depth')
        camera_transform = carla.Transform(carla.Location(x=1.5, z=2.4))
        camera = world.spawn_actor(camera_bp, camera_transform, attach_to=vehicle)

        print("below is 2 location")
        print(vehicle.get_location())
        location = vehicle.get_location()
        location.x += 40
        vehicle.set_location(location)
        print('moved vehicle to %s' % location)

        time.sleep(5)

    finally:

        print('destroying actors')
        for actor in actor_list:
            actor.destroy()
        print('done.')

if __name__ == '__main__':

    main()

Above is the code I modified based on the tutorial example.
When commenting out the part for the camera (which means using the code below). Then, when using vehicle.get_location(), the results I got  (after running the code, the output below the line below is 2 location) is 0,0,0 instead of the the location I got from ( transform = random.choice(world.get_map().get_spawn_points()) )
Can anyone help me out?
import glob
import os
import sys

try:
    sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
        sys.version_info.major,
        sys.version_info.minor,
        'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
    pass

import carla

import random
import time

def main():
    actor_list = []

    try:

        client = carla.Client('localhost', 2000)
        client.set_timeout(2.0)

        world = client.get_world()

        blueprint_library = world.get_blueprint_library()

        bp = random.choice(blueprint_library.filter('vehicle'))

        transform = random.choice(world.get_map().get_spawn_points())
        print("below is transform")
        print(transform.location)

        vehicle = world.spawn_actor(bp, transform)
        print("below is vehicle")
        print(vehicle.get_location())

        actor_list.append(vehicle)
        print('created %s' % vehicle.type_id)

        # camera_bp = blueprint_library.find('sensor.camera.depth')
        # camera_transform = carla.Transform(carla.Location(x=1.5, z=2.4))
        # camera = world.spawn_actor(camera_bp, camera_transform, attach_to=vehicle)

        print("below is 2 location")
        print(vehicle.get_location())
        location = vehicle.get_location()
        location.x += 40
        vehicle.set_location(location)
        print('moved vehicle to %s' % location)

        time.sleep(5)

    finally:

        print('destroying actors')
        for actor in actor_list:
            actor.destroy()
        print('done.')

if __name__ == '__main__':

    main()

The problem I see is that you get the position of the vehicle just after you spawn it, and probably Unreal has no time to spawn vehicle and set all properties at that time. If you set a 'time.sleep(0.5)' just after spawning the vehicle, then the proper location is retrieved, confirming that. Unreal needs a few ticks to get all ready.


Website not loading!

I've tried and tried and tried again! the website won't load!

My webhoster had a server outage.


Remove upload depending on James's opinion

He thinks it's fine to be able to upload without credentials.


Slightly improved unittest for models.Devices.

Description
Tests check for errors and covers lines 105-106 which were not covered before.

Fixes # (issue)
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[x] Tests update
[ ] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] I run make pre-commit to check fmt/vet/lint/test-no-fdo

Coverage for lines 111-112 will have to wait until we have an easier way to mock gorm :/


Update for ffmpeg 6.0

Note that this breaks compatibility with older ffmpeg versions in multiple ways.
Assumes https://github.com/meh/rust-ffmpeg-sys/pull/104 is used as ffmpeg-sys.

How aligned this is with the ffmpeg-next fork?