Are compiledAdapter and adapter the required fields in Mixer Handler 1.0 & 1.1 ?

Are compiledAdapter and adapter is the required field in 1.1 Mixer Handler?
And the two field are also marked as required filed in 1.0 .  But it seems that the two are not  used in 1.0 helm.

If you are defining handler and instance via handler CRD and instance CRD, then this two fields are required. See https://github.com/istio/istio/pull/12689/files for some samples of migrating: e.g. https://github.com/istio/istio/pull/12689/files#diff-d82ce256f2730bbce70ea7fe116c20bf

Closing this issue, as the question appears to have been answered.


Wagtailusers app cannot be disabled as wagtailadmin depends on it

wagtailadmin/utils.py currently imports wagtail.wagtailusers.models which makes it impossible to remove the app from a project.
IIRC, the main reason why it was made a separate app was so that the user account management feature could be switched off/replaced. The UserProfile model is required by wagtailadmin but is unrelated to the UAM views so maybe that model belongs in wagtailadmin.

👍 . Putting the UserProfile model in wagtailusers was a misstep...

Is there any workaround for this?

@robinzachmann You could remove the Users menu item via the construct_main_menu hook: https://docs.wagtail.org/en/stable/reference/hooks.html#construct-main-menu

This will be fixed by https://github.com/wagtail/wagtail/pull/7564

We’ve decided to close #7564 as it’s fallen out of date, and from recent developments it seems clear we would be more keen for UserProfile to go to wagtail.admin. So this is ready for anyone to pick up. Aside from the code contributions, it would be great to hear more from anyone who has a need to disable wagtailusers – what’s the rationale?
This seems desirable in the context of security-hardened sites that run as few "admin" apps as possible in production, with Django in read-only mode. Are there other use cases we should be aware of? This all feels interesting and aligns with Wagtail’s focus on security, but also relatively niche.

I'd just like to add that if we do migrate the UserProfile into wagtail.admin, we should learn from our experience in moving the models from wagtail.search to wagtail.contrib.search_promotions. For example, there was #10847.
We also often see cases where people use those models but they forgot to add the search_promotions app into the INSTALLED_APPS list when upgrading. It's unlikely in this case as wagtail.admin comes by default and devs who don't have it in their INSTALLED_APPS would probably run into other issues already, but it's something to keep in mind when writing the docs.


Do market research for "Our Core Features" on index page.

Website Link: https://reveltek.com/index.html
Instructions to follow:

Do competitive market research for this section how other top tech consulting organization's websites look like.

Do research for what are the services we provide as a tech consulting company

You can visit our Reveltek Handbook for content reference also.

Handbookhttps://focushive.sharepoint.com/sites/Everyone/Shared%20Documents/General/Reveltek-Handbook%20(2).pdf

Please find the attached image for reference:

The heading "Curiosity community" exceeds the max word count for any replacement.

@Zaryabayub I have updated this issue. You can work according to new instructions mentioned above.

@UmerManager It's already been merged by Mr. Hackney.


JavaScript

JavaScript
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

Cannot close this issue yet because I cannot see the "four topics" under Acceptance Criteria


Print next challenge when challenge is complete

Fixes #28

Hey @Ishan1742 Thanks for working on this!
Can you combine the level complete and challenge complete statement to be a one-liner if the level's complete? So like change the line to be "Challenge complete you've completed the level!" instead of putting it on two lines.
On the next line, we can print the next challenge/level. I think it's redundant to output the level and the challenge's full name since the full name contains the level name. Thanks!

Okay I'll do it.

Looks good! Thanks!


Update the 'Why GetNighthawk' section on the home page

Currently, the 'Why GetNighthawk' section on the homepage is not according to the Figma design.

The section should be modified according to the Figma design given  - https://www.figma.com/file/5ZwEkSJwUPitURD59YHMEN/Layer5-Designs?node-id=2650%3A4236

Environment:

OS: [e.g. Ubuntu]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]
Device: [e.g. laptop, iPhone 8]

Contributor Resources

See the Contributing to getnighthawk.dev Website
See the Project Site section of GetNighthawk project doc

Thanks for opening this issue


[Spack] Package Manager: Latest Version

Add support for the Spack package manager (https://spack.io and repo at https://github.com/spack/spack).
Spack is a modern multi-language, multi-version, multi-variant software package manager in high-performance computing (HPC).
This pull-request is a draft since we are still in the process of deploying a continuous package index. The package index is up :)

[x] https://github.com/spack/spack/pull/11652
[ ] https://github.com/spack/spack/pull/11665

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @ax3l!

  Generated by :no_entry_sign: dangerJS against 0760d6c9366a959e5fa3bb2abd0e98c03496f098

Thank you for the review and hints @PyvesB! I updated the PR accordingly.
Yes, the automatic re-deployment seams not to be set up yet in the linked pull request. I will rebase the service as soon as its up :hourglass:

@PyvesB rebased and ready for merge :)


Remove bad words from readme

Hehe. It's OK. You can keep the old variant😅

Oh! It was me sorry 😅.

omg best laugh ever. got to ask my dad if these were bad words too just to make sure 🤣

@yukiokun057,
I'm really sorry if that was offensive.
Forgive me. I promise such thing wouldn't happen again.


Settings: consider allowing customer code to provide custom settings during tests

hub thread: https://powerofus.force.com/0D580000041RjTu
customer would like to set our custom setting values before running their tests.  unfortunately, our current settings facade always constructs new default custom settings if we are in a test execution context.  I believe this was originally done for historical reasons when test data isolation was not provided by the platform (seeAllData=false).
Worth considering if we can come up with a solution that works both for our tests, as well as our customers writing tests that will then run our trigger handler code.
Conceptually it's similar to what we provide customers for trigger handlers. in your test, first get our cached set, and modify them as you like, and then continue your work and when any triggers run, our code will use the cached handlers you've provided.
It may be as simple as allowing our code to read the setting now that we have test data isolation. But I'm sure many of our settings don't have the full defaulting that the facade is doing in this scenario.

**lurch: add

Tracking W-022958

Salesforce has determined that this issue will not be explored further.


IGC repository connector extension documentation

ie. including the OMRS Stubs

Thanks -- I'll merge for now, but don't hesitate to add an issue if you want further detail / clarification on any of it!


ci: e2e changes

Issue #, if available:
Description of changes:
This PR propose a way to parallelize some e2e tests to reduce the execution time of e2e.
Checklist

[x] Update tests
[ ] Update docs
[x] PR title follows conventional commit semantics (fix: , feat: , docs: , ...)

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The e2e test are failing with the following messages:
* Unable to retrieve Arn attribute for AWS::S3::Bucket, with error message Bucket not found

* Cluster already exists with name: data-platform

See the logs for details. Probably, some tests do not support parallel execution as of now, so they need to be updated.

From the logs I can see the tests were executed with the old structure npm run test:e2e. The errors you point where from previous e2e runs.

dismissing @balabad review because I solved the error. It was coming from an EMR virtual cluster that failed to delete and then blocked all further e2e tests from succeeding.


[Windows] Toolkit doesn't copy itself correctly

Issue present in:

0.2.0

Steps to reproduce:

Create a new project
Try to compile it
CMD says Geometria.exe is not meant for that system
😞

For those having the same issue, simply manually copy the toolkit from the hub folder to your project to fix the issue

This issue has been fixed now in the latest release: https://github.com/Geometria-Engine/Hub/releases/tag/release .
Closing issue and marked as fixed c:


Add a DiagnosticSourceListener module

For Snapshot Collector, I created a general purpose TelemetryModule that listens to DiagnosticSource and tracks them via Application Insights. It's the DiagnosticSource equivalent of Microsoft.ApplicationInsights.EventSourceListener
Are you interested in including it here? I'll do the work and submit a PR, I just want to know if you're interested before I embark on porting it.

Yes, we need to have support for all Framework sources in-house. If you can create on - we'll take it

Closed via #90


npx nuxi init nuxt3-app  err

npx nuxi init nuxt3-app
WARN  could not fetch remote https://github.com/nuxt/starter                                                 17:11:28
WARN  Make sure you have installed git correctly

Check that you have installed git correctly. And if you are still experiencing an issue, feel free to raise one on https://github.com/nuxt/framework/issues/new/choose.


Pluggable game profiles

Hi,
I would like to know if in a not so long time you can add a pluggable way to add new games, at least to have static lighting when game is running.
Thanks.

You can already add "Generic Application" profiles. In which you can set color zones and shortcut assistant.

Cool :)
I will give it a try. Thanks.


pull request for e2e test at 12/10/2016 06:26:02

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


Enhancement: Limit AdminView to a subset of a table

Describe the solution you'd like
Let's say we have a superadmin and severeal admins per organization in the DB. I want to limit the view of the admin to all users of his origanization.

You might find an answer at #276


DocsArchive-1.0.20272.1Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/jesong/docs-archive-test-source-archive/pull/3 is merged into live branch.
Auto archive content to https://github.com/jesong/docs-archive-test-source-archive.git

Docs Build status updates of commit 21e1390:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

versioningArchiveSourceFolder/TOC.yml
:white_check_mark:Succeeded
View (sql-server-2014 || azuresqldb-current || azuresqldb-mi-current || azure-sqldw-latest || >= aps-pdw-2016 || >= sql-server-2016 || >= sql-server-linux-2017 || sql-server-previousversions || sqlallproducts-allversions)

versioningArchiveSourceFolder/docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add Oracle backend support

Well, let's hope that the "generic" interface is really generic enough for Oracle, one of the most egregious database system to date.
 This also means this patch is potentially only for 19c and upwards.
But TBH I think using an ORM is a much better choice if you really want to generalize these cliche database difference. I suggest using GORM, and this could be another PR if I would like to work out the internal structure of this project.
Oh, If this gets patched I will keep on adding it to k3s too. That's actually my ultimate goal.

I knew I had it coming. The nightmares of dealing with PL/SQL back in the days...are coming back to haunt me here.
On a bright side this thing is kind of working. I was able to get a connection to the autonomous database, but just as I said I ran into SQL issues.
One of the most significant thing here is that you need to replace LIMIT %d to FETCH FIRST %d ROWS ONLY, so I will make it a limit(count int) suffix format function.
And another one is that Oracle Database...doesn't really have a built-in boolean types. While the statement did found out the token "true" to be a BOOLEAN, it was expecting a NUMBER instead, so it is not coerced by default LUL.
I also want to mention that kv.deleted = (0 OR ?) doesn't work in PL/SQL too, but it can be replaced as WHERE kv.deleted = 0 OR kv.deleted = TO_NUMBER(?), well probably due to distributive law. The latter is more closer to ANSI SQL so can we use that instead?
Otherwise I think this is pretty okay.

This could be good. Sadly we don't have a test suite so I can validate my work

Is this PR still relevant?


Definitions for tilt with 1-axis trackers may be ambiguous

Describe the bug
From the help docs for both PVWatts and Detailed PV Model, it is not clear how tilt for 1-axis tracking systems is defined. Based on testing and assumptions, tilt appears to be defined as the angle measured sloping down towards the user-entered azimuth.
For example, if you wanted to model a North-South 1-axis tracker sloping down to the North (not ideal in the northern hemisphere, but maybe that's the natural slope of the land), I think you would have to enter an azimuth of 0 and then a tilt > 0. In that case, will the sign for tracker rotation angle in outputs be reversed? I think so, but only based on testing.
Expected behavior
More clear docs would be helpful.
Additional context
See https://github.com/pvlib/pvlib-python/issues/1976 for some related discussion with pvlib.

Hi @williamhobbs ! Based on my understanding of the code, your suspicions are correct that a North-South axis sloping to the north would be azimuth=0 and tilt>0. We can certainly update the docs to this effect (@cpaulgilman ). And yes, the tracker rotation angles output would be reversed, which I agree is confusing. Inside the code, we have to keep these tilt/azimuth/rotation conventions to make the math in the functions work out. Maybe there could be a warning that pops up in the (hopefully rare?) instance that a tracker in the Northern hemisphere is oriented between 181 and 89 degrees azimuth and has a tilt, explaining that tracker rotation angles would be reversed...? @cpaulgilman  thoughts on that? Open to suggestions on that front.

@janinefreeman, a rotation angle convention warning like you suggested makes sense to me. There's already a warning for non-zero tilt, I think.
Clear documentation seems like the key, here and for pvlib. And then maybe a nice description on the PVPMC website as well.
Thanks!

Below is a proposed revision to the "Tracking & Orientation" section of the System Design Help topic. Here is a link to the current version for comparison: https://samrepo.nrelcloud.org/help/pv_system_design.html
@williamhobbs We'd appreciate any comments you might have -- this will go into SAM 2023.12.17 r2, which we hope to release in early July.
Tracking & Orientation
The tracking options allow you specify whether and how modules in each subarray follow the movement of the sun across the sky.

Note. SAM does not adjust installation or operating costs on the Installation Costs or Operating Costs pages based on the tracking options you specify. When you change the tracking option, be sure to also change costs as appropriate.

Use the following output variables to explore the effect of tracking and orientation inputs (see Results for detailed descriptions):

Subarray [n] Angle of incidence, degrees
Subarray [n] Angle of incidence modifier
Subarray [n] Axis of rotation for 1 axis trackers, degrees
Subarray [n] Axis rotation ideal for 1 axis trackers
Subarray [n] Surface azimuth, degrees
Subarray [n] Surface tilt, degrees

SAM also reports the sun angles, which can be helpful for comparing the array orientation to the position of the sun:

Sun altitude angle, degrees
Sun azimuth angle, degrees
Sun zenith angle, degrees

Fixed
The subarray is fixed at the tilt and azimuth angles defined by the values of Tilt and Azimuth and does not follow the sun's movement.

1 Axis
The subarray is fixed at the angle from the horizontal defined by the value of Tilt and rotates about the tilted axis from east in the morning to west in the evening to track the daily movement of the sun across the sky. Azimuth determines the array's orientation with respect to a line perpendicular to the equator. For a horizontal subarray with one-axis tracking and a north-south axis of rotation that rotates from east to west, use a Tilt value of zero and Azimuth value of 180 degrees.

2 Axis
The subarray rotates from east in the morning to west in the evening to track the daily movement of the sun across the sky, and north-south to track the sun's seasonal movement throughout the year. For two-axis tracking, SAM ignores the values of the Tilt and Azimuth inputs.

Azimuth Axis
The subarray rotates in a horizontal plane to track the daily movement of the sun. SAM ignores the value of the Azimuth input.

Tilt = Latitude
Assigns the latitude value stored in the weather file and displayed on the Location and Resource page to the tilt angle. Note that SAM does not display the tilt value on the System Design page, but does use the correct value during the simulation.
The value of the Tilt input must be positive, so for southern latitudes, SAM sets the tilt angle to the negative value of the latitude.
Use the Subarray [n] Surface tilt (degrees) output variable to confirm the behavior of the the Tilt=Latitude option.
Tilt, degrees
The array's tilt angle in degrees from horizontal, where zero degrees is a horizontal array, and 90 degrees is a vertical array. The tilt value must be between zero and 90 degrees, inclusive.
As a rule of thumb, system designers sometimes use the location's latitude (shown on the Location and Resource as the optimal array tilt angle. The actual tilt angle will vary based on project requirements. You can run a parametric analysis on tilt to find its optimal value.
The effect of the tilt angle depends on the tracking option:

Fixed: The tilt angle is the angle formed between the surface of the array and a horizontal line parallel to the azimuth. An array with an azimuth angle of 180° and a tilt angle of 20° would be tilted from the horizontal at 20° facing south. An array with an azimuth angle of 0° and a tilt angle of 20° would be tilted from the horizontal at 20° facing north. For a horizontal array, use a tilt angle of zero.

1 Axis: The tilt angle is the angle between the axis of rotation and the horizontal. One-axis trackers typically have a tilt angle of zero for a horizontal tracking axis.

2 Axis: The Tilt input is disabled because the tracker sets the tilt and azimuth angle so the array follows the movement of the sun.

Azimuth Axis: The tilt angle is fixed, and is the angle formed between the surface of the array and a line perpendicular to the bottom edge of the array.

Seasonal Tilt: You can specify a fixed tilt angle for each month of the year.

Azimuth, degrees
The azimuth angle in degrees determines the array's east-west orientation, where 0 = North, 90 = East, 180 = South, and 270 = West, regardless of whether the array is in the northern or southern hemisphere. The azimuth value must be greater than or equal to zero and less than 360.
The effect of the azimuth angle depends on the tracking option:

Fixed: The azimuth angle determines the direction the array faces. North of the equator, the azimuth for a south-facing array is 180 degrees. South of the equator, the azimuth for a north-facing array is 0 degrees.

1 Axis: The azimuth angle determines the orientation of the rotation axis. An azimuth of 180 is for a tracker with a North-South rotation axis that rotates from East to West. When the azimuth angle is 180°, the rotation angles reported in the results are negative when the tracker faces east and positive when it faces west. When the azimuth angle is 0°, rotation angles are positive when the tracker faces east and negative when it faces west.

2 Axis, Azimuth Axis: The Azimuth input is disabled because the tracker sets the azimuth angle so the array follows the movement of the sun.

Seasonal Tilt: The azimuth definition is the same as for the Fixed option. The azimuth angle does not change for the seasonal tilt option.

In addition to the documentation revision above, I'm also proposing a modification to the tracking and orientation diagram on SAM's System Design page for the Detailed PV and PVWatts models. The current version is misleading for one-axis trackers because it makes it look like an East-West rotation axis:

The proposed modification helps illustrate the tilt and azimuth angle conventions in a way that works for all of the tracking options:


management: Custom API versions and User Agent Header

Fixes #55, #88.
Also exposed default values used to build basic client and
a DefaultConfig method that allows user to get a copy of
the config object (that will make it easy to construct and
override only a part of it).
Signed-off-by: Ahmet Alp Balkan
cc: @paulmey

LGTM


Enhancements and Alignments in Errors

Problem description
Two enhancements are proposed inder this issue:

Normalize mandatory errors that are common to every CAMARA API.
Define specific Errors for phoneNumber concept in the same fashion as done for device in MetaRelease Fall 24 for device error responses

Possible evolution

Normalize Mandatory Error status

Add within section 6.1 Standardized use of CAMARA error responses the following information:

Mandatory Errors to be documented in CAMARA API Spec YAML are the following:

For event notifications flow, the ones defined in notification-as-cloud-event.yaml
For event subscriptions APIs, the ones defined in event-subscription-template.yaml
For the rest of APIs:

Error status 401
Error status 403
Error status 405
Error status 406
Error status 415
Error status 429 TOO_MANY_REQUESTS (For rate limit control)
Error status 500
Error status 503
Error status 504

NOTE: The rest of Error status defined in section 6.1. will apply depending on specific considerations within the given WG.

Define specific Errors for phoneNumber concept

Add a new section 6.3 Error Responses - phoneNumber to detail error scenarios for phoneNumber

Case #
Description
Error status
Error code
Message example

0
The request body does not comply with the schema
400
INVALID_ARGUMENT
Request body does not comply with the schema.

1
The phoneNumber provided is not supported by the implementation
422
UNSUPPORTED_PHONE_NUMBER
phoneNumber is required.

2
phoneNumber is not found.
404
PHONE_NUMBER_NOT_FOUND
phoneNumber not found.

3
Invalid access token context
403
INVALID_TOKEN_CONTEXT
phoneNumber is not consistent with access token.

4
Service not applicable to the phoneNumber
422
PHONE_NUMBER_NOT_APPLICABLE
The service is not available for the provided phoneNumber.

5
The phone number is not included in the request and the phone number information cannot be derived from the 3-legged access token
422
UNIDENTIFIABLE_PHONE_NUMBER
The phoneNumber cannot be identified.

6
The phoneNumber is unnecesarily included in a 3-legged scenario where the subscription is identified from the 3-legged access token
422
UNNECESSARY_PHONE_NUMBER
The phoneNumber is unnecesarily provided

NOTE: New exceptions would be added to CAMARA_common.yaml for reference
Alternative solution
Additional context
There are CAMARA APIs where phoneNumber represents the end's user subscription (e.g SIM-SWAP, Number Verification, Carrier Billing, KYC family,...). Therefore having specific errors related to the concept of phoneNumber is the natural way to address error scenarios in a fully semantic and user-friendly way
Proposed as a child issue of #306

cc @rartych, @shilpa-padgaonkar, @bigludo7, @eric-murray

I don't like the proposal to maintain a parallel set of error codes dependent on whether the API used device or just phoneNumber as the optional "API subject" identifier to be used with 2-legged access tokens.
In all cases, the Device object could have been used, but for various reasons the simpler phoneNumber was used. And whilst someone may think that they do not want, for example, their API to support identifying mobile subscriptions from IP addresses, by accepting 3-legged access tokens they enable exactly that.
This is more than semantics. Having a parallel set of error codes complicates implementation logic for what is the same logical error, as the error to be returned is dependent solely on the options offered to identify the API subject. And I think application developers will also get confused if they are working with several APIs, as they end up implementing parallel but identical error traps for the "device" and "phone number" error codes.
Why, for example, should the error codes be different for:
POST /check
{ "device" : { "phoneNumber" : "+1234567890" } }

and
POST /check
{ "phoneNumber" : "+1234567890" }

I think it would be better if we could just agree on a common term that applies to both the "device" and the "subscription" (or "account" or whatever), both of which just identify the API subject. Given that application developers will have to get familiar with 3-legged tokens, and given that the ID token refers to device or subscription as the "subject", irrespective of how it was identified, I'd propose the term "API_SUBJECT" to replace both "DEVICE" and "PHONE_NUMBER".
So we could have (note that some of these are likely to become redundant shortly):
UNSUPPORTED_API_SUBJECT_IDENTIFIER
API_SUBJECT_NOT_FOUND
SERVICE_NOT_APPLICABLE_TO_API_SUBJECT
API_SUBJECT_CANNOT_BE_IDENTIFIED
UNNECESSARY_API_SUBJECT_IDENTIFIER
API_SUBJECT_IDENTIFIER_MISMATCH
In all cases, the exact error can be clarified in the message, which will only generally be read by a person and so can be used to resolve their confusion. Unlike the error code, which must be read and processed by a machine, which will not care about the exact name used.

After reviewing this with @PedroDiez, we think that certain standard HTTP codes would not need to be documented explicitly for every API operation. In particular those 4xx codes returned when the client sends something not specified as accepted by the API, as that is the standard expected behaviour:

405 METHOD_NOT_ALLOWED: In OAS only the supported methods are documented, so any other method not explicitly indicated will get 405, but we do not need to include those not supported methods in the spec with a 405 response.
406 NOT_ACCEPTABLE: OAS defines what it is accepted
415 UNSUPPORTED_MEDIA_TYPE: OAS defines the accepted content types

5xx errors are unexpected errors and quite standard as well, so we may discuss also whether they need to be explicitly indicated.
Regarding distinguishing error codes for device vs phoneNumber. there is a good point in @eric-murray's comment, but the term "API_SUBJECT" I don't think is friendly enough. We suggest to simplify the codes removing the references to "device" as generally the term "identifier" is enough in this context, and we also have the message to add additional details if necessary, so we could consolidate the codes as:

UNSUPPORTED_API_SUBJECT_IDENTIFIER -> UNSUPPORTED_IDENTIFIER
API_SUBJECT_NOT_FOUND -> IDENTIFIER_NOT_FOUND
SERVICE_NOT_APPLICABLE_TO_API_SUBJECT -> SERVICE_NOT_APPLICABLE
API_SUBJECT_CANNOT_BE_IDENTIFIED -> MISSING_IDENTIFER
UNNECESSARY_API_SUBJECT_IDENTIFIER -> UNNECESSARY_IDENTIFIER
API_SUBJECT_IDENTIFIER_MISMATCH -> IDENTIFIER_MISMATCH

If we decide to change the codes from Fall24 meta, for Spring25 one, that would imply a compatibility breaking change to released APIs. Probably, we should not release a new version just to adopt the new codes, but if a new version is released to include additional functionality, then the new codes must be adopted.

@jlurien
Yes, I'm fine with this proposal

@jlurien
I'm also fine with this proposal.

Thanks @eric-murray @patrice-conil, Regarding the inclusion or not of 500, 503 and 504, what is your preference?

@jlurien
I don't think explicitly including 500, 503 and 504 in the YAML is particularly useful, so my preference is to have these in the list of common errors that any API might return, but not list them in the YAML.

NOTE: This proposal has to be in line with https://github.com/camaraproject/Commonalities/pull/324

NOTE: This proposal has to be in line with #324

I can update that PR if these changes are agreed first. All that would change would be the error codes.

NOTE: This proposal has to be in line with #324

I can update that PR if these changes are agreed first. All that would change would be the error codes.

There are two parts Eric in this issue. It is fine to unify the second one within #324 with error codes are agreed. The proposal is the one commented by Jose.
An I can generate PR for the first part (Add within section 6.1 Standardized use of CAMARA error responses the following information:...., based on the agreement reached here)

@PedroDiez @eric-murray
Can we have the agreed changes included in https://github.com/camaraproject/Commonalities/pull/316 (marked as priority) or  should we have another PR (also with priority label) to smoothly proceed the changes?

@jlurien I don't think explicitly including 500, 503 and 504 in the YAML is particularly useful, so my preference is to have these in the list of common errors that any API might return, but not list them in the YAML.

@jlurien As @eric-murray I prefer to not include 50X errors in the YAML.

@PedroDiez @eric-murray Can we have the agreed changes included in #316 (marked as priority) or should we have another PR (also with priority label) to smoothly proceed the changes?

I think that regarding errors with regards to identifiers we can align on #324, adding the new ones (Indeed Eric already covered some of them)
UNSUPPORTED_API_SUBJECT_IDENTIFIER -> UNSUPPORTED_IDENTIFIER
API_SUBJECT_NOT_FOUND -> IDENTIFIER_NOT_FOUND
SERVICE_NOT_APPLICABLE_TO_API_SUBJECT -> SERVICE_NOT_APPLICABLE
API_SUBJECT_CANNOT_BE_IDENTIFIED -> MISSING_IDENTIFIER
UNNECESSARY_API_SUBJECT_IDENTIFIER -> UNNECESSARY_IDENTIFIER
API_SUBJECT_IDENTIFIER_MISMATCH -> IDENTIFIER_MISMATCH
Within #316 enhance the proposal with the pending errors (so I take the part of updating CAMARA_Common.yaml)
And associated with this issue enhance the section 6.1 also from my side
cc @rartych, @eric-murray WDYT?

After reviewing this with @PedroDiez, we think that certain standard HTTP codes would not need to be documented explicitly for every API operation. In particular those 4xx codes returned when the client sends something not specified as accepted by the API, as that is the standard expected behaviour:

405 METHOD_NOT_ALLOWED: In OAS only the supported methods are documented, so any other method not explicitly indicated will get 405, but we do not need to include those not supported methods in the spec with a 405 response.
406 NOT_ACCEPTABLE: OAS defines what it is accepted
415 UNSUPPORTED_MEDIA_TYPE: OAS defines the accepted content types

@jlurien @PedroDiez regarding this point, does it mean also that we have not to provide test definition against these codes?
There is one test for OTP API against 415 for example.
I tend to like consistency and no test what is not defined in the yaml but probably good to have a  global alignement.

After reviewing this with @PedroDiez, we think that certain standard HTTP codes would not need to be documented explicitly for every API operation. In particular those 4xx codes returned when the client sends something not specified as accepted by the API, as that is the standard expected behaviour:

405 METHOD_NOT_ALLOWED: In OAS only the supported methods are documented, so any other method not explicitly indicated will get 405, but we do not need to include those not supported methods in the spec with a 405 response.
406 NOT_ACCEPTABLE: OAS defines what it is accepted
415 UNSUPPORTED_MEDIA_TYPE: OAS defines the accepted content types

@jlurien @PedroDiez regarding this point, does it mean also that we have not to provide test definition against these codes?
There is one test for OTP API against 415 for example. I tend to like consistency and no test what is not defined in the yaml but probably good to have a global alignement.

Hi Ludovic,
have talk internally and this is our view:

As general rule, as not mandatory "statuses" are not needed to be documented in API Specs, there should not be tests against these codes. This would be a general rule for 405, 406 and 415.

Tests have to be aligned with API Specs so as to have tests for a specific "status", such "status" MUST be documented in the API Spec. This is something to be managed and agreed at WG level because maybe one of non-mandatory "status" at Commonalities level is relevant in the context of a given API and deserves to have a specific test (e.g. 422 is not mandatory but relevant for APIs with the device concept in the request).

In the specific case for OTP API, we also think 415 "status" and related test are not needed to be documented.

Thanks @PedroDiez
We're aligned !
@jlurien @rartych  perhaps worth to add a note in https://github.com/camaraproject/Commonalities/blob/main/documentation/API-Testing-Guidelines.md ?

Thanks @PedroDiez We're aligned ! @jlurien @rartych perhaps worth to add a note in https://github.com/camaraproject/Commonalities/blob/main/documentation/API-Testing-Guidelines.md ?

Yes, it makes sense. I have created a PR for that: https://github.com/camaraproject/Commonalities/pull/343


diffing (expected vs. actual) loosely equal objects has non-obvious output

I execute this code:
    const v1 = vector.Vector(1,1);
    const v2 = vector.Vector(1,1);
    assert.deepEqual(v1, v2);

with this command mocha --inline-diffs
and get this error:
  AssertionError: { x: 1,
  y: 1,
  magnitude: [Function: magnitude],
  mult: [Function: mult] } deepEqual { x: 1,
  y: 1,
  magnitude: [Function: magnitude],
  mult: [Function: mult] }
  actual expected

  1 | {
  2 |   "magnitude": [Function]
  3 |   "mult": [Function]
  4 |   "x": 1
  5 |   "y": 1
  6 | }

http://imgur.com/KbMoaix
^Image of output
Why am I not getting two different object with color highlighting?

What does it show when used without --inline-diffs?

same thing up to the 'actual expected' line, not even one object.
I actually solved this in a hacky way by asserting both the X and Y values of the vectors separately  but I'm still annoyed that I cannot assert a whole object and have to check 2 different values. The issue still stands

Thanks; I just wanted to confirm whether this is an issue with --inline-diffs specifically, or a more general issue; sorry I wasn't clearer about that to begin with.
So it sounds as though what's happening here is that our diffing system as a whole doesn't currently have a way to represent the difference between two objects that happen to deep loosely equal that get thrown by a strict equality comparison. Does that seem accurate to you? (We'll have to double-check the code and make sure that there isn't supposed to be a way that's handled that just happens not to be getting triggered correctly anymore; if there's not, we'll have to discuss how to represent "the expected and actual objects look the same except for having different object reference identities".)

Sounds accurate.
Also I'm pretty certain that it's a feature that's not triggered correctly and not a feature to be added since it does say "actual expected". Unless I misunderstood the error prompts' intention.

The "actual expected" prompt would typically guide viewing the difference between the expected value and the actual value when there's a difference to show. For instance:
it("dummy example", function() {
  assert.deepEqual([1,2,3], [0,1,2])
})

(On the CLI there would also typically be coloring of the actual/expected differences -- in --inline-diffs the coloring is the only differentiator.)
  1)  dummy example:

      AssertionError [ERR_ASSERTION]: [ 1, 2, 3 ] deepEqual [ 0, 1, 2 ]
      + expected - actual

       [
      +  0
         1
         2
      -  3
       ]

Looking more closely at the assertion in the original example, I'm getting a sense that this is actually objects that are not thrown because they're strictly unequal but rather because they're loosely unequal due to different function closures in their members, but the diff isn't showing any difference because the functions stringify the same. I'm not too familiar with the implementation of the diffing code though, so that's just a hunch...

Yeah, based on a quick set of test cases, either of those situations will get this lack of diff presentation:
var assert = require("assert")

it("strictly unequal but loosely equal", function() {
  assert.strictEqual([0,1,2], [0,1,2])
})

it("loosely unequal but same stringification", function() {
  assert.deepEqual(function foo() {}, function bar() {})
})

node_modules/.bin/mocha

  1)  strictly unequal but loosely equal:

      AssertionError [ERR_ASSERTION]: [ 0, 1, 2 ] === [ 0, 1, 2 ]
      + expected - actual

      at Context.<anonymous> (test\test.js:4:10)

  2)  loosely unequal but same stringification:

      AssertionError [ERR_ASSERTION]: [Function: foo] deepEqual [Function: bar]
      + expected - actual

      at Context.<anonymous> (test\test.js:8:10)

node_modules/.bin/mocha --inline-diffs

  1)  strictly unequal but loosely equal:

      AssertionError [ERR_ASSERTION]: [ 0, 1, 2 ] === [ 0, 1, 2 ]
      actual expected

      1 | [
      2 |   0
      3 |   1
      4 |   2
      5 | ]

      at Context.<anonymous> (test\test.js:4:10)

  2)  loosely unequal but same stringification:

      AssertionError [ERR_ASSERTION]: [Function: foo] deepEqual [Function: bar]
      actual expected

      [Function]

      at Context.<anonymous> (test\test.js:8:10)

(no coloring in terminal output of --inline-diffs mode to indicate difference either)

Thanks a lot for the help. Hope someone will take up the challenge to fix this.

Before someone can fix it, we'll need to determine what it should be showing.
This is why two different empty functions will throw.  It is because functions are treated as primitives (for better or worse).  I am not sure which coercions happen in which order to compare (function () {}) == (function () {}), which is false.

This is needs-feedback because we need a suggestion on how to display the difference.

It's been several years with no concrete suggestion. Per #5027 we're not looking to shake things up significantly. If someone wants to file a new issue with a clear suggestion on next steps, please do - that'd be great. Cheers!


Resolve LSLMarkerStream by predicate

As per LSL4Unity docs, the preferred method of resolving a stream should be use of a predicate (e.g. "type='EEG' and starts-with(name,'BioSemi') and count(info/desc/channel)=32").
We can ensure better robustness of streams by using more than just a Stream Name.
Part of this work should be establishing a pattern for the python stream to identify itself as (currently "name='PythonResponse'") but this could be opened up further for more use cases.

Now achievable using LSLServiceProvider.GetMarkerReceiverByPredicate


added codeEvaluator to execute code snippets extracted from the db.

Screencast : A python program to make an array of 30 equidistant points from 0 to 2*pi , and output the array as well as sine(array) is run on the backend and results are displayed in the webapp. The same can be used for all sorts of PSLab functions such as capture1, get_capacitance etc

Added modal to user-home.hbs to submit code and view the results
Created a controller to submit code-id to the API and process the returned results
linked the controller function to the execute icon against each script in the list on the user's homepage
Created API method to fetch a script from the database and pass it to codeEvaluate.py which will run the code in a sandboxed environment that includes all the functions of PSLab, as well as libraries such as numpy
Wrote codeEvaluator.py which runs scripts and returns the console output.

fixes #44 (backend API method + evaluator ).
fixes #47 (EmberJS controller and template for remote code execution
fixes #48 : Add a 'back' button in the add script page of the webapp

@viveksb007 It's part of the roadmap I have in mind.  If you like, I can add a tab to show the source code.
In the example I have shown the user executing his own script, but in the future there will be scripts common to all users with execute permissions, not edit.
Further down the line I plan to add features such as loops which will basically contain JS code. e.g., if you want a continuously running oscilloscope, this approach will not work because the python script won't finish executing. Therefore, the script has to finish and render web content that will then utilise the API call to execute single functions, and act accordingly. I already made some prototypes, but Niranjan might have other suggestions/plans.


Select ng-options with "group by" does not clear list on update (IE11)

Having  a <select> and ng-options with a group by clause, after an update of the list (e.g. using a filter) the rendered list (of <optgroup>/<option>) isn't cleared but gets longer and longer after each update (IE11).
<select size="20" ng-model="selected"
  ng-options="i as i.name group by i.cls for i in list | filter:filter">
</select>

Steps to reproduce:

Open https://jsfiddle.net/gk8xeupm/ with IE11
Type "foo" into the filter text field
Clear text field
Type "bar" into the filter text field
Clear text field
Watch the list becoming longer and longer

AngularJS: 1.4.8
Reproducable: always
Operating System: Windows 10
Browsers: IE version 11.11.10586.0

Wow, that looks completely broken. In my IE, the groups are already duplicated on load.

Thank you a lot for the super-quick fix! :sunny:

No problem! It was so broken I had to fix it immediately. The changes will land in 1.5.0 / 1.4.10.


Empty content editable raises an error

include karax/prelude
import karax/kdom

proc render(): VNode =
  buildHtml(tdiv):
    span(contenteditable = true):
      text "hello"

setRenderer render

If you compile the code above, focus the span and empty it (by backspacing or Ctrl+A backspace/delete) you'll get the following error:
Uncaught Error: Error: unhandled exception: /home/cristobal/.nimble/pkgs/karax-1.3.0/karax/karax.nim(674, 16) `same(kxi.currentTree, document.getElementById(kxi.rootId))`  [AssertionDefect]
Traceback (most recent call last)
/home/cristobal/.nimble/pkgs/karax-1.3.0/karax/karax.nim(710) at redraw.:anonymous
/home/cristobal/.nimble/pkgs/karax-1.3.0/karax/karax.nim(674) at karax.dodraw
/home/cristobal/.choosenim/toolchains/nim-1.6.12/lib/system/assertions.nim(38) at assertions.failedAssertImpl
/home/cristobal/.choosenim/toolchains/nim-1.6.12/lib/system/assertions.nim(28) at assertions.raiseAssert
/home/cristobal/.choosenim/toolchains/nim-1.6.12/lib/system/fatal.nim(54) at sysFatal.sysFatal
    unhandledException file:///home/cristobal/dev/test/app.js:5440
    raiseException file:///home/cristobal/dev/test/app.js:1271
    sysFatal_218103842 file:///home/cristobal/dev/test/app.js:5478
    raiseAssert_218103840 file:///home/cristobal/dev/test/app.js:5488
    failedAssertImpl_218103864 file:///home/cristobal/dev/test/app.js:5498
    dodraw_620757930 file:///home/cristobal/dev/test/app.js:7183
    HEX3Aanonymous_620757989 file:///home/cristobal/dev/test/app.js:7248
app.js:5440:11

From what I figured this happens because the virtual node's value stays the same while the actual node's value is modified, so when you empty the contenteditable, the real node.childNodes's also becomes empty, thus causing https://github.com/karaxnim/karax/blob/master/karax/karax.nim#L234 to fail.
A workaround I found was to store the real node.childNodes[0] in a variable before the content editable empties, and when it does we use appendChild to add it again but we change .data to an empty string, here's a demostration:
include karax/prelude
import karax/kdom

var tempChild: Node

proc render(): VNode =
  buildHtml(tdiv):
    span(id = "input", contenteditable = true):
      text "hello"

      proc onkeydown(event: Event, node: VNode) =
        let element = getElementById(node.id)
        if element.childNodes.len == 1:
          tempChild = element.childNodes[0]

      proc oninput(event: Event, node: VNode) =
        let element = getElementById(node.id)
        if element.len == 0:
          tempChild.data = ""
          element.appendChild(tempChild)

setRenderer render

Karax version 1.3.0 - Ubuntu 22.04.2 LTS

There are probably a lot of edge cases with contentEditable. Your workaround seems reasonable but I'm not sure how we'd integrate it into Karax to avoid this. Might be worth looking into how other frameworks do it


feat: clean string module lex string template

Description
mentioned #7650

Additional context
match string template with lex like import.meta.glob

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

after #7650 merge, it will focus on this

Ok, we can easily revert this one if there are regressions reports. Thanks for splitting the PR in two. Let's also merge it.


RFC: prototype of custom trailing metadata for status info

What does this Pull Request accomplish?
This shows what it would look like to return the status code as custom trailing metadata.
Why should this Pull Request be merged?
It shouldn't, it's just an RFC. If we did this for real, it would make sense to pass the ServerContext into the status helper methods and stop encoding the message as JSON.
What testing has been done?
Manually tested updated example:
(.venv) PS Z:\grpc-device\examples\nidcpower> python .\measure-record.py localhost 31763 PXI1Slot2
Error -1074135024: {"code":-1074135024,"message":"IVI: Invalid value for parameter or property.\n\nProperty: Measure When\nRequested Value: Automatically after Source Complete\nPossible Values: On Demand\n\nStatus Code: -200077"}

The new part is the "Error xxxx:" at the beginning.

Since mine has now submitted, can you pull it into yours? That way it'll be easier to spot the difference.

I can see how this would be cleaner. I can also see how we'd get the metadata in C#. This would allow us to remove a lot of json references that I had added. Is there any reason not to do this? @ccifra @astarche

I can see how this would be cleaner. I can also see how we'd get the metadata in C#. This would allow us to remove a lot of json references that I had added. Is there any reason not to do this? @ccifra @astarche

@dmondrik One potential issue: grpc-labview doesn't allow the client to access trailing metadata yet. However, given the level of support for other .proto language features like oneof, as well as scheduling factors I won't go into here, that may not be a deal breaker.

What do you consider are the advantages of this approach vs putting the status code / message in the Status object itself?  I could see us either putting device error information in the status error_details or the error_message.

What do you consider are the advantages of this approach vs putting the status code / message in the Status object itself?

With or without Brad's change, the message stays in the Status object itself. The question is where the numeric code goes.

What do you consider are the advantages of this approach vs putting the status code / message in the Status object itself? I could see us either putting device error information in the status error_details or the error_message.

The advantage of this approach is that it allows returning NI-specific status fields without overloading the gRPC-defined status fields.
There are two ways that a gRPC service can return the Status object:

The standard way is to return the status code and message using trailing metadata, as defined by https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md

grpc-status is the status code as decimal text.
grpc-message is the error message, percent-encoded.

The "richer error model" additionally returns a google.rpc.Status protobuf as trailing metadata grpc-status-details-bin.

The standard way only has two fields, and overloading them is problematic.

grpc-status is supposed to be one of these status codes: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md . Returning an NI-specific status code in this field would be ambiguous.
grpc-message is supposed to be a developer-facing, English error message. @dmondrik recently changed grpc-device to return a JSON string instead. When parsing the JSON string, the client needs to handle the case where grpc-message actually contains a developer-facing, English error message and not a JSON string.

The "richer error model" adds repeated google.protobuf.Any details which can be used to return additional data.
grpc-dotnet doesn't have an implementation of the "richer error model", but there is a 3rd party implementation that looks reasonable: https://github.com/nano-byte/grpc-rich-error
gRPC Python has an implementation of the "richer error model", but the APIs are marked "experimental".

What are the advantages of "richer error model" over "custom trailing metadata"?
"Richer error model" uses protobuf to encode the additional data, so you don't have to document "this field is an ASCII string" vs "this field is a URL-encoded string" vs. "this field is a binary protobuf with this message type", etc.
Custom trailing metadata has two data types: ASCII strings and binary.

I don't see a problem with this proposal. Thanks for taking the time to research and describe it. Comparing custom-tralling-metadata to rich-error-model: rich-error-model is a bit cleaner, but depending on external libraries and/or experimental features for a common workflow (that we're already API-rev-ing) seems like a serious problem to me. json-in-the-message is nice and intuitive for someone that "didn't read the help" and "didn't ask to deal with http2 headers", but I appreciate that we don't want to depend on an unconventional try/parse for something like this.
Could also do either/both/all-three (not necessarily all at once) as far as I'm concerned. We could make a specific recommendation, but users could choose an alternative if they evaluate the tradeoffs differently.

given the lack of support for the richer error model in Status I think this is a good approach.  In the future we could always augment the Status with additional information if needed.

@bkeryan I'll take this and run with it.

I had sent an email on Friday but I'll copy it here for posterity. Despite our initial enthusiasm for this approach, it doesn't seem feasible to me now. Here are 2 issues with testing. The first may be overcome but the second seems like a deal-breaker.

Unit tests invoke the server directly with a ServerContext. There is no API by which I can inspect it on return to see that it added to the trailing metadata. The implementation of that data is private with explicitly declared friend classes, so I can’t just subclass it like it might be possible if the data had a protected access method. Does this imply the context somehow needs to be mocked so we can expect a call with certain parameters?
The system tests that use the experimental client stuff hides the ClientContext, which is what I’d need access to in order to get the metadata that the server call contained. I see no good way other than ripping it all out.

@astarche replied with: Aw bummer. (2) seems especially bad. That’s the sort of use case we should be making better by using grpc status so that it’s auto-converted to language-specific exception types. This allows the failure to bubble up through abstraction layers without needing to pass context/status in/out. We could catch, enrich, and rethrow a different exception from the generated client code. That’s could be reasonable, but we could to that with status-in-the-response as well.
FYI @ccifra


Refreshing a page logs you out or leads to 404

I think refreshing any page is problematic -- I think it removes your credentials (the Role that is currently stored in the App component state) causing you to log out/throw 404 error.

this is done


Custom Function Massive Memory Leak

Description
When data is forwarded through a network of Custom functions many times, the python process consumes an increasing amount of CPU and memory resources, even after the forwarding is complete. This resource consumption is sufficient to render the computer unusable, so beware when attempting to reproduce.
Environment info (Required)
----------Python Info----------
Version      : 3.6.4
Compiler     : GCC 7.2.0
Build        : ('default', 'Jan 16 2018 18:10:19')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 9.0.1
Directory    : /opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/pip
----------MXNet Info-----------
Version      : 1.1.0
Directory    : /opt/conda/envs/pytorch-py3.6/lib/python3.6/site-packages/mxnet
Commit Hash   : 07a83a0325a3d782513a04f47d711710972cb144
----------System Info----------
Platform     : Linux-4.13.0-32-generic-x86_64-with-debian-stretch-sid
system       : Linux
node         : 243bb3cedee3
release      : 4.13.0-32-generic
version      : #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018
----------Hardware Info----------
machine      : x86_64
processor    : x86_64
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                12
On-line CPU(s) list:   0-11
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz
Stepping:              1
CPU MHz:               3600.001
CPU max MHz:           4000.0000
CPU min MHz:           1200.0000
BogoMIPS:              7200.00
Virtualization:        VT-x
Hypervisor vendor:     vertical
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              15360K
NUMA node0 CPU(s):     0-11
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0254 sec, LOAD: 0.5580 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.1541 sec, LOAD: 0.0660 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.1920 sec, LOAD: 0.1901 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.1562 sec, LOAD: 1.5483 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0516 sec, LOAD: 0.1203 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0299 sec, LOAD: 0.0624 sec.

Package used (Python/R/Scala/Julia):
I'm using Python 3.6
Build info (Required if built from source)
Pip Install
Error Message:
No error message, but after running the below code (to be perfectly clear this is after the code has finished, not during execution) top shows that the python process is actively consuming 300% CPU resources and 100% Memory resources.

Minimum reproducible example
import mxnet as mx
from mxnet import gluon, autograd, nd
from gluon.nn import Conv2D

class Binarize(mx.operator.CustomOp):
    def forward(self, is_train, req, in_data, out_data, aux):
        """Implements forward computation.

        is_train : bool, whether forwarding for training or testing.
        req : list of {'null', 'write', 'inplace', 'add'}, how to assign to out_data. 'null' means skip assignment, etc.
        in_data : list of NDArray, input data.
        out_data : list of NDArray, pre-allocated output buffers.
        aux : list of NDArray, mutable auxiliary states. Usually not used.
        """
        x = in_data[0]
        #y = nd.sign(x)
        y = x
        self.assign(out_data[0], req[0], y)

    def backward(self, req, out_grad, in_data, out_data, in_grad, aux):
        """Implements backward computation

        req : list of {'null', 'write', 'inplace', 'add'}, how to assign to in_grad
        out_grad : list of NDArray, gradient w.r.t. output data.
        in_grad : list of NDArray, gradient w.r.t. input data. This is the output buffer.
        """
        x = in_data[0]
        dy = out_grad[0]
        dx = dy*(nd.abs(x) <= 1)
        self.assign(in_grad[0], req[0], dx)

@mx.operator.register("binarize")  # register with name "binarize"
class BinarizeProp(mx.operator.CustomOpProp):
    def __init__(self):
        super(BinarizeProp, self).__init__(True)

    def list_arguments(self):
        #  this can be omitted if you only have 1 input.
        return ['data']

    def list_outputs(self):
        #  this can be omitted if you only have 1 output.
        return ['output']

    def infer_shape(self, in_shapes):
        """Calculate output shapes from input shapes. This can be
        omited if all your inputs and outputs have the same shape.

        in_shapes : list of shape. Shape is described by a tuple of int.
        """
        data_shape = in_shapes[0]
        output_shape = data_shape
        # return 3 lists representing inputs shapes, outputs shapes, and aux data shapes.
        return (data_shape,), (output_shape,), ()

    def create_operator(self, ctx, in_shapes, in_dtypes):
        #  create and return the CustomOp class.
        return Binarize()

class BinarizeBlock(gluon.HybridBlock):
    def hybrid_forward(self, F, x):
        return F.Custom(x, name='binarize', op_type='binarize')

class BinaryConv(Conv2D):
    def hybrid_forward(self, F, x, weight, bias=None):
        bin_w = F.Custom(weight, name='binarize', op_type='binarize')
        return super(BinaryConv, self).hybrid_forward(F, x, weight=bin_w, bias=bias)

net = gluon.nn.Sequential()
net.add(BinarizeBlock())
net.add(BinaryConv(channels=20, in_channels=3, kernel_size=5, activation='relu'))
net.collect_params().initialize(mx.init.Xavier(magnitude=2.24), ctx=mx.cpu())
net.hybridize()

test = nd.random.normal(shape=(256, 3, 224, 224))
for i in range(10000):
    out = net(test)

Steps to reproduce

Run the above code, but beware that it may render the machine unusable due to the extremely high resource consumption.

What have you tried to solve it?

I can't think of any reason this should be happening. That the CPU continues running even after the for loop above finishes implies there is an underlying bug.

This is because the forward loop doesn't wait for all computation to finish. ndarray is executed asynchronously. To address it, add nd.waitall() after out = net(test). Usually when you need to monitor the training/testing accuracy and performance of models, you'd call array.asnumpy(), which is a blocking function, so it's not necessary to manually add additional nd.waitall()


Extend zenstack numeric functions to decimal

These https://zenstack.dev/docs/reference/zmodel-language#number should apply to Int, Float, and Decimal.
Example:
model Example {
  decimalNumber Decimal @gt(0) // doesn't work
}

Fixed in 1.0.0-beta.21


Some improvement and bug fixing

Hello @Adrihein, Thanks for the pull request.
Can you check Travis CI build outputs? It says, unicode is not defined in Python3.


Dynamoose error on create 'name is undefined'

I am using version 0.7.0 of Dynamoose, When I invoke the create function from the Dynamoose model the library is returning the following error. I have tried just about everything and cannot seem to be pinpointing what is causing this.

TypeError: Cannot read property 'name' of undefined
    at NewModel.Model.put (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/dynamoose/lib/Model.js:202:72)
    at Function.Model.create (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/dynamoose/lib/Model.js:247:16)
    at Function.NewModel.create (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/dynamoose/lib/Model.js:99:18)
    at createAircraft (/Users/chrisrijos/SideProjects/aircraft-api/server/api/Aircraft/aircraft.controller/createAircraft/index.js:6:14)
    at Layer.handle [as handle_request] (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/express/lib/router/layer.js:95:5)
    at /Users/chrisrijos/SideProjects/aircraft-api/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/Users/chrisrijos/SideProjects/aircraft-api/node_modules/express/lib/router/index.js:335:12)

@chrisrijos Can you share your Schema?

`'use strict';
var AWS = require('aws-sdk');
var dynamoose = require('dynamoose');
var chalk = require('chalk');
var AircraftSchema = dynamoose.Schema({
aircraftId: {
type: Number,
hashKey: true
},
model: {
type: String,
rangeKey: true,
index: true,
required: true
},
ownerId: {
type: String,
rangeKey: true,
index: true,
required: true
},
year: {
type: String
},
price: {
type: Number,
required: true
},
images: {
type: [String]
},
engine: {
type: String
},
type: {
type: String,
required: true
},
address: {
type: Object,
address_line: {
type: String
},
state: {
type: String
},
zip_code: {
type: Number
}
},
created: {
type: Date
},
throughput: {
read: 10,
write: 10,
timestamps: true
}
});
const Aircraft = dynamoose.model('Aircraft', AircraftSchema);
module.exports = Aircraft;
`
here is the schema @brandongoode

I experienced a similar thing. Fixed by rtfm, and var AircraftSchema = new dynamoose.Schema({})

@joawan even leaving a blank schema is still giving me the same problem. The error appers when CRUD functions are invoked from Dynamoose models.

Yes, I had the same thing. It was due not having new dynamoose.Schema({...}) and looking at the schema you provided, you are also missing new.

@joawan you were correct, sorry I overlooked it. Thank you, issue should be closed, this was support related and not an issue.


More Cloud Haskell packages (mainly transports).

cc @facundominguez

Please ask @facundominguez to confirm adding these under his name or add them under yours.

Sounds good to me.

Thanks for letting us know!


[Bug]: Can't push on windows 10

Describe the bug
I set up the plugin but I can't push on the remote branch. With a command line I can though (both cmd.exe and git bash)
Do you know how to solve this ?

Relevant errors (if available) from notifications or console (CTRL+SHIFT+I)
Cf bug.png

Steps to reproduce
Install the plugin and git on windows and try to push a new change
Expected Behavior
No response
Addition context
No response
Operating system
Windows
Installation Method
None
Plugin version
latest

Did you follow the documentation?

Yeah
On Sun, 16 Jul 2023, 23:32 Vinzent, @.***> wrote:

Did you follow the documentation
https://publish.obsidian.md/git-doc/Authentication#HTTPS?
—
Reply to this email directly, view it on GitHub
https://github.com/denolehov/obsidian-git/issues/561#issuecomment-1637194719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKQOCXVVDPC5FFXBNPYLADXQRMX5ANCNFSM6AAAAAA2ME37XQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Reading the documentation I don't see where this is a supported feature on Windows. That said, git bash is a set of libraries written on top of Windows (reminds me of cygwin really) and you might be able to just setup some of those in your path and see if that works.

Reading the documentation I don't see where this is a supported feature on Windows. That said, git bash is a set of libraries written on top of Windows (reminds me of cygwin really) and you might be able to just setup some of those in your path and see if that works.

Thanks for the reply, I said cmd.exe and git bash I know that git bash isn't mentioned on the documentation but I wondered if it was useful information

So I had the same issue and I did two things which got it solved (not sure which one is the actual solution, maybe both):

Make sure the SSH key is named id_[xxx] (not sure if that is actually important).
Follow these instructions to make sure ssh-agent starts for bash.

Hopefully this helps! Maybe try (2) first, I think that's the actual solution.


choose() takes a bool, chooseAmong() takes a size_t; also fix a numbe…

…r of bugs in the original
This is a continuation of https://github.com/D-Programming-Language/phobos/pull/3269 per a discussion with @WalterBright. Instead of defining choose with size_t and any number of ranges, this defines choose for the frequent case (a la Select etc) and defines chooseAmong for arbitrary number of ranges, defined in terms of choose. Implementation comes 30% shorter.
There are a few bugfixes, particularly in the copy semantics.

Is it worth making the boolean parameter lazy? I've only really ever seen it used for enforce, and it kills inlining, but it may be worth considering. Also, how about an overload that takes a predicate function for dynamic choosing?

condition can't be made lazy without significant cost (both ranges must be copied into this) for an unlikely use pattern

acted on feedback

How's the unit test coverage? I.e. at 100%? Otherwise, LGTM.

@WalterBright coverage is 100%


Can't import the css

Describe the bug
When trying to import the css I get an error.
[vite] Internal server error: Missing "./dist/vue-stripe-menu.css" export in "vue-stripe-menu" package

import 'vue-stripe-menu/dist/vue-stripe-menu.css'

I think you have to define it as an export or something like that (not an npm expert)

This is using the 3.0.0-beta.1 btw

Oh, you're too fast :D
I uploaded the beta, and I'll try after work to check it on Vue 3 and Nuxt. Bo I've been keeping this PR open for too long, and I feel like I've broken everything I can break :)

Will be fixed by #251


Determinig supportsVideoPerformanceMetrics issue

This code should determine wether the browser supports these type of metrics or not. This if statement returns the wrong value if both getVideoPlaybackQuality and (webkitDecodedFrameCount, webkitDroppedFrameCount) are supported. In case of both being there it should also return true.
I'm trying to run these tests at the moment with a browser which supports both, and I'm not able to because of this.

Thanks for pointing this out, it's been fixed in the recent commits.


[dataprotection] Updated documentation for adhoc-backup and validate restores

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

dataprotection


We should run generated quickstarts

We compile generated quickstarts, but we never run them. https://github.com/googleapis/google-cloud-cpp/blob/ac535f71e6c1baa3a81caa1fb565d5d0e29e1133/ci/etc/quickstart-config.sh#L25-L32
It will also take some effort to figure out what arguments should be used, and whether any setup is necessary to run a given quickstart.

Proposal
I will change the generator to create test targets for the quickstart programs.  These test targets will:

Contain the integration-test tag so they are excluded from builds or build steps only running unit tests.
Contain the quickstart tag so they can all be executed in parallel by the build system (CMake or Bazel).
The test targets arguments will be described as environment variable names
A driver script will convert these arguments to the value of these variables configured for the CI build
Using this extra indirection allows us to run locally in our own projects

Overview
A build target for CMake may look like this:
include(CTest)
if (BUILD_TESTING)
    add_executable(filestore_quickstart "quickstart/quickstart.cc")
    target_link_libraries(filestore_quickstart
                          PRIVATE google-cloud-cpp::experimental-filestore)
    google_cloud_cpp_add_common_options(filestore_quickstart)
    add_test(
        NAME filestore_quickstart
        COMMAND cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake"
                $<TARGET_FILE:filestore_quickstart> GOOGLE_CLOUD_PROJECT)
    set_tests_properties(filestore_quickstart
                         PROPERTIES LABELS "integration-test;quickstart")
endif ()

For Bazel it may look like this:
sh_test(
    name = "quickstart_test",
    srcs = ["//bazel:quickstart-runner.sh"],
    args = [
        "filestore",
        "GOOGLE_CLOUD_PROJECT",
    ],
    data = ["//google/cloud/filestore/quickstart:quickstart"],
    tags = [
        "integration-test",
        "quickstart",
    ],
)

The generator will include this code in the scaffold, we only need to edit the names of the environment variables.
Details
I expect I will use the generator to update most libraries, I will run the generator with the --scaffold option, then use a loop to revert the changes to all files except for ${library}/{CMakeLists.txt,BUILD.bazel,quickstart/BUILD.bazel}.  Then I will revert any unwanted changes. I anticipate I will need to enable a number of services and update our project configuration before sending the PR.
Differences from the current quickstart tests
We run the quickstart programs for different reasons:

When we change the quickstart program or the library we want to verify it still compiles and runs
We want to verify that using the CMake, Make, and Bazel files in the quickstart directory, as described in the README.md produces a working program.
When we install the libraries we want to verify the installed artifacts are usable.

I propose that we only solve the first problem with this PR.  We have existing builds to verify the quickstart programs compile when the library is installed, e.g., https://github.com/googleapis/google-cloud-cpp/blob/62cb8319e40f97858bd821169ec36d31a66445bb/ci/verify_quickstart/CMakeLists.txt#L20.
I do not think we need to verify the quickstart programs run when compiled as part of the project and also run when compiled as standalone programs.
Future Work
We need to refactor the builds to use a similar scheme for hand-crafted libraries.

This is now done.  We could improve some of the quickstarts tests (but the quickstarts themselves are Okay) by having a test organization and test folders, but they are good enough as-is.


Run Tests behaviour inconsistent when using multiple test extensions

Issue Type: Bug
The "Run Tests" button at the top of the Testing window does not update tests correctly when using multiple test extensions. I've tried various extensions and I've seen two types of behaviour:
Either tests are marked as "not yet run" for skipped tests, or may be shown as "queued" for skipped/passed tests.
(The same behaviour is observed if you run all tests via "Test: Run All Tests" command instead of clicking the button.)
In code terms, "run.skipped()", "run.passed()", "run.failed()" don't update the UI consistently when there are multiple test extensions and you click Run Tests. They always update correctly if each extension runs its tests individually, i.e you click on a node instead of clicking the Run Tests icon.
Steps to Reproduce:
Either:
(a) try this simple example project that requires Microsoft java/python extensions to be installed, or
(b) follow these steps:

Install any two testing extensions that use the native test api. It does not matter which.  As long as you end up with two top level nodes in the testing UI, one for each extension. (To keep things within the world of MS-authored extensions, my example project uses java tests and python tests.)

Run the top-level test nodes individually, one at a time, e.g. Java tests then Python tests. They will behave exactly as expected, with no issues.

Now click the "Run Tests" icon to run tests from both extension at once. In my testing, (dependent on the extension used, test setup etc.) some tests will show as EITHER "not yet run" (for skipped tests) or "queued" even though the test run has ended (for skipped/passed/failed). Additionally, it can also vary per test run which icon gets displayed. Some tests runs may work perfectly and the next one fail.

In the specific case of the example project, it will fail to update skipped tests correctly in the UI for either OR both the python/java skipped tests when the Run Tests icon is clicked. (It's inconsistent, you may see different behaviour if/when you restart vscode or add/remove tests.)
The problem seems to have something to do with run.skipped()/passed()/failed() not always taking effect in the UI when multiple testing extensions are installed, but only when running tests from both extensions at the same time.
VS Code version: Code 1.67.1 (da15b6fd3ef856477bf6f4fb29ba1b7af717770d, 2022-05-06T12:39:22.915Z)
OS version: Linux x64 5.16.19-76051619-generic
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz (16 x 2200)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 1, 1

Memory (System)
31.13GB (1.97GB free)

Process Argv
--unity-launch --enable-proposed-api genuitecllc.codetogether --crash-reporter-id 9f251d69-7a90-4811-8707-b8be88ea80ec

Screen Reader
no

VM
21%

DESKTOP_SESSION
pop

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
pop

XDG_SESSION_TYPE
x11

Extensions (8)

Extension
Author (truncated)
Version

python
ms-
2022.6.1

vscode-pylance
ms-
2022.5.1

java
red
1.6.0

vscode-java-debug
vsc
0.40.1

vscode-java-dependency
vsc
0.19.1

vscode-java-pack
vsc
0.22.4

vscode-java-test
vsc
0.35.0

vscode-maven
vsc
0.35.1

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
pythonvspyl392:30443607
pythontb:30283811
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
pythonvsnew555:30457759
vscscmwlcmt:30465135
cppdebug:30475216
vsclangdf:30486550

Thanks for the issue! I will try to reproduce it. It would also be helpful if you can take a screen recording of what you're describing so I can know we hit the same thing.
/gifPlease

Exhibit A:
gif of run all tests for example project using MS extensions for python and java.
demonstrates that skipped tests are shown as "not yet run" (when they should show as skipped) if you run all tests from both extensions at the same time.
i.e. the UI is not updating when run.skipped() is called.

Exhibit B:
gif of multi-root project, using 2x the previously linked example project loaded in a multi-root workspace.
again using MS extensions for java and python
there seem to be a few issues with multi-root and two testing extensions.
demonstrates that:

the test UI does not update (ever) for run.skipped()
the test run does not stop when run.end() is called (even though the UI says 100% at the bottom)
the test UI only updates for run.passed() when the test run is manually stopped
if you manually stop it, the tests update their result to the UI, EXCEPT for skipped tests
you cannot manually stop the run, you have to restart vscode

To remove java from the equation, I also tried it with the ms.python extension and a marketplace extension and removing all java extensions. I get the same results.
So it looks like the vscode api has issues with the UI and run object, i.e. run.skipped() (and run.end() in the case of multi-root) are not being honoured by the Testing UI when there are 2x test extensions running all tests. (Notably, the run methods are synchronous, but the UI update is not.) Also, just to repeat, the problem does not manifest if you run tests for each extension separately, only when running all tests from both extensions.

btw, i notice that test.failed() does seem to work in all cases - not sure what's different about that method?

Thanks again for the issue, sorry it's taken so long to get to.  Are you still seeing this? I tried to reproduce it in the sample extension, but didn't hit any problems:
https://user-images.githubusercontent.com/2230985/194600266-e7db2914-4727-4a68-a1f1-99c836b265c0.mp4

Yes I still get the same problems.
I've also tried it on a windows VM and I get the same problems there too, so it's not just on one PC.
To recreate:

Click the ellipsis and "Clear All Results"
Click "Run All Tests"

In your video you did not "Clear All Test Results" before you click "Run all Tests", so you are seeing the status of a previous run.

Hey @connor4312, this issue might need further attention.
@jimasp, you can help us out by closing this issue if the problem no longer exists, or adding more information.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


audioOnly with hls doesn't work

Current behavior
Setting audioOnly option when feeding an hls playlist doesn't play only the audio. It still plays the video.
Reproduction steps
Set the audioOnly option to true.
Expected behavior
Video Still plays
Platform
Which player are you experiencing the problem on:

Android ExoPlayer

Video sample
Here is the example player:
<VideoPlayer
        source={{ uri: 'https://dhr9tsl74k2dl.cloudfront.net/102_Heath_Harmison_audio_only_test.m3u8' }}
        poster={'https://baconmockup.com/300/200/'}
        selectedAudioTrack={{
          type: "name",
          value: "English"
        }}
        audioOnly={true}
        onProgress={onProgress}
        progressUpdateInterval={1000}
        playInBackground
        ignoreSilentSwitch='ignore'
        paused={paused}
        onBuffer={onBuffer}
        onEnd={onEnd}
        onLoad={onLoad}
        volume={volume}
        style={styles.video}
        resizeMode={'contain'}
        ref={ref => onRef(ref)}
      />

I've tried setting the selectedAudioTrack. I've tried adding a specific 'English' audio track to the hls file, I've tried with and without selectedAudioTrack, with and without the poster. Nothing will play just audio for me. It always loads and plays the video tracks.
Anyone using hls and can play audio only?
I have a feeling I'm not configuring the playlist correctly.

Hls can't select audio only stream. The documentation for the PR referenced here should probably be revised

Hi. I'm facing with same problem. I want to show the video only at certain times but i can't control that with audioOnly or giving poster.


Binary input vectors format

Hi,
Do you have a tool to convert kaldi's vector format to your binary input vectors format?
Thanks

No, Java converter only accepts text format for now. I will probably make it directly working with binary kaldi format. But I cannot give a timeline.

Sorry I misunderstood your question, I though you were mentioning about neural network formats, my bad. Unfortunately  answer is still no and I think it is a good idea provide this. I will have a look.

Yes, I used the cpp version. It only accept binary input format. There are text and binary pair input samples in your data/ directory, but I'm not aware of any tool used to convert them. It would be great if you could provide the tool, or just make the fast-dnn to accept text input format.
Thanks


I want to choose a shipping method So it may get calculated into the cart totals

Context
We must be able to select the shipping method in a cart as it may affect the totals of the cart. Each shipping method may have a different value.
Acceptance Criteria

In a Cart Page I can see the possibility to select the shipping methods.
I can select only the methods available for me according to Shopware logic.
After I select the shipping method then Shipping Cost and Totals get recalculated.
Default shipping method is set by default. : )

logic exist, but it will not be implemented in default-theme


Added simple test to show registration failed

Sometimes error block text is "Invalid user id", but sometimes error block contains text that username is empty


Add i64-fresh!

i64-fresh! is a primitive that allows you to get new integers each time it is called.
It's bad from a semantic point of view- running a rule multiple times gives different results!
However it is useful in practice.
Lets not merge yet until we are sure it is necessary.

Are you using it for symbol generation?

Yeah, we need fresh integers as unique ids for an experimental version of eggcc.

Nice.
If it's helpful at all, happy to go into the way I generated a unique integer per node, when generating Python code in the e-class. This is an example of how it's tested and the generated output.
You probably already looked into that sort of method tho.

Closing for now, as we are not using it anymore
I think that something has gone quite wrong if you need this


[WIP] Implement high level forward sampling API

This PR closes #163.
It is based on top of #161.
It aims to implement two high level API functions:

[x] sample_prior_predictive
[x] sample_posterior_predictive

Sample prior predictive
sample_prior_predictive will take a Model and the desired sample_shape, and returns draws for every:

untransformed distribution
observed distribution
deterministic
present in the model's control flow. It will rely on pymc4.flow.evaluate_model to draw samples from the Model instance.

While the model is evaluated, the distributions' observed values will be ignored by default. This behavior can be overiden, and the supplied observed values will be used without any checks to their validity.

Sample posterior predictive
sample_posterior_predictive will take a Model and a Trace of sampled values. There should be two supported scenarios:

The Trace could be the output from pm.sample, and thus will include values for untransformed distributions, deterministics and ONLY the values on the entire real line for the auto-transformed distributions (i.e. values for __log_dist will be stored but not dist).
The Trace could be part of the output from a sample_prior_predictive call, and will not include any transformed distributions.

The other requirement is that the observed values of a distribution must be taken into account to determine the distribution's shape. For example, in a glm:
@pm.model
X = np.empty((n_observations, n_features))
y = np.empty((n_observations,))
def glm():
    beta = yield pm.Normal("beta", 0, 1, plate=n_features)
    obs = yield pm.Normal(
        "obs",
        tf.tensordot(tf.convert_to_tensor(X), beta, axes=[[1], [0]]),
        0,
        observed=y
    )

The obs distribution shape will be inferred from the parameters to be (n_observations), which matches with y.shape.
In a simpler scenario:
@pm.model
y = np.empty((n_observations,))
def glm():
    beta = yield pm.Normal("beta", 0, 1)
    obs = yield pm.Normal("obs", beta, 0, observed=y)

The distribution shape of the obs's variable will be (). The observed=y should fully determine obs's shape in sample_posterior_predictive.
To do this, we will use a combination of a new executor (like pymc4.flow.transformed_executor.TransformedSamplingExecutor) and either overwriting the observed _distribution attribute or using tf.Independent to change the batch_shape.

Progress

[x] sample_prior_predictive
[x] sample_prior_predictive tests
[x] sample_prior_predictive docs
[x] sample_posterior_predictive
[x] posterior predictive executor
[x] posterior predictive trace handling
[x] sample_prior_predictive, executor and trace handling tests
[x] sample_prior_predictive, executor and trace handling docs

It looks like trace handling wont be an issue. The TransformedSamplingExecutor already handles the execution when we feed in samples from the prior or from the traced posterior. It does so with the values kwarg, like in the following examples:
prior = pm.sample_prior_predictive(model(), 10)
_, state = pm.evaluate_model_transformed(model(), values=prior)

trace, stats = pm.inference.sampling.sample(model(), 10)
_, state = pm.evaluate_model_transformed(model(), values=trace)

The evaluated state has the correct auto transformed values for both cases.

I think that this is ready for review. The patch's code coverage is high (97%) and the only two lines missed are not vital.

On second thought, I can make a slight change to assert_observations_compatible_with_distribution_shape to get the patch coverage up to 100%. I'll get it pushed tomorrow

Thanks @colcarroll! I'll merge then so people can start to use the API.


[Doc] Update content for pre-defined roles

Description:
Not fulfilling checklist items:
Is the content up to date and accurate?
Related task:
Create roles
Issue:
The creator and publisher roles are available by default. Docs mention creating same new roles with permissions.
Proposed Solution:
State that creator and publisher roles are added by default with the listed permissions. Update screenshots
Doc Link:
https://docs.wso2.com/display/AM210/Quick+Start+Guide#QuickStartGuide-DeepdivingintotheAPIManager
Suggested Labels:
Bug, Docs, 2.1.0
Affected Product Version:
2.1.0

We will not be fixing this as this issue is based on an older version of the product.


[Bug Report] el-progress：when the length of the progress text exceeds 45px,it will wrap

Element UI version
2.15.7
OS/Browsers version
windows10 /Chrome 100.0.4896.60
Vue version
2.6.14
Reproduction Link
https://codepen.io/qjxhsxc/pen/mdpMaqr?editors=1111
Steps to reproduce
in the nomal,when the length of the progress text exceeds 45px,you can see the effect.  eg:50.12%
What is Expected?
not wrap
What is actually happening?
wrap

el-progress add style white-space: nowrap


feat: decide on explicit requirements first

Fixes https://github.com/mamba-org/resolvo/issues/60
An implementation of the ideas discussed in #60. This PR opts to decide on requirements from the root over any requirement that the root does not directly depend on. This has the effect that the highest versions of requirements from the root are most likely picked instead of them being constrained by transitive dependencies.
The test_explicit_root_requirements test shows this in action. With the code before this PR the test would result in
a=1 # root requirement
b=2	# transitive requirement
c=1 # root requirement

whereas now the result is:
a=1 # root requirement
b=1 # transitive requirement
c=5 # root requirement

Note that the root requirements are optimized at the cost of the transitive requirement.

[x] I still have to test what the impact on performance is for this PR.

I used the attached notebook to generate the following images to get a better idea what the performance impact of this method:
This shows that when running on a large set of examples with single requirements there is no real difference with the code from main.

This shows the differences in solve times for individual packages:

I conclude that at least for solving for specific solvables there is no noticable performance difference. 👍
But it would be good to profile this when solving for multiple requirements at the same time which will likely have a larger impact. Ill try that later.

I modified the benchmark program to select 1000 (deterministic) random set of requirements from the snapshot. I think this provides a better overview of what is going on.

These results show that on average solving becomes slower and although there are some cases that become (significantly) faster overall the solver becomes slightly slower (and in some cases significantly so).
I am a little unsure what to do. These changes also result in "better" outcomes where the root requirements are optimized. So I'm inclined to merge this.
Thoughts? @jjerphan @wolfv

Hi @baszalmstra,
Thank you for posting those results. Let me block some time this week so that I can review it.

I have not dived into the implementation, I am just looking at the second results given in https://github.com/mamba-org/resolvo/pull/61#issuecomment-2289620394.

I am a little unsure what to do. These changes also result in "better" outcomes where the root requirements are optimized. So I'm inclined to merge this.

I am also unsure about what to do here. Functionally, this is interesting, but do we want to have this new behavior be the default if some users know regression? Could this be introduced as a new alternative strategy?

Yeah, perhaps we can abstract the decision making logic and allow users to inject certain strategies.

We ran into this again today with pixi.
If you solve for python ~=3.10.0 and pytorch >2,<3 you get the CPU version of pytorch regardless of whether CUDA is available. When you change the pytorch requirement to 2.3.1 you get the CUDA enabled version.
The reason this happens is that there are lots of pytorch variants available so the solver will decide on it very late. Before it decides on pytorch it will decide on an openmp implementation and it will pick one that makes any CUDA enabled pytorch version incompatible. This is not what we want and it's also very hard for a user to make it do the right thing without messing with build strings.
I am therefore inclined to fix-up this PR and merge it, even though the performance might degrade a little. I am quite confident that once we merge #37 the performance regression introduced here will no longer be an issue anyway.

Up to you, @baszalmstra. I will come back to resolvo when I can.


Update German locale

I fixed the German locale

It's called "Straße" (not "Strasse", except in Switzerland where there is not Eszett (ß))
Maybe you want to include different locales for different countries (en-US, en-AU, de-DE, de-CH, ...)?
"Promotionscode" (promotional code) is rather unusual, better use "Gutschein" (coupon, voucher)
"Mein Warenkorb 2" (my shopping cart 2) => Seriously guys? Nobody noticed that?
"BundesLand" => "Bundesland". Because that's how you write it. ;)
"Versandkosten werden geholt" (Shiping fees are being taken (?!)) sounds rather unsual => "Versandkosten werden berechnet" (...are being calculated)

Source: Am German.

I opened this PR 9 days ago. Is this project unmaintained?

No it's not! We've just been very busy in the last couple of days, we'll be merging pull requests early next week!

Just merge the pull request, it will be pushed to production in our next deployment!


[Request] Add support for Aurelle Panel Square

Hi
Could you please add support for Aurelle Panel Square?
Product ID:  LTC014
Device ID: 544
Profile ID: 49246

Hi @Blacksmit82, I added it to our todo list.

I have the Aurelle Square (30x30 cm) and it identifies as this:
Product ID: LTC013
Device ID: 544
Profile ID: 49246
Could that be added as well?

Hi! It would be amazing if the circular (normal?) one could be added to! I saw the square one is already present :))
Product ID: LTC016
Service ID: 544
Profile ID: 4926

All are now added to my todo-list.

@sebbebebbe
It looks like all are similar models ...
LTC012, 015, 013, 016 are added in app.json under LTC015
013, 014 and 016 should be able to be added to that product array. Only thins is that they actually look different. Only way to manage that is to create seperate ID entries?

Yepp, different folders and drivers and so on. For the sake of getting support fast i bundled all the aurelle panels under one rectangular driver.
But you are free to rearrange them as you see fit :)

Won't it break anything for the ones already using them in flows etc? Or will they only get nicer icons for the devices?

Added to the upcoming release. We might need to merge or split them depending on how it looks.


NPM hang (many hours) during intial build, then timeout

Selenium is the project (formerly Buck (formerly Crazyfun)):
$ git clone --depth 1 git@github.com:SeleniumHQ/selenium.git
$ cd selenium
$ brew unlink bazel && brew install bazelbuild/tap/bazelisk
$ bazel build java/...

The output that gets stuck for hours, goes on to barf/timeout like so:
INFO: Call stack for the definition of repository 'npm' which is a npm_install (rule definition at /private/var/tmp/_bazel_paul/d5b110ce7c43075568b57072a24efe98/external/build_bazel_rules_nodejs/internal/npm_install/npm_install.bzl:294:15):
 - /private/var/tmp/_bazel_paul/d5b110ce7c43075568b57072a24efe98/external/build_bazel_rules_nodejs/defs.bzl:77:5
 - /scm/oss/selenium/WORKSPACE:45:1
ERROR: An error occurred during the fetch of repository 'npm':
   npm_install failed:  (Timed out)
ERROR: error loading package '': Encountered error while reading extension file 'install_bazel_dependencies.bzl': no such package '@npm//': npm_install failed:  (Timed out)
ERROR: error loading package '': Encountered error while reading extension file 'install_bazel_dependencies.bzl': no such package '@npm//': npm_install failed:  (Timed out)
INFO: Elapsed time: 3600.662s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

This works for many, but not for me on my old 2015 MacBookAir (8GB RAM, i7, macOS 10.14.5, up to date homebrew.

@paul-hammant Thanks for the report!
I don't think this is technically a Bazelisk issue, but more a Bazel issue or a rules_nodejs issue.
Bazelisk is just a wrapper around Bazel that provides auto-updating and some convenience features. :)
I'll move your issue over to rules_nodejs!

Ah, let me actually use the new "Transfer issue" feature to move this over... better than creating a new one.


Add Mostly Adequate Guide to FP

This is a great book for learning functional programming in JavaScript.  I've used it myself and learned a lot.

:+1:


Overlay allows to click behind

You can select the text behind overlay. Also if there was button, its possible to click it, which should not be allowed.

Hey @veekeys, this overlay only exists in css currently. We could do some workarounds with user-select and pointer-events but I don't think that would be a simple change because we don't currently prescribe a class name for the wrapper (which also needs position: relative). It would also not prevent focusing any interactable elements behind the element.
I would suggest using the inert attribute on your content to fix this.

...your content, button, etc...

Browser support for inert is pretty good but not perfect so I suggest using the polyfill which is very reliable. The polyfill is only 8KB minified and you can load it conditionally to not affect bundle size for most users.

Right, but what would be the downside of removing user-select now from overlay? It fixes issue of clicks, at least.
For focus, you would still consider full implementation with js (we do have FocusTrap available).

but what would be the downside of removing user-select now from overlay? It fixes issue of clicks, at least.

We don't have anywhere to add it to. Like I said, there is no wrapper class currently. The overlay is a sibling of the content.

For focus, you would still consider full implementation with js (we do have FocusTrap available).

FocusTrap would not help, because it's the opposite of inert. We want to prevent focus, not trap it.

What?
This fixes the issue:

We could use focus trap to force focus go into the overlay component and then never let it go out of it.

This fixes the issue:

You're right, I didn't see we had pointer-events: none on our overlay. Fixed in #827.

We could use focus trap to force focus go into the overlay component and then never let it go out of it.

That is an accessibility anti-pattern as it would prevent the user from interacting with anything on the page while the overlay is shown. In general, keyboard handling should mimick mouse handling - if a user can interact with something using mouse, then they should be able to do it with keyboard too. Trapping focus within the overlay would break that rule. The correct solution is to use inert.