Run the existing tests with deno

~This PR builds on the existing deno fix https://github.com/fabian-hiller/valibot/pull/178 and adds some new checks to make sure deno support does not break in future. You can see the diff against the https://github.com/fabian-hiller/valibot/pull/178 changes here: https://github.com/syhol/valibot/compare/main...syhol:valibot:deno-tests~
What does this PR do:

Vitest polyfill: Created a custom polyfill so Deno can run the vitest tests because vitest does not work in Deno today: https://github.com/denoland/deno/issues/19767.:

library/src/testUtils/denoVitestPolyfill.ts:

Uses Deno stdlib<EMAIL_ADDRESS>to provide describe and it. This uses Deno.test under the hood and I'm not sure how much API parity it has with vitest, but it at least provides test.skip(...), test.only(...), before* and after* functions.
Uses npm https://www.npmjs.com/package/expect to provide expect. This is the jest expect package because I can't get vitest expect to work for the same reason the vitest runner won't work; however, it should be API compatible as that's a design goal of vitest.

library/deno.json -> imports key: redirect import of vitest to instead use the denoVitestPolyfill.ts when run through the Deno runtime.
I put this file under testUtils to make it clear it's a testing utility and because src/comparison.ts could be moved into this folder in a future PR.

Fix tests run under deno: Use optional chaining in record.test.ts and recordAsync.test.ts since unlike node, deno has no __proto__ property on objects.
New test for mod.ts: A new test library/mod.test.ts that just checks that mod.ts can be imported.
New GitHub workflow to run tests under Deno: We could also just reuse the NodeJs workflow, happy to change this. See the workflow passing in my fork here: https://github.com/syhol/valibot/actions/runs/6277943842/job/17050680986. I can't get it working on act (local github actions) for my M1 though.

What do we get out of this PR:

The ability to run deno task test in the library directory to execute all existing tests with Deno
All tests are now running and passing under Deno
The tests will now fail if mod.ts fails to resolve dependencies
The ability to run the Deno workflow on PRs

Thank you for your contribution! I will try to review your changes next week.

Rebased now https://github.com/fabian-hiller/valibot/pull/178 is merged. The diff looks much cleaner now.

Sorry for not responding to this PR for so long. Is the idea to also run all tests with Deno to detect possible problems in advance?

Sorry for not responding to this PR for so long.

No problem at all @fabian-hiller

Is the idea to also run all tests with Deno to detect possible problems in advance?

Yes, exactly right. It looks like Valibot was initially compatible with Deno but at some point it was broken, we then fixed it in https://github.com/fabian-hiller/valibot/pull/178. I believe this PR would have prevented that initial break as well as the cause of https://github.com/fabian-hiller/valibot/pull/249
If you would be interested in progressing this PR then I would like to do a couple of things:

Swap out the npm expect with the new deno expect from it's stdlib.
Update the deno stdlib version
Rebase the branch

Please let me know so I know whether to proceed.

I haven't made a decision yet, but I'm interested in this PR. Valibot seems to be one of the more popular packages with Deno, so it might make sense to make sure there are no problems here either when publishing a new version.

Swap out the npm expect with the new deno expect from it's stdlib.

I've been patching some missing behaviour but it looks like this is going to be hard migrate to until it supports asymmetric matchers.
I'm just going to do the first two for now.

The PR is in a good state to be merged, let me know if there's anything more you need from me.

Thank you! I will review it in the coming week or the week after.

Now you're publishing to jsr, is it a good time to revisit this 😉 😉 ?

I am currently very focused on the source code and documentation. Once v1 is released I will have a look at this PR.

Hey, since we are now publishing Valibot on JSR, it seems to me that this is no longer necessary. What do you think about it?

A lot of this PR can be deleted and cleaned up because Vitest is now supported in deno.
If you claim Valibot can run on Deno, then I recommend you run tests on Deno to verify that claim.
Would you like me to have a go at a simplified PR that just uses Deno to run the tests as they are? No shims, and as few changes as possible.

Yes, feel free to create a minimal PR. Thank you!

We may switch to Deno v2 in the long run. Should I close this issue?

Yes please, I've become quite busy recently. Sorry for the delay.


Win version 1

No need to merge.
You may maintain your own branch better right now and merge them later.
I got some breaking changes on my side.
Plus, you need to follow the rules while creating a pr. More notes needed to tell me what have you added.
Search online for these.

And, remember to sync with the upstream before creating a pr.
Delete the unnecessary files.


Generalize type mapping support for Unicode

In looking at #4425 and #4134 in became quickly apparent that the support for inferring Unicode was too specific to Unicode. What is really needed is that if the type mapping to be used can be inferred in some way, then this type mapping should be used for all relevant facets, not just Unicode. Only in cases where no inference is possible should the default mapping for the CLR type be used.

:shipit:


Add 'label' option to 'open with' docs

This updates the 'Open with' docs, adding the "label" support from https://github.com/openmicroscopy/openmicroscopy/pull/4998
Also I used a different ID 'xyz_viewer' in the examples since we now don't rely on the ID as a label.
Can be tested alongside PR https://github.com/openmicroscopy/openmicroscopy/pull/4998

Builds and looks fine. @will-moore made me understand that the OMERO.figure case will be clarified step-by-step in OMERO.figure installation steps.
Ready to merge.


Improve  Ecto.Repo config error messge

The issue is really simple: if you set anything other than false | Logger.level/0, you get a really cryptic message.
This error was already discussed in this link, and since both Jose asked for PRs and the issue was still active, here I am.
This is my first dive into Ecto, so I'm not quite sure if I'm doing things correctly, or in the right place, so any guidance to land this PR would be welcomed.

Hi,
Thank you for opening the PR. It was actually addressed recently in the ecto_sql project: https://github.com/elixir-ecto/ecto_sql/pull/519/files.
The reason it went into that project instead of Ecto is because that is the only place the log level takes effect. Essentially just to log out the SQL command.

Thanks for the response, I'm glad it got solved!


Unit testing implementation and main script refactorization

Signed-off-by: Joshua Palis<EMAIL_ADDRESS>

We should add these tests too for better testing of Netty https://github.com/opensearch-project/OpenSearch/blob/main/modules/transport-netty4/src/test/java/org/opensearch/transport/netty4/NettyTransportMultiPortTests.java to check.

Ill go ahead and add these tests for netty, thanks for the suggestion :)


Rework NextJS integration

This layers the NextJS integration ("ai-jsx/next") on top of the React integration ("ai-jsx/react").
The main difference between the two is that AI.jsx is a React Server Component that streams results down.
Something (presumably about our monorepo?) prevents Typescript from being able to resolve imports from "ai-jsx", so unfortunately the NextJS files are still all marked // @ts-nocheck.

@NickHeiner this works well enough for the one-shot demos but anything more than that would presumably require passing state via the URL or old-school <input type="hidden" /> or something? Is there some NextJS pattern for that or is that like way out of scope of RSC?

It looks like https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions is maybe what they're building for these kinds of things

Yeah, I think that's at least in the same neighborhood.
I think fundamentally, the model is that state from one render to the next is done via form actions. So think of it like you'd think of a traditional server-driven HTML app – a form submits a POST, and the POST data is used to generate the next page. (I think with Next the idea is that it doesn't need to do a full round-trip / refresh the entire page, but it's still the same model.)


ADD Database Import: play sound (or display notification OSD) when import complete

use case
I have a massive database that will take hours to import.
I fire up my trusty DBeaver and select Tools→Restore Database from the right click meny of my db.
in the "Database Import" window I then check "Play alarm when Import finished" under the "Settings" section.
I leave it importing and switch to another virtual desktop.
When the import finishes/fails, a notification sound plays once and I will know to check the other desktop.

a bonus would be to display an OSD notification if Eclipse supports it and if its not too much extra work :)

Notification will be added to all data transfer (data import/export) and all external tools (backup/restore/script execute) executions. It will include sound + tray icon popup (if it is enabled in preferences->Database->Task Bar).


Improve the mediator-coordination crate structure

The mediator-coordination obviously looks messy. Needs some refactoring.
Dependences
This issue should be handled after:

#79
#80

@Hermann-Core should be interested to take this.


Problem with IsJavascriptFunction and esprima

Consider the following js code:
function logme(msg) {
    console.log(msg);
}

logme('hello');

If it is added as an InitScript to the page with page.AddInitScriptAsync, it fails in chrome because the esprima javascript parser wrongly assumes that the script is a function.
The same expression works fine with playwright in nodejs.
Imo, the esprima parsing is doing more harm than good. Some scripts that will otherwise run fine in a modern browser fail esprima parsing.
I propose to remove esprima as dependancy and expose isFunction parameter wherever necessary.

This is something that we're actively working on, with the new API. @kblok and I had a few conversations about it.

With the latest API, you should wrap it with () => {}


Make the Places tab more user friendly

The Places page includes data drawn from the data base. It should be a list of places and users can filter their search by selecting categories.

similar to #27


Simple way to handle update internal flow via our own script?

Hi, we're big fans of ADU ... and we have a requirement that we could handle by writing a custom handler based on the src. However, I suspect that we may be able to somehow download a (signed) script and execute it using the existing ADU handlers? I see, for example, that the adu-agent calls a shell script. We'd like to download and call our own shell script to handle complex internals of our installation. Is there a way to do this already, or should we write our own handler to call our shell script? Thanks for a tip.

Hi, as you point out this isn't supported out-of-the-box with the reference agent, although it is certainly possible to do it exactly as you suggest (with a customer handler type). Is your main concern running of a script, or specifically verifying and running a signed script?

Hi @RichardHubertPtw ,  please checkout Script Handler https://github.com/Azure/iot-hub-device-update/tree/main/src/content_handlers/script_handler

To elaborate a bit more, the newly released 0.8.0 agent supports an update type of microsoft/script:1.
Upon download, the agent would verify the hash of the script payload just like any other update payload. These hashes come from the Microsoft-signed update metadata so the hashes would not be tampered with.
Once the agent does the hash check on the script file, the script is executed via the script handler.
Would this work for your needs, or are the scripts already signed and you need to verify it?

The script handler is an interesting improvement. We had to reduce the dependency on ADU since this feature didn't exist. So, we'll now look again. Preventing tampering is a must, so good that you do that. Medical compliance requires that artifacts are end-to-end traceable, so we normally sign everything. However, this script is not actually the installed artifact, so could be ok as is. Thanks again, great feature!

This is a big help, thanks!
https://github.com/Azure/iot-hub-device-update/blob/main/docs/agent-reference/update-manifest-v4-schema.md

Hi, all I can report for you at the moment is that we are working with the script handler feature and -- up to now -- making good progress. It is a "killer" feature in ADU. I've signaled your query to persons who may be able to help with your explicit problem...


a special function for non visual states

I would like to contribute to the project by adding a function that allows the environment to emit not only the pixels(images) but also the non visual state information, which I think is a very important feature of PLE.
I wanted to hear your opinion before I contribute.

Hi Ken, I think it's a very good idea! Go ahead with it and don't hesitate
to ask me if you would need help
El 5 feb. 2017 18:15, "Keon Kim"<EMAIL_ADDRESS>escribió:
I would like to contribute to the project by allowing the environment to
emit not only the pixels(images) but also the non visual state information,
which I think is a very important feature of PLE.
I wanted to hear your opinion before I contribute.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lusob/gym-ple/issues/5, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAdU-zxJBuBUyC4znRXEhJ3faBc5W2otks5rZgPGgaJpZM4L3jon
.


Fixing README link for 'contributing to Gradle'.

The Readme link to gradle.org/development redirects back to itself; linking to CONTRIBUTING.md seems more helpful.
Any of the checked boxes below indicate that I took action:

[x] Reviewed the Contribution Guidelines.
[x] Signed the Gradle CLA.
[x] Ensured that basic checks pass: ./gradlew quickCheck

For all non-trivial changes that modify the behavior or public API:
N/A

Good catch — thank you!


[OLS-620] Use all fields from provider secret from the user

Description
Updated the secret mount path  not to include the filename , so that we can support all secret configurations.
Added azure_openai_config specific confing .
Type of change

[] Refactor
[] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ x] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue OLS-620

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

@raptorsun updated the JIRA ticket with document which has the final version we need to support. PTAL. We do not have any  group account for Azure OpenAI . I am in the process of obtaining one. I tested with Erik's apitoken.

/lgtm
/approve

/retest


Show relationships in all associated nodes?

Is there a way to compose a relationship so that it exists in both the root and associated node, without redundancy (virtually bidirectional)?
Issue
Andy's node
{
    name: andy,
    friends: [
        { name: joe }
    ]
}

Joe's node
{
    name: joe
}

Desired result
Andy's node
{
    name: andy,
    friends: [
        { name: joe }
    ]
}

Joe's node
{
    name: joe
    friends: [
        { name: andy }
    ]
}

Ideally I'd like to find a way to do this at the composition stage although if it is possible to achieve the desired results at the fetching stage, that would also be okay.
How do I achieve this using a where or similar model function?

I've been looking at commit #85 and it seems as though composed relationships can only be composed as either 'ingoing' or 'outgoing' - understandable seeing as neo4j requires direction to be specified.
I've been looking through the options for model.where and it seems unclear as to retrieving relationships which aren't composed.

rel the relationship relating the root node and this model

Does this mean the relationship label? Obviously if I'm looking to retrieve the relationship/s then I will not be able to provide it.

direction (optional - default: out) the direction of the relationship

What are the other options, I'm assuming in and any?

I've tried the following with no luck (no errors or 'has_friend' relationships being returned).
...
include: [{
            model: model,
            rel: 'has_friend',
            direction: 'any',
            many: true
        }]
...

Hey! As you say, neo4j does not support directionless relationships, so it doesn't make a whole lot of sense to support that on compositions. Your fix is the best way of supporting this. Thanks for the work!

@jonpacker Thanks for the response. While neo4j does now allow directionless relationships, it does allow directionless querying which in turn provides the illusion of directionless relationships.
I've found producing many-to-many relationships between nodes a challenge in seraph-model. It would be a great feature to have.


Documentation

I know this project is simple and if I had more time to dive into this thing and spend 6 hours figuring out the syntax of the config file and all the options I would. Is there an easier way? A "How To" guide of sorts that I can use to help me? Maybe an example config file with all of the possible configurations?
From what I've been able to use so far it seems like the best solution to this problem that I've seen.

Run evemu-describe and you'll have 50% of everything solved in 10 seconds (assuming you read the examples in this repository). What's missing is a comprehensive list of all existing key names/codes to choose from (evemu-describe shows just a subset of them).
PRs editing Readme.md are surely welcome :wink:.


Log wrong interactions.

https://github.com/nucliweb/webperf-snippets/blob/080be73765c85975fb0ba1c063d0f94a19e506fd/pages/Interaction/Interactions.mdx#L26
Please check the snippet for interaction:
I see that this snippet logs interaction only with interactionId = 0, and it seems to be wrong, according to documentation and example here: https://web.dev/articles/diagnose-slow-interactions-in-the-lab?hl=pl#use_a_javascript_snippet
We should log with interactionId > 0.

This line:
.filter((entry) => !entry.interactionId)) {

It's the same that this line:
if (!entry.interactionId) continue;

Yes,
But You filter interactions with interactionID = 0. It gets only interaction without ID. The documentation says that only interactions with ID are made by user
if (!entry.interactionId) continue;
Here, We are in for loop, when interactionID is 0 they continue and don't log this interaction.
When I use snippets from web.dev and Your at the same time, I see logs in console only from snippet from web.dev.


Improve and/or document ability to create mock Incident objects

Howdy!
Thanks for sharing this! I'm trying to write some unit test coverage (which is running in CI, so I'm mocking out the calls to pagerduty) but am having a rough time figuring out how to generate a mocked out Incident object. For a list of Incidents, I was trying something along the lines of:
 Incidents(Incident(html_url='pagerduty.com/theincident', incident_key='this was a page'))

Since it looks like when you request a list of incidents they are wrapped in an Incidents (aka a Collection). I'm curious if the community already has a pattern for doing this, but if not I'll come back around in a few weeks with a path- either a test fixture, example, or something depending on what everyone prefers.
Thanks!
Joe

(In the short-term I'm just using a namedtuple, which obviously isn't good in case the fields change, etc.


Failure only if stage retry fails with error code other than StageNotRetryableException

Fixes #20

Closed with #20


Add a method to http.js to enable beforeSend callback

I would like to specify a beforeSend callback on an ajax post. Because $.post does not accept this parameter I'd like to add a ajax method to the plugin.
    ajax: function (method, url, data, headers, beforeSend) {
        return $.ajax({
            url: url,
            data: this.toJSON(data),
            type: method,
            contentType: 'application/json',
            dataType: 'json',
            headers: ko.toJS(headers),
            beforeSend: beforeSend
        });
    },

I'm not sure this is the best approach for a number of reasons. First of all, specifying 'dataType: json' on a DELETE request doesn't work (usually?). For this and other reasons, I will go ahead and make the change. I will create an ajax function which accepts a general jQuery settings object and does some preprocessing on the object in line with knockout functions. In that way, the ajax method will parallel the get and post methods, allowing general XHRs.

Thank you @davismj. That will meet the requirement.


TypeError: reader[capitalizeFirstLetter(...)] is not a function

I am getting this error in an Angular14 project while trying to deserialize/decode a Uint8Array array.
ERROR Error: Uncaught (in promise): TypeError: reader[capitalizeFirstLetter(...)] is not a function
TypeError: reader[capitalizeFirstLetter(...)] is not a function
    at deserializeField (index.js:356:20)
    at deserializeStruct (index.js:410:33)
    at deserializeUnchecked (index.js:438:12)

Sounds like capitalizeFirstLetter(...)] resolves something that reader does not have a property for.
Can you log capitalizeFirstLetter(...)] ? Check if you schema does not use any types that are not supported

I am facing the exact same issue in my node-js application. Same piece of code, when used on frontend with Nextjs works perfectly. Please resolve this issue


understanding the current state of dynamic_rnn vs buckets vs scan for seq2seq

Bear with me as I am not an expert in the practical or theoretical details.
Perhaps because tensorflow has developed so rapidly, I find it a little difficult to find the recommended procedure for RNNs with varying length, at least from my lay end-user perspective. It is unclear to me on May 15, 2016 what tool within tensorflow is best suited to this task.
It seems that originally RNNs of varying sequence length were handled by "bucketing". This means building a "separate" model for each of several bucket lengths so that inputs could be padded to the same length without wasting too much gpu memory. There is not presently a "simple" example with bucketing, but to those unfamiliar, I would look to the seq2seq model for clarity. Also the model_with_buckets function
Sometime between March and May a number of (maybe?) different tools were added that could possibly be used to avoid this bucketing trick without wasting memory.

rnn.py/dynamic_rnn
functional_ops, though within this code it's not clear without investigation if map_fn or tf.scan (!) would be better suited.
control_flow_ops

In spite of this, the seq2seq model still uses bucketing, and I struggle to find any examples using these newer methods.
Creating detailed documentation is ultimately part of the endgoal, but for now I thought it would be useful to at least make a mention of what the recommended approach is.
Thanks.
relevant issue 208
relevant reddit with broken link to example

In my understate, dynamic_rnn is not used to solve the problem of variable length, but used to run loops within a tensor. So is control flow ops.
I think the good way to deal with variable length, is to divide one sample into multiple ones, and keep the RNN state between these. So the divided multiple samples is seen as one sample. On the other hand, if one sample is shorter, then padding it with zero or something like that. The implement of Keras gives a good example. This should be a better way than bucketing. Though in TensorFlow, it seems have a lot work to do.

My mistake, it seems that dynamic_rnn implemented the way I said. But it doesn't matter with control flow ops, you can do it with python loop.

@wb14123: A Python loop doesn't support automatic gradient computation, which is the typical reason to use the fancier control flow ops.  I'm going to close this for now, since questions about how to use TensorFlow are better suited to StackOverflow (use the tensorflow tag).

@girving I'm somewhat confused.
In static_rnn, it does use Python loop to compute rnn outputs and final state.
    for time, input_ in enumerate(inputs):
      if time > 0:
        varscope.reuse_variables()
      # pylint: disable=cell-var-from-loop
      call_cell = lambda: cell(input_, state)
      # pylint: enable=cell-var-from-loop
      if sequence_length is not None:
        (output, state) = _rnn_step(
            time=time,
            sequence_length=sequence_length,
            min_sequence_length=min_sequence_length,
            max_sequence_length=max_sequence_length,
            zero_output=zero_output,
            state=state,
            call_cell=call_cell,
            state_size=cell.state_size)
      else:
        (output, state) = call_cell()

      outputs.append(output)

You said "a Python loop doesn't support automatic gradient computation", then how does the static_rnn work?


[improvement](doris compose) cloud be use file cache

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run p0


GH-37537: [Integration][C++] Add C Data Interface integration testing

Rationale for this change
Currently there are no systematic integration tests between implementations of the C Data Interface, only a couple ad-hoc tests.
What changes are included in this PR?

Add Archery infrastructure for integration testing of the C Data Interface
Add implementation of this interface for Arrow C++

Are these changes tested?
Yes, by construction.
Are there any user-facing changes?
No.

Closes: #37537

@wjones127 @tustvold, FYI,  following this PR, you'll need to add the --run-ipc option in these two places:

https://github.com/apache/arrow-rs/blob/master/arrow-integration-testing/README.md
https://github.com/apache/arrow-rs/blob/master/.github/workflows/integration.yml#L107

Thank you for the heads up - created a tracking issue so this doesn't get missed - https://github.com/apache/arrow-rs/issues/4828

I'll merge this PR now, thanks for the reviews!


Over 6000+ Warnings in the build

Currently the build produces over 6000+ warnings. These have a number of sources:

Outdated Jaxb2 plugin
Generated code
Unused imports
TODOs
Untyped usage of generics

The build should not produce any warnings.

Mostly resolved by #335 #336 #338.


UI - Provider set using --default-model when launching the UI is not used when executing scripts from within UI.

Steps to reproduce the problem:

Launch UI using --default-model option to use other providers (other than default model) - gptscript --ui --disable-cache --default-model 'rubra-meta-llama-3-8b-instruct.Q8_0.gguf from http://localhost:1234/v1'
Once UI is launched , execute any script.
Notice that user is prompted for openai credentials.

Expected Behavior:
Model used in --default-model when launching UI should be used when script execution is done.

This will be fixed in #635

Tested with gptscript version- v0.0.0-dev-6e92ee7a-dirty

Launched ui -  gptscript --ui --disable-cache --default-model 'rubra-meta-llama-3-8b-instruct.Q8_0.gguf from http://localhost:1234/v1'

Executed the following script from within ui

Tools: github.com/gptscript-ai/answers-from-the-internet, github.com/gptscript-ai/dalle-image-generation
Chat: true

You are a good assistant. Introduce yourself and wait for the user to ask you a question. Always include source of the search results in the response.

I am prompted to enter the Openai Api keys after I type a chat message. I see the question - "which movie won best movie for 2024 oscar?" being processed by local models from the logs.

Tested with gptscript version- v0.0.0-dev-6e92ee7a-dirty
Was able to verify that the fix works as expected without being prompted for openapi credentials when testing with other tools.
Example script that was used for testing which did not result in any prompting for openai keys.
 Say "Hi" and wait for user to ask you a question. Always return the source of  the search results.

There is a dependency on gpt-3.5-turbo model for answers-from-internet tool which resulted in the prompt for openai key which is as expected.

@sangee2004 Can you please explain how to get  from http://localhost:1234/v1 part of the parameter? How should I serve a local model properly?


Provide guidance on how to integrate with AWS Signer

Problem
I use AWS Signer for my Lambda functions, when trying to deploy the collector layer from the community ARNs. (e.g. arn:aws:lambda:us-east-1:184161586896:layer:opentelemetry-collector-arm64-0_11_0:1) I get the following error:
"Lambda cannot deploy the function. The function or layer might be signed using a signature that the client is not configured to accept. Check the provided signature for arn:aws:lambda:us-east-1:184161586896:layer:opentelemetry-collector-arm64-0_11_0:1. (Service: Lambda, Status Code: 400, Request ID: 3fc2323f-c669-4b01-b55f-743efb7550d8, Extended Request ID: null)" (RequestToken: 085537f1-e14d-444a-e4d3-9b5859b39822, HandlerErrorCode: InvalidRequest)

This makes sense as the layer is not signed by my AWS Signer profile.
Workaround
Ultimately, I was able to solve this by downloading the Github Release source code and running make build (make publish-layer will not sign my layer, so this was not helpful.) Once built and the contents put into the appropriate zip file, I used terraform to create my signed layer:
module "label_opentelemetry_collector_layer" {
  source  = "cloudposse/label/null"
  version = "0.25.0"
  context = module.label.context
  name    = "opentelemetry-collector-layer"
}

resource "aws_s3_object" "opentelemetry_collection_layer" {
  tags = module.label_opentelemetry_collector_layer.tags
  bucket = aws_s3_bucket.npcninja_lambda_bucket.id
  key    = "open-telemetry-collector-layer.zip"
  source = "${path.module}/../../libs/opentelemetry_layer/open-telemetry-collector-layer.zip"
  etag   = filemd5("${path.module}/../../libs/opentelemetry_layer/open-telemetry-collector-layer.zip")
}

resource "aws_s3_object" "opentelemetry_configuration" {
  bucket = aws_s3_bucket.npcninja_lambda_bucket.bucket
  tags   = module.label_opentelemetry_collector_layer.tags
  key    = "opentelemetry_configuration.${var.deployment_environment_name}.yml"
  source = "${path.module}/opentelemetry_configuration.${var.deployment_environment_name}.yml"
  etag   = filemd5("${path.module}/opentelemetry_configuration.${var.deployment_environment_name}.yml")
}

resource "aws_signer_signing_job" "this" {
  profile_name = aws_signer_signing_profile.this.name

  source {
    s3 {
      bucket  = aws_s3_bucket.npcninja_lambda_bucket.bucket
      key     = aws_s3_object.opentelemetry_collection_layer.id
      version = aws_s3_object.opentelemetry_collection_layer.version_id
    }
  }

  destination {
    s3 {
      bucket = aws_s3_bucket.npcninja_lambda_bucket.bucket
      prefix = "signed/"
    }
  }

  ignore_signing_job_failure = true
}

resource "aws_lambda_layer_version" "this" {
  layer_name = "opentelemetry-collector"
  compatible_architectures = ["arm64"]
  compatible_runtimes = ["nodejs14.x", "nodejs16.x", "nodejs18.x", "java11", "python3.8", "python3.9", "python3.10", "python3.11"]
  s3_bucket = aws_signer_signing_job.this.signed_object[0].s3[0].bucket
  s3_key = aws_signer_signing_job.this.signed_object[0].s3[0].key
  source_code_hash = filebase64sha256("${path.module}/../../libs/opentelemetry_layer/open-telemetry-collector-layer.zip")
}

I could then inject the arn into my lambda function configuration in terraform using a variable:
// ...
opentelemetry_configuration = {
    yaml_arn = aws_s3_object.opentelemetry_configuration.arn
    yaml_uri = "s3://${aws_s3_bucket.npcninja_lambda_bucket.bucket_regional_domain_name}/${aws_s3_object.opentelemetry_configuration.key}"
    collector_arn = aws_lambda_layer_version.this.arn
  }
// ...

then in my lambda function module:
// ...
layers = [
    var.opentelemetry_configuration.collector_arn
  ]

// ...

I am not sure this is the optimal way to implement this and I am open to simpler ways to implement this.
Proposal
Assuming this is the optimal solution, the following would have helped me.

provide official .zip files of the layer as part of the GitHub release so I do not have to build my own collector binary.
provide documentation on how to best integrate the collector with AWS Signer using CDK/SAM/Terraform/OpenTofu

You can find the zip files on the build at the bottom in the artifact section: https://github.com/open-telemetry/opentelemetry-lambda/actions/runs/11025063356
If you'd like to modify the build action to attach the zip files to the release, I'd be open to accepting a PR for that work.


can't access module original-fs in remote machine

Does this issue occur when all extensions are disabled?: Yes/No

Version: 1.88.0-insider (Universal)
Commit: 6c19c003574b02afc604c0c1c471b1441b33a3d3
Date: 2024-03-08T05:49:06.954Z
Electron: 28.2.5
ElectronBuildId: 27336930
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Darwin arm64 23.3.0

related issue：

https://github.com/microsoft/vscode/issues/143393#issuecomment-1047518447
https://github.com/tjx666/vscode-archive/issues/4

@deepak1556 @alexdima

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

@bpasero

I find one of my extension doesn't work in remote sesion becuase can't access the original-fs module in remote

Yeah I doubt that original-fs would be available in remote extension hosts because they run in a pure node.js environment. I am not sure its a good idea to allow access to original-fs in general, I would think its better to give the original fs to all extensions when they use fs.


Profile Page

Story: As a registered and logged in Player I want to be able to have a profile page so that I can show other players who I am.
Acceptance Criteria:

[x] #188
[x] #189
[x] #190
[x] #191

Priority: medium
Author:  SoPra Group 9
Estimate: 8h

Couldn't be completed since we lost a group member in the beginning.
Please find further explanation in the group report.


www/caddy: partials bootgrid example implementation

This PR is not for merging but rather for discussion of the code.
It aims to generalize the bootgrid table setup.
If this approach seems valuable, I would like to add it to core in some way.
Current status: "Works for me"

I was doubting a bit to offer feedback in the code, but it's probably easier to document my comments and concerns here.
Although I don't mind combining grid fields in forms, we do need to seek a way to explain the fields properly and prevent cluttering functionality.
Consider the following field (which my the way could also be positioned in a [sub]tab)
    <field>
        <id>subnet4.description</id>
        Description
        <type>text</type>
        <help>You may enter a description here for your reference (not parsed).</help>
    </field>

If we add a sequence field here, what does it mean?
So how about positioning the grid properties inside a container, e.g.
    <field>
        <id>subnet4.description</id>
        Description
        <type>text</type>
        <help>You may enter a description here for your reference (not parsed).</help>
        <grid_view>
            <sequence>1</sequence>
        </grid_view>
    </field>

My next issue is more or less a past sin, as getForm() returns a plain list, its difficult to add information for multiple targets (roles). We can use getForm() to extract, but then still need to interpret the results. Which pleads for a separate function to extract the  grid[s] from the form definition.
Maybe if we add a  getFormGrids() it would be easier to understand the code. My assumption would be that the id identifies the path, we should be able to recursively extract a structure like the following from the definition above:
{
    'subnet4': {
          '0000001.0001': {
               'id': 'description',
                'description': 'Description',
                .....
           }
    }
}

The 0000001.0001 we would generate based on the row number of the record (second part) and the offered sequence for the field.
We can then easily sort all found containers by key.
Obviously we need to feed the output of getFormGrids() to the view in the same way as we would for the form (which means we pass two containers).
I can take a look at building the getFormGrids() method, but not today I'm afraid, maybe it's better to start with a ticket in core if we wish to pursue this further. The idea is practical, I think the bootgrid_tables  partial is more or less ok (just needs to be named bootgrid_table as it generates one). There are just details to be filled in at some point (for example how to map types and suppress fields when not relevant at all)


Relax tolerance in test_exact_transient_solution_cpp

test_exact_transient_solution.cc fails with the pre-built image on other hosts.
Not exactly sure why but I suggest we relax a bit the tolerance.
Currently we use 1e-6 %

I was thinking we bump it up to 1e-5 percent and may be check that absolute difference is less than 1 microvolt

On jenkins
GIT_COMMIT_HASH=6bfffde034c545d56c450e1e43316966a7fbc1be
GIT_REMOTE_URL=https://github.com/ORNL-CEES/Cap
[...]
Total Test time (real) =  27.89 sec

The following tests FAILED:
	 11 - test_exact_transient_solution_cpp_1_procs (Failed)
Errors while running CTest

I use a percent tolerance of 1e-3.

Running 1 test case...
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{4.29972e-06} between computed_voltage{0.17259069351540293} and gold_solution[pos]{0.17259143560676579} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{2.04154e-06} between computed_voltage{0.18593225566221308} and gold_solution[pos]{0.18593263524951811} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{2.36768e-06} between computed_voltage{0.19059739274508819} and gold_solution[pos]{0.19059784401880361} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.16667e-06} between computed_voltage{0.19460198487156083} and gold_solution[pos]{0.1946022119085378} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{3.79018e-06} between computed_voltage{0.19815937216959012} and gold_solution[pos]{0.19816012322872489} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{6.66338e-07} between computed_voltage{0.20139353082879491} and gold_solution[pos]{0.2013936650249285} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.78799e-06} between computed_voltage{0.20438036420913069} and gold_solution[pos]{0.20438072963998949} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{2.34171e-06} between computed_voltage{0.20716968626261728} and gold_solution[pos]{0.2071701713934283} exceeds 1e-05%
/home/jenkins/workspace/Bar/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{8.27384e-07} between computed_voltage{0.20979775467086972} and gold_solution[pos]{0.20979792825420379} exceeds 1e-05%

*** 9 failures are detected in the test module "ExactTransientSolution"

it's insane it shouldn't have passed the BOOST_CHECK_SMALL with 1microvolt of tolerance...

copy/paste from discussion on PR #123
test_exact_transient_solution_cpp_1_procs" start time: Apr 21 09:31 EDT
Output:
Running 1 test case...
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{2.36184e-06} between computed_voltage{0.17259184323958501} and gold_solution[pos]{0.17259143560676579} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.74836e-07} between computed_voltage{0.18020259512043804} and gold_solution[pos]{0.18020256361459411} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.10821e-06} between computed_voltage{0.18593242919793684} and gold_solution[pos]{0.18593263524951811} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{9.04486e-07} between computed_voltage{0.1905976716258401} and gold_solution[pos]{0.19059784401880361} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.15416e-07} between computed_voltage{0.19460223436876695} and gold_solution[pos]{0.1946022119085378} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{2.77022e-06} between computed_voltage{0.19815957428217496} and gold_solution[pos]{0.19816012322872489} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.16931e-06} between computed_voltage{0.20139390051686604} and gold_solution[pos]{0.2013936650249285} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.39484e-06} between computed_voltage{0.20438101471750267} and gold_solution[pos]{0.20438072963998949} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.36566e-06} between computed_voltage{0.20717045431816833} and gold_solution[pos]{0.2071701713934283} exceeds 1e-05%
/home/bt2/Documents/Cap/cpp/test/test_exact_transient_solution.cc(68): error: in "test_exact_transient_solution": difference{1.02468e-06} between computed_voltage{0.20979771327799024} and gold_solution[pos]{0.20979792825420379} exceeds 1e-05%

How does 1e-6 exceed 1e-5?

It is a total non sense, the test that should be failing is not the BOOST_CHECK_CLOSE but the BOOST_CHECK_SMALL...

1e-6 > 1e-5% = 1e-7

What is the commit hash?

Oh yes percentage you are right

But shouldn't the BOOST_CHECK_SMALL fail as well?

OK I get it now.
Let's relax to 1e-3%

The issue is addressed in PR #119 which should be merged shortly


Default Table in the results section

While searching irrespective of the filter the full list of centre’s and availability/ for other age etc also shows up.. it’s a bit confusing, can we not restrict to show the list/ results only basis the filter given at time of running

It's possible but, there is no selection of a vaccination centre for now. The table is for information only.
Centre selection is automatic.
Can consider this in future.


Add doc example for pulldown_cmark::html::push_html.

@raphlinus Are you going to look at this one?

Also, at least for me, master currently has test failures. We should maybe look into getting CI turned on

Thanks! Filed #79 to track the need to enable Travis, totally agree.


[r-apt][r-packages][r-rig]: install stable version of pak by default (instead of devel version)

pak has been released frequently over the past few years, and I believe the stable version is now sufficient for our needs.

The global test failure seems to come from the fact that R 4.4.0 (released the day before yesterday) cannot be installed by rig on Ubuntu 24.04, which was released yesterday, and is unrelated to the changes made by this PR.


Pods Creation Trend should use creationTimestamp

When adding a new OpenShift provider to ManageIQ all the pods are going to have the same created_on timestamp, generating a big spike of Pods Creation in the Trend added in #6759.
We should use the real pod creationTimestamp for the Pods Creation statistics (I think this is saved in ems_created_on.
cc @yaacov

@miq-bot add_label providers/containers, bug

Closed by #7775


Badge system overhaul + Retired Logi

This PR resolves #135.
WARNING: This update requires you to run migration 0003!

The MySQL migration will move all badges from the admins table to the badge_assignment table.  This migration is highly destructive, it is recommended that you back up the database before proceeding.

The Sqlite migration only creates the new tables and seeds the badge table. You will need to migrate badge_assignments manually.

This PR alters the way the waitlist handles specialist badges, the core changes are as follows:

Separated specialist badges (referred to as badges hereafter) from the ACL system
Allows an FC to retain specialist badges when they are granted FC permissions. This means they will not need to be reassigned badges if they leave the FC team
Created a new badges page where FCs can audit, assign and revoke badges
Removed the badge settings from the ACL modal which is now restricted to trainers/council/admin, and added a new badges modal
Added a Retired-Logi badge (defined in the migration)
Added logic in the invite controller to stop Trainees from inviting retired logi and Training Nestors (invite.rs#L69-L84)

Manage Badges
Users with shell access to the database can create, delete or update badges within the badge table.

SQL Example: Creating a badge
INSERT INTO badge (name) VALUES ('badge_name');

The badge name needs to match a KEY in the tagBadges object (see below) - otherwise, it will not render correctly
https://github.com/samuelgrant/tdf-waitlist/blob/79b0816875e2813b5d87bb865d12851081905da7/frontend/src/Components/Badge.js#L75-L87.
The badge order on the Xup card can be changed here: https://github.com/samuelgrant/tdf-waitlist/blob/79b0816875e2813b5d87bb865d12851081905da7/frontend/src/Pages/Waitlist/XCard.js#L29-L41

Change Log

Database:

Created table badge to manage tag options. These tags are used to dynamically populate UI elements on the badge page, and badge modals
Created table badge_assignments to track which badges have been assigned to a pilot, when and by whom
Provided SQL scripts for MySQL to migrate badges from the admins table into badge_assignments

Auth/Permissions

Removed the waitlist-tag scopes for badges
Removed the scopes that allow an FC to manage badges (e.g., access-manage:l) - The auth backend will be further developed in a later PR and legacy code will be removed
Created a new scope badges-manage used to access the badge page/modal and assigned it to HQ-FCs
Restricted the ACL modal to Trainers, Council and Admins

Controllers

Created a new routes file for badges
Added GET/POST/DELETE endpoints to manage badges
Updated the pilot info endpoint to include information about a pilot's badges

UI/UX

Created a badges page where badges can be assigned, revoked and audited
Removed the filters from ACL page - ACL management will be further improved in a future PR
Added a new NPM package react-data-table-component so e can render data tables on admin pages
Added the retired logi badge to the badge guide

Fleet

Created a Retired Logi badge that can be assigned by HQ-FCs,
Blocked trainees/advanced trainees from inviting retired logi and training nestors

badges.rs is fucked
does not compile.

Thanks for the heads up.
Compiling fine on my end, it could be a difference in our dev environment? I'm running Ubuntu.
 I have been able to partially reproduce them within docker and I think I've fixed them, will commit the changes in a moment. However, I am unable to test the fix on my end due to some technical issues with Docker.
If you could pull the updated code, and attempt to build the app that would be fantastic.

Changes:
• Fixed five property capitalization issues in lines 128, 130-131 & 136-137
• Used the more traditional format!() method rather than the string interpolation method as this is unsupported by older versions of Rust.

Okay, this PR should be ready for review @luna-duclos.
If you have been following along with the changes on your dev machine you will need to drop the badge and badge assignments table and re-run the relevant migrations as I have added a new column. I have checked all of the features that have been implemented to make sure they work as I would expect, but please take a good look as well before you merge.
Alex has brought a few UI concerns to me, after consideration and discussions with others I have opted not to implement his requests, my rationale is below:

Replace the badge filter select input with buttons.

When working with data tables a <select> element would be the typical component.
The new system can have as many badges as desired, this could get out of hand if there was a button for every filter. A select element provides a much cleaner UI element that scales nicely

Tie the Logi and Retired-Logi options into one filter

The system is dynamic, I am purposely trying to avoid hard-coding things so we can easily add/remove badges with as few code changes as possible. For this reason, the filters are dynamic, therefore the filters have to be separate

The order of badges on the badge modal isn't Alex's preferred order

Again dynamic system. It could be possible to sort alphabetically or to add a sort_index integer in the badge table.  PRs on both these options would be easy in the future should it become necessary

One row per character per badge is too bloated. On the badges page show one row per character and create a history page to show who assigned what and when

Talked about this with other FCs who felt it was fine. Filters can mitigate the bloat concern

Data table design on the badges page is different to other admin pages (ACL/Bans)

I would like to update these pages over time to improve usability. They could be standardised at that time.


fixes issue #306

Corrected the payment unit from $ to rupees.
Fixes # (issue)
https://github.com/pooranjoyb/popShop/issues/306
Type of change
Please give a X on it which is applicable

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactor Code
[ ] A documentation update
[ ] Others(mentioned in the issue number)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test A Describe here
Test B Describe here (if Requred)
Screenshots and Videos:
Give screenshots and video of the changes you made
Checklist:
Give a X on, which is applicable

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Hey @Tanishashrivas pls do the changes for #302 in this same PR only.

Hey @Tanishashrivas pls do the changes for #302 in this same PR only.

Sir, i can do that but will i get points for this level1 issue and level2 issue?

made new pr with both issues fixed


.remove does not work

Hey .remove does not work

My erela version: 2.0.0-beta.5

It's impossible to say with the amount of information you provided please link code or provide code for us to reproduce the issue

     const amount = Math.round(Number(args[0]) || 0) - 1;

     player.queue.remove(amount);

I am unable to reproduce this with my code, are you able to provide your own code so I can test it?

Closing this issue , if the issue persist please re open the issue and provide more code for us to check.


input file in disable mode

Not able to diabled input filed . Use only select date from calender

You can disable input field in many ways. Check this issue: https://github.com/kekeh/angular-mydatepicker/issues/17


{Bug} when a password misses

when I error the password the server is closed, could you fix this?

I'll check this bug.

Okay

The error has been fixed. thanks!


feat: add environments module

Adds Novu.Environments module with:

get_current_environment/0
create_environment/2
get_environments/0
update_environment/2
get_api_keys/0
regenerate_api_keys/0

Add support to post requests with empty body using post/2

@doomspork Just to make you aware of another PR review.

I'm aware @Cliftonz 😁 There were changes just moments ago 👍


Adding transformers as backend

Goals :soccer:
This PR adds Huggingface transformers as a optional backend.
Implementation Details :construction:
Also adds test-markers to give users the ability to only run the huggingface-related tests.

Fixes #719


Video-level classification

My actions before raising this issue

[X] Read/searched the docs
[X] Searched past issues

Currently, tags can only be applied to video frames. It would be useful to provide a way to classify an entire video with a single tag.
Expected Behaviour
Add either a new label type or an option to tags allowing them to be defined over an entire video. Or even better, allow tags to be defined over a frame range which would also allow for temporal clip annotation.
Current Behaviour
Currently, a workaround is to just tag the first frame, then post-process the labels to upgrade the frame-level tag to a video-level tag. This is not ideal since it relies on conventions that can accidentally be broken by annotators.
Context
Some of the users of the FiftyOne and CVAT integration are working heavily with video data. They perform the majority of their annotation in CVAT, but due to the lack of a way to annotate a whole video with a single tag, they have been looking into other annotation tools for this purpose. Given that this seems like a relatively simple label type, it may be worth adding to CVAT natively.

Maybe related #1228

@bsekachev Ah yeah, that is similar! What I'm specifically looking for is not an attribute on an object annotation, but just a video-level attribute directly that is immutable and cannot be modified using keyframes.

It is connected with https://github.com/opencv/cvat/issues/5003


Fix: Prop types

While using the component with TypeScript, encountered some prop erros (like Property 'bounceDelay' does not exist or Property 'isRTL' is missing). Just fixing this to prevent some unnecessary errors popping up.

Ah, my bad - totally forgot about the typescript definitions.
Thanks for catching this. Will merge and push out a release now.


throw new TypeError('root path required')

Hello. i am deploying app to a remote server, and this error is thrown.

/app/node_modules/express/node_modules/serve-static/index.js:40
remote:            throw new TypeError('root path required')
remote:            ^
remote:        TypeError: root path required
remote:            at Function.serveStatic [as static] (/app/node_modules/express/node_modules/serve-static/index.js:40:11)
remote:            at exports.default (/app/server/config/express.js:129:57)
remote:            at Object. (/app/server/app.js:51:28)
remote:            at Module._compile (module.js:409:26)
remote:            at Object.Module._extensions..js (module.js:416:10)
remote:            at Module.load (module.js:343:32)
remote:            at Function.Module._load (module.js:300:12)
remote:            at Function.Module.runMain (module.js:441:10)
remote:            at startup (node.js:140:18)
remote:            at node.js:1043:3

the only static path i am using in path are.
app.use(express.static(app.get('appPath')));
app.use('/jobseeker', express.static(process.env.JOBSEEKER_UPLOADS));
app.use('/employer', express.static(process.env.EMPLOYER_UPLOADS));`

Hi @umimehar that means at least one of those values are falsy. The stack trace shows it is the express.static call in your file /app/server/config/express.js on line 129.


Data binding between different views

Hello,
Is there any way to bind or share variables between different composable functions?
Thanks

@Zpecter I think creating a state outside of both functions and passing it as parameters would do it?
Not sure if that's the recommended way though.

@Zpecter I think creating a state outside of both functions and passing it as parameters would do it?
Not sure if that's the recommended way though.

This is my declaration:
var selectedDate : Date? by state { null }
I have it declared into a composable function, if I put outside, it shows lots of errors, so I'm sending this value as a parameter to the other composable functions, but I got 2 errors:
1- Property delegate must have a 'setValue(Nothing?, KProperty<>, Date?)' method. None of the following functions is suitable:
public inline operator fun  MutableState.setValue(thisObj: Any?, property: KProperty<>, value: ???): Unit defined in androidx.compose
2 - Val cannot be reassigned

(1) is due to missing imports. Try using auto-fix (alt/option + enter) while cursor is on the red line.
(2) Maaaybe same reason?
I saw these and they made no sense but then fixing the imports using auto-fix worked.

Yes the answer to this question is state hoisting, to hold the state in a higher level component.


x86 pre-compiled not working again....

So...i updated fron 0.20.1 that was working perfect to the last version of x86_64 for linux and now i am getting this error (dependency problem?), i tried to fix it removing the data/config folder but didnt work.
root@server:~/scripts/wsp# ./mudslide-linuxstatic-x64 login
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

Error: Cannot find module './718.index.js'
Require stack:
- /snapshot/dist-ncc/index.js
1) If you want to compile the package/file into executable, please pay attention to compilation warnings and specify a literal in 'require' call. 2) If you don't want to compile the package/file into executable and want to 'require' it from filesystem (likely plugin), specify an absolute path in 'require' call using process.cwd() or process.execPath.
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function._resolveFilename (pkg/prelude/bootstrap.js:1951:46)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at Module.require (pkg/prelude/bootstrap.js:1851:31)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.require (/snapshot/dist-ncc/index.js)
    at /snapshot/dist-ncc/index.js
    at Array.reduce (<anonymous>)
    at Function.e (/snapshot/dist-ncc/index.js) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/snapshot/dist-ncc/index.js' ],
  pkg: true
}
root@server:~/scripts/wsp#

Hi @WolfRamiO74
I think this issue is similar to https://github.com/robvanderleek/mudslide/issues/54
I've included the JS assets also for the Linux build, can you check the latest release please?

Hi @WolfRamiO74
I think this issue is similar to #54
I've included the JS assets also for the Linux build, can you check the latest release please?

thanks!!!! working again, only message that i get when do the login was this:
success   Logged in ◼  pause     Wait until WhatsApp finishes connecting, then press any key to exit (node:920) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (Use mudslide-linuxstatic-x64 --trace-deprecation ... to show where the warning was created)

Great 🙂
I think the deprecation warning comes from a library I'm using, there's no use of Buffer in the Mudslide code. I'll wait until it's resolved in the library.

Sadly this is happening again with the latest release 0.29.0
`# ./mudslide-linuxstatic-x64 login
ℹ  info      In the WhatsApp mobile app go to "Settings > Connected Devices >
ℹ  info      Connect Device" and scan the QR code below
Created mudslide cache folder: /root/.local/share/mudslide
node:internal/modules/cjs/loader:933
const err = new Error(message);
^
Error: Cannot find module './718.index.js'
Require stack:

/snapshot/dist-ncc/index.js

If you want to compile the package/file into executable, please pay attention to compilation warnings and specify a literal in 'require' call. 2) If you don't want to compile the package/file into executable and want to 'require' it from filesystem (likely plugin), specify an absolute path in 'require' call using process.cwd() or process.execPath.
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function._resolveFilename (pkg/prelude/bootstrap.js:1951:46)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at Module.require (pkg/prelude/bootstrap.js:1851:31)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.require (/snapshot/dist-ncc/index.js)
at /snapshot/dist-ncc/index.js
at Array.reduce ()
at Function.e (/snapshot/dist-ncc/index.js) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/snapshot/dist-ncc/index.js' ],
pkg: true
}`

Hi @robertwho
I've switched to a different bundler (from ncc to esbuild), hopefully that fixes these (reoccurring) issues.
Can you try the binaries from the latest release (0.29.2)?

@robvanderleek excellent, v29.2 works as supposed to do! Thank you very much


Update sites.yml

added https://romansokol.com

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[ ] I have included a link to the GTMetrix report
[ ] The domain is in the correct alphabetical order
[ ] This site is not a ultra lightweight site
[ ] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

- domain:
  url:
  size:
  last_checked:

GTMetrix Report:

Can you attach the GTMetrix link? I need to verify the size before I can merge it.

Sorry about that, here is the link https://gtmetrix.com/reports/romansokol.com/kVfPDIll/.
Roman Sokol
Sent with Proton Mail secure email.
------- Original Message -------
On Thursday, November 17th, 2022 at 3:07 AM, Garrit Franke @.***> wrote:

Can you attach the GTMetrix link? I need to verify the size before I can merge it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

The site is 877 kB uncompressed, which is too large. Sorry!


Remove the TWiki archives

We can tag 7d1ebb267244184380577bed1c510eba6b662577 as twiki-archives

Why?

IMO, both of those are solved with a tag. When was the last time you looked at the archives? And if you're regularly looking at the archives, then we should be converting the documents or extracting the useful info that you're looking for.

Not a big fan. Whatever.


Allow passing "empty" values from Go SDK

Suppose the following scenario:
// module foo
func (f *Foo) DoFoo(
	// +optional
	// +default=true
	arg bool,
	// +optional
	arg2 string,
} error {
	// ...
}

// module bar
func (f *Bar) DoBar() error {
	return dag.Foo().DoFoo(dagger.FooDoFooOpts{Arg: false})
}

As described in https://github.com/dagger/dagger/issues/7777#issuecomment-2203387161, this false won't apply, and we'll get the default true value set for arg.
That's because of the following logic in the generated go code: https://github.com/dagger/dagger/blob/6873b3a3960f7927c6b0971e97141ad3bc9a3e55/sdk/go/dagger.gen.go#L1092-L1095
If a value is a zero-value (e.g. false, 0, ""), then we won't include in the values sent to the server. This is done because in go there's no way to distinguish between a value that's not provided and a value that's set to the zero value. This issue mostly appears with default booleans of true, but could also appear with empty strings.
This is a pretty big issue for the Go SDK - it means that users are incentivized to just avoid options that default to true if they want to be called from the Go SDK (other languages don't have this issue).
We should work out what to do, since this is a pretty big stumbling block. Some options off the top of my head:

Document this limitation somewhere - all SDKs have their quirks, so we could have a docs page where we write them all down, and we just accept that this is one of Go's.

Explicitly handle the boolean default true case - in this case, invert the option for go. So in the above example, the Go SDK gets an option NoArg:
// module bar
func (f *Bar) DoBar() error {
  	return dag.Foo().DoFoo(dagger.FooDoFooOpts{NoArg: true})
}

However, this only handles for the boolean case, we still haven't handled the similar (and more complex) ""/0 cases.

Define our own "special" booleans like dagger.False and dagger.True - these would be incompatible with bool, but would essentially let us have a trinary value: True, False and "unset".
However:

Only solves this for booleans again.
Backwards incompatible, arg types change.
Incredibly miserable to actually use.

Use pointers for every optional arg. This means that we can easily see the difference between a provided &false and an empty nil.
However:

You can't take the address of a literal value - so we'd need to use a pointer like ptr(false) (I think we already have this).
This is backwards incompatible, since we change the types of args.

Give up entirely on using structs for opts - instead allow using a With pattern - this is a pretty standard pattern in the go ecosystem of doing options (which we use ourselves in the engine/cli).
// module bar
func (f *Bar) DoBar() error {
  	return dag.Foo().DoFoo(dagger.FooDoFooWithArg(false))
}

This is very verbose. Needing to explicitly prefix FooDoFoo for each distinct option is quite miserable.

Explodes the size of go codegen - this is probably fine?

Potentially we could support this alongside our existing mechanism - currently the function signature of DoFoo looks like: func (r *Foo) Export(ctx context.Context, opts ...FooDoFooOpts) (string, error). If we change the type of the auto-generated Opts struct to be a go interface, and have a struct that implements it, we could additionally have functions that implement it. This could result in calls like:
dag.Foo().DoFoo(dagger.FooDoFooOpts{Arg2: "hello"}, dagger.FooDoFooWithArg(false))
// or even...
dag.Foo().DoFoo(dagger.FooDoFooWithArg2("hello"), dagger.FooDoFooWithArg(false))

I think the last option here gives us some interesting opportunities - at the very least it lets us solve this problem - and potentially provides an alternative way of doing options for users who prefer the second method. I think it would be the way to go - we can do it in a fully backwards-compatible way - but it's probably going to take a bit of effort, and I'm still not a huge fan of it's huge verbosity - maybe there's something clever we could do there.

Yeah, this is kinda weird - pointers let the callee handle this, but there's no way for the caller to handle it.
I can't call DoFoo from another Go module to get a false arg (no matter how it's been declared) - at the moment at least.

I think this version is less verbose:
dag.Foo().DoFoo(dagger.FooDoFooOpts().Arg2("hello").Arg(false))

Which would still allow this:
dag.Foo().DoFoo(dagger.FooDoFooOpts().Arg2("hello"), dagger.FooDoFooOpts().Arg(false))

Probably not used inline like that, but saved into vars and composed.

Incredible that I didn't realize this was a limitation. Would have led to big confusion. I am closely watching this as not having default true booleans would be bad for multiple reasons!
I like the chaining method if that's what you decide to go with and this will need to be well documented.

Can I suggest an option that may seem weird, but could have some potential? I call it "goofy/regular".
TLDR: introduce an alternative calling convention with a different DX and more features. The two conventions would co-exist, preventing any breaking changes.

Regular convention: same as today.
Goofy convention: encode the call in a single object, then make the call with Callxxx.

Benefits

A clean DX for explicitly setting and getting optional arguments
No breaking changes. New DX is opt-in, and can be mixed and matched
Also solves the problem of middleware: @jedevc you could use goofy convention for GHA defaults :)

Caller example

Standard convention
Goofy convention

App.Test(source, dagger.AppTestOpts{All: false}))
App.CallTest(new(dagger.AppTestArgs).SetSource(source).SetAll(false))

Callee example
The nice thing is that the callee can also choose between goofy and regular.

Standard convention
Goofy convention

func Test(source *dagger.Directory, all bool)
func Test(args dagger.AppTestArgs) { source := args.GetSource(); all, ok := args.GetAll()

Any traction on this? I ran into this again today and it wasn't a pleasant experience. To find details about it I had to search Discord. Would it make sense to document here until we arrive at a conclusion? https://docs.dagger.io/api/arguments/#optional-arguments


Allow specification of timezone

timezone is supported by Microsoft SQL Server, allow it as optional parameter.

Thanks!
Could you also update examples? Add mssql example with timezone specified.
Also, make sure that existing examples works. They should work, but worth checking.

ping @douglasfraser-aviva


Import error when using Python3.8

With python3.10 I have no error, but when using LaVague 1.0.7 with python3.8 I have the following error:
ImportError: cannot import name 'default_get_selenium_driver' from 'lavague.defaults'

Fix now merged


Build failure: thefuck 3.32

Steps To Reproduce
Steps to reproduce the behavior:

use nixpkgs-unstable
build thefuck

Build log
https://gist.github.com/isabelroses/ae50c2cd2bfc469c35efce193b541604
Additional context
Notify maintainers
@marcusramberg
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
- system: `"x86_64-linux"`
 - host os: `Linux 6.9.7, NixOS, 24.11 (Vicuna), 24.11.20240703.9f4128e`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Lix, like Nix) 2.91.0-devpre20240707_d461cc1
System type: x86_64-linux
Additional system types:
Features: gc, signed-caches
System configuration file: /etc/nix/nix.conf
User configuration files: /home/isabel/.config/nix/nix.conf:/etc/xdg/nix/nix.conf:/home/isabel/.local/share/flatpak/exports/etc/xdg/nix/nix.conf:/var/lib/flatpak/exports/etc/xdg/nix/nix.conf:/home/isabel/.nix-profile/etc/xdg/nix/nix.conf:/nix/profile/etc/xdg/nix/nix.conf:/home/isabel/.local/state/nix/profile/etc/xdg/nix/nix.conf:/etc/profiles/per-user/isabel/etc/xdg/nix/nix.conf:/nix/var/nix/profiles/default/etc/xdg/nix/nix.conf:/run/current-system/sw/etc/xdg/nix/nix.conf
Store directory: /nix/store
State directory: /nix/var/nix
Data directory: /nix/store/2s37fjh67f3p4k2ga5cmn1mi173z2lld-lix-2.91.0-devpre20240707_d461cc1/share`
 - nixpkgs: `/nix/store/dk2rpyb6ndvfbf19bkb2plcz5y3k8i5v-source`

Add a :+1: reaction to issues you find important.

Seems fixable by moving to an unstable rev https://github.com/nvbn/thefuck/commit/0420442e778dd7bc53bdbdb50278eea2c207dc74

Also related https://github.com/nvbn/thefuck/issues/1444.

Same behavior here on MacOS using home-manager.

I'm currently on vacation, so a bit limited time.  I guess our options are either pinning it to python11 until there's a release, moving to unstable or adding that commit as a patch.

This happened due to recent shift to Python 3.12 in Nixpkgs.

Seems fixable by moving to an unstable rev nvbn/thefuck@0420442

Mind backporting it then?


"Gogs: Internal error" When using 'git clone'

Below is the message I receive (though I replaced the actual repository name) when I attempt to clone a repository created in Gogs via ssh.
fatal: 'repositoryname' does not appear to be a git repository
Gogs:  Internal error
fatal: Could not read from remote repository.

I've noticed in some other issues that it could be duplicated authorized keys, but in my case there aren't any duplicates.

It appears that Gogs output the organization name in the repository url with capital letters.  I blindly copied and pasted.  Shortly after opening this issue I returned to the repository page in Gogs to find the correct URL.  The same thing happened to another developer I am working with, so I'm quite sure it wasn't just my mistake.

Thanks your feedback!
I think it's not about the upper/lower case thing, it's another bug that Gogs cannot handle anonymous SSH clone, which has been fixed in develop branch. Please help test again, thanks!

Close for now, but open for continuing discussion.

Hello,
I can confirm Jsewill, when the organization or the repository has Capital letter, git clone fails (but works in https).
Thx

@romain-poirson can you reproduce this on https://try.gogs.io ?

I have the same problem. I named my organization in all capital letters and could only clone/push via https. But it works through SSH if I lowercase the name in URL (without changing organization name in Gogs).
Hope that helps in debugging.

Same comment as above of mine...

@Unknwon : in have reproduced the bug on try.gogs.io, as you can see it : https://try.gogs.io/CapitalizeCompagnie/CapitalizeGit
my id user : 3971
Thx

@romain-poirson it gives me 404 which I can't tell what bug do you mean?

My bad, the repository was not public.

@romain-poirson no worries. I can open it now, it's an empty repo... what's next?

you must be in the same organization (git clone via SSH), what is your account on try.gogs.io ?

@romain-poirson same as GitHub: unknwon

Ok i I put back the repository in private, still it works effectively.
I added you to our organization and I created a new repository in this organization : "AnotherCapitalize". I can't clone it via SSH. And you ?

NB : during the creation, this repository was in private by defaut. If you confirm the error, i will try to put in public, then in private and try to clone it again. I think it will work.

@romain-poirson Got it, I can reproduce it now!

Nice one :)

@romain-poirson OK! Please test on try again, it should be fixed by develop branch.

it works, thx a lot.

@romain-poirson thanks for following up!


Error when importing a YBN file

Hello !
I have encountered this error while importing a ybn.xml file.
I want to know how to fix this error. I am exporting the xml from CodeWalker RPF explorer and I have the latest version of Sollumz.
I can import ydr.xml files but not ybn.
Error:

:
I'm waiting for your answer,
thx,
Walien

I just tried importing the same YBN file, worked fine for me, not sure why you are getting an error

You definitely are not using the latest version. Make sure you download from this Github.


Invalid import for BigDecimal type

If my model contains a BigDecimal type, the resulting generated import in the typescript model doesn't build:
import { Big } from<EMAIL_ADDRESS>
[build:types] > tsc -p tsconfig.types.json
[build:types]
[build:cjs] src/models/models_0.ts(2,21): error TS6137: Cannot import type declaration files. Consider importing 'big.js' instead of<EMAIL_ADDRESS>[build:cjs] npm run build:cjs exited with code 2
[build:types] src/models/models_0.ts(2,21): error TS6137: Cannot import type declaration files. Consider importing 'big.js' instead of<EMAIL_ADDRESS>[build:types] npm run build:types exited with code 2
[build:es] src/models/models_0.ts(2,21): error TS6137: Cannot import type declaration files. Consider importing 'big.js' instead of<EMAIL_ADDRESS>[build:es] npm run build:es exited with code 2

I believe this line should be
return createSymbolBuilder(shape, "Big", TypeScriptDependency.BIG_JS.packageName)

Fixed by above pull request


Latest NextJS (10.1.4-canary.6) with Webpack 5 enabled fails: error - ./some-icon.svg?sprite TypeError: Cannot read property 'version' of undefined

What?
Hi, I'm trying to update my NextJS project from 10.0.5-canary.3 to 10.1.4-canary.6. And I'm enabling Webpack 5.
The feature that I'm using from next-optimized-images is the SVG sprite generation.
After remove node_modules and start Next project again in dev mode I see this error on the console:
error - ./components/Footer/logo-footer.svg?sprite
TypeError: Cannot read property 'version' of undefined
event - build page: /next/dist/pages/_error

Did anyone found this problem?
This is my next.cofig.js
const withPlugins = require('next-compose-plugins')
const optimizedImages = require('next-optimized-images')
const nextConfig = {
  distDir: 'next-server',
  future: { webpack5: true },
}

module.exports = withPlugins(
  [
    [
      optimizedImages,
      {
        imagesFolder: 'images',
        imagesName: '[name]-[hash].[ext]',
        handleImages: ['svg', 'png'],
        svgo: {}
      }
    ]
  ],
  nextConfig
)

Thanks

This plugin is changing webpack configuration right?
Could be that the way this plugin is changing webpack config is not compatible with webpack 5 https://github.com/vercel/next.js/issues/23143 ?
I tried v3 of this plugin but I can't use because sprite feature is not ready there

Meanwhile my solution is to include webpack 4 in my package.json dependencies and set future: { webpack5: false }, in my next.confi.js

It's an issue in the underlying repo. A PR is already prepared: https://github.com/JetBrains/svg-sprite-loader/pull/452.
You can use patch-package to apply this fix locally in case the PR isn't merged yet.

svg-sprite-loader 6.0.6 has been released with a fix for the error, so I believe should mean that this issue can be closed, right?

Let me check and I'll close it : )


Doubt about https local ip

Good, I do not know if this is the right place to write it, but I have the question of how I can do to access the web is https instead of http, I do not plan to expose the web opening ports just want https to access local

Please, me too, can help?

On Debian i used nginx to run as reverse proxy.
After nginx installation i replaced the nginx-config (copied somewhere from the web):
server {
    listen 80;
    server_name wireguard-server.fritz.box;

    rewrite ^/(.*)$ https://$host$request_uri? permanent;
}

server {
    listen 443;
    server_name wireguard-server.fritz.box;

    ssl                  on;
    ssl_certificate      /etc/ssl/private/wireguard-server.crt;
    ssl_certificate_key  /etc/ssl/private/wireguard-server.key;

    ssl_prefer_server_ciphers on;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
    ssl_dhparam /etc/ssl/private/dh2048.pem;

    # intermediate configuration. tweak to your needs.
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

    location / {
        proxy_pass http://<IP_ADDRESS>:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

Maybe it is not the best configuration but "works for me".
You have to adapt the lines beginning with "server_name" to match your host name.
I used self signed certificates. I created them (here: valid for 20 years) this way:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/wireguard-server.key -out /etc/ssl/private/wireguard-server.crt
openssl dhparam -out /etc/ssl/private/dhparam.pem 2048

If wireguard-ui is running on the same host as the nginx-server you can change the start to:
wireguard-ui -bind-address <IP_ADDRESS>:5000
The http-port (80) is also served but immediately redirected to https.
This is how i did it.

A similar result is possible using Caddy.


serializers: add datapackage serializer

:heart: Thank you for your contribution! (:heart: Thanks for working on the project!)
Description
Data Package is a European Commission-funded project (via NLnet) that is a standard containing a set of lightweight specifications for describing datasets and individual data files. The standard is widely used for data interoperability in other data portal systems like CKAN, Dryad, Our World in Data, and others. The main benefit of adoption the Data Package Standard is a rich set of software for reading and validating datasets - https://datapackage.org/standard/software/ (the most advanced implementations are in Python and R, as well as a Desktop application).
By creating this pull request, we would like to bootstrap a discussion if Invenio RDM (and Zenodo) would consider accepting the datapackage.json format to be one of the export targets for datasets' metadata (we also prepared a PR for invenio-app-rdm in case this PR is accepted). Also, tagging our friends from the University of California @sdiggs and @sapetti9 from Open Knowledge Foundation.
Thanks a lot in advance!
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[x] I'm aware of the code of conduct.
[x] I've created logical separate commits and followed the commit message format.
[x] I've added relevant test cases.
[x] I've added relevant documentation.
[x] I've marked translation strings.
[x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[x] I've NOT included third-party code (copy/pasted source code or new dependencies).

If you have added third-party code (copy/pasted or new dependencies), please reach out to an architect.

Frontend

[x] I've followed the CSS/JS and React guidelines.
[x] I've followed the web accessibility guidelines.
[x] I've followed the user interface guidelines.

Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

Hi @roll, thank you for opening this PR. The only thing missing to integrate this is hooking it up to our REST API responses to retrieve a record in the Data package serialization format via content negotiation.
Do you know what MIMEType would be appropriate for data packages? E.g. for RO-Crate we're using application/ld+json;profile="https://w3id.org/ro/crate/1.1", so would something like application/ld+json;profile="https://datapackage.org/profiles/2.0/datapackage.json" make sense?
If that's fine I can push a commit on top of this PR to finalize this and merge.

Thanks @slint!
Data Package is closer to the DataCite format but it hasn't yet gotten its own MIME-type like application/vnd.datacite.datacite+json so I think just plain application/json would work the best (similarly to the native platform's JSON format).
Please feel free to update the PR and let me know you need help with anything else :handshake:

Hi @slint, do you need any help?
Regarding the exporter I think I didn't get it from the initial reply but I have the PR ready for invenio_add_rdm as well (if you meant this one):
diff --git a/invenio_app_rdm/config.py b/invenio_app_rdm/config.py
index af244486..b354e441 100644
--- a/invenio_app_rdm/config.py
+++ b/invenio_app_rdm/config.py
@@ -751,6 +751,16 @@ APP_RDM_RECORD_EXPORTERS = {
         "content-type": "application/vnd.datacite.datacite+xml",
         "filename": "{id}.xml",
     },
+    # TODO: it requires a `invenio-rdm-recors` version update
+    "datapackage.json": {
+        "name": _("Data Package"),
+        "serializer": (
+            "invenio_rdm_records.resources.serializers:DataPackageSerializer"
+        ),
+        "params": {"options": {"indent": 2, "sort_keys": True}},
+        "content-type": "application/json",
+        "filename": "{id}.datapackage.json",
+    },
     "dublincore": {
         "name": _("Dublin Core XML"),
         "serializer": (

cc @sapetti9

Hi @slint, any new on this PR? cc @sdiggs @sapetti9

Hi @roll, sorry for this going under the radar. I will open a PR to hook-in the serializer to the REST API responses and the one you mentioned in App-RDM as well (will ping you there for a quick check).


Ban sync*/async* from user facing code

This does not make a big difference for compressed APK size, but it saves a few dozen kilobytes on the snapshot size. This is more visible in a smaller app like hello_world than a larger one like flutter_gallery, since it is a fixed cost savings.
One of the biggest individual savings is on PointerConverter, which goes from ~7kb down to ~3.6kb in the snapshot.
None of the iterables I've changed are actually lazily iterated. I suspect many of them were written before the spread operator and if/for building of lists was a feature, and some of them were probably cargo culted from others.
Many of these were allowed to remain becuase they were in exception handling cases or debug only code, where performance wasn't seen as critical. However, the exception handling code does end up bloating the size of the release snapshots, and while a few KB isn't much in a multi-megabyte file it's one area we can try to trim down a bit for memory savings.
While looking at this, I noticed DebugCreator was getting retained in release snapshots, so I added logic/testing to verify it is not anymore (particularly since any PR I did to fix that would end up merge conflicting with this one).
I've added two ignores for functions that were explicitly documented as returning lazy iterables on public API.
I've also exempted test code and code in dev/*.
I've added a TODO for the license stuff, since that would really just benefit from the new lightweight isolate API and will probably be easier to review in a separate PR.
On hello_world for arm64, this brings the package:flutter in app.so from 497kb to 487kb uncompressed.

(this PR does have tests, added in dev/bots/analyze.dart and dev/bots/test.dart)

Filed https://github.com/flutter/cocoon/pull/1520 for the bot.

Should this PR be interpreted as a general "avoid sync*/async* if possible"?

@rrousselGit - there are very valid uses of sync*/async*, however they do end up carrying a performance overhead and some binary size overhead. You can take a look at https://github.com/dart-lang/sdk/issues/47874 for more context. Sometimes, the overhead is worth it - but in almost every case in this PR, sync* was being used in a way that is trivially refactored to just return a list.
sync* is valid when you're actually going to lazily iterate something and stop at some point. In that case it can offer significant runtime savings - imagine for example a method that causes each iteration to make a network request or something. But it should not be used for a stylistic preference to returning a list for something trivial like a one line yield 'Something that could have been a list' :)

Added https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#avoid-syncasync to the wiki.

I have a patch ready to go on top of this one that refactors the license code to not use async*, which saves another 5 or 6kb on hello_world. I'll post it once this one lands.


a curious phenomenon about Buffer.from()

const FF = Buffer.from([0xFF])
const O_2 = Buffer.from([0x00])
const O_4 = Buffer.from([O_2, O_2])
const O_8 = Buffer.from([O_4, O_4])
console.log(O_8.length)  => 2
O_8  => 0x0000  not  0x0000 0000
but
const FF = Buffer.from([0xFF])
const O_2 = Buffer.from([0x00])
const O_4 = Buffer.from([O_2, O_2])
const O_8 = Buffer.from([O_2, O_2, O_2, O_2])
console.log(O_8.length)  => 4
I handled some data about Bluetooth in react-native app with buffer and found this.
"buffer": "^5.0.7"

You put four bytes into the Buffer (Buffer.from([O_2, O_2, O_2, O_2])) and the length is 4. This is expected, unless I'm missing something.

I kown Buffer.from([O_2, O_2, O_2, O_2] length is 4, it's good
I  just want to know why is the lenth ofBuffer.from([O_4, O_4]) 2 not 4
const O_2 = Buffer.from([0x00])
const O_4 = Buffer.from([O_2, O_2])
const O_8 = Buffer.from([O_4, O_4])
console.log(O_8.length) => 2


Expands on GatewayClass.spec.controller

Adds more details on how to interpret the controller field, give
an example around how versioning will work.
Fixes: https://github.com/kubernetes-sigs/service-apis/issues/229

/assign @robscott @jpeach @hbagdi @danehans

@bowei This mostly LGTM, but agree with James that it would be worth adding slightly stronger language here.

@bowei Could you update the language here so that we can get this PR in?

Opened up #327 to move this forward.
/close


MenuFlyout ingnore local DataTemplate

Describe the bug
see #6691
MenuFlyout ingnore local DataTemplate and using Application.DataTemplates
To Reproduce
Steps to reproduce the behavior:

Run attached prj
Right click on TextBlock

Expected behavior
using local DataTemplate
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Window
Version  0.10.7

Additional context
AvaloniaApplication1.zip

Just came across this with using a split button, as per https://github.com/AvaloniaUI/Avalonia/discussions/6691 setting the data template as part of the split button like this works:
<SplitButton>
	<SplitButton.DataTemplates>
		<DataTemplate DataType="{x:Type my:CustomType}">
			<MenuItem Header="{Binding Name}"  />
		</DataTemplate>
	</SplitButton.DataTemplates>
	<SplitButton.Flyout>
		<MenuFlyout Placement="Bottom" Items="{Binding MyItems}" />
	</SplitButton.Flyout>
</SplitButton>

Would be good if the docs had some sort of note about this issue


It is helpful to show an example how to create a simple skin animation

As a beginner, I am not familiar with creating a skin animation with pygltf.
It is very helpful for me.
Thanks a lot!!

Sure, I can look into that when I get a chance. In the meantime, perhaps these will help?
https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_019_SimpleSkin.md
https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_020_Skins.md

Thanks


[Spotify Player] Only recent items showing in "Your Library" search results

Extension
https://www.raycast.com/mattisssa/spotify-player
Raycast Version
1.83.1
macOS Version
15.0
Description
When searching in the "Your Library" function, only recent songs are loaded & others do not show up.
Steps To Reproduce
Install Spotify ext, search "Your Library", then search for a song or library item.
Current Behaviour
Showing only recent items
Expected Behaviour
Show all library items

Thanks for bringing this up. It appears that this is a duplicate of issue https://github.com/raycast/extensions/issues/7222, so I'll mark it as such.


The TraceConfig is empty is shown always

I have Samsung Galaxy Note 9 which is Android Q OS, and Galaxy Watch 4 which is Android Wear OS (R).
Both device always show "The TraceConfig is empty" whatever I put config options.
What should I do?
For example,
adb shell perfetto
-c - --txt
-o /data/misc/perfetto-traces/trace
<<EOF
buffers: {
size_kb: 63488
fill_policy: DISCARD
}
buffers: {
size_kb: 2048
fill_policy: DISCARD
}
data_sources: {
config {
name: "linux.ftrace"
ftrace_config {
ftrace_events: "power/cpu_frequency"
ftrace_events: "power/cpu_idle"
ftrace_events: "power/suspend_resume"
}
}
}
duration_ms: 10000
EOF
[858.641] perfetto_cmd.cc:460     The TraceConfig is empty

This looks like some issue when copy/pasting the command. That command definitely works.
Are you using bash or some other shell?
Maybe try saving first the config into a file and piping that file instead of using the heredoc (<<EOF) syntax

It looks like something wrong with my Windows OS during copy&paste. bash fails but shell in linux with the command works. thanks.


Web image

Hello, thanks for your work on providing an updated image to work with. I have it up and running and I am able to sign in with my server. The problem is no features are activated when I sign into your version of the webapp.
I modified all necessary elements in the database per their documentation. When I sign in to an instance of their old web app it appears most note types do activate.
Any ideas?

Hello, thanks for pointing out. They changed some code , so the modification didn't apply.
I update the modification and  add notes in README.
The next build will be at 20231107 04:00UTC, you could try the image after that time and test if the modification works.

It works! This is amazing, you are the best!


Stop running zap tests

cardid is very unlikely to lead to any kind of XSS or SQLi vulnerability in
frontend without some kind of change to frontend.
Stop running zap tests when cardid changes are made.

@dependabot rebase

Closing as this branch has gone stale


Valid Parentheses C++ STL stack

Solution for Balanced Brackets or Valid Parentheses using C++ STL stack
Links to Question
HackerRank: 	https://www.hackerrank.com/challenges/balanced-brackets/problem/
LeetCode: 	https://leetcode.com/problems/valid-parentheses/

@zahinekbal Created PR.
Please review and merge.

Nice Work @MonarchChakri


Fix Travis build

It seems that the PCRE package is no longer available.
The command "sudo wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz -q" failed and exited with 8 during .

Looks good, merged.


HTTP driver didn't fill database name in describe database

Codecov Report

Merging #76 (c6dedc9) into main (17eee28) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #76      +/-   ##
==========================================
+ Coverage   84.50%   84.51%   +0.01%
==========================================
  Files          15       15
  Lines        1271     1272       +1
==========================================
+ Hits         1074     1075       +1
  Misses        138      138
  Partials       59       59

Impacted Files
Coverage Δ

driver/http.go
77.17% <100.00%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


doc/reference/kernel: Add SMP architecture documentation

First cut at an architecture-level description for SMP.
Note this is in "baby RST".  It sorta looks right in a text editor, but I'm sure I've violated all sorts of rules and conventions about how this is supposed to work.  But the content is there and we can figure out the technical details as we review.

Hi @andyross I took the liberty of fixing your PR to remove the doc build errors, fix some misspellings, and fix the heading underlines to match the project conventions.  Now folks can focus on reviewing the content :)