Module Advice for Kotlin Multiplatform

Feature Request
Provide Module Advice for Modules that are "KMP Ready" or "commonMain compatible".  I love the current feature that allows us to determine if an Android module could be a JVM module!  I was wondering if we could go one step further to determine if it could be a multiplatform module by adding additional constraints.
Describe the solution you'd like

I'd like to get module advice (like you have with this AndroidScore) that would let me know if the module could be multiplatform compatible.  If it was, then this means that the module would be compatible with kmp4free https://github.com/handstandsam/kmp4free
A few checks to consider:

Are there any java.util.* imports?  If so, how many?
Are there any dependencies (including transitive) that are not compatible with Kotlin Multiplatform?  This is the hard one.  I can't think of a way of determining multi-platform compatibility other than having a database that could be programmatically updated. It could be a bundled file in this library (or elsewhere), or could be pulled down every time.

Describe alternatives you've considered

Manually going through JVM modules and seeing what their dependencies are.
Additional context

FYI: This is DIFFERENT from "Kotlin Multiplatform Support" Issue. https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/issues/228 This ticket would identify Android & JVM Modules that are "KMP Ready", but does not deal with scanning projects with a multiplatform structure.
Hopefully we'll get some good initial discussion here on this Twitter thread: https://twitter.com/HandstandSam/status/1552154145917784065

Are there any dependencies (including transitive) that are not compatible with Kotlin Multiplatform? This is the hard one.

You can analyze Gradle Metadata, the replacement to pom.xml files, which are JSON files with the .module extension, to have that information.

You can probably have that information via Gradle APIs as well by looking for the dependency attributes, since there will be KMP specific attributes, with keys having values that point to other artifacts that support other platforms. This will be helpful to inform about the compatible Kotlin targets.


add suport for new event format for poller alert

add suport for new event format for poller alert. move the older format to be legacy
Poller events include: sel, sdr, snmp and redfish alert. chassis alert will be modified later.
Changes are:

adjust event format to the new one, and send them with a new routing key by calling eventsProtocol.publishExternalEvent
keep the old event format and routing key by changing the name of its publish function to xxxLegacy()

Jenkins: depend on https://github.com/RackHD/on-core/pull/250 https://github.com/RackHD/RackHD/pull/587

BUILD on-tasks #1920 : ABORTED

test this please

BUILD on-multi #44 : ABORTED

+1


cargo version: support --verbose

make obtaining of the version output an own function and use it in the "version" subcommand
makes "cargo version -v" work equivalent to "cargo -Vv"

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

:sunny: Test successful - status-appveyor, status-travis
Approved by: dwijnand
Pushing 9b5b295459ab2140fc7a240af1397a355c1d55d5 to master...


Specify error template

I have a use case where I need to add an icon in front of the error message. I'd like to do this globally by defining a template in the initialization settings.
For example, the settings could look like:
templates: { 		errorTemplate: '%errorMessage%' 	}

Hi @risker
Its not possibble for current version, It may be considered in future versions.
In your case, you can define icon to ::before pseudo-element if It possible.
Thank you.


Flatten Cell's structure

Remove Style in order to flatten Cell structure. Rather than fg
and bg each having both a Color and a Attr, they both become
straight up Color and we add a new attrs attribute to the Cell.
This is more in line with the underlying driver (the term module)
which doesn't apply its attribute to foreground or background. It's
always the whole cell that it affected.
It also makes working with the API a bit lighter. It could become
cumbersome to have to involve both Style and Color in order to
change foreground or background colors.
@cpjreynolds what do you think about this change? I wanted to try it out (hence this PR) because the more I work with rustty, the more I find the Style API needlessly heavy. So the other day, I dig in the code and see that Attr isn't really tied to either fg or bg in the underlying driver, so I think "why give us this trouble"? So here's a PR giving an idea of what it looks like without Style.

This looks great! I definitely share your sentiments regarding the heaviness of the API, when I was writing this I wasn't happy with it either but didn't have many ideas on how to implement it in a more lightweight fashion.
I've also been thinking of taking out a lot of the with_xxx() methods, and replacing them with easily chained methods. This is a great help on the road to completing that, thanks again!
This looks good to me, and the tests have passed, so lets get this merged!


cmd/wl2k: Listen control in web interface

A way to enable/disable listeners is missing in the web interface.

This has been added as a config parameter and should be resolved when we resolve issue #9 and #2 .


add eslint

Fixes #288

@jigneshsolanki This PR doesn't follow the issue spec. I asked to be as close as possible of the config of an other project, but it has been completely ignored.

@Janaka-Steph will eslint-config-react-app will not suffice?

I took the habit of using those rules listed in that other project. We can discuss them if you want to but each one of them serve a purpose.


DO NOT MERGE: Vendor in latest c/storage and WIP c/image

WIP, do not merge: Right now only to have a fallback implementation and to get it through CI.
The c/image branch is unmerged upstream.
If this is a bug fix, make sure your description includes "fixes #xxxx", or
"closes #xxxx"
- What I did
Tried to fix Manifest does not match provided manifest failures.
- How I did it
Updated c/storage to support storing multiple manifests for a single Image object (which are deduplicated per config), and c/image to a WIP branch to take advantage of it by using the user-requested manifest instead of always the latest recorded.
- How to verify it
WIP, for now I just want to run the tests to make sure this does not break anything.
- Description for the changelog
TBD

/retest

Can we open this against release-1.12 branch? That's where we need to land the fixes first. The e2e tests seem to be failing on some regression upstream.

/ok-to-test

/test e2e

Can we open this against release-1.12 branch? That's where we need to land the fixes first.

See #2066.

/retest

Rebase to master should fix the tests.

Rebased, tests pass.

/approve

/lgtm


improv: global modeler error type, finer-grained errors, using thiserror

This refactors the errors into a separate module, restructures them a bit and introduces a crate-wide ModelerError intended to be returned in all results in the crate - currently it only holds the ElementError variant, but allows for future additions.
All error types are deriving the thiserror Error trait, improving their messages and general handling.

Having errors that can be nested like this is cool !

Yeah and thiserror also automatically derives a From impl when a src field is annotated with #[from].

I think the description of the repository (the about) should be changed because the repository is not a binding anymore.

Done.
I also fixed some typos found throughout the crate


Use steal health item whenever possible

Whenever possible? It's somehow a bit like Godmode a secondary Healitem, so i suggest first Healability if not already active and then Stealhealth and then Godmode. But if possible not everything together, because it's waste of Items else, the best would be a delay between activation's or so.


test: imporve dynamic polling interval test

make sure polling stop when refreshInterval is 0

Hi @shuding
Could you please review this
I don't know why you are not in the reviewers


Get api access keys

[x] get api access key for tmdb
[x] get api access key for streaming availability

Completed all above tasks.


[Android] Peer Instruction Tool content

Add  Peer Instruction Tool content support in the mobile app.
Link to content

Note: Current edX app from store is shown in the attachment

Did we add support for this bloc kon Android? Adding to Q2 Bugs list if not?


Modify AuditReplay workflow to output count and latency of operations

Created a composite output type, CountTimeWritable, to track the count in addition to the cumulative time of operations. As well, adds another level of granularity through the operation name instead of just the type. This gives more insight into per-operation behaviour, and makes it possible to calculate the average latency per operation instead of just the total.
EDIT: also changes the separator to a , for better tabular representation
The output from a workflow changes as follows:
Before
hdfs,WRITE	590

After
hdfs,WRITE,CREATE,1,565
hdfs,WRITE,MKDIRS,7,14
hdfs,WRITE,RENAME,1,11

Fixed up, edited PR to match.

Fixed up 👍


⚠ Bofrost.be has degraded performance

In 736bb6f, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 899 ms

Resolved: Bofrost.be performance has improved in 85c3852 after 13 minutes.


Fix: do not release thread if invoke is not exclusive

[x] tests and linter show no problems (npm t)
[x] code is properly formatted (npm run fmt)
[x] description of changes is added in CHANGELOG.md

Landed in https://github.com/metarhia/impress/commit/7c50d757a6d411716900bd18cb776cf7e81cc782


Most Secure place for storing TLS-certificates and Gateway

Description:
If my setup will have only one gateway, is it better to create separate envoy namepsace for it and store TLS secrets here or I can store this Gateway with TLS secrets inside envoy-gateway-system namespace?
Also by some reason I'm unable to join Slack community - it allows to join only if you have lyft or linuxfoundation email

@matrix-root the TLS certs are usually configured by the platform owner or app owner, so I'd put it in a namespace that they own, and not the envoy-gateway-system namespace, access to this ns should be treated with more scrutiny
you can follow theses steps to join the EG slack community https://github.com/envoyproxy/gateway?tab=readme-ov-file#contact


Color Picker closes automatically

Description of the new feature / enhancement
The color picker closes after a short time. Why? This is very annoying.
Scenario when this would be used?
Whenever anyone uses the color picker.
Supporting information
Please don't say use the shortcut. Eff the shortcut. When I open the damn editor, I want it to stay open until I close it. If you're obsessed with keeping it open, then at least provide a setting somewhere that will allow users to override this "feature".

To add details as to the cause, the picker closes whenever you press the Esc or Backspace keys. It's incredibly annoying to have it close and eat up a Backspace.


Update uninstaller

I asked chatgpt to improve the uninstaller by checking the config file, if it fails to delete it, the code will ask for the name to be entered manually. Small improvement hopefully it helps someone
`
@echo off
:: Use PowerShell to read the SCHEDULER_NAME from config.json
for /f %%i in ('powershell -command "(Get-Content -Raw -Path .\config.json | ConvertFrom-Json).SCHEDULER_NAME"') do set "task_name=%%i"
:: Prompt for task_name if not found in config.json
if "%task_name%" == "" (
set /p task_name="Enter SCHEDULER_NAME: "
)
:: Delete the scheduled task
schtasks /Delete /F /TN "%task_name%"
:: Check the exit code of schtasks
if %errorlevel% neq 0 (
echo Failed to delete task %task_name%. Please enter the correct task name:
set /p task_name="Enter task name: "
schtasks /Delete /F /TN "%task_name%"
if %errorlevel% neq 0 (
echo Failed to delete task %task_name%. Exiting.
) else (
echo Task %task_name% deleted successfully.
)
) else (
echo Task %task_name% deleted successfully.
)
pause
`

sorry didnt realise this was so old, I looked at latest update time and thought it was this year


Heavy write loads prevent keepalive from working

What version of gRPC and what language are you using?
C++
Tested with Grpc 1.12.0, 1.12.1, 1.13-pre3
What operating system (Linux, Windows, …) and version?
Linux: Xubuntu 16.04 and 18.04
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 7.3.0
What did you do?
Both server and client have a keepalive of 20 seconds set[1].
The client opens a bidirectional stream.
Both server and client do the following:

Start a thread that reads (and prints) incoming messages
Loop forever:

Write messages with a payload of 100KB
Wait 100 milliseconds

I disconnect server and client (physically, by pulling the cable out)
Both server and client write one or two messages, then get stuck in the Write calls.
What did you expect to see?
Both server and client abort the Write (and ``Read`) calls after 20 seconds because of the keepalive timeout.
What did you see instead?
Both server and client abort the Write (and ``Read`) calls after 15 minutes.
Anything else we should know about your project / environment?
When I send only one byte as payload,

the timeout is detected after 20 seconds
neither client nor server get stuck in Write calls.

[1] The precise Options were:
GRPC_ARG_KEEPALIVE_TIME_MS = 10000 and
GRPC_ARG_KEEPALIVE_TIMEOUT_MS 10000

A gist to reproduce this issue:
https://gist.github.com/forestphoenix/c2e141bc3f19ff106617ebca3742432d
@yashykt This issue looks very similar to #14717, could they be related?

With http tracing enabled, do you see pings actually being sent?
I can totally see this happening though. We only start the keepalive timer when the HTTP2 transport layer is ready to send more bytes down to the TCP. If the HTTP2 transport itself is blocked on it's previous write completing (which at a lower level means that the fd is not writable), then we cannot initiate a ping.

The bug in #14717 was a different issue (a ping won't be sent when another ping is in flight).

@yashykt This issue is straightforward to reproduce. It doesn't require load. One way to reproduce is to simply hang the server while server is streaming a response (say one byte per second) in a unary-streaming case where client is done sending its request and simply reading the streamed response. At this time the keepalive on client doesn't detect that server has stopped responding.
I can also reproduce this issue with unary-unary but that is very inconsistent. Will try to find a way to consistently reproduce it.

I take back my original hypothesis. I did not notice that the following two channel arguments were not being set. Pleaes set GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS to 10000 and GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA to 0.
@forestphoenix your example did not compile, so I have no way of verifying your case, but @srini100 's example works as intended after setting these two arguments.

@yashykt thanks for the tip, but setting the arguments did not seem to change much:
With the suggested arguments set, the Read calls do one of the following:

return after 20 seconds (the desired behavior)
return after 15 minutes

The Write calls always return after 15 minutes.
With a reduced payload, everything works as expected.
PS: I fixed the gist and added the suggested arguments.

This should have been solved by #16419


Duke: delete files are not being sent correctly

The files that Duke is sending as deletes are not being processed correctly by POD because the files do not conform to specifications POD has established for deletes (relevant documentation).

Notice the red X in the row for the delete file. It appears that the files are being sent with a content type of `application/marcxml+xml `-- it should instead be `text/plain`. The file name should also end in: `.del.txt`, `.del`, or `.delete`

Duke is now sending deletes with the correct type.


Docker mypy

Related issues
closes #566
Description
Stubgen was not dound for the docker build since mypy was not installed.
Details
In future it would be best to install the requirements.txt directly from the docker build file

@matifali
We added a stubs generation during compilation recently which needs mypy.


Issue with active-directory-verifiable-credentials-dotnet\1-asp-net-core-api-idtokenhint

Hello, I am following these instructions - https://docs.microsoft.com/en-us/azure/active-directory/verifiable-credentials/verifiable-credentials-configure-issuer
I have got to the point where I am running the DotNet app and then going to http://localhost:5000/issuer.  All good so far.
The first error is this:
fail: AspNetCoreVerifiableCredentials.IssuerController[0]
Unsuccesfully called Request API{"requestId":"8c92680f21a1e920e328569e495c72c0","date":"Sat, 03 Sep 2022 10:59:25 GMT","mscv":"iebwhg6QETE1wz8h.1","error":{"code":"badRequest","message":"The request is invalid.","innererror":{"code":"badOrMissingField","message":"The request does not contain a valid authority DID.","target":"authority"}}}
Here https://docs.microsoft.com/en-us/azure/active-directory/verifiable-credentials/verifiable-credentials-configure-issuer#update-the-sample-application, the IssuerAuthority and VerifierAuthority are shown as "did:web:example.com..."  I removed the ... at the end and then the error changes to this.
fail: AspNetCoreVerifiableCredentials.IssuerController[0]
Unsuccesfully called Request API{"requestId":"bca897e355e5f5e9006921d51a725fdf","date":"Sat, 03 Sep 2022 11:02:28 GMT","mscv":"nQU7CCpVg4wN1KMp.1","error":{"code":"badRequest","message":"The request is invalid.","innererror":{"code":"badOrMissingField","message":"Cannot lookup Callback hostname yourpublicreachablehostname","target":"callback.url"}}}
Now I am lost.  Any ideas?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e85be67f-8375-6229-18aa-d687463991f9
Version Independent ID: c494773d-9fcc-d733-6ddb-935a8e545abd
Content: Tutorial - Issue Microsoft Entra Verified ID credentials from an application - Microsoft Entra
Content Source: articles/active-directory/verifiable-credentials/verifiable-credentials-configure-issuer.md
Service: decentralized-identity
Sub-service: verifiable-credentials
GitHub Login: @barclayn
Microsoft Alias: barclayn

This all started working once I created a verified employee credential, but the instructions don't say to do that.

In Entra I created verified employee credential and then a QR code is displayed.  However, when I scan the QR code with the Microsoft Authenticator app on my phone I get an error that says 'Oh no, Something went wrong!'

@SuperGraham Thanks for your comment. We will review the issue and get back to you shortly.

When I scan the QR code with a a QR reader app instead of the Microsoft Authenticator app, I see the following.
https://beta.eu.did.msidentity.com/v1.0/tenants//verifiablecredentials/issuanceRequests/
Does the fact the FQDN is beta.eu.did.msidentity.com instead of verifiedid.did.msidentity.com make any difference?

Hi @SuperGraham,
I saw a similar issue reported here with the same error message: https://github.com/MicrosoftDocs/azure-docs/issues/97977
Based on the discussion in this thread it looks like if you are adding an access policy for a key vault you need to add the policies for both the Verified Credentials Service and the Verifiable Service Request.
Is this the same issue you are seeing?

Hi @MarileeTurscak-MSFT - The extra permissions were already there.

I also added permissions for Verifiable Credentials Service to the Verifiable Credentials App.

I am getting the same error.  Once I scan the QR code with the Authenticator app I see 'Oh no! Something went wrong!"
The technical details show 'Error Details: Signature is not valid on Presentation Request.'
A few clarifications:
The sample JSON shows '"CredentialManifest":  "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert"'
My manifest URL ends with a string of random characters then /manifest.  Do I have to take the sample in the JSON and edit it with my tenant ID so it ends with VerifiedCredentialExpert or use my exact manifest URL?
Using your mobile device, scan the QR code with the Authenticator app. You can also scan the QR code directly from your camera, which will open the Authenticator app for you.
When I scan with the Authenticator app do I select personal account, work or school account or other account (Google, Facebook, etc.)? - I'm guessing work or school account.
When I scan the QR directly with my camera nothing happens so the statement 'You can also scan the QR code directly from your camera, which will open the Authenticator app for you.' is incorrect.  I know this will change phone to phone, but it's not working for me.

Hi @MarileeTurscak-MSFT - The extra permissions were already there.

I also added permissions for Verifiable Credentials Service to the Verifiable Credentials App.

I am getting the same error. Once I scan the QR code with the Authenticator app I see 'Oh no! Something went wrong!"
The technical details show 'Error Details: Signature is not valid on Presentation Request.'
A few clarifications:
The sample JSON shows '"CredentialManifest": "https://verifiedid.did.msidentity.com/v1.0/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert"'
My manifest URL ends with a string of random characters then /manifest. Do I have to take the sample in the JSON and edit it with my tenant ID so it ends with VerifiedCredentialExpert or use my exact manifest URL?
Using your mobile device, scan the QR code with the Authenticator app. You can also scan the QR code directly from your camera, which will open the Authenticator app for you.
When I scan with the Authenticator app do I select personal account, work or school account or other account (Google, Facebook, etc.)? - I'm guessing work or school account.
When I scan the QR directly with my camera nothing happens so the statement 'You can also scan the QR code directly from your camera, which will open the Authenticator app for you.' is incorrect. I know this will change phone to phone, but it's not working for me.

I have the same problem as @SuperGraham. Has anyone found a solution?

I was able to reproduce this issue.
I've set up the Verified ID on a test tenant to a domain from a static web app. After that, I stopped and in the meantime, a colleague reset the service and installed it on another domain. When I came back I reset it again and set it to my domain. VerifiedID immediately confirmed the domain.
I continued with the tutorial and was facing the error "Signature is not valid on Presentation Request".
Ich checked Verified ID again and saw that the did.json and did-configuration.json actually had changed but it accepted the old ones regardless. After I uploaded the new JSON files to my static web app the issuance finally worked.
So it seems to me that the Verified ID setup is just checking if the files are there but not their actual content.
Make sure that your .well-known path actually contains the correct files offered by the setup process.


Standardize tab width

When using the online/Codemirror editor 2 spaces feels a bit easier to use. The original playground wizard used 4. Both 4 and 2 spaces feel pretty common in the world.
I think we just need to find one to use consistently in the Weaver and reformat the existing code so it all matches. This is a low priority thing but worth memorializing an intent.

I started using 4, but @plocket pointed out that we had been using 2 (at least in the interview yaml), so I started using 2 more where I edit functions.

I like 2 better, because it's easier to use and also saves space thus reduces line wrapping in deep nested code.

Sounds like a consensus is around 2 then! We should do a big reformat at some point. I request to do it after my Mako template refactoring is finished, assuming everyone is on-board with the changes there

See also #439.

I don't think we need this to separately track #439. Closing as dupe.


feat(sqlfactory): support nested type in pg.array types and others

enhance sqlalchemy factory support postgresql dialects.
Description

support postgresql dialects types: JSON, JSONB and HSTORE type
support nested pg.ARRAY types, such as ARRAY(INET), ARRAY(MACADDR) and etc

Closes

seems main was broken for mypy.
tests/test_recursive_models.py:56: error: Non-overlapping identity check (left operand type: "PydanticNode", right operand type: "type[_Sentinel]")  [comparison-overlap]

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

Yeah, array is valid json - I'd have to defer to @guacs on what is the right way to handle this for polyfactory.

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

Yeah, array is valid json - I'd have to defer to @guacs on what is the right way to handle this for polyfactory.

Just my ideas, maybe not the best way.
add a migac method to sqlafactory, such as __default_json_type__: ClassVar[type] = dict, but it can be change as other type when inherit from factory. then handle the JSON type by magic method definition.

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

Yeah, array is valid json - I'd have to defer to @guacs on what is the right way to handle this for polyfactory.

Just my ideas, maybe not the best way. add a migac method to sqlafactory, such as __default_json_type__: ClassVar[type] = dict, but it can be change as other type when inherit from factory. then handle the JSON type by magic method definition.

I have remove JSON and JSONB types due to uncertain python types.

BTW, I didnot see types.Uuid in get_sqlalchemy_types, after my local test, it's well suited with types.Uuid: uuid4 add to return dict.

@wangxin688 thanks for this!
For the JSON and JSONB, I think we can default to a random dictionary. If the users need something other than the deafult, they can override the get_sqlalchemy_types or get_provider_map.

looks like main branch is broken for lint again.
@guacs JSON has been added back. pls review

looks like main branch is broken for lint again. @guacs JSON has been added back. pls review

may I ask why lint rule is checked for all files not newly changed files?

looks like main branch is broken for lint again. @guacs JSON has been added back. pls review

I executed pre-commit run --all-files on my PC, no issues were reported. As it's not related for this PR, how to skip linting checking? --

looks like main branch is broken for lint again. @guacs JSON has been added back. pls review

I executed pre-commit run --all-files on my PC, no issues were reported. As it's not related for this PR, how to skip linting checking? --

Skipping it isn't possible though it can be merged even if the linting fails. I'll fix the linting issues and try to make it only lint the changes files (sometime this week) and once that's merged, we can merge that into this branch?


cmd/prometheus: remove govalidator for url validation

The usage of govalidator is redundant with the call to url.Parse for
url validation. Removing it has the following benefits:

The explicit error message is displayed instead of just a generic
valid/invalid message
Slightly smaller code with one fewer external dependency
Speed improvement by removing duplicate call to url.Parse (inside
govalidator.IsURL()
Resolves issue #2717

The only potential drawback of removing govalidator is that certain
URLs will be considered valid which were previously invalid. For example:

URLs with hostnames that start and/or end with an underscore (http://_example.com_)
URLs with hostnames that contain some special characters (http://foo&*bar.org)

These are valid URIs according to RFC 3986 and valid domain names per RFC 2181,
however they are not valid hostnames per RFC 952.

If it's preferable to have stricter hostname requirements, I can add a regex validation in a separate commit.

I think url.Parse("'https://url/prometheus'") causes a validation error only because it contains a colon.  Something like "'https//url/prometheus'" will pass validation treating the entire string as the path with a null scheme and hostname.

I think we should make sure to continue handling such problematic inputs. Do you have examples for paths including quotes? Are there valid cases with quote at the beginning/end of an input? Can we manually check for that?

The quote in the url doesn't seem to cause any problems as long as it's still a valid URI path.  I did couple quick tests, for example:
prometheus -web.external-url="'mypath'"

This allows the web UI to be accessed at:
http://localhost:9090/%27mypath%27

So I think it would be ok to allow this even though it's probably a very uncommon use case.

@pgier I think we expect a real URL and not only a path section in the value of web.external-url. Therefore, we should continue to validate the input accordingly. It must not only be a path.

The existing code (before the proposed change) supports some relative paths, so I wasn't sure about the requirements.  For example "test" is rejected, but "example.com/test" is accepted but interpreted as a relative path instead of a hostname/path.
If an absolute URI is required, it's better to use url.ParseRequestURI instead of url.Parse.  And we can also check that a valid scheme (http/https) was given.

Removed the requirement for absolute URL and added a check for single or double quotes at the beginning or end of the web and alertmanager URLs.  Also rebased against latest master.


Add Dockerfile for production use

What

I added new Dockerfile for production use.
Generates a smaller image than the existing one, containing only a minimal amount of resources.
All CLI option's default value can be set by environment variable now.

Why

I plan to publish the official image to Docker Hub like fireworq itself.

https://hub.docker.com/r/fireworq/fireworq/

I will change documentation when publish official image.

How to use
$ docker build --force-rm=true --build-arg NODE_VERSION=$(cat .node-version) -t fireworqonsole .
$ docker run --rm -e FIREWORQONSOLE_NODE=<NODE_URL> -p 8888:8888 --name fireworqonsole fireworqonsole

@itchyny Thank you for your review!


Not possible to use trained data for a given language

As mentioned in the pull request #1, it's not possible to set a language for Tess4j, improving the detected text in the image. However, the application allows to set multiple languages using TESSERACT_DATA_LANGS, which downloaded trained data but this data is not used to improve text detection because there's no way to specify a language.

A new parameter lang has been added to send the ISO-639-3 standard of a language that has been set in the TESSERACT_DATA_LANGS environment variable. Examples:
http://localhost:8000/detect-text?lang=fra
http://localhost:8000/detect-text?lang=eng
http://localhost:8000/detect-text?lang=deu

Fixed by: f2c46abbe0e53ba65f4c76bd0789aee252629e4f


fix up error when manually specifying vehicle_id

Started playing around with the rivian_cli, but - I'm getting errors with querying vehicle order data (1 delivered r1t, 1 post price hike r1s). No matter - figured I'd test out the vehicle state - that's more what I'm curious about anyway 😉. However, I got an error, as I found out - vehicle_id isn't set when specified manually. This PR rectifies this situation for me.

Thank you. I generally use the CLI without providing a vehicle_id and that works but I only have 1 car on my account so could probably improve the auto-selection process with multiple vehicles but i'm not buying another R1 to figure that out!


Managing contacts reorg

[x] Taken all valuable information from existing pages and added it to the new category
[x] Deleted old pages
[x] Deleted old images from images folder
[x] Added remaining images to the img folder
[x] Screenshots updated
[x] all images have an alt tag
[x] all images are named according to style guide
- [ ] Updated the glossary
[x] Added redirects from deleted page to new content
[x] Head data should have SEO title, keywords, and description
[x] Content is in Jobs-to-be-done format
[x] Update all in-content links and links to deleted pages
[x] Added additional resources (aim for a link to the glossary, the blog and other jobs-to-be-done)
[x] Added a TOC
- [ ] Added a talk to Dewey/Olivia section
[x] title optimized for google search snippits
[x] content optimized for google search snippits
[x] keyword optimization for each category
[x] addressed/closed any related issues in the backlog
[x] pages are have the correct weight
[x] content has been run through grammarly

there's a new step in uploading a CSV: https://jira.sendgrid.net/browse/MCSS-6

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


[collection] Add method to help get a list with column values

This can be help full if you have an Collection with database objects and want to get all the ids.
This code is phpstan type complete
$ids => $collection->column(fn (A $a) => $a->id); // id is a Uuid

\PhpStan\dumpType($ids); // list<Uuid>

looks good to me


Why does LearningRateScheduler not write the learning rate to Tensorboard ?

The title pretty much says it all, when you use model.fit with ReduceLRonPlateau or without it along with the Tensorboard callback, Keras writes the learning rate by epoch to Tensorboard, but if you LearningRateScheduler, it doesn't ? Is there any particular reason for this ? Its technically not a bug, but its very unexpected behavior.

[X] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps

[X] Check that your version of TensorFlow is up-to-date. The installation instructions can be found here.

[X] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

I think it has to do with the order in which the callback are executed or something. I can't remember, but I believe there is a PR somewhere (in keras or tf.keras) about adding the learning rate by default in the logs (making tensorboard write this learning rate automatically). If you can find out more it'd be nice. I believe it would be a nice feature to add the learning rate to tensorboard automatically. But I don't know if @fchollet will agree.

I looked a bit into the source code for curiosity. The TensorBoard callback write out basically what is in the logs at the end of a batch. The ReduceLRonPlateau adds the learning rate to the logs, that is why it is written by the TensorBoard callback and also returned via the history. The LearningRateScheduler however does not add anything to the logs. It would be an easy task to add that via implementing on_epoch_end function for consistency between ReduceLRonPlateau and LearningRateScheduler.

I've just seen that this was done 5 month ago with https://github.com/keras-team/keras/commit/cf7d3d259f93b1ddbc601208280a460ee3379591. @rohit-gupta if you are using a Keras version which includes that patch, than its probably only a matter of the order of your callbacks. The TensorBoard callback should come after the LearningRateScheduler.

@stante Thanks for the digging, I will check this out and report if this works.

I think it was resolved. I am closing the issue. Please open a new ticket if you see similar issue again. Thanks!


Cannot compile using V3.7 framework

Hi,
I got a lot of error when I try to upgrade the framework from 3.6 to 3.7.

Which version of Xcode you are using?

6.4.0

Can you download Xcode 7.0 and try to recompile? It looks like it's connected to Objective-C generics introduced in latest version of iOS SDK.

It can be compiled in Xcode7.
Will the SDK start from V3.7 support Xcode7+ only?

Correct. There's rarely a reason not to update to the latest version of Xcode and iOS SDK, Apple stops supporting the older ones as soon as their's a new one available. If you need to temporarily stick to Xcode 6, you can download Estimote SDK 3.6.0 here: https://github.com/Estimote/iOS-SDK/releases/tag/3.6.0


vendor: github.com/willf/bitset v1.1.11

The changes needed by opencontainers/selinux are now in a tagged
release. This will make our dependency slightly ahead of what's
used by opencontainers/selinux until a v1.6.1 is tagged.
full diff: https://github.com/willf/bitset/compare/d5bec3311243...v1.1.11

/test pull-cri-containerd-node-e2e

NodeProblemDetector is flaking.... https://github.com/kubernetes/kubernetes/issues/94493

/test pull-cri-containerd-node-e2e

LGTM


TRNless spike

:paintbrush: Prior art

Design history entry about how this could look / work when all is said and done
Prototype with above design / Pull request with code and video
Felix's prior POC with doorkeeper and GDS accounts / auth0
Dummy app from doorkeeper-openid_connect repo

:pick: Progress

[x] devise setup
[x] doorkeeper setup
[x] doorkeeper-openid_connect setup
[ ] Confirm the setup all works by using a client application

We likely need to build a separate app, unless we want to create another spike on the NPQ codebase
Maybe we can just use Felix's POC

[ ] Try adding a custom claim for a TRN

Proves that doorkeeper is flexible enough to allow us to send a TRN back to a requesting app

[ ] Try to remove all OAuth consent screens
[ ] Try to expose different scopes with different / transformed claims
[ ] Try to act as a proxy to an upstream identity provider

Could be Auth0 as a test for this spike

Review commit by commit and gloss over commits that start with Run rails or Run bundle.
:open_file_folder:  Open questions from Matt's document
Matt D wrote up some questions in https://github.com/DFE-Digital/find-a-lost-trn/blob/md_oidc/docs/find-a-lost-trn-as-idp.md.
Using a third party Ruby gem

We'll most likely use a ruby gem to implement OIDC, but we will need to be able to customise its implementation, and this may not be supported by the gem

I've attempted to use the doorkeeper-openid_connect gem in this pull request.
Custom claims

We'll need to do our own claims transforms to insert the claims we want

It looks like the gem has support for this:
https://github.com/doorkeeper-gem/doorkeeper-openid_connect#claims
I assume we can write something like this to add a claim for a trn:
Doorkeeper::OpenidConnect.configure do
  claims do
    claim :trn do |resource_owner|
      resource_owner.trn
    end
  end
end

:point_up: TODO added above: "Try adding a custom claim for a TRN"
Overriding consent screens

We may need to override any consent screens to give a more "joined-up" experience

:point_up: TODO added above: "Try to remove all OAuth consent screens"
Implicit flow / code flow

We'll need to support implicit flow, and code flow with PKCE (for clients who cant keep secrets private)

WIP

[ ] Figure out what implicit flow and code flow mean and whether the gem supports this

OIDC Discovery endpoint

We'll need to support the OIDC Discovery metadata endpoint, so that when we rotate keys, clients can auto-configure.

WIP

[ ] Figure out what the OIDC discovery is for and whether the gem supports it

NB: There is a discovery_url_options in the README
NB2: I don't know what this means yet, but:
$ curl http://localhost:3000/oauth/discovery/keys
{"keys":[{"kty":"RSA","kid":"xcdVAVDUKYVHXvk8AinK3yFmXnoCBs33f-MGGdzypjU","e":"AQAB","n":"r5vhEL2X5oLrA2_baEG8XMvounIyC0hRDTJ0z8HQct88CsG6_dtVpw_ND4guZ5bPvVHtuNJmt1nivldD40neMYygIOeu8MMQZFcYlthEXEPBDS9z24RwsBWYOiALPSFypY7Dcldw_Yaah5IogL33bFUvyZO2q97Tq7UrsYD0yy7r42bFiSxsOczRqg-5rTODEHCAZXKRu88I_c2ylf1_aY8yAE2mw62_QWxPOHt8Gc5qttp40v-5cHYaMDv_vsH-utBUgYts-A85h68gtbRvEoFSGsIdnChT6q1Mi_nX1zEqyb3tGhCilGm0PFNageFiwa8YQJNfY4yR8biugcXbYw","use":"sig","alg":"RS256"}]}⏎

Client registration

We need to handle client registration - if the gem supports OIDC dynamic registration, great - if not, its manual.

WIP

[ ] Investigate how registering clients works with the gem

:open_file_folder: Open questions from the spike definition session
Can we migrate in user accounts from onboarding services?
We'd like to see how feasible it would be to import existing user data as part of onboarding a service into using Find.
Can we expose an API to allow services to supply attributes about a user?
Example: A user creates and account but we don't know TRN yet - we chuck an empty TRN claim over to CPD, they subsequently find out, they tell us.
Can we turn off all consent screens?
Prior discovery indicates there's no need to have users have to provide consent for things like date of birth / national insurance numbers when sharing this data between government services.
Can we transform claims depending on which scope they're requested from?
Some services might only need certain attributes / claims and we'd like to know if we can limit these by scope using Doorkeeper.
Can we extend the user schema and the attributes / claims being exposed to the requesting client service?
Can we pass back things like NINO, DOB, TRN, and not just name/email?
Can we proxy as a client? (As well as being an OAuth server)
If in the future GDS Accounts becomes a viable option, we'd like to be able to proxy and allow users to use GDS Accounts to associate their TRN.

https://github.com/DFE-Digital/teacher-id/pull/10


Updated README.md

Changed this command :
npm install --save resize-observer-hook
To this:
npm install resize-observer-hook
As of npm 5.0.0, installed modules are added as a dependency by default, so the --save option is no longer needed. We can safely remove the --save configuration from the command written in the README.md file.

@add-contributors Please add @sarthakvaishnav09 for docs.

Thanks :)

@all-contributors Please add @sarthakvaishnav09 for docs.


feat(api): add custom redirect back

One of the most, jankiest ever PR. However, we need this before @QuincyLarson 's makes the big announcement.
Can @freeCodeCamp/dev-team give me a sanity check on this? I am going to push this to beta to test thoroughly.

tested locally LGTM.


MS ID: 11113 - OCI Developer Fast Track

Hello, my workshop was not working because it was using the old version of manifest.json as you say. I changed them all and now in my tests with Live Server now it is opening normally, could you please update?

Update Json and html

I made wrong changes


Review TigerBeetle integration based on current TigerBeetle release

Rafiki already supports the production release (0.15.3) for TigerBeetle, but it would be a good exercise to revisit the way in which TigerBeetle is being used in Rafiki. The items would include:

[x] Making use of the user_data_* fields in an effective manner (accounts to make use of account.asset.id and transfers to make use of bilateral relationship to support reporting on bilateral and multilateral settlements) .
[x] Resolving addresses to IP (DNS lookup)
[ ] Potentially make use of get_account_transfers for accounting purposes
[x] Creation of settlement and liquidity accounts to be atomic / linked
[ ] Make use of --development flag for lower memory consumption  (https://github.com/tigerbeetle/tigerbeetle/pull/1897)
[x] Introduce TB history functionality for asset liquidity and settlement accounts
[x] Introduce codes for transfers (DEFAULT = 1,  TRANSFER = 2,  DEPOSIT = 3,  WITHDRAWAL = 4)
[x] Rename variables and functions to reflect the TigerBeetle naming standard
[ ] Upgrade to TigerBeetle 0.15.4

See
https://docs.tigerbeetle.com/reference/requests/get_account_transfers
https://docs.tigerbeetle.com/reference/account/#flagshistory
https://docs.tigerbeetle.com/reference/requests/get_account_balances
PR
https://github.com/interledger/rafiki/pull/2776

I will be keeping this PR open,  the next TB 0.15.4 will release this or next week, which will enable us to make use of the --development flag.
In the meantime, I will get the remainder of the PR ready for review.


Warnings about async Workbox importScripts()

R: @philipwalton
This is primarily to add in some info about avoiding asynchronous calls to importScripts() when using Workbox, in advance of a change in Chrome to adhere to a restriction that other browsers already employ.
See https://github.com/GoogleChrome/workbox/issues/1504 for more context.
It also fixes a small typo pointed out in https://github.com/GoogleChrome/workbox/issues/1602 and provides some context as to why you might not want to call workbox.skipWaiting().
CC: @petele

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/get-started.md#L18 - Common typo found: 'Service Worker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/modules/workbox-strategies.md#L101 - Common typo found: 'admin' Should it be 'administrator'? See: https://developers.google.com/style/word-list#administrator

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/get-started.md#L18 - Common typo found: 'Service Worker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/modules/workbox-strategies.md#L101 - Common typo found: 'admin' Should it be 'administrator'? See: https://developers.google.com/style/word-list#administrator

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/get-started.md#L18 - Common typo found: 'Service Worker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/modules/workbox-strategies.md#L101 - Common typo found: 'admin' Should it be 'administrator'? See: https://developers.google.com/style/word-list#administrator

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/get-started.md#L18 - Common typo found: 'Service Worker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/modules/workbox-strategies.md#L101 - Common typo found: 'admin' Should it be 'administrator'? See: https://developers.google.com/style/word-list#administrator

:tada: This has been pushed live to https://developers.google.com/web/


Themes looking wierd

[x] Fix Attri show source button clipping off at end

[x] Fix Awsm Mischka code background color bending in too much

[x] Add some padding for Pico

[ ] W3c Midnight has uneven left/right padding

[x] Make footer bottom padding on Mercury larger

[ ] Fix Ads Notebook orange code...

[x] Fix Attri Bright Light Green footer-left text color is too dark

[ ] MVP anchors...

[x] Writ images...

[ ] Use a pink hljs theme for pink themes? White still looks kinda good though.

MVP anchors seem intentional, so I won't "fix" anything.

I'll stick with white for the pink themes.


Add amazon S3 for uploaded logos

[x] add django file storages

https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html

[x] add bucketeer Heroku service which wraps S3.  e.g. Heroku doesn't keep "uploaded" files

Evan said to use this for now: https://devcenter.heroku.com/articles/bucketeer

[x] Update fixtures to use bucketeer

[ ] Need to add markers, probably manually.  e.g. boto script

makers are back


Serverless option for Pinecone

First of all, thank you for making the application exactly what I was looking for.
It would be great if Pinecone added the serverless feature it recently added. I tried to install development environment but i failed, I couldn't fix it myself. I hope there will be an easier way to create a development environment and I can help develop it.

is that the issue, I just installed and was trying to connect , all creds and info was right and just getting failed to connect. It cant be pinecone serverless?

same here, tried variations in attempt to log in with environment, index name, and api key, it will not work for serverless. starter works just fine. Error im getting is: Error connecting vector database: Failed getting project name. TypeError: fetch failed

Same problem here, no way to use serverless

Would love a serverless option too

same here. my pinecone is only serverless so i can't use vector admin :\

i am also getting same issue, waiting for the fix


Missing guide to connect hana-cli to hana services

Maybe i'm blind but i didn't finde any guide which information i need to take from which places to be able to connect to my hana cloud trial service.
The host name i found by myself,
to allow connection form any ip checked
found the admin user checked
the port i'm not 100% sure if this is the index service port or something else?
Encrypt connections - you mention in on of you videos that needs to be enabled
hdb user store key - i don't need i guess?
ssl trust store - dunno
so far i get with my guessing game:
PS F:\github\typeormhana> hana-cli connect
Input: Connection String  <host>[:<port>]:  (node:17284) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
**********************************.hana.trial-eu10.hanacloud.ondemand.com:30041
Input: User:  aaaaaaaaa
Input: Password:  *************

Input: Encrypt connections (required for HANA As A Service or HANA Cloud):  t
Input: Optional: HDB User Store Key - Overrides all other Connection Parameters:
Input: SSL Trust Store:
-
Error: Connection Problem {}
    at dbConnect (D:\Programme\nvm\v15.5.0\node_modules\hana-cli\bin\connect.js:142:15)

If you are using HANA Cloud Trial then the port is always 443.  In fact if you go to the SAP Cloud Platform Cockpit and choose Copy SQL Endpoint it will put the hostname and port into your clipboard

This is the value you would use in the connection string parameter.
You would choose Encrypt connections as that is required for HANA As A Service and HANA Cloud (and I see from your hostname you are using HANA Cloud).
You can choose to pass in an SSL Trust Store certificate if you don't have the trusted root certificate for HANA Cloud in your OS keychain already.
The HDB User Store is an option parameter that allows you to store the connection parameters and credentials in an encrypted local secure store. https://help.sap.com/viewer/b3ee5778bc2e4a089d3299b82ec762a7/latest/en-US/dd95ac9dbb571014a7d7f0234d762fdb.html

Thanks for the hint,
in the end in my case i got two issues.
First and most important use the wrong endpoint,
which i could fix with your information and
second issue is that i run nodejs 15.5.0 and not 12.20.
reason why i got Error: Connection Problem {}


Workflow steps - Pin Run all and Close workflow buttons to bottom

Use Case
Please provide a use case to help us understand your request in context
Solution
Please describe your ideal solution
Alternatives
Please describe any alternatives you've considered, even if you've dismissed them

@schoinh  Do you remember what this was for? I can start on this issue if we still need a fix.

Just updated the description, hope that answers your question!


"Could not register accessory" homebridge in docker

I'm wondering if this is because I'm running it in docker on my Synology NAS, but I was able to fix this issue by checking the useIP button. I'm wondering if .local addresses can't resolve correctly when requested from within docker. Regardless, it's working now.
Thank you so much for this simple solution! Much appreciated!

Thanks for the feedback, will update the Readme with your information

I'm also running Docker/Synology and found that it initially didn't work - fixed by changing "useIP" to "true" in the config file. Thanks.

½ the reason I created this issue was because I knew someone else would run into this issue just like I did, use google, and probably find this issue. I'm glad it helped you out too! 😄

@JLLeitschuh  thanks for creating the issue - choosing IP addr solved it for me as well


Enable orienting background and lightbox

Right now the camera must be flipped in y-direction for a skybox to appear correctly. But this would also flip the other objects in the scene. Would be nice to be able to do this with a (uniform) prop.
Note that in #324 a lightbox is implemented in an example to work around this limitation. We should replace that as well.
A related idea: we could also make the renderer aware of background classes and render these first.

Closed by #331


error:Cound not get branch revision

TLDR
./build.sh -c x64 -b branch-heads/68 no longer works properly in the repo and spits out the above error, when building on a mac.
Context
I've been trying to build webrtc for mac.  Notwithstanding the fact that this has been done already in this issue: https://github.com/godotengine/webrtc-native/issues/8, I only noticed that after doing some investigation that led me down a particular path.
In https://github.com/godotengine/webrtc-native/issues/4, I encountered the same problem as shintiger.  After managing to get things to build for the mac platform, I came across the error in this issue fatal error: api/peerconnectioninterface.h: No such file or directory, then searched the issues for this project and came across said thread.
Hypothesis
Some amateur sleuthing for the above error suggests that it looks like the old way of getting Chromium code has been obsoleted.  This uses things that look familiar from this codebase, like ninga, gclient, out directories, etc.
Therefore it appears that scripts will need to be updated to get the Chromium code using this new approach.
I'm not sure how that impacts getting things like branch 68
https://chromium.googlesource.com/external/webrtc/+/branch-heads/68 via the invocation ./build.sh -c x64 -b branch-heads/68, but certainly the latter command no longer works with the change in the way Chromium code gets fetched.

The new 0.5 release has been updated to use WebRTC branch-heads/4472. Closing as fixed.