GD Script: Dictionary shows as null in Stack Trace but is not null

Godot version
4.1
System information
Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3080 Ti (NVIDIA; <IP_ADDRESS>99) - AMD Ryzen 7 5800X 8-Core Processor (16 Threads)
Issue description
I have a dictionary that the IDE shows as null in Stack Trace, but is not null according to both the Remote -> Members inspection and according to how the code runs. The following screenshots show object ID<PHONE_NUMBER>02 and the dictionary nodeJoins being null in only ONE of the panels. Self is shown in the first screenshot to confirm i am looking at the same object

Steps to reproduce
It appears to happen after several iterations (it is NOT occurring the first time line 122 is hit) but it does occur after 122 or 125 is hit a few times

if (dependantNode not in nodeJoins):
	nodeJoins[dependantNode] = {}

if (prequisiteNode not in nodeJoins):
	nodeJoins[prequisiteNode] = {}

Minimal reproduction project
Can provide full script/project if/as needed

To clarify reproducing steps - it seems to be the case that creating a dictionary and then adding dictionary values several times caused the IDE Stack Trace to read the original dictionary as null

Cleaner image that shows the issue. It has hit the breakpoint on line 23

Duplicate of already reported issue - the debugger will show any value bigger than some size as null.
Arrays and Dictionaries will often cause this

Duplicate of https://github.com/godotengine/godot/issues/39465


NullPointerException at jing.chem.QMTP.getQMDataWithCClib(QMTP.java:2761)

A job running on pharos died with this:
*****Attempt #1 on species XBGROTSYSCTRHO-UHFFFAOYAC (InChI=1/C11H20/c1-3-5-7-11-8-10(9-11)6-4-2/h5,7,10-11H,3-4,6,8-9H2,1-2H3) failed. Will attempt a new keyword.
Attempt #2 on species XBGROTSYSCTRHO-UHFFFAOYAC (InChI=1/C11H20/c1-3-5-7-11-8-10(9-11)6-4-2/h5,7,10-11H,3-4,6,8-9H2,1-2H3) succeeded.
ERROR: java.lang.NullPointerException
    at jing.chem.QMTP.getQMDataWithCClib(QMTP.java:2761)
    at jing.chem.QMTP.getPM3MM4ThermoDataUsingCCLib(QMTP.java:1560)
    at jing.chem.QMTP.parseMopacPM3(QMTP.java:1550)
    at jing.chem.QMTP.generateQMThermoData(QMTP.java:324)
    at jing.chem.QMTP.generateThermoData(QMTP.java:153)
    at jing.chem.ChemGraph.generateThermoData(ChemGraph.java:1403)
    at jing.chem.ChemGraph.getThermoData(ChemGraph.java:1919)
    at jing.chem.Species.findStablestThermoData(Species.java:341)
    at jing.chem.Species.<init>(Species.java:114)
    at jing.chem.Species.make(Species.java:874)
    at jing.rxn.ReactionTemplate.reactTwoReactants(ReactionTemplate.java:1187)
    at jing.rxn.TemplateReactionGenerator.react(TemplateReactionGenerator.java:203)
    at jing.rxnSys.RateBasedRME.enlargeReactionModel(RateBasedRME.java:150)
    at jing.rxnSys.ReactionModelGenerator.enlargeReactionModel(ReactionModelGenerator.java:3943)
    at jing.rxnSys.ReactionModelGenerator.modelGeneration(ReactionModelGenerator.java:1487)
    at RMG.main(RMG.java:96)

CRITICAL: Error in running ccLib Python process
java.lang.NullPointerException

The git repository was on the branch:  master
And at the commit with the hash bf3fe839231ad150a3bfb05f795565a2c3e0bfee
(although it's possible a submodule was out of date)
For details visit:   http://github.com/GreenGroup/RMG-Java/tree/bf3fe8
To see changes since then visit:    http://github.com/GreenGroup/RMG-Java/compare/bf3fe8...master
Looking at the saved QMfiles:
rwest@pharos:~/RMGruns$ ls QMfiles/XBGROTSYSCTRHO-UHFFFAOYAC* -altr
-rw-r--r-- 1 rwest users   1257 2012-01-10 19:32 QMfiles/XBGROTSYSCTRHO-UHFFFAOYAC.mop
-rw-r--r-- 1 rwest users   4488 2012-01-10 19:32 QMfiles/XBGROTSYSCTRHO-UHFFFAOYAC.arc
-rw-r--r-- 1 rwest users<PHONE_NUMBER>-01-10 19:32 QMfiles/XBGROTSYSCTRHO-UHFFFAOYAC.out
-rw-r--r-- 1 rwest users   2236 2012-01-11 02:24 QMfiles/XBGROTSYSCTRHO-UHFFFAOYAC.mol
-rw-r--r-- 1 rwest users   1124 2012-01-11 02:24 QMfiles/XBGROTSYSCTRHO-UHFFFAOYAC.symm

I notice there's a 7 hour gap in the middle; I wonder did it spend 7 hours doing something/nothing?
Anyway, not sure why CClib failed, and I can't deduce what command it had been called with.

Actually thinking about this some more, I'm not sure that the above would necessarily address this. It seems from the above like the file may have been altered in the very short time between when RMG checks whether a successful result exists and when it parses all the data with the parsing script. I'm open to suggestions for how this might be addressed.

Nevermind...I think I've come up with a workable idea...the idea is to create a "hold" file at the beginning of working on a molecule and delete the file once everything is done. Then, all I need to do is make a check before starting that the hold file doesn't exist. Assuming I get this to work, however, ALL of your running jobs that use the same directory will need to have the updated source code. Let me see how easy this is to implement...

I ran a few jobs last night, encountered some problems, and realized that some further modifications to the approach were needed...hopefully, with 691d729fbff0e5262a85782d104333b22ac7575c this issue should be addressed


Allows include directives in protoc files.

Uses the main protoc's directory as base for non-absolute paths.
Fix: #8

Also, CI looks unhappy.


dont fail if one of the gas price estimators fail to initialize

We want to skip sending fail back to the caller in case one of the gas price estimators failed to initialize.

I do agree with the "silently dropping" part, however I am not sure if being noticed that something is wrong is worth our service going down. I would prefer to skip it like this PR suggests, but build an alert that would notify us in the channel so we could manually react. This would be a middleground between your idea of trying to initialize later, which is a bit more sophisticated and technically challenging.
Not sure...

Let's at least at tracing::error with the error then if they fail to initialize.

Agree that we should log errors in these cases - since it means we are not running with the configured parameters.
Since the error would cause an alert at deployment time (so when we are applying new prod configurations) I think its reasonable to expect it not to be easily missed.


Android: Rotating the device causes flipped camera orientation

https://www.youtube.com/watch?v=9hBpF_Zj4OA
How to show the issue
Activate automatic screen rotation. Start your Sample in Landscape Mode. Rotate your device upside down (180°) as fast as you can.
Here is how to avoid the issue:
Create a new Member in ZXingSurfaceView:
        protected ZXingSurfaceViewOrientationChangelistener OrientationChangelistener;

Put this in the constructor initialisation of ZXingSurfaceView:
        OrientationChangelistener = new ZXingSurfaceViewOrientationChangelistener(this, Context);
        if (OrientationChangelistener.CanDetectOrientation())
            OrientationChangelistener.Enable();

Add this class inside ZXingSurfaceView:
    protected class ZXingSurfaceViewOrientationChangelistener : OrientationEventListener
    {
        private readonly ZXingSurfaceView _surfaceView;
        private readonly Context _context;

        public ZXingSurfaceViewOrientationChangelistener(ZXingSurfaceView surfaceView, IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
        {
        }

        public ZXingSurfaceViewOrientationChangelistener(ZXingSurfaceView surfaceView, Context context)
            : base(context)
        {
            _surfaceView = surfaceView;
            _context = context;
        }

        public ZXingSurfaceViewOrientationChangelistener(ZXingSurfaceView surfaceView, Context context, SensorDelay rate)
            : base(context, rate)
        {
            _surfaceView = surfaceView;
            _context = context;
        }

        public override void OnOrientationChanged(int orientation)
        {
            _surfaceView.SetCameraDisplayOrientation(_context);
        }
    }

This is an old one i believe has since been fixed :)

with xamarin forms, I got this same issue. any way?
package is up to date.


python3Packages.rasterio: 1.3.5 -> 1.3.6

Description of changes
Update to latest bug fix release.
List of changes: https://github.com/rasterio/rasterio/releases/tag/1.3.6

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Manual testing:
./result/bin/rio --show-versions
rasterio info:
  rasterio: 1.3.6
      GDAL: 3.6.3
      PROJ: 9.2.0
      GEOS: 3.11.1
 PROJ DATA: /home/imincik/.local/share/proj:/nix/store/xv3lvdxb29s9n2mqf1nc1lrn4sa62h8h-proj-9.2.0/share/proj:/nix/store/xv3lvdxb29s9n2mqf1nc1lrn4sa62h8h-proj-9.2.0/share/proj
 GDAL DATA: None

System:
    python: 3.10.10 (main, Feb  7 2023, 12:19:31) [GCC 12.2.0]
executable: /nix/store/0n4y44dnaxafqs7cg625aldrb152x7bx-python3-3.10.10/bin/python3.10
   machine: Linux-5.15.102-x86_64-with-glibc2.35

Python deps:
    affine: 2.4.0
     attrs: 22.2.0
   certifi: 2022.12.07
     click: 8.1.3
     cligj: 0.7.2
    cython: None
     numpy: 1.24.2
    snuggs: 1.4.7
click-plugins: None
setuptools: 67.4.0.post0

If you also want to change the maintainer to yourself, it would probably be best :P

Thank you very much @mredaelli . I am trying to convince people that it is better to manage geospatial packages as a team, rather than do it as individuals. Is it ok for you to change maintainer to @NixOS/geospatial team as our first package ?

Is it ok for you to change maintainer to @NixOS/geospatial team as our first package ?

That sounds like a terrific idea!

@sikmir , thanks for running nixpkgs-review. Do you have error messages from darwin build of osmnx ?


Improve style of grading overview page

Improved overall style of the grading overview page.
Requires #598

Pull Request Test Coverage Report for Build 1767

6 of 55 (10.91%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 24.821%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/mocks/backend.ts
1
2
50.0%

src/sagas/backend.ts
0
21
0.0%

src/components/academy/grading/index.tsx
1
28
3.57%

Files with Coverage Reduction
New Missed Lines
%

src/components/academy/grading/index.tsx
1
16.84%

Totals

Change from base Build 1764:
-0.2%

Covered Lines:
1269

Relevant Lines:
4272

💛  - Coveralls


Export Employee Payments

Hi all,
When you create lines in Payment Journal, with action Suggest Employee Payment, and run Export, this error appears:

Printing checks works well, but doing electronics payment does not.
I am using MS D365 BC version 13.0.25267
Thanks,
Radovan

Hi @radovandokic, this issue is not related to the AL development tools. If you disagree, please re-open this issue with more information.
You can open Support Request to CSS through PartnerSource portal or contact your Service Account Manager (SAM) in the local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also step by step direct you how to open a support request or how to get credentials if this is the first time for you / your company. For more details please read:

https://blogs.msdn.microsoft.com/nav/2018/05/03/al-developer-previews-multiple-releases-and-github/
https://github.com/Microsoft/AL/wiki/Frequently-Asked-Questions#i-found-an-issue-on-nav-2018-what-do-i-do


my files aren't showing from what i submitted yesterday, i need them today

ADD ISSUE DESCRIPTION HERE
Version: 1.85.2
Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: codespaces

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!


[V2V] Added warm migration eligibility option to VM during its validation

Added warm migration eligibility option to VM during its validation.  Needed by the WebUI.  @mturley can provide more details if needed.
https://bugzilla.redhat.com/show_bug.cgi?id=1760040

@miq-bot add_label transformation
@miq-bot add_reviewer @mturley

This meets the needs of the Migration Plan Wizard changes for warm migration, I can see compatibility on a VM level at VM discovery time:

@miq-bot add_reviewer @mzazrivec
@miq-bot add_reviewer @fdupont-redhat

adding @agrare for merging it.
@miq-bot add_reviewer @agrare

Thanks @martinpovolny !

@fdupont-redhat ivanchuk/yes?

@miq-bot add-label ivanchuk/yes

Ivanchuk backport details:
$ git log -1
commit 79fc30adabbbc7c3493663374fdd4bd62bd5830d
Author: Martin Povolny<EMAIL_ADDRESS>Date:   Thu Nov 7 10:41:13 2019 +0100

    Merge pull request #19467 from thearifismail/vm_warm_migrate_option

    [V2V] Added warm migration eligibility option to VM during its validation

    (cherry picked from commit 6a046848ea0dbafe1873b4b4b9f44382d5199b0d)

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1790538


Logging error during generate schema

Hi,
In the _generateSchema function you adding the logger to the fields.
But the schema building run few lines before here
So if there is an error in this step (which most of the errors are) it will throw an uncaught exception and won't log it.
For example trying to do something like:
type userEmailObject {
  address: String!,
  type: String
}

input UserInput {
  # User email
  email: userEmailObject!
}

Will fail because the userEmailObject is type and not input.
But this won't log and will throw uncaught exception

hi @GiladShoham thanks for reporting! 👍
can you please open a PR with a failing test?

@DxCx
No problem.
I'll try to make one on Sunday.

cool @GiladShoham thanks, btw are you from Israel? 💃 :)

@DxCx yes:)
You can take my number from @davidyaha (I guess you know him).

You are giving away all of our secrets... 🙈 😏

Hehe cool ;)

I don't actually think that logger was intended to log these kinds of errors. It was more intended for execution errors. Since the schema should only be created once at startup, I think it would be fine to simply print all the errors to the console at that point.
I'm going to close the issue, but feel free to open a PR if you are still interested in improving this behavior.


Refactor AppLayout as a client-side component

In order to support client-side use (e.g. vaadin-router #35) we need to provide AppLayout as a client-side component, instead of the current server-oriented approach.

Given the existence of https://github.com/FlowingCode/fc-applayout I think we could close this ticket and open a new epic for the new version based on that, what do you think?

I agree. This issue was about providing a client-side component, which is done in @flowingcode/fc-applayout. I created #67 for the actual refactoring.


get serial number from Visionary T-Mini

Prerequisites
Put an X between the brackets on this line if you have done all of the following:

[ X] Checked that your issue isn't already filed

Current Behavior:

Expected Behavior:

Steps to Reproduce

Versions/Environment

Additional Information

Current Behaviour:
cola command read variable: return error 32767
Expected Behaviour:
cola command read variable: return variable value
Steps to reproduce:
language C++
connect camera
execute this code:
std::string SickVTM::getSerialNumber()
{
using namespace visionary;
CoLaCommand getSerialNumber = CoLaParameterWriter(CoLaCommandType::READ_VARIABLE, "SerialNumber").build();
CoLaCommand serialNumberResponse = visionaryControl.sendCommand(getSerialNumber);
std::string sn = "";
if (serialNumberResponse.getError() == CoLaError::OK)
sn = CoLaParameterReader(serialNumberResponse).readFlexString();
return sn;
}
Versions:
Visual Studio 2022
Environment:
Windows 11
Additional information:
connect is working correctly
get intensity image works correctly
get depth map works correctly

Hello @maurizioscolasipi,
we aren't able to reproduce your error. The method you're using to get the SerialNumber looks fine.
Can you provide us the exact terminal output?

Hello everybody,
this morning I solved but I can't uderstand a strange behaviour of Visual Studio.
If I execute:
std::string sn = "";
CoLaCommand getSerialNumber = CoLaParameterWriter(CoLaCommandType::READ_VARIABLE, "SerialNumber").build();
CoLaCommand serialNumberResponse = visionaryControl.sendCommand(getSerialNumber);
if (serialNumberResponse.getError() == CoLaError::OK)
sn = CoLaParameterReader(serialNumberResponse).readFlexString();
and I set a breakpoint I see that the program counter jump the line
sn = CoLaParameterReader(serialNumberResponse).readFlexString();
and I think: I have and error; so I change the code in this way:
CoLaCommand getSerialNumber = CoLaParameterWriter(CoLaCommandType::READ_VARIABLE, "SerialNumber").build();
CoLaCommand serialNumberResponse = visionaryControl.sendCommand(getSerialNumber);
visionary::CoLaError::Enum outcome = serialNumberResponse.getError();
printf("outcome: %d\n", outcome);
if (outcome == CoLaError::OK)
sn = CoLaParameterReader(serialNumberResponse).readFlexString();
and it works! I think the printf instruction forces Visual Studio to evaluate correctly  serialNumberResponse.getError() but it's a very strange behaviour.
Now I modified again the code:
CoLaCommand getSerialNumber = CoLaParameterWriter(CoLaCommandType::READ_VARIABLE, "SerialNumber").build();
CoLaCommand serialNumberResponse = visionaryControl.sendCommand(getSerialNumber);
//visionary::CoLaError::Enum outcome = serialNumberResponse.getError();
//printf("outcome: %d\n", outcome);
if (serialNumberResponse.getError() == CoLaError::OK)
sn = CoLaParameterReader(serialNumberResponse).readFlexString();
and it works!
Can anybody explain to me this strange behaviour?
Thanks

Hello @maurizioscolasipi, We’re glad that you’ve been able to solve your issue. Unfortunately, we cannot explain the undefined behavior you’re experiencing with your code. As a hint, you can check if you’re using code optimization in the Visual Studio debugger. If it’s enabled, turn it off and run your code again. Hope this helps.

Hello xfealal,
code optimization is already disabled (/Od).


"Mănăștiur", "Pădurani", "Remetea-Luncă" and "Topla" are listed in the drop-down menu

Description:
"Mănăștiur", "Pădurani", "Remetea-Luncă" and "Topla" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Mănăștiur" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Mănăștiur, TIMIȘ (Mănăștiur)" and "Comuna Mănăștiur, TIMIȘ".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Pădurani" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Pădurani, TIMIȘ (Mănăștiur)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Remetea-Luncă" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Remetea-Luncă, TIMIȘ (Mănăștiur)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Type "Topla" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Topla, TIMIȘ (Mănăștiur)".


Load balancer must check if the server in the provided pool is online before sending a request

Title says
I am encountering a scenario where I provide 2 URLs for a single subgraph in an array form
const gateway = Fastify()
gateway.register(mercuriusGateway, {
    gateway: {
        services: [
            {
                "name": "user",
                "url": [
                        "http://endpoint1:4001/graphql",
                        "http://endpoint2:4001/graphql"
                ],
                "schema": "type Query { id: ID }"
            }
        ]
    }
})

endpoint2 is intentionally taken down and only endpoint1 is working, however,
when sending queries on the gateway, I am occassionally receiving errors about ECONNREFUSED on endpoint2.
The load balancing mechanism should first do a test ping if the host is reachable before sending a request.

Unfortunately it's a bit more complex than sending a "ping", as those errors come from existing sockets that are truncated.
 Are they closing gracefully or are they crashing?

Unfortunately it's a bit more complex than sending a "ping", as those errors come from existing sockets that are truncated.
 Are they closing gracefully or are they crashing?

Starting the gateway with only one online subgraph out of the two provided

Thanks, that helps!
I think there is a bug in undici BalancedPool that routes requests to an upstream even if it could not connect there, and it does not retry/send it elsewhere in case it fails to connect. Things stabilizes over time because of BalancedPool algorithm, so only a few number of requests would fail.
The bad news is that I don't have time right now to fix it there.

Thanks, that helps!
I think there is a bug in undici BalancedPool that routes requests to an upstream even if it could not connect there, and it does not retry/send it elsewhere in case it fails to connect. Things stabilizes over time because of BalancedPool algorithm, so only a few number of requests would fail.
The bad news is that I don't have time right now to fix it there.

Yes! I noticed that the balancing algorithm eventually only selects the online server after sending some requests.

@mcollina  This issue is more relevant in 3.0.0 cause I am now getting tons of this error on the controller talking to the GW in Kube. I never had this problem, and suddenly, I am getting timeouts too often.
[16:36:30.017] INFO (21): Symbol(FEDERATED_ERROR)
    reqId: "req-ko"
    err: {
      "type": "GraphQLError",
      "message": "Symbol(FEDERATED_ERROR)",
      "stack":
          Error: Symbol(FEDERATED_ERROR)
              at request (/home/node/app/node_modules/@mercuriusjs/gateway/lib/gateway/request.js:67:13)
              at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
              at async Object.sendRequest (/home/node/app/node_modules/@mercuriusjs/gateway/lib/gateway/request.js:80:45)
              at async Object.QuerystatisticsDeviceTypeResolver (/home/node/app/node_modules/@mercuriusjs/gateway/lib/gateway/make-resolver.js:628:24)
      "locations": [
        {
          "line": 22,
          "column": 3
        }
      ],
      "path": [
        "rawDataCategory"
      ],
      "extensions": {
        "errors": [
          {
            "errno": -111,
            "code": "ECONNREFUSED",
            "syscall": "connect",
            "address": "<IP_ADDRESS>",
            "port": 3000
          }
        ]
      }
    }

This is what I get, and it fails at different paths. Running the graphql that it's connected to manually works without an issue. A few seconds later I get:
[16:38:44.574] INFO (21): Symbol(FEDERATED_ERROR)
    reqId: "req-li"
    err: {
      "type": "GraphQLError",
      "message": "Symbol(FEDERATED_ERROR)",
      "stack":
          Error: Symbol(FEDERATED_ERROR)
              at request (/home/node/app/node_modules/@mercuriusjs/gateway/lib/gateway/request.js:67:13)
              at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
              at async Object.sendRequest (/home/node/app/node_modules/@mercuriusjs/gateway/lib/gateway/request.js:80:45)
              at async Object.QuerystatisticsDevicePrintStatusResolver (/home/node/app/node_modules/@mercuriusjs/gateway/lib/gateway/make-resolver.js:628:24)
      "locations": [
        {
          "line": 16,
          "column": 3
        }
      ],
      "path": [
        "statisticsDevicePrintStatus"
      ],
      "extensions": {
        "errors": [
          {
            "errno": -111,
            "code": "ECONNREFUSED",
            "syscall": "connect",
            "address": "<IP_ADDRESS>",
            "port": 3000
          }
        ]
      }
    }

Going to revert this plugin before 3.0.0 see if there is an issue.


steam: http -> https

Motivation for this change
Would prefer HTTPS by default
Things done

[x] verified the same sha256 is generated by the artifact received via the https endpoint as the one received through the http endpoint

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

If the output is hashed, what's the point?

If the output is hashed, what's the point?

Encryption in flight?  ¯\_(ツ)_/¯
I'd prefer the encrypted protocol over non, but maybe I'm being too paranoid.

Oh that's fair, I guess I was just thinking from a MITM mitigation standpoint. And since this is proprietary, users will be downloading it themselves.

fetchurl ignores certificate errors. It relies on the supplied sha256 hash for validation.
That being said, I still prefer https by default. Http links lying around are, at best, basically the same, and at worst, a footgun.


How to pick st (Texture coordinate) value from Cesium?

I want to pick a  position or a pexil, and I need to know the st (Texture coordinate) value of the position. But I din't found any API coudle do this.  Someone can helps me, thanks very much!

Hey @Hiwen, please use the Cesium forum (https://groups.google.com/forum/#!forum/cesium-dev) for questions like this. If you can explain a bit more about your use case I or another member of the community may be able to help you accomplish what you need to do.


Compute MAST roots used in testing at compile time

We should be able to compute MAST roots of the procedures used in testing at compile time to make sure that any changes in assembler won't brake the tests.
Original comment: https://github.com/0xPolygonMiden/miden-base/pull/292#pullrequestreview-1709285888

Another potential option mentioned by @hackaugusto here is to get the MAST roots dynamically from the assembler. Not sure if it is possible - but if it is, that would be the preferred route.


To Reproduce
Steps to reproduce the behavior:

Choose your favorite way to die.
Click on 'Accept your fate'.
You died.
Click on 'Respawn'.
Your grave is now floating.

Expected behavior
I was expecting the grave to be on the ground.

Playing on a server.
Before you die, Hardcore Revival Mod makes you "swim" on the ground until someone rescue you. When you die, the player will first stand-up and then die immediately after (almost at the same time?). I think that this is causing the issue.
Honestly it's not gamebreaking and the graves are meant to be retrieve anyway, so take your time.
Screenshots
Didn't take any but I can if you want to.

I could not reproduce the issue. I chose "falling to my death", and the grave generated on the ground. If you still have this problem, let me know exactly how you die. Thanks for reporting anyway!
I'll close the issue as completed since it does not happen for me. Feel free to reopen the issue


eirini-loggregator-bridge is missing logs

This is describing the issue found while testing https://github.com/cloudfoundry-community/eirini-bosh-release/pull/74 . Since this seems to be a separate issue, I'm documenting the findings here.

The eirini pod got no restarts so far:
susecf-scf-eirini-0                    9/9     Running   0          55m

So it seems we ignore watcher timeout errors, but we don't dispatch all the messages.  It looks like they are racing for "slots" (that we don't have).
I've tried lowering the watcher channels,
sudo sysctl fs.inotify.max_user_instances=20
sudo sysctl fs.inotify.max_user_watches=20

to exclude that is related to kernel limits. in the loggregator bridge I can observe:
failed to create fsnotify watcher: too many open files

I can see this message only when I lower the limit, as far as I can tell that's not the root cause.
Now the bridge doesn't crash anymore, and I can see no pod restarts:
susecf-scf-eirini-0                    9/9     Running   0          71m

But as before we were restarting and re-streaming all the logs, now we probably miss the logs when the watcher timeouts. I can't see why this happens as I would have expected messages to be delayed, but not just "vanished"

Can't reproduce this anymore, I've left a cluster running overnight with a ticking up scaled to 20. In the previous reports, 10 instances were enough to show the issue.
As I couldn't observe this behavior anymore, I've created a small script to keep track of the log instances and count them:
$VAR1 = {
          '[APP/PROC/WEB/10]' => 24878,
          '[APP/PROC/WEB/8]' => 24878,
          '[APP/PROC/WEB/18]' => 24879,
          '[APP/PROC/WEB/2]' => 24879,
          '[APP/PROC/WEB/5]' => 24879,
          '[APP/PROC/WEB/7]' => 24879,
          '[APP/PROC/WEB/3]' => 24879,
          '[APP/PROC/WEB/17]' => 24879,
          '[APP/PROC/WEB/11]' => 24879,
          '[APP/PROC/WEB/6]' => 24879,
          '[APP/PROC/WEB/9]' => 24878,
          '[APP/PROC/WEB/13]' => 24879,
          '[APP/PROC/WEB/15]' => 24878,
          '[APP/PROC/WEB/1]' => 24879,
          '[APP/PROC/WEB/0]' => 24879,
          '[APP/PROC/WEB/16]' => 24878,
          '[APP/PROC/WEB/14]' => 24878,
          '[APP/PROC/WEB/4]' => 24879,
          '[APP/PROC/WEB/12]' => 24879,
          '[APP/PROC/WEB/19]' => 24879,
        };

20 instances, overnight produced ~24k lines of logs ( to note, the +1 delta is due to discrepancy when the script started).
I've tried again bumping the instances to 40, but without luck:
$VAR1 = {
          '[APP/PROC/WEB/20]' => 2351,
          '[APP/PROC/WEB/15]' => 2351,
          '[APP/PROC/WEB/16]' => 2351,
          '[APP/PROC/WEB/12]' => 2351,
          '[APP/PROC/WEB/1]' => 2351,
          '[APP/PROC/WEB/0]' => 2351,
          '[APP/PROC/WEB/30]' => 2351,
          '[APP/PROC/WEB/18]' => 2351,
          '[APP/PROC/WEB/34]' => 2351,
          '[APP/PROC/WEB/27]' => 2351,
          '[APP/PROC/WEB/23]' => 2351,
          '[APP/PROC/WEB/39]' => 2351,
          '[APP/PROC/WEB/33]' => 2351,
          '[APP/PROC/WEB/29]' => 2351,
          '[APP/PROC/WEB/24]' => 2351,
          '[APP/PROC/WEB/37]' => 2351,
          '[APP/PROC/WEB/11]' => 2351,
          '[APP/PROC/WEB/14]' => 2351,
          '[APP/PROC/WEB/21]' => 2351,
          '[APP/PROC/WEB/4]' => 2351,
          '[APP/PROC/WEB/9]' => 2351,
          '[APP/PROC/WEB/19]' => 2351,
          '[APP/PROC/WEB/13]' => 2351,
          '[APP/PROC/WEB/8]' => 2351,
          '[APP/PROC/WEB/7]' => 2351,
          '[APP/PROC/WEB/17]' => 2351,
          '[APP/PROC/WEB/31]' => 2351,
          '[APP/PROC/WEB/6]' => 2351,
          '[APP/PROC/WEB/28]' => 2351,
          '[APP/PROC/WEB/35]' => 2351,
          '[APP/PROC/WEB/36]' => 2351,
          '[APP/PROC/WEB/2]' => 2351,
          '[APP/PROC/WEB/5]' => 2351,
          '[APP/PROC/WEB/32]' => 2351,
          '[APP/PROC/WEB/22]' => 2351,
          '[APP/PROC/WEB/3]' => 2351,
          '[APP/PROC/WEB/10]' => 2351,
          '[APP/PROC/WEB/26]' => 2351,
          '[APP/PROC/WEB/25]' => 2351,
          '[APP/PROC/WEB/38]' => 2351
        };

Here is the script being used to summarize the received messages:
#!/usr/bin/perl
use Data::Dumper;
open(TICKING, "cf logs ticking |");
my $pids;
while (<TICKING>) {
  ($date, $pid, undef, undef, $message) = split;
  next if $pid eq "" || $pid eq "logs";
  $pids->{$pid}++;
  print Dumper($pids);
}

close(TICKING);

 cf apps
Getting apps in org system / space tmp as admin...
OK

name        requested state   instances   memory   disk   urls
ticking     started           40/40       20M      20M    ticking.<IP_ADDRESS>.omg.howdoi.website
cf-nodejs   started           1/1         512M     1G     cf-nodejs-spontaneous-bat-hr.<IP_ADDRESS>.omg.howdoi.website

A second round of logs, shows still no issues:
$VAR1 = {
          '[APP/PROC/WEB/14]' => 2911,                                                                                '[APP/PROC/WEB/19]' => 2911,
          '[APP/PROC/WEB/35]' => 2911,
          '[APP/PROC/WEB/6]' => 2911,                                                                                '[APP/PROC/WEB/27]' => 2911,
          '[APP/PROC/WEB/32]' => 2911,
          '[APP/PROC/WEB/26]' => 2911,                                                                                '[APP/PROC/WEB/0]' => 2911,
          '[APP/PROC/WEB/10]' => 2911,
          '[APP/PROC/WEB/31]' => 2911,                                                                                '[APP/PROC/WEB/29]' => 2911,
          '[APP/PROC/WEB/24]' => 2911,
          '[APP/PROC/WEB/38]' => 2911,                                                                                '[APP/PROC/WEB/20]' => 2911,
          '[APP/PROC/WEB/3]' => 2911,
          '[APP/PROC/WEB/33]' => 2911,
          '[APP/PROC/WEB/7]' => 2911,
          '[APP/PROC/WEB/17]' => 2911,
          '[APP/PROC/WEB/16]' => 2911,
          '[APP/PROC/WEB/9]' => 2911,
          '[APP/PROC/WEB/21]' => 2911,
          '[APP/PROC/WEB/1]' => 2911,
          '[APP/PROC/WEB/18]' => 2911,
          '[APP/PROC/WEB/36]' => 2911,
          '[APP/PROC/WEB/13]' => 2911,
          '[APP/PROC/WEB/37]' => 2911,
          '[APP/PROC/WEB/22]' => 2911,
          '[APP/PROC/WEB/25]' => 2911,
          '[APP/PROC/WEB/5]' => 2911,
          '[APP/PROC/WEB/23]' => 2911,
          '[APP/PROC/WEB/4]' => 2911,
          '[APP/PROC/WEB/12]' => 2911,
          '[APP/PROC/WEB/8]' => 2911,
          '[APP/PROC/WEB/2]' => 2911,
          '[APP/PROC/WEB/11]' => 2911,
          '[APP/PROC/WEB/30]' => 2911,
          '[APP/PROC/WEB/28]' => 2911,
          '[APP/PROC/WEB/34]' => 2911,
          '[APP/PROC/WEB/39]' => 2911,
          '[APP/PROC/WEB/15]' => 2911
        };

This could explain the issue I was experiencing originally: https://github.com/kubernetes/client-go/commit/33c1f9f2a43292d0b2dcb00f435bf3becad0528d#diff-b414e368c7101665eb44ed4a6cba77ef

I've created https://github.com/SUSE/eirinix/issues/23 as it's not so straightforward right now to bump kubernetes/client-go as we depend on cf-operator in EiriniX.


Annotating the GET /entity (ie GetCollection) query for a resource that extends  %pkg.isc.rest.model.resource

Hi, we have defined a resource that extends %pkg.isc.rest.model.resource. We have our own custom query parameters that our resource uses in
GetCollection(ByRef params,  selectMode As %Integer)

We need to document this method so that we can describe the set of valid query parameters.
How can we document this method so that the Open API generator will produce this custom documentation?
Can we create an action map whose name is null?
<actions>
<action name="" target="CurrentClass" call="GetCollection">
	<argument name="myURLparam" target="param" source="query"/>
</action>
</actions>

Looks like this has been considered:
https://github.com/intersystems/isc-rest/blob/7d2b13f4d12f5a3ed5ef750cc90d0492c7554fd8/cls/_pkg/isc/rest/openAPI.cls#L1027-L1043
We might go ahead and add the documentation in here
/// Modify the autogenerated OpenAPI Specification objects for this class by changing the values of the passed ByRef parameters
/// @Argument schemas: List of %pkg.isc.rest.openAPI.model.schema
/// @Argument endpoints: Array of endpoint URL -> %pkg.isc.rest.openAPI.model.pathItem (%pkg.isc.rest.openAPI.model.paths)
/// Sample use cases:
///   - Modify resource schema descriptions
///   - Add additional ISC_* fields to the resource schemas
///   - Correct resource schemas for classes that use custom JSON generation code
///   - Remove non-desired endpoints from output
///   - Provide alternate schemas for endpoint input / output (ie. in the case of %DynamicObject use)
///   - Add documentation for non-standard endpoints
/// Note: Endpoints can be removed from the endpoints array as desired, however schemas should not be removed from the schemas array.
ClassMethod ModifyOpenAPIInfo(ByRef schemas As %ListOfObjects, ByRef endpoints As %pkg.isc.rest.openAPI.model.paths) [ Abstract ]
{
}

This might be harder than it sounds by why not have an optional XDATA block that allows you to document query parameters as you would in a custom action?

I think the ideal solution here would be to have "Schemas" and "Endpoints" XData blocks (containing JSON, not XML, obviously ;)) that end up getting merged in to the OpenAPI document. The default implementation of ModifyOpenAPIInfo could be updated to check for these.
@isc-pbarton @isc-kiyer would you agree?

@isc-tleavitt That sounds reasonable to me
cc @isc-pbarton

Yes agreed on my end. Specifying JSON that gets merged into the document will be simpler and more transparent than overriding the ModifyOpenAPIInfo method.

Brought inside (internal reference: APPS-13700)


Fix HEAD: Don't attempt to catch Throable in safe code

For some reason this doesn't trigger an error when the code is unittested,
but does when Agora is being built.

I think we're seeing a compiler bug, as in, it should detect the issue, but does not. Anyways, this fixes it for sure.

Codecov Report

Merging #17 (595429b) into v1.x.x (71e6b53) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           v1.x.x      #17   +/-   ##
=======================================
  Coverage   76.31%   76.31%
=======================================
  Files           4        4
  Lines         266      266
=======================================
  Hits          203      203
  Misses         63       63

Flag
Coverage Δ

unittests
76.31% <ø> (ø)

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

Impacted Files
Coverage Δ

source/agora/config/Exceptions.d
88.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 71e6b53...595429b. Read the comment docs.


Params are loaded as strings

It seems that hyperparameters imported from MLflow are treated as strings in Aim.
It first occurred in my experiments, so I tried the tune.py example from this repo to double-check:

It obviously affects queries and hyperparameters plots, especially when some floats are expressed in scientific notation, so even the ordering becomes broken.
The same runs are parsed correctly in MLflow UI.
Also, there is no such issue with metrics, as they are being loaded as intended.
Package versions are as follows:
aim-mlflow              0.1.1
mlflow                  2.1.1

Could there be anything on my side I'm doing wrong, or do you have any idea how it can be fixed?

Hey @sirykd! Thanks for the report. I don't think that there's anything wrong on your side, I'll have a look at this, should be relatively easy to fix.

@sirykd I've done some digging and seems the params in mlflow are saved as strings actually, cause when accessing them via SDK, this is what it looks like:
print(run.data.params)
{'l2': '64', 'batch_size': '2', 'lr': '0.0037286350327671598', 'l1': '16'}

Will check what can be done here.

@mihran113 At least it seems to be consistent with their docs:

Out of curiosity, I tried to find any place where some kind of cast back into numerics happens but didn't succeed.

They do it on UI side apparently, cause when looking into responses in browser, the params are still represented as strings there

So I had another look, searching specifically for their "Parallel Coordinates Plot" because it handles both numbers and strings, and I guess I've found something:
https://github.com/mlflow/mlflow/blob/e43a9b774ebb80f0577a72c1f89a63edf02a0d3a/mlflow/server/js/src/experiment-tracking/components/ParallelCoordinatesPlotView.js#L162-L214

So, I temporarily ended up using the following code as a hotfix:
import collections
from ast import literal_eval

def map_nested_dicts(ob, func):
    if isinstance(ob, collections.Mapping):
        return {k: map_nested_dicts(v, func) for k, v in ob.items()}
    else:
        return func(ob)

def parse_string(s):
    assert isinstance(s, str), f"Expected string, got: {type(s)}"
    try:
        return literal_eval(s.strip())
    except:  # noqa: E722
        return s

def collect_run_params(aim_run, mlflow_run):
    # ...
    aim_run["params"] = map_nested_dicts(mlflow_run.data.params, parse_string)
    # ...

Yeah, that should do the trick I guess, if mlflow guarantees that all the values are strings.
Can I ask you to open a PR with this changes?

Yeah, that should do the trick I guess, if mlflow guarantees that all the values are strings.

I don't know about the guarantees, but the assert can be replaced with a type-check, I guess.

Can I ask you to open a PR with this changes?

Sure :) I'll prepare it soon.


Any reason to prefer the same completion queue for all requests from the same connection?

From the sources here:
https://github.com/grpc/grpc/blob/f9035befc6c9b24f7111914d620102e58e80e94f/src/core/lib/surface/server.cc#L492-L505
grpc prefer take the same completion queue for all requests from the same connection until it's run out of slots, and then switch to other channel. Wouldn't it cause high load for just one completion queue when there are several busy streaming calls from the same connection? Given that notification queue is also the queue calls are bounded to in C# implementation.

This was introduced as an optimization in #6612
Do you have a C++ or core repro that demonstrated this load imbalance?

In following bench scenario, you can see only two threads are 99%, but other threads keep calm. Change the queue selection method to random can wake up all threads but qps drops a little bit though.
            yield _ping_pong_scenario(
                'cpp_generic_async_streaming_qps_1channel_3000req%s' % secstr,
                rpc_type='STREAMING',
                client_type='ASYNC_CLIENT',
                server_type='ASYNC_GENERIC_SERVER',
                unconstrained_client='async',
                use_generic_payload=True,
                outstanding=2000,
                channels=1,
                num_clients=1,
                secure=secure,
                messages_per_stream=10000,
                minimal_stack=not secure,
                categories=smoketest_categories + [SCALABLE])

Same issue!
Considering multiple concurrent grpc clients in the same process sharing one connection (grpc java's default behavior), all concurrent requests are handled within only one server thread. This hurts throughput and sounds unreasonable. If these requests can be handled in parallel, throughput may improve a lot.
Any way to work around saying fall back to random queue selection?
I have a java client and a rust server (which wraps core c++ server)
// java client

import java.util.ArrayList;
import java.util.List;

import com.google.common.util.concurrent.AtomicDouble;
import com.test.proto.Request;
import com.test.proto.Response;
import com.test.proto.TestServiceGrpc;
import com.test.proto.TestServiceGrpc.TestServiceBlockingStub;
import io.grpc.ManagedChannel;
import io.grpc.netty.NegotiationType;
import io.grpc.netty.NettyChannelBuilder;

public class Test {

    private static final int QUERY_NUM = 1000;
    private static final int THREAD_NUM = 8;

    public static void main(String[] args) throws InterruptedException {
        ManagedChannel channel = NettyChannelBuilder.forAddress("<IP_ADDRESS>", 8797)
            .negotiationType(NegotiationType.PLAINTEXT)
            .build();

        AtomicDouble totalQps = new AtomicDouble(0);
        AtomicDouble totalLatency = new AtomicDouble(0);

        List<Thread> threads = new ArrayList<>();
        for (int i = 0; i < THREAD_NUM; i++) {
            int finalI = i;
            Thread t = new Thread(() -> {
                TestServiceBlockingStub stub = TestServiceGrpc.newBlockingStub(channel);

                long start = System.currentTimeMillis();
                for (int l = 0; l < QUERY_NUM; l++) {
                    Request req = Request.newBuilder().setData(l).build();
                    Response resp = stub.test(req);
                    //System.out.println(resp.getData());
                    if (l % 100 == 0) {
                        System.out.println("Thread " + finalI + " process " + l + " requests.");
                    }
                }
                long cost = System.currentTimeMillis() - start;
                double latency = cost * 1.0 / QUERY_NUM;
                double qps = 1000.0 / latency;

                totalQps.addAndGet(qps);
                totalLatency.addAndGet(latency);

                System.out.println("Thread " + finalI + " => qps: " + qps + ", latency: " + latency);
            });
            t.start();
            threads.add(t);
        }

        for (Thread thread : threads) {
            thread.join();
        }

        System.out.println("All " + " => qps: " + totalQps.get() + ", latency: " + totalLatency.get() / THREAD_NUM);
    }
}

// rust server
extern crate test;
extern crate grpcio;
extern crate futures;

use test::proto::test_grpc::*;
use test::proto::test::*;
use grpcio::UnarySink;
use grpcio::RpcContext;
use grpcio::ServerBuilder;
use std::sync::Arc;
use grpcio::Environment;
use std::thread;
use std::time::Duration;
use futures::future::Future;

#[derive(Clone)]
struct TestServiceImpl {}

impl TestService for TestServiceImpl {
    fn test(&self, ctx: RpcContext, req: Request, sink: UnarySink<Response>) {
        let data = req.get_data();
        let mut x = 0_i64;
        for i in 0..50000 {
            x += i;
        }
        let mut resp = Response::new();
        resp.set_data(x as i32);

        let f = sink.success(resp).map_err(move |e| { eprintln!("{:?}", e); });
        ctx.spawn(f);
    }
}

fn main() {
    let service = create_test_service(TestServiceImpl {});
    let mut server = ServerBuilder::new(Arc::new(Environment::new(4)))
        .register_service(service)
        .requests_slot_per_cq(1024)
        .bind("<IP_ADDRESS>", 8797)
        .build()
        .unwrap();
    server.start();

    println!("started!");

    thread::sleep(Duration::from_secs(100000000000));
}

syntax = "proto3";

//import "common.proto";

option java_package = "com.test.proto";
option java_multiple_files = true;
option java_generate_equals_and_hash = true;
option java_generic_services = true;

message Request {
    int32 data = 1;
}

message Response {
    int32 data = 1;
}

service TestService {
    rpc test(Request) returns (Response) {}
}

yes, @sreecha , I choose the multi-client-channel workaround either, finally, after comparing it two employing multiple threads on a single completion queue. It's simple.
But I think there should be some work-stealing strategy to leverage when workload among completion queues are extremely unbalanced.

Thanks @qiuxiafei . Yeah, we could perhaps think of some work stealing strategy here. That would be a complex change to make (especially considering that we have different types of polling engines in grpc each having slightly threading models). So this item is not in our radar in the near term (moreover, there is a  is a workaround). We certainly welcome any design ideas you have regarding this. Please create a proposal https://github.com/grpc/proposal if you get a chance..
Thanks again for your comment - I am closing this issue for now.


Improving the tutorial - Unbalance Response

a. Adding an example of multiple unbalances instantiating node
b. dof=13 means what? Which node  is the response given?
node = 3
magnitude = 0.03
phase = 0
frequency_range=np.linspace(0, 200, 101)
unbalance = rotor1.unbalance_response(node, magnitude, phase, frequency_range)
show(unbalance.plot(dof=13, plot_type="bokeh"))

The following explanation has been added to the tutorial:
Unbalance Response
This method returns the unbalanced response for a mdof system given magnitide and phase of the unbalance, the node where it's applied and a frequency range.
    node : list, int
        Node where the unbalance is applied.
    magnitude : list, float
        Unbalance magnitude (kg.m)
    phase : list, float
        Unbalance phase (rad)
    frequency_range : list, float
        Array with the desired range of frequencies

To run the Unbalance Response, use the command .unbalance_response()
To plot the figure, use the command .unbalance_response().plot()
Where dof is the degree of freedom for which you want to plot the response, which follows the same logic applied to Frequency Response.
In this following example, we can obtain the response for a given unbalance (kg.m) and its respective phase in a selected node. Notice that it's possible to add multiple unbalances instantiating node, magnitude and phase as lists.
Unbalance1: node = 4
            magnitude = 0.03
            phase = 0
Unbalance2: node = 2
            magnitude = 0.02
            phase = 3.1415


Add toggles to Commander

This PR adds a new element to Commander: Toggles.
A toggle is like a macro, but defines just a name, an icon and two commands. When the command associated to the macro is executed, those two commands will be executed alternatively. This is useful to activate/deactivate something, for example.
As a more complex example: I've defined two macros, one for running a list of commands which activates different features, and other one for another list of commands which deactivates those features. In a toggle, I define those two macros. Then, running the toggle, I can switch those features on and off as a group, always in sync.
The toggle concept could be very easily morphed into a "cycle" (just removing the conditional that hides the button for adding more than two commands). That is, going through a list of commands one by one and jumping to the first one after the last one, instead of just two commands, but I think toggles are powerful enough and much more clear from the user position.
Let me know what you think.


[TA] Added detected languages properties

Description

Added automatic language detection to long-running operation APIs. Pass auto into the document language hint to use this feature.
Added property detectedLanguage to RecognizeEntitiesResult, RecognizePiiEntitiesResult, AnalyzeHealthcareEntitiesResult,
ExtractKeyPhrasesResult, RecognizeLinkedEntitiesResult, AnalyzeSentimentResult, RecognizeCustomEntitiesResult,
ClassifyDocumentResult, ExtractSummaryResult, and AbstractSummaryResult to indicate the language detected by automatic language detection.
Added property script to DetectedLanguage to indicate the script of the input document, and new enum model ScriptKind.

All SDK Contribution checklist:

[X] The pull request does not introduce [breaking changes]
[X] CHANGELOG is updated for new features, bug fixes or other significant changes.
[X] I have read the contribution guidelines.

General Guidelines and Best Practices

[X] Title of the pull request is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

autoDefaultLangauge will be in a separate PR


Error: use of unstable library feature 'error_generic_member_access

The following fails to compile:
#[derive(Debug, thiserror::Error)]
pub struct Error {
    kind: ErrorKind,
    source: Option<Box<dyn std::error::Error + Send + Sync>>,
    backtrace: Backtrace,
}

Error output:
error[E0432]: unresolved import `thiserror`
   --> vstorage/src/lib.rs:159:17
    |
159 | #[derive(Debug, thiserror::Error)]
    |                 ^^^^^^^^^^^^^^^^ no `ThiserrorProvide` in `__private`
    |
note: found an item that was configured out
   --> /home/hugo/.local/state/cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.47/src/lib.rs:257:29
    |
257 |     pub use crate::provide::ThiserrorProvide;
    |                             ^^^^^^^^^^^^^^^^
note: the item is gated here
   --> /home/hugo/.local/state/cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.47/src/lib.rs:255:5
    |
255 |     #[cfg(error_generic_member_access)]
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: this error originates in the derive macro `thiserror::Error` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0658]: use of unstable library feature 'error_generic_member_access'
   --> vstorage/src/lib.rs:159:17
    |
159 | #[derive(Debug, thiserror::Error)]
    |                 ^^^^^^^^^^^^^^^^
    |
    = note: see issue #99301 <https://github.com/rust-lang/rust/issues/99301> for more information
    = note: this error originates in the derive macro `thiserror::Error` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `thiserror_provide` found for reference `&Box<dyn std::error::Error + Send + Sync>` in the current scope
   --> vstorage/src/lib.rs:162:5
    |
162 |     source: Option<Box<dyn std::error::Error + Send + Sync>>,
    |     ^^^^^^ method not found in `&Box<dyn Error + Send + Sync>`

https://github.com/dtolnay/thiserror/issues/204 seems to be related. That was due to features not supported by Rust 1.65. I'm using 1.82.0.
It's not entirely clear to me what requires error_generic_member_access here. Using impl std::error::Error for Error {} instead of thiserror for the same type does work.

Using Backtrace in errors requires a nightly compiler. This is mentioned in the readme.

Using Backtrace in errors requires a nightly compiler. This is mentioned in the readme.

I can use Backtraces fine with the this stable compiler. Compilation works fine if I remove thiserror:
-#[derive(Debug, thiserror::Error)]
+#[derive(Debug)]
 pub struct Error {
     kind: ErrorKind,
     source: Option<Box<dyn std::error::Error + Send + Sync>>,
     backtrace: Backtrace,
 }

+impl std::error::Error for Error {}

Does thiserror have a different behaviour if my type has a backtrace: Backtrace? Can I disable this "different behaviour"?

@WhyNotHugo You can disable this behavior by creating a type alias.

Using Backtrace in errors requires a nightly compiler. This is mentioned in the readme.

Is there a fundamental reason for that? What doesn't work with 1.82.0?
Unfortunately using nightly compiler to ship production code is not the best approach for us. Would be great to have backtraces without provide.

Here's a workaround:
use std::backtrace::Backtrace as MacrosCannotSeeTypes;

#[derive(Debug, thiserror::Error)]
pub struct Error {
    backtrace: MacrosCannotSeeTypes,
}

@kornelski that doesn't work:
#[derive(Error, Debug)]
pub enum SetupError {
    #[error("error {source:?} {backtrace}")]
    Errno{
        #[from] source: nix::errno::Errno,
        backtrace: StdBacktrace,
    },
 }

gives me:
error: deriving From requires no fields other than source and backtrace
    --> src/rust/sentry-handler/lib.rs:1268:9
     |
1268 |         #[from] source: nix::errno::Errno,
     |         ^^^^^^^

@mikea You can write From impl manually.
 impl From <nix::errno::Errno> for SetupError {
    fn from(value: nix::errno::Errno) -> Self {
        todo!()
    }
 }

@mhnap I could, but what's preventing thiserror from generating the same code? It doesn't involve nightly or any obscure feature.
Also, your suggestion more or less means not to use thiserror when Backtrace is needed and to write everything manually.

@mikea Because thiserror doesn't know how to generate From impl when there are custom fields other than source and backtrace.

@mhnap maybe I am missing something, but this issue is precisely about that: generate From for two fields: from and backtrace. I am not asking to handle unknown fields: the original reporter (and me) would like to use Backtraces with stable rust.
It is not clear to me from these explanations why it is not possible to generate such code if I can write it manually.
I completely understand if the situation was "we agree, it would be better, but we don't have time. PRs are welcome". Or "we think this is wrong to do because X".
The answer instead was "it is documented". Or "do not use thiserror". Which is a little bit hostile for such a simple feature request, don't you think? Especially since Backtraces were stabilizing long long ago.

@mikea In such a case this makes sense. If you find this usefull, I think it would be better to create a new issue (if there are no existing or closed ones with explanations) and explicitly write about a feature request to support the generation of the From impl with Backtrace on stable Rust.
(I'm not a contributor, I just noticed a couple of unanswered questions and decided to answer)
By the way, I bumped into this some time ago, but I also needed to use std::panic::Location so I still ended up with a manual From impl (and also I've created #316 for another feature request).

@mhnap  Sure, if you think it is helpful, here it is: #390
I was vary to create a new one, since this one already exist and quite to a point. Let's hope the new one will work better.


Nested and standard component folder structure test

Companion to https://github.com/plotly/dash/pull/1203, related to original community PR https://github.com/plotly/dash/pull/1125.

LGTM! 💃


How connect an external database that contain values to extract?

Hi,
i've configured database connection and its works fine.
Now i want extract values to show on telegram from a different database, that i've installed on same host.
What is the best practice to use?
Thanks

There is no fixed way to do this, so it's up to you!
Since you need to have PDO set up anyway to run this library, I'd suggest to just use that.
This should help you out:
https://phpdelusions.net/pdo

Ok, thanks.


Lazy loading for arguments

Hi!
This pull request ensures that field arguments can be lazy loaded in the same manner as fields, which should improve performance quite a bit. I've ran a majorly tiny benchmark on the performance impact and found out that this change decreased our schema build time from 28ms to 3ms.
I'd like to get some help on testing this feature as I'm not familiar with maintaining automated tests and got lost trying to find the right place to add them.
And, of course, a big thank you for the amazing library!

@mad-ice to move this issue along, you can add a test to https://github.com/webonyx/graphql-php/blob/master/tests/Type/DefinitionTest.php
Check out https://github.com/webonyx/graphql-php/blob/master/CONTRIBUTING.md for more information on the dev tooling. Try running composer check-all on the project.

Thanks for the PR. But we will likely go the path suggested in #557 which addresses an issue with lazy loading of individual types


Feature/third task

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

99 of 99 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
1405

Relevant Lines:
1405

💛  - Coveralls


Users need URL rewriting

Envoy supports the prefix_rewrite directive to morph one URL prefix into another. We need to support that.
(We need to support many other directives, too, but this is probably first.)

Fixed by #43


Telegram calls only rings but not get connected

What version of V2Ray are you using?
v5.1.0 User Preview
What's your scenario of using V2Ray?
Using Telegram calls with Telegram Mac application via internal socks5 proxy (vmess)
What problems have you encountered?
Telegram call rings, but not get connected and I can't see any UDP connection in my console log.
What's your expectation?
I want to make phone calls with telegram on my macbook.
I'm using v2ray cli on my mac and shadowrocket on my iPhone.
With iPhone, I can make calls without any problems, but I can't do that using macbook.

Please attach your configuration here
Server configuration:
{
  "inbounds": [
    {
      "port": 1000,
      "listen": "<IP_ADDRESS>",
      "protocol": "vmess",
      "settings": {
        "udp": true,
        "clients": [
          {
            "id": "uuid",
            "alterId": 0
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
          "path": "/path"
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

Client configuration:
{
  "inbounds": [
    {
      "listen": "<IP_ADDRESS>",
      "port": 1082,
      "protocol": "socks",
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth",
        "udp": true
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "host",
            "port": 443,
            "users": [
              {
                "id": "uuid",
                "alterId": 0
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "wsSettings": {
          "path": "/path"
        }
      }
    }
  ]
}

Please attach error logs here
There is no error logs
Please attach access log here
There is no error logs
Other configurations (such as Nginx) and logs here
server {
    server_name host;

    location /path {
        if ($http_upgrade != "websocket") {
            return 404;
        }

        proxy_redirect off;
        proxy_pass http://<IP_ADDRESS>:1000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    listen 443 ssl;
    ssl_certificate /path/fullchain.pem;
    ssl_certificate_key /path/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

download geoip https://github.com/Loyalsoldier/v2ray-rules-dat
"routing": {
...
{
"type": "field",
"outboundTag": "xxx-tag",
"network": "udp,tcp",
"ip": [
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"<IP_ADDRESS>",
"geoip:cloudflare",
"geoip:cloudfront",
"geoip:facebook",
"geoip:fastly",
"geoip:netflix",
"geoip:twitter",
"geoip:telegram",
"geoip:google"
]
},
... ...
}


Add About link in NavBar

Description
Add about link in Navbar and also make it while keeping it Responsive most importantly
Screenshots

Additional information
No response

Hey, can you assign this task to me? I would love to work on it.

@durgeshm01722 Assigned it to you

Thanks @Debajyoti14

Added the About Us tab/link in the Navbar as well as Sidebar. It is responsive. 👍
PR no. - #278
Screenshots 👇


Add YARA command-line options to Settings

YARA Help Menu
YARA 3.5.0, the pattern matching swiss army knife.
Usage: yara [OPTION]... RULES_FILE FILE | DIR | PID

Mandatory arguments to long options are mandatory for short options too.

  -t,  --tag=TAG                   print only rules tagged as TAG
  -i,  --identifier=IDENTIFIER     print only rules named IDENTIFIER
  -n,  --negate                    print only not satisfied rules (negate)
  -D,  --print-module-data         print module data
  -g,  --print-tags                print tags
  -m,  --print-meta                print metadata
  -s,  --print-strings             print matching strings
  -e,  --print-namespace           print rules' namespace
  -p,  --threads=NUMBER            use the specified NUMBER of threads to scan a directory
  -l,  --max-rules=NUMBER          abort scanning after matching a NUMBER of rules
  -d VAR=VALUE                     define external variable
  -x MODULE=FILE                   pass FILE's content as extra data to MODULE
  -a,  --timeout=SECONDS           abort scanning after the given number of SECONDS
  -k,  --stack-size=SLOTS          set maximum stack size (default=16384)
  -r,  --recursive                 recursively search directories
  -f,  --fast-scan                 fast matching mode
  -w,  --no-warnings               disable warnings
  -v,  --version                   show version information
  -h,  --help                      show this help and exit

Send bug reports and suggestions to<EMAIL_ADDRESS>
YARAC Help Menu
Usage: yarac [OPTION]... [NAMESPACE:]SOURCE_FILE... OUTPUT_FILE

  -d VAR=VALUE           define external variable
  -w,  --no-warnings     disable warnings
  -v,  --version         show version information
  -h,  --help            show this help and exit

Send bug reports and suggestions to<EMAIL_ADDRESS>

Looks like the Yara object won't reread settings once its been loaded. Looking for some kind of OnDidSettingsChange function to register a callback

Found OnDidChangeConfiguration function, but i have not added support for improper flags, so YARA rules will appear to compile successfully when the process just errored out early

Fixed in 6b675ca7b2197c7b9161b5bd7e74078aa081ce0e


Validate port protocol case strictly

This tightens validation on port protocol allowed values.
Currently, port protocol validation allows case-insensitive matching of "tcp" or "udp". However, other parts of the system rely on exact matches to the API constants:
pkg/api/validation/validation.go:
 1085  	if service.Spec.Type == api.ServiceTypeLoadBalancer {
 1086  		for i := range service.Spec.Ports {
 1087: 			if service.Spec.Ports[i].Protocol != api.ProtocolTCP {
 1088  				allErrs = append(allErrs, errs.NewFieldInvalid(fmt.Sprintf("spec.ports[%d].protocol", i), service.Spec.Ports[i].Protocol, "cannot create an external load balancer with non-TCP ports"))
 1089  			}

pkg/cloudprovider/servicecontroller/servicecontroller.go:
  461  		// it's supported.
  462  		sp := &service.Spec.Ports[i]
  463: 		if sp.Protocol != api.ProtocolTCP {
  464  			return nil, fmt.Errorf("external load balancers for non TCP services are not currently supported.")
  465  		}

pkg/master/controller.go:
  241  	}
  242  	p := &sub.Ports[0]
  243: 	if p.Port != port || p.Protocol != api.ProtocolTCP {
  244  		return false, false
  245  	}

Other places where exact comparisons are expected between objects:
contrib/mesos/pkg/service/endpoints_controller.go:
400: 				if port.Name == name && port.Protocol == svcPort.Protocol {
401: 					return findMappedPortName(pod, port.Protocol, name)

contrib/mesos/pkg/service/endpoints_controller.go:
414: 				if port.ContainerPort == p && port.Protocol == svcPort.Protocol {
415: 					return findMappedPort(pod, port.Protocol, p)

pkg/service/endpoints_controller.go:
406: 				if port.Name == name && port.Protocol == svcPort.Protocol {

Allowing a service or endpoint to be created with loose protocol validation, only to fail other parts of the system with strict checking isn't good.

Assigning @bgrant0607
v1.0 triage needed

We don't allow caseless compare anywhere else.  If we wanted to allow it (I don't think we do) we should normalize case during defaulting, and that just sounds tedious and error prone.

No, we shouldn't normalize case during defaulting. That would violate one of my API rules, which is that we don't munge field values provided by the user.
I agree this is an annoying quirk, but I don't know that we can fix it at this late stage.

+1 on not mutating. Is it even possible for lowercase values to work? From what I saw, they would fail equality checks and not actually drive behavior

Yeah, we should just do it strictly.

LGTM
I think we should take this.


[Task]: Serve settings for module in the context of creator

Is there an existing issue for this?

[X] I have searched the existing issues

TL;DR
settings for module in the context of creator = {plugin specific settings for the public entity} minus {module instance settings}
Generate settings in the context of the creator by removing the settings available in the context of the consumer.
Impacted endpoint
GET - Package details by packageId (Used by Package Editor)
Endpoint (EDIT MODE)- api/v1/packages/{packageId}
Example
Settings that are overridable by the consumer are the following
{
  "setting": [
    {
      "sectionName": "",
      "id": 1,
      "children": [
        {
          "label": "Run query on page load",
          "configProperty": "executeOnLoad",
          "controlType": "SWITCH",
          "subtitle": "Will refresh data each time the page is loaded"
        },
        {
          "label": "Request confirmation before running query",
          "configProperty": "confirmBeforeExecute",
          "controlType": "SWITCH",
          "subtitle": "Ask confirmation from the user each time before refreshing data"
        }
      ]
    }
  ]
}

Settings that are overridable in regular action for a given plugin e.g. Postgres are the following
[
  {
    "sectionName": "",
    "id": 1,
    "children": [
      {
        "label": "Run query on page load",
        "configProperty": "executeOnLoad",
        "controlType": "SWITCH",
        "subtitle": "Will refresh data each time the page is loaded"
      },
      {
        "label": "Request confirmation before running query",
        "configProperty": "confirmBeforeExecute",
        "controlType": "SWITCH",
        "subtitle": "Ask confirmation from the user each time before refreshing data"
      },
      {
        "label": "Use Prepared Statement",
        "subtitle": "Turning on Prepared Statement makes your queries resilient against bad things like SQL injections. However, it cannot be used if your dynamic binding contains any SQL keywords like 'SELECT', 'WHERE', 'AND', etc.",
        "configProperty": "actionConfiguration.pluginSpecifiedTemplates[0].value",
        "controlType": "SWITCH",
        "initialValue": true
      },
      {
        "label": "Query timeout (in milliseconds)",
        "subtitle": "Maximum time after which the query will return",
        "configProperty": "actionConfiguration.timeoutInMillisecond",
        "controlType": "INPUT_TEXT",
        "dataType": "NUMBER"
      }
    ]
  }
]

Outcome
The output should consist of those settings that are not present in the settings of module consumer.
[
  {
    "sectionName": "",
    "id": 1,
    "children": [
      {
        "label": "Use Prepared Statement",
        "subtitle": "Turning on Prepared Statement makes your queries resilient against bad things like SQL injections. However, it cannot be used if your dynamic binding contains any SQL keywords like 'SELECT', 'WHERE', 'AND', etc.",
        "configProperty": "actionConfiguration.pluginSpecifiedTemplates[0].value",
        "controlType": "SWITCH",
        "initialValue": true
      },
      {
        "label": "Query timeout (in milliseconds)",
        "subtitle": "Maximum time after which the query will return",
        "configProperty": "actionConfiguration.timeoutInMillisecond",
        "controlType": "INPUT_TEXT",
        "dataType": "NUMBER"
      }
    ]
  }
]

SubTasks
No response

@subrata71 double checking for my understanding
Creator -> api/v1/packages/{packageId} - will return modules with settingsForm only available for creator side
Consumer -> api/v1/packages?workspaceId=<WORKSPACE_ID> - will return modules with settingsForm only available for consumer side

That's correct. Does the output given in the description make sense to you?


sass @import not working

Update: I found a very good alternative for this bug-full extension, it called Live Sass Compiler, I hope this comment would help anyone.

Same problem. I can't import any files, even ones in the same directory as the original.

Same here, please include some fix about it.

Update: I found a very good alternative for this bug-full extension, it called Live Sass Compiler, I hope this comment would help anyone.

@Ali-00-Ridha @reevet @summers173 I have fixed this problem in the latest version, you can update and use it normally.


Add the basic skeleton of the md-check.

This is still a WIP, so let me know if you'd like me to change things.
Some notes:

Currently two checks

Does the markdown parse? (this is a pretty low bar)
Is there trailing whitespace? Note: kubernetes.github.io currently fails
this check.

This was designed to split checks into line-based checks (the old style) and
full file based checks (i.e., parsing markdown into an AST).
Many of the ideas (walker, filtering) have been taking directly mungedocs and
reworked
Added basic tests for mungelines and whitespace.

LGTM


Pass request data into context for authorisation

Hello.
I'm trying to add Auth0 support to my Juniper + Rocket setup. All I need to achieve is to pass proper user_id to the context so I can fetch & respond with data for the authenticated user if they pass token validation.
I created proper request guard to retrieve the token from the headers, verify it and return user_id into the request handler, but since Context is being passed as a reference, I cannot modify it. And since it's a Rocket::State object, I cannot create a new one inside the handler and pass it down to GraphQLResponse::execute.  My current handler looks like that:
#[post("/graphql", data = "<request>")]
fn post_graphql_handler(
    context: State<Context>,
    request: juniper_rocket::GraphQLRequest,
    schema: State<Schema>,
    token: Token, // This is Auth0 claim struct
) -> juniper_rocket::GraphQLResponse {
    context.user_id = token.sub; // This obviously doesn't work because
                                 // error[E0594]: "cannot assign to data in a `&` reference"
    request.execute(&schema, &context)
}

This is the first time I'm implementing something like that in Rust, and I ran out of ideas on how this should be done.

Instead of using State you should be able to implement FromRequest for Context. That way your handler will get an owned Context which you’re then free to mutate. It does mean all your handlers wont share the same context but I guess that is fine.
This is what I do in the app I work on. For example in the FromRequest implementation for Context I also grab a database connection from a connection pool. The pool is stored in a State. I also check for authentication headers and set an Option<CurrentUser> sorta type.

@davidpdrsn OMG this works, thanks! I haven't seen the simplest solution and it was always right before my eyes! Thank you Sir, and have a nice weekend!

It would be great to have some docs on this!

Indeed. I have a feeling that Rocket isn't a first choice framework for people working with Juniper, it's way easier to find examples or docs on Iron. I'll try to change that once I'll feel comfortable enough to write something on the subject. Thanks for inspiration :)

@michalbe if you’re interested I maintain an example app that uses juniper and Rocket. You can find it here https://github.com/davidpdrsn/graphql-app-example

hi @michalbe
can you please share your implementation?


Resubmitting draft

Please remove one of the files.  You have two files with the same name, except for the extension.

@yertayZ  the layout is error-free but why 25-degree grating couplers are being used? Please use the EBeam PDK grating couplers

@omidesml it is ok if students use the other GCs.  We replace all of them including ebeam_gc_te1550 with GC_TE_1550_8degOxide


Add a fast Create Plan page - step 1

Implements #801

nice :+1:
added comment in https://github.com/kubev2v/forklift-console-plugin/issues/801#issuecomment-1890893725 for separation of #801 into steps

@rszwajko , can you update the title and description to indicate this is a PR for the first step, "Add fast migration page" may indicate this PR actually adds the complete fast migration form ?

@yaacov
Changes in the recent force push:

transfer VM objects via context (previously only the IDs)
treat context usage as internal implementation and hide it behind useCreateVmMigrationData() hook
implement part of the spec provided in this comment

[name of source provider]-[short hash]
source provider as a resource link with label

Parts not implemented (yet):

switch from form-based create page to template-based (similar to edit/details pages) - this requires some more though: first details-like page assumes that the resource is already valid and just maintains this invariant.  Second problem is with cross-field dependencies - some user action will invalidate multiple fields i.e. changing the target provider invalidates also the namespace and the mappings.
displaying the VMs as a table - this may break the flow we can try to teach to the user - if user can see the same table as on previous screen then why to have a second screen in the first place? why not allow de-selecting and selecting the VMs?

switch from form-based create page to template-based (similar to edit/details pages

inmplementing the "create and edit" button is the last step, no need to do it now

this requires some more though: first details-like page assumes that the resource is already valid and just maintains this invariant.

yes, it's "create" the plan is valid and created, "and edit" you go to the details/edit page

Second problem is with cross-field dependencies - some user action will invalidate multiple fields i.e. changing the target provider invalidates also the namespace and the mappings.

why will you want to change the target, that is not part of the spec

@yaacov
implemented most of your suggestions - the detail view for the VMs needs to wait for the next step (unless you want to postpone this one).
as for the discussion above:

this requires some more though: first details-like page assumes that the resource is already valid and just maintains this invariant.
yes, it's "create" the plan is valid and created, "and edit" you go to the details/edit page

just to be clear the plan displayed on the screen won't be valid in all cases

Second problem is with cross-field dependencies - some user action will invalidate multiple fields i.e. changing the target provider invalidates also the namespace and the mappings.
why will you want to change the target, that is not part of the spec

It's part of the spec. You explicitly requested an editable drop down.
regarding VM details representation:

that is why it need to be a "lateral" flow,

OK so displaying table in the standard view is not possible. We could display it in list view (see below). The view is automatic for small spaces.


Bring Chromium container in line with Chrome

I noticed some nice work recently to get the Chrome container to work as an unprivileged user. This PR would bring the Chromium container in line with the Chrome one.
I generally cleaned up the Chromium container and removed some unnecessary steps. I'm guessing this was a Debian Jessie container in a previous life and the build commands weren't rewritten when it was rebased on Stretch.
I've tested this and it seems to work fine. Hopefully I'm not missing anything obvious.

Looks great thanks! I'll merge after CI

CI failed due to a missing \
I'd already fixed this but had managed to undo my own fix when doing a git reset to clean up the commits... whoops.
Should be fine now.

Thanks!


xUnit: Paramatereized Scenarios are not supported

When trying to add [Example] to [Scenario], xUnit complains --
 System.InvalidOperationException : [Fact] methods are not allowed to have parameters. Did you mean to use [Theory]?```

If you want to use an Example, you have to use ScenarioOutline instead.

:doh:

It would be interesting to see if it's possible to give a more helpful error message


Calibration

The first thing to say is that I think the application is wonderful. I wanted to make a query and yes, it is necessary to record some calibration and if so, it would be convenient, several measurements at different times of the day with test strips and write them down or what would be the best method. Mucha I wanted to make a query and yes, it is necessary to register some calibration and if so, it would be convenient, several measurements at different times of the day with test strips and write them down or what would be the best method. Thank you very much for everything. Thank you for everything.

Can anyone give me any advice on this? Thank you

Hello,
Calibrations are not really necessary. This is only the possibility to "optimize" the values a bit more.
I would advise most people not to calibrate, because incorrect calibrations can also be a great danger.
Are you looking for tips on when and how best to calibrate?
Many greetings
Reimar

Thank you. That's what I wanted to know and confirm.


As a user, I want to be able to have a project folder

So that I can look at only my projects at a glance.

Completed implicitly through the tag feature.


enforce pull without rebase

Hello,
in my global gitconfig, the option pull.rebase is set to interactive.
This means that whenever I git pull, the editor starts up asking me about rebasing my local branch.
While this functionality is questionable, it exists, and it means that whenever I try to install something with scoop, the editor pops up twice (update scoop and update the package list).
This is mildly annoying, so I fixed it locally by setting the option on the two repositories to false, which works.
This PR would fix the issue for everyone (included - or maybe limited to :D - myself in the future).

I cannot think about some use case, which could cause trouble. It could go into develop for few days/weeks.
@serl Please rebase to develop

I think I rebased! ;)


Add Nuvoton NPCM400F SMC initial support

The Nuvoton NPCM400F is a Satellite Management Controller for a wide range of server applications.

This PR includes two commits for the initial bring up:

soc: arm: add nuvoton npcm400f support
boards: arm: add npcm400f evb board
MAINTAINERS: Add Nuvoton NPCM Platform for Nuvoton NPCM family

Neat, took me a bit to figure whether this was going in a datacenter or in space. :-)
Looks like twister is unhappy about something, maybe something off in the soc or board definition, not too sure but can you try to reproduce it locally?
More importantly, does this need an update of MAINTAINERS.yml? https://github.com/zephyrproject-rtos/zephyr/blob/main/MAINTAINERS.yml#L3364 If it's a separate team for you folks it's probably worth adding a new area, if it's not than the file filter should be adjusted.

Neat, took me a bit to figure whether this was going in a datacenter or in space. :-)
Looks like twister is unhappy about something, maybe something off in the soc or board definition, not too sure but can you try to reproduce it locally?
More importantly, does this need an update of MAINTAINERS.yml? https://github.com/zephyrproject-rtos/zephyr/blob/main/MAINTAINERS.yml#L3364 If it's a separate team for you folks it's probably worth adding a new area, if it's not than the file filter should be adjusted.

Neat, took me a bit to figure whether this was going in a datacenter or in space. :-)

Thanks for reviewing.

Looks like twister is unhappy about something, maybe something off in the soc or board definition, not too sure but can you try to reproduce it locally?

Got it! I will try to reproduce it locally.

More importantly, does this need an update of MAINTAINERS.yml? https://github.com/zephyrproject-rtos/zephyr/blob/main/MAINTAINERS.yml#L3364 If it's a separate team for you folks it's probably worth adding a new area, if it's not than the file filter should be adjusted.

Yes, we are different team, I have added a MAINTAINERS commit in this PR.

Updated this PR to change the soc name from NPCM400F to NPCM400.


Make S3Client batch methods concurrent

The results are actually a little disappointing, only 50% faster when heading 1k files. That being said, the code is done, it doesn't add much complexity, 50% faster is 50% faster, and when running against a beefier system than a single minio instance on my laptop that can handle more simultaneous connections the performance improvement may be more substantial.
writing files
done
testing with concurrency of 1000
testing with concurrency of 100
testing with concurrency of 10
testing with concurrency of 1
Concur	Time	Improvement
1	1.56064	1.000%
10	1.07180	1.456%
100	1.10735	1.409%
1000	1.04405	1.495%

If you change +1 to +3 (or something) in
bad_ep2 = f"http://localhost:{minio.port + 1}

Does that fix it?

Also what version of Minio are you using?

bad_ep2 = f"http://localhost:{minio.port + 1}

 bad_ep2 = f"http://localhost:{minio.port + 3}" works.
(cdm-task-service) (dev) tgu@cdm-task-service (dev-ser
vice)$minio --version
minio version RELEASE.2024-08-03T04-33-23Z (commit-id=6efb56851c40da88d1ca15112e2d686a4ecec6b3)
Runtime: go1.22.5 darwin/arm64
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Copyright: 2015-2024 MinIO, Inc.

Ok, I think it's because the version I'm testing against doesn't have the UI port on the service port +1.
I'm actually surprised both of the minio versions in GHA tests pass