Feat: Review contract metadata strategy and relevance

Feat: Review contract metadata strategy and relevance
Current store_contract_metadata add additional contract metadata but this can be technically encapsulated within the DAO implementing the proposal and is orthogonal to both store_blob and store implementations in the factory.
Need to create a design doc on use cases and strategy moving forward.  Might want to add this to the new sputnik improvements in the modular implementation of sputnik

Although this is something that can be made discoverable through an indexer, the convenience method of adding this on chain does seem like a good option as it's similar to what we do for contract metadata of DAOs.  @ilblackdragon would love for this to be reconsidered or open to your thoughts.


Consider migrating off of using PATs and use managed identities/app auth instead

Guidance from AzDO and GitHub has been to stop using PATs and start using managed identities and app auth, respectively. We still use PATs in many of our services, so this will be a large effort to refactor all these places. Sunsetting the use of PATs will improve our secret rotation experience, as well.

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

This is not in scope for the epic related to eliminating service principal secrets for the Helix service.

I believe most of this will be done for AzDO with :ocean::one: work, but we will probably still need to do this for GitHub related PATs.


Refactor qblox channels

This PR is linked with qibolab PR https://github.com/qiboteam/qibolab/pull/665 and it eliminate the necessity, for Qblox modules, of defning and calling instantiate_module(modules, cls, name, address, settings) inside the create() method, simplifying it and making the Qblox runcards more similar to the others.
Note: this should be merged immediately after PR #75

@PiergiorgioButtarini thank you for the PR in general, I was reading it and I found that possible improvement. But the PR is a much bigger improvement by itself :)

@stavros11 I removed the the offset setting in the runcard but the ports still need to be there since is the way in which the module initialize and know what ports are used.
These three way are equivalent, which one you think I should keep?
qcm_bb1:
    o1: True

qcm_bb1:
    o1: "connected"

qcm_bb1:
    o1:

Thanks for the update @PiergiorgioButtarini. I was also going to ask in the corresponding qibolab PR why this o1: True is needed, as in is there any case where it is False (or disconnected)?
Ideally the YAML should contain only parameters that can be calibrated (so mainly numerical values). Whether a port is connected or no is static so it should be in the create method. When you do
channels |= Channel(name="L4-5", port=modules["qcm_bb0"].ports["o1"])

you are saying that this port is connected somewhere, we shouldn't need to repeat this again in the yaml. Similarly, if a port is not connected it will not appear at all in the create.
In practice, if it is an easy fix to not have these ports in the yaml at all I would go for it, otherwise we can leave it for the next milestone and keep the bool for now.

channels |= Channel(name="L4-5", port=modules["qcm_bb0"].ports["o1"])

you are saying that this port is connected somewhere, we shouldn't need to repeat this again in the yaml. Similarly, if a port is not connected it will not appear at all in the create.

The problem is that in order to be able to call the attribute modules["qcm_bb0"].ports["o1"] one should have already defined that .ports["o1"] exist and is connected (this happen during the setup starting from the settings read from the yaml).
For sure there is a way to avoid this but for now I would suggest to merge this, since the main of qibolab and the main of platform_qrc are now decoupled, and I will fix it in the next milestone.

The problem is that in order to be able to call the attribute modules["qcm_bb0"].ports["o1"] one should have already defined that .ports["o1"] exist and is connected (this happen during the setup starting from the settings read from the yaml).

Python has infinite runtime magic (with little effort - sometimes a very unfortunate event), so we can solve the way we prefer.
Actually, the sensible candidates I have for this are the following:

the one you wrotemodules["qcm_bb0"].ports["o1"]

and I suggested in https://github.com/qiboteam/qibolab/pull/686#discussion_r1413753397 we could have a defaultdict(lambda: None) assigned to ports, and using ports keys as the list we care about
we could avoid the overhead of a dict of which we don't need the values (in other languages, like Go, this is the usual way to go to implement sets), but a list/set is not indexed by name, so we need to lift this to a more general object, in which we write the __getitem__ ourselves, e.g.modules["qcm_bb0", "o1"]

(if a tuple, we register the element in .ports, if not already present)
if we don't like to override that __getitem__, because we want to keep the original behavior, we could use a different operator, e.g. __call__modules("qcm_bb0", "o1")

Or just have a ports method in the module and access the ports as
modules["qcm_bb0"].ports("o1")

Maybe you still want to have a _ports dictionary internally to implement this but we don't need to expose this to the user.


⚠ otzivi-tut has degraded performance

In 698b75e, otzivi-tut (https://отзывы-тут.рф/) experienced degraded performance:

HTTP code: 200
Response time: 9511 ms

Resolved: otzivi-tut performance has improved in de8401c.


improv: move things like apt update to a preprocessing phase

something like if you don't have the prerequisites, the setup.sh won't run.


Update akita repo url and add 'A Web Monetization Story'

What type of PR is this? (check all applicable)

[x] Adding new resource(s)

Description

Update the url for Akita in the Tools section of the readme
Add new tutorial resource 'A Web Monetization Story' in the readme

FYI @vezwork

So glad you like it 😄
Really cool that you're putting together all this Web Monetization info!


SAM CLI depends on old version of aws-sam-translator

Description
aws-sam-cli lists aws-sam-translator==1.10.0 in the requirements/base.txt however the latest version of aws-sam-translator is 1.13.1.  There are new features available in the latest version of aws-sam-translator that fail to build using the latest version of aws-sam-cli.
For example, I have an AWS::Serverless::API resource in my template and I am trying to use the GatewayResponses property.  When running SAM build I get an error during template validation.
samtranslator.model.exceptions.InvalidDocumentException: [InvalidResourceException('IdentityApi', 'property GatewayResponses not defined for resource of type AWS::Serverless::Api')]

This is a different symptom/reasoning than issue https://github.com/awslabs/aws-sam-cli/issues/1266
Steps to reproduce

Create a SAM template with an AWS::Serverless::API resource with GatewayResponses property
Run sam build

Observed result
$ sam build --use-container --skip-pull-image --debug
2019-08-09 09:54:55 Using SAM Template at [REDACTED]/sam-app/template.yaml
2019-08-09 09:54:55 Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2019-08-09 09:54:55 Changing event name from before-call.apigateway to before-call.api-gateway
2019-08-09 09:54:55 Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2019-08-09 09:54:55 Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2019-08-09 09:54:55 Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2019-08-09 09:54:55 Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2019-08-09 09:54:55 Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2019-08-09 09:54:55 Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2019-08-09 09:54:55 Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2019-08-09 09:54:55 Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2019-08-09 09:54:55 Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2019-08-09 09:54:55 Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane
2019-08-09 09:54:55 Changing event name from before-call.apigateway to before-call.api-gateway
2019-08-09 09:54:55 Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict
2019-08-09 09:54:55 Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2019-08-09 09:54:55 Changing event name from before-parameter-build.route53 to before-parameter-build.route-53
2019-08-09 09:54:55 Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search
2019-08-09 09:54:55 Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2019-08-09 09:54:55 Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask
2019-08-09 09:54:55 Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2019-08-09 09:54:55 Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search
2019-08-09 09:54:55 Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section
2019-08-09 09:54:55 Telemetry endpoint configured to be https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
2019-08-09 09:54:55 'build' command is called
2019-08-09 09:54:55 Starting Build inside a container
2019-08-09 09:54:55 Sending Telemetry: {'metrics': [{'commandRun': {'awsProfileProvided': False, 'debugFlagProvided': True, 'region': '', 'commandName': 'sam build', 'duration': 169, 'exitReason': 'InvalidSamDocumentException', 'exitCode': 255, 'requestId': '6a02f71c-7537-4b30-a24b-0c8c64de9abe', 'installationId': '981b2aa9-b253-41ac-b17a-1a7aaa054df5', 'sessionId': '6df8d61c-43a4-4feb-8555-3d292affe3fb', 'executionEnvironment': 'CLI', 'pyversion': '3.7.3', 'samcliVersion': '0.19.0'}}]}
2019-08-09 09:54:55 Starting new HTTPS connection (1): aws-serverless-tools-telemetry.us-west-2.amazonaws.com:443
2019-08-09 09:54:56 HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443): Read timed out. (read timeout=0.1)
Traceback (most recent call last):
  File "[REDACTED]/lib/python3.7/site-packages/samcli/lib/samlib/wrapper.py", line 67, in run_plugins
    parser.parse(template_copy, all_plugins)  # parse() will run all configured plugins
  File "[REDACTED]/lib/python3.7/site-packages/samcli/lib/samlib/wrapper.py", line 134, in parse
    raise InvalidDocumentException(document_errors)
samtranslator.model.exceptions.InvalidDocumentException: [InvalidResourceException('IdentityApi', 'property GatewayResponses not defined for resource of type AWS::Serverless::Api')]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "[REDACTED]/bin/sam", line 10, in <module>
    sys.exit(cli())
  File "[REDACTED]/lib/python3.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "[REDACTED]/lib/python3.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "[REDACTED]/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "[REDACTED]/lib/python3.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "[REDACTED]/lib/python3.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "[REDACTED]/lib/python3.7/site-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "[REDACTED]/lib/python3.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "[REDACTED]/lib/python3.7/site-packages/samcli/lib/telemetry/metrics.py", line 94, in wrapped
    raise exception  # pylint: disable=raising-bad-type
  File "[REDACTED]/lib/python3.7/site-packages/samcli/lib/telemetry/metrics.py", line 65, in wrapped
    return_value = func(*args, **kwargs)
  File "[REDACTED]/lib/python3.7/site-packages/samcli/commands/build/command.py", line 105, in cli
    skip_pull_image, parameter_overrides, mode)  # pragma: no cover
  File "[REDACTED]/lib/python3.7/site-packages/samcli/commands/build/command.py", line 138, in do_cli
    mode=mode) as ctx:
  File "[REDACTED]/lib/python3.7/site-packages/samcli/commands/build/build_context.py", line 65, in __enter__
    self._function_provider = SamFunctionProvider(self._template_dict, self._parameter_overrides)
  File "[REDACTED]/lib/python3.7/site-packages/samcli/commands/local/lib/sam_function_provider.py", line 46, in __init__
    self.template_dict = SamBaseProvider.get_template(template_dict, parameter_overrides)
  File "[REDACTED]/lib/python3.7/site-packages/samcli/commands/local/lib/sam_base_provider.py", line 62, in get_template
    template_dict = SamTranslatorWrapper(template_dict).run_plugins()
  File "[REDACTED]/lib/python3.7/site-packages/samcli/lib/samlib/wrapper.py", line 70, in run_plugins
    functools.reduce(lambda message, error: message + ' ' + str(error), e.causes, str(e)))
samcli.commands.validate.lib.exceptions.InvalidSamDocumentException: [InvalidResourceException('IdentityApi', 'property GatewayResponses not defined for resource of type AWS::Serverless::Api')] ('IdentityApi', 'property GatewayResponses not defined for resource of type AWS::Serverless::Api')

Expected result
Successful build of my sam template.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS: Mac OS 10.14.6
sam --version: SAM CLI, version 0.19.0

Add --debug flag to command you are running

Currently pinned to version 1.11.0, will update to the latest in next release.

Being this far behind is causing me problems. I install both aws-sam-cli and cfn-lint as dev dependencies on a per-project basis using pipenv. cfn-lint now depends on the SAM translator being at least 1.13, and since aws-sam-cli pins the version at 1.11, there's an unresolvable conflict. Here's a Pipfile demonstrating the problem. Does the SAM CLI really need to pin the version? I could install it with pipx, I guess, but I prefer to have my Python tools localized to my projects.
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]
aws-sam-cli = "*"
cfn-lint = "*"

[requires]
python_version = "3.6"

During the 0.21.0 release, we ran into an issue with one of our installers and the upgraded aws-sam-translator. Since then, we have addressed the issue and are staging this for a release (#1412 was the upgrade PR).

v0.22.0 upgraded to 1.14.0 of the SAM Translator.
Closing


Function Permissions Validation (Security Gap)

Summary: It is somewhat easy to accidentally provide overly permissive permissions to a function. Ideally there would be better validation on the types of inputs supported by Permissions
Referencing these docs on Permissions.
We frequently use this pattern for granting permissions to constructs in our stacks:
permissions: [[constructA, "grantRead"], [constructB, "grantReadWrite"]]

However, in the case where there is only one construct, the below mistake is ignored by SST and results in overly permissive access to the resource
permissions: [constructA, "grantRead"]

Expected result: Validation error stating the "grantXYZ" is not a valid input to the Permissions array
Actual result: Access is granted for ALL IAM actions on constructA. The second element in the above array seems to be ignored by SST.
I realize it is incorrect per the docs, but since it is such a simple mistake to make, and can result in a decrease in expected security, it makes sense to catch this and warn/error as a result. This will further help developers maintain a least privilege security model.

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


[BUG] Choose pnpm but still use npm to install dependencies

Describe the bug
I was getting started with the tutorial, and when I got to the part of creating a project, I chose pnpm to execute the command, but I still used npm installation when installing dependencies
Steps To Reproduce
Just execute the following command
pnpm create refine-app@latest -- -o refine-chakra-ui tutorial

Expected behavior
Dependencies should be installed using pnpm, not npm
Screenshot

Desktop
No response
Mobile
No response
Additional Context
No response

Hello @TinsFox from the screenshot, selected option looks like npm, not pnpm.

Hello @TinsFox from the screenshot, selected option looks like npm, not pnpm.

Please see the command executed in the first picture

Running the command with pnpm doesn't mean it will use pnpm as package manager. Package manager is the last question, you should pick pnpm there.

But I think it would be better and less confusing for users.  Otherwise, it doesn't make sense to use any package manager without options.
The command I executed had no options.
This is an area that can be improved, right?  Although it's not that important.

It's just this performance that confuses me, and I think it can be done better!

Hello @TinsFox thanks for the suggestion, we could accept --package-manager pnpm param to the CLI, that would be an improvement.
pnpm, npm, yarn, these are all clients and it's hard for us to know which client triggered the command and pre pick the command's client. But I'll check if it's possible.
Also feel free to create a PR if you want to work on passing package manager parameter. You should first create a PR against https://github.com/pankod/superplate
refine cli just like a proxy, passing parameters to superplate cli under the hood.


Custom name and noreply

hi, how can I prevent sending messages in response and show the name of the service instead of the phone number, for example, is there such an opportunity?

@NiRBES02 sorry I didn't get your question, could you clarify it?


to give shadow according to edge of image

Hello dear flutter developers i have an issue about giving shadow to edge of image. I used image like this : [https://i7.pngflow.com/pngimage/585/995/png-mario-mario-clipart.png] and i want to give shadow unlike square ,circle or etc. I just want to give shadow according to shape of image ,how can i do? I am new flutter so i don't know very well that to create class ImageShadow from zero ,i can only create like this: class ImageShadow extends BoxShadow .. Please help me and teach me

Hi @tgbaozkn
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


attachMutation type bug

    const baseQuery: Query<number, unknown, unknown, null>
    const queryOne = attachOperation(baseQuery, {
      source: $extenalLimit,
      mapParams: (_: void, limit) => limit,
    });

fixed in https://github.com/igorkamyshev/farfetched/commit/c9766d03fb90e2c94d15e8f04714b60004b5c0fd


Dates in market description should be displayed in a way so the date changes according to timezone

Allow market creators to specify dates in the description in a way that the date changes according to the user's choice of timezone (so if I write: "The market will resolve to YES if Donald Trump tweets before 2022-04-01T00:00Z" and the user's timezone is CEST, then they see "The market will resolve to YES if Donald Trump tweets before 2022-04-01T01:00CEST").

They should specify timezone in the question, we can't handle every case of user submitted markets that include timezones in different formats.

@maltekliemann How do you suggest we can handle this?

Sorry, I misread this issue earlier when talking to @TvrtkoM about this. I'm generally a fan, but I feel like anything like regex find/replace is going to give clunky results. So unless the editor we're using let's us add "date objects" which are some HTML code which handles time zone conversions, this is probably not going to happen.
What's fairly important (to me) is that whenever dates/times of day are displayed, the user's timezone is attached. If it's all the same to you, we can take this ticket to be just that.

Bump


test: Refactor flood tests into a separate test file

Commit Message:
Refactor flood tests into a separate test file
Additional Description:
Moving flood related test into a separate file in preparation of adding flood test for upstream servers and reducing the size of the http2_integration_test.cc file
Risk Level: Low, test only
Testing: Unit Tests
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: None
Signed-off-by: Yan Avlasov<EMAIL_ADDRESS>

Please merge master to pick the macOS CI fix.

Pending PR #13579

Closing for a moment so it is merged before #13579


Update global.json

I was having problems loading projects until I made this change. altSDK was not being used from what the team told me and "latestmajor" fixes the loading issue for me as I think it better matches intent

Did you try running a grep under eng\ for altsdk? It's obviously used.
https://github.com/microsoft/WPF-Samples/blob/cd9c2db92aea857a886a71c937af0d172f8826a0/eng/EnsureGlobalJsonSdk.ps1#L123-L133

Well I was "the team" that told @LyalinDotCom that altsdk wasn't used - which I should have phrased as "isn't used by the SDK resolver". Which means, I do not think the aldSdk is used.
I am very unclear what this script is doing, but it makes assumptions about the TFM that will not be true in .NET 5.
What is the purpose of this altsdk section, and why put it in global.json?
It's a pattern I have not seen and am concerned about because global.json does not look up the stack. When there are multiple global.json present, behavior may well not be what is expected.

altsdk is used by PR pipelines and in (internal) testing - so other instances of global.json will not 'hide' anything. This is much like various config entries found in gobal.json in arcade-based repos (even though this isn't one) that aren't strictly part of the SDK's schema for global.json.
This PR will break the pipeline and testing capability the WPF team relies on.

it makes assumptions about the TFM that will not be true in .NET 5.

Much like a lot of scripts and targets in many places that rely on provisional TFM's like 'netcoreapp5.0' that would need upkeeep soon - yes. Thanks for the reminder.

I don't want to break your pipeline and sorry about that :). So I guess we can keep that part but just to unblock the scenario like I struggled to get samples building on my machine because I didnt have the super exact .NET Core version, would it be okay for me to submit a new PR with just this change
"version": "3.1.100",
"rollForward": "latestMajor"
This fixes my ability to load the projects. @vatsan-madhavan let me know, or tell me what I am overlooking.

Would latestFeature solve your problem?
I'm hoping that most folks including yourself have some version of 3.1.znn SDK installed by virtual of Dev16/VS2019, and receiving continuous updates to it.
The policy of this repo has been to wait until RTM before extending support for a new major version.

Yeah latestFeature would have solved the issue, do you want to just make the fix or can I help with another PR?

can I help with another PR?

That would be appreciated! (Updating this PR is just fine BTW).
Thanks 👍

New experienced, never had to patch a PR before ;). Does this look good now to approve?


gives too many errors. lost 10usdt for not selling

was not a very healthy study. it doesn't work right

What errors are you seeing? Why did you run in production mode with real money if you don't trust the codebase? The lost usdt is on you at this point imo

gives api error when selling.many people get the same error.

If you would like to help move the project forward an error message or error code would be helpful. If you are experiencing an error that is already listed in a ticket maybe you could comment on that ticket or give an 👍 on the other ticket instead of opening up another one. 🎉

Of course I would like to help. I'll try again later with real money. I will inform you of the error. Binance gives api error because there are too many transactions. tickers, I wanted to change the tickers list myself but it doesn't see the list.I have encountered the same problem with the bot programs I have used before. Too many api do not accept transactions.


Move to CTs

@exaexa Okay, this is 95% done. The docs are messy, but illustrate the general principle. Unfortunate things:

pruning, it would've been nice to directly delete stuff on the original models e.g. unused fluxes, genes, isozymes etc
right now it is not clear what order the primal values are in - so you can differentiate them, but its hard to connect a derivative with a variable
Where can the code be improved for maintainability etc?

This is done, everything should work in the core package, docs etc will likely be very broken. Will fix soon-ish


mate.mate-settings-daemon: 1.20.3 -> 1.21.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/mate-settings-daemon/versions.
These checks were done:

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.21.0 with grep in /nix/store/vl1l0mhq9d8rdrsk7x9jlwkm4va2fgkd-mate-settings-daemon-1.21.0

directory tree listing: https://gist.github.com/147e77ed6eab9ee14d1ce2dd1228a1ec

du listing: https://gist.github.com/63c6df92545f5c99dbbcce75dcb3f7c5

meta.description for mate.mate-settings-daemon is: '"MATE settings daemon"'.
cc @romildo for testing.
This build is cached with Cachix. To use the cache follow these instructions:
One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout 3400ce6e1ffdbac70b952b48755fc375f1e843b9 && nix-shell --pure -I nixpkgs=. -p mate.mate-settings-daemon

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: mate.mate-settings-daemon
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: mate.mate-settings-daemon
Partial log (click to expand)
shrinking /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/lib/mate-settings-daemon/libkeybindings.so
shrinking /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/libexec/.msd-datetime-mechanism-wrapped
shrinking /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/libexec/.mate-settings-daemon-wrapped
shrinking /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/libexec/.msd-locate-pointer-wrapped
gzipping man pages under /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/lib  /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0/libexec
patching script interpreter paths in /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0
checking for references to /build in /nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0...
/nix/store/rb77s61f3whdqq30y03rcf2gxz2drp4v-mate-settings-daemon-1.21.0

Success on aarch64-linux (full log)
Attempted: mate.mate-settings-daemon
Partial log (click to expand)
shrinking /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/lib/mate-settings-daemon/liba11y-keyboard.so
shrinking /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/libexec/.mate-settings-daemon-wrapped
shrinking /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/libexec/.msd-datetime-mechanism-wrapped
shrinking /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/libexec/.msd-locate-pointer-wrapped
gzipping man pages under /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/share/man/
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/lib  /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0/libexec
patching script interpreter paths in /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0
checking for references to /build in /nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0...
/nix/store/kffjs3hwy1f2n2mzh18v6ksfxqcygb3y-mate-settings-daemon-1.21.0


feat: 404 page

@Pratham-Mishra178

i have used system props to give padding betwwen two texts

Please always check what changes I make to your PR.
As a maintianer I can commit changes to your forked remote repo. you should always pull my changes from your forked remote repo to check what changes I have made locally on your machine.
For, now I have removed stylings from your page. there was a lot of bad styles that made your page unresponsive.
mainly, you used media-queries. do not use media-queries. only use wherever its an absolute necessity.
I hope you have checked my changes that I made to your Previously merged PR

Please always check what changes I make to your PR.
As a maintianer I can commit changes to your forked remote repo. you should always pull my changes from your forked remote repo to check what changes I have made locally on your machine.
For, now I have removed stylings from your page. there was a lot of bad styles that made your page unresponsive. mainly, you used media-queries. do not use media-queries. only use wherever its an absolute necessity.
I hope you have checked my changes that I made to your Previously merged PRs. Learn from those changes. else ask me why I made those changes

yes I have understand this . Thank You!


installation instructions in drake_ros_examples/README.md doesn't obtain colcon?

Unless I missed something.
I had to manually install it following instructions from https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html

I don't think you missed anything. I think the installation instructions don't include either rosdep or colcon it's just assumed the user would have it... although it would be very useful

Thanks for opening this issue, Russ. The instructions for getting set up are in the drake_ros_core README and lean heavily on the ROS2 setup instructions:
https://github.com/RobotLocomotion/drake-ros/blob/main/drake_ros_core/README.md
That being said, I ran through the instructions, and the default ROS Humble / Rolling installation does not have the user installing colcon or rosdep for whatever reason. To me, that means our setup guide should  be more self contained. Simultaneously, we'll speak with folks to improve the upstream ROS2 setup docs.

Thanks! We should address this after we land #205, just so we have a more cohesive and targeted location for concise, non-redundant instructions.

I believe this should be resolved by #235. Let us know if it's still not clear.


Update SortMeRNA to 4.3.4

Closes https://github.com/nf-core/rnaseq/issues/570

Seems we were too fast... Test are failing :cry:

Mannnnn. Any ideas where this error is coming from? Tested locally with Singularity and all is good
Command error:
  docker: invalid reference format.
  See 'docker run --help'.

Mannnnn. Any ideas where this error is coming from? Tested locally with Singularity and all is good. Need to add tests to the nf-core/module which is why we didn't pick it up there...
Command error:
  docker: invalid reference format.
  See 'docker run --help'.

The problem was in the docker container pointer, probably some copy/paste error , should be fixed now

Dodgy copy and paste 🤦🏽


Display don't work after driver install

I bought a display via eBay to get it to work for my Raspiblitz Pi. The display is already mounted and enlightens, but nothing is shown after installment of the drivers.
Maybe you can help me.
I did the following steps:
I got the drivers from here --> http://en.kedei.net/raspberry/raspberry.html
It's the LCD_show_v6_1_3
1.) So i ssh into the Raspiblitz
2.) Downloading the drivers with sudo wget "http://en.kedei.net/raspberry/v6_1/LCD_show_v6_1_3.tar.gz"
3.) Unpacking tar -xzvf LCD_show_v6_1_3.tar.gz
Following the other steps below. Everything finishes successfully and Pi is rebooting, but after reboot nothing is shown on the display.
Description for installation from the display manufacturer:
b. Using the drive.

Writing your own image files to the SD card, and start the Raspberry Pi

Ensure that the network connection is normal

The LCD screen and the Raspberry Pi board is properly connected

Copy the driver to raspberry pi (using ssh or use U disk medium mounted)

Unzip the file and start the installation.
First expansion sd card    sudo raspi-config select expand_roofts then sudo reboot
Restart enter the following command:
Unzip the file      tar -xzvf LCD_show_v6.tar.gz
Jumped into a folder       cd LCD_show_v6
To upgrade the system update        sudo apt-get update
Backup data       sudo ./LCD_backup
Install the driver       sudo ./LCD35_v
Wait for some time and the system will install the driver automatically restarts
If you want to re-use before installing the system, you can use       sudo ./LCD_restore
Note: Before you update your system, you must use at the command sudo apt-mark hold raspberrypi-bootloader
Then use the following command,
sudo apt-get update
sudo apt-get upgrade

Otherwise it will fail in the future may restart

Using other LCDs then in the recommended shopping list is experimental.
You may need to uninstall the other LCD driver first? Not sure.
See doc of preinstalled LCD driver: https://github.com/goodtft/LCD-show
I recommend to keep this issue open for some days for community comments and then to close it.

I don't think the the display has some hardware error, seems to be a problem with the driver installation, maybe you have an idea if the not defined path is OK or do I need to extract it into another path of the Raspiblitz installation to get it to work?

Just did some restarts of the Pi and each time it is booting again it shows for some seconds the first screen on the photo, before and afterwards the display stays again white but enlighted.

Please post a picture of the back of the LCD panel. Also could be helpful to see the link to the product (where you bought from).

Link to the product: https://www.ebay.at/itm/3-5-TFT-LCD-Touch-Screen-Module-320-480-RGB-Display-Case-For-Raspberry-Pi/391223449334?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649
This is a photo of the backside of the display - hope you can read it (don't want to unmount it again, it's a KeDei:

The link to the driver is in my first post.
I tried the display with the official Raspbian OS and the mentioned driver, it works without any problems. The issue only occurs with Raspiblitz OS.

The link to the driver is in my first post.
I tried the display with the official Raspbian OS and the mentioned driver, it works without any problems. The issue only occurs with Raspiblitz OS.

The RaspiBlitz is not an OS, it is a collection of helper scripts/GUI running on the Raspbian OS.
Did you try the display only with the default settings (clean Raspiblitz 1.2 SD card)? Does it work during boot the same way?
It is probably that KeDei driver messing up something.
There are two drivers you could try on the linked site. Test the other one as well.
Can test driver for the default screen in the shopping list as well (easier if you you just burn a new SD):
sudo rm -rf LCD-show
git clone https://github.com/goodtft/LCD-show.git
chmod -R 755 LCD-show
cd LCD-show/
sudo ./LCD35-show

I will try the other driver in the next days but think this will also not work.
Yes, I tried the display with default settings on clean Raspiblitz 1.2 SD card. It just shows for 2 or 3 seconds the commands on the screenshot above, after that it's only enlighted.

Can test driver for the default screen in the shopping list as well (easier if you you just burn a new SD):

You mean that I should test it with this commands again?

I initially got an LCD from kedei in China too and couldn't get it to work me neither with the same driver that you got from their website, following the same steps. I suspect there was a conflict with the preinstalled driver from Raspiblitz but I didn't have time to look more and just bought another one that worked immediately with the provided driver.

Seems we are sitting in the same boat :) Will also try another one.


killed when training on S3DIS

@HuguesTHOMAS  thanks so much for your amazing work. However I got some problem when training on S3DIS dataset.
After Preparing KDTree  and Preparing ply files, the process is killed.
Could you please helps me to find what is happening here? Thanks so much in advance!
Starting Calibration (use verbose=True for more details)
Previous calibration found:
Check batch limit dictionary
"potentials_1.500_0.030_6": ?
Check neighbors limit dictionary
"0.030_0.075": ?
"0.060_0.150": ?
"0.120_0.720": ?
"0.240_1.440": ?
"0.480_2.880": ?
Step     1  estim_b = 0.10 batch_limit =    501
Step    27  estim_b = 0.94 batch_limit =  13501
Step    48  estim_b = 1.10 batch_limit =  23801
Step    68  estim_b = 1.72 batch_limit =  32501
Step    80  estim_b = 2.34 batch_limit =  36601
Step    91  estim_b = 2.44 batch_limit =  40501
Step   105  estim_b = 2.88 batch_limit =  44701
Step   115  estim_b = 3.13 batch_limit =  47401
Step   125  estim_b = 3.13 batch_limit =  50401
Step   136  estim_b = 3.59 batch_limit =  52801
Step   147  estim_b = 3.66 batch_limit =  55301
Step   157  estim_b = 3.85 batch_limit =  57301
Step   165  estim_b = 4.06 batch_limit =  58701
Step   169  estim_b = 3.86 batch_limit =  59701
Step   181  estim_b = 4.08 batch_limit =  61901
Step   190  estim_b = 4.40 batch_limit =  63201
Step   191  estim_b = 4.36 batch_limit =  63401
Step   200  estim_b = 4.52 batch_limit =  64601
Step   206  estim_b = 4.43 batch_limit =  65601
Step   215  estim_b = 4.53 batch_limit =  66901
Step   226  estim_b = 4.85 batch_limit =  68101
Step   232  estim_b = 4.60 batch_limit =  69101
Step   241  estim_b = 4.60 batch_limit =  70301
Step   249  estim_b = 4.47 batch_limit =  71601
Step   254  estim_b = 4.45 batch_limit =  72401
Step   256  estim_b = 4.55 batch_limit =  72601
Step   257  estim_b = 4.60 batch_limit =  72701
Step   259  estim_b = 4.86 batch_limit =  72701
Step   260  estim_b = 4.88 batch_limit =  72801
Step   261  estim_b = 4.79 batch_limit =  73001
Step   262  estim_b = 4.81 batch_limit =  73101
Step   264  estim_b = 4.85 batch_limit =  73301
Step   265  estim_b = 4.86 batch_limit =  73401
Step   266  estim_b = 5.08 batch_limit =  73301
Step   269  estim_b = 5.07 batch_limit =  73601
Killed

Hi @PPPPeterpan,
Thanks for your interest. I really have no idea what happens here. I never encountered this error...
Maybe you have run out of memory? Try reducing the input radius (in_radius variable) to 1.0 meter and see if it still bugs

@HuguesTHOMAS
Thanks so much for your quick reply.  I tried in pytorch 1.4 environment and it works now.
and I run out of my 8g memory, just as you said.  So I change the grid size in subsampling to 5cm and then it works.
Thanks again for your reply. :)


Detect ovn mp0 traffic (#217)

It considerably reduces the number of unmatched IPs with OVN

@jotak can you move the code into a dedicated file ovn_kubernetes.go

I created a different package cni that can accept future CNI-based changes.

@eranra following the discussion we had, it seems it's ok to only consider the mp0 ip for now, it's the only relevant one at least at the moment


WFLY-19688 Bump Weld version to 5.1.3.Final

JIRA - https://issues.redhat.com/browse/WFLY-19688
Weld release notes - http://weld.cdi-spec.org/news/2024/08/27/weld-513Final/

Thanks @manovotn


subset behaves strangely with feather

Hello,
I don't know if the 'subset' function is supposed to work or not on feather files opened with the function 'feather' but I get different behaviours that are not very explicit. It looks like some method is inconstently implemented.
Example 1 (original is a data frame):
data(iris)
write_feather(iris,"U:/R/iris.feather")
f<-feather("U:/R/iris.feather")
subset(f,Species=="setosa")
results  in:
Error in subset.default(f, Species == "setosa") :
objet 'Species' introuvable
Example 2 (original is a tibble):
b<-read_sas("U:/R/bsa2003.sas7bdat")
write_feather(b,"U:/R/bsa2003.feather")
f<-feather("U:/R/bsa2003.feather")
subset(f,DEP=="86")
succeeds, but selects only one column (the DEP column), while a subset on the original 'b' returns the whole 28 columns of the data set.
Best regards
Jean-Luc LIPATZ

Hi Jean-Luc,
The object you get from using feather() is a Feather store. If you want to get a data.frame, you should use read_feather(). Subsetting should then work as expected. I tested it on the iris dataset.
Tell me if it works on the tibble you have too.
Regards,
Guillaume


[Parquet] >2GiB Memory Leak on reading single parquet metadata file

I have a ~1.5TiB, ~1.7k files parquet dataset with an additional _metadata.parquet file containing metadata of all row groups. The _metadata file was written with the mechanism described in the documentation.
The _metadata file is ~390MiB, the 1.7k parquet files are around 900MiB each.
I have a script called read_metadata.py which can be used to iterate through all files in the dataset, get their metadata and simultaneously measure memory load (RSS):
import gc
import time
import json
from contextlib import contextmanager
from pathlib import Path

import psutil
import pyarrow
import pyarrow.parquet

process = psutil.Process()

@contextmanager
def profiling(name: str):
    start = time.monotonic()
    start_mem = process.memory_info().rss / 1024**2
    yield
    end = time.monotonic()
    end_mem = process.memory_info().rss / 1024**2
    duration = end - start
    if end_mem - start_mem == 0:
        return
    print(
        f"{name}\n"
        f" took {duration:.5f} s, "
        f"mem diff {end_mem - start_mem:.3f}MiB [start: {start_mem:.3f}MiB, end: {end_mem:.3f}MiB]"
    )

def read_metadata(path: Path) -> None:
    pyarrow.parquet.read_metadata(path)
    return

if __name__ == "__main__":
    import argparse
    import random

    parser = argparse.ArgumentParser()
    parser.add_argument("files", nargs="+")
    parser.add_argument("repeats", type=int)
    args = parser.parse_args()

    paths = args.files
    repeats = args.repeats

    paths = paths * repeats
    random.shuffle(paths)

    for path in paths:
        with profiling(f"load: {path}"):
            read_metadata(path)

        with profiling(f"gc:   {path}"):
            gc.collect()

Doing that gives these results (note that only steps where there is a change in memory load are printed):
$ python scripts/read_metadata.py repartition/* 3
load: repartition/part-52.parquet
 took 0.00132 s, mem diff 1.500MiB [start: 194.281MiB, end: 195.781MiB]
load: repartition/_metadata.parquet
 took 2.38347 s, mem diff 2082.062MiB [start: 195.781MiB, end: 2277.844MiB]
load: repartition/_metadata.parquet
 took 2.15518 s, mem diff 16.094MiB [start: 2277.844MiB, end: 2293.938MiB]
load: repartition/part-1587.parquet
 took 0.00099 s, mem diff 1.500MiB [start: 2293.938MiB, end: 2295.438MiB]
gc:   repartition/part-1299.parquet
 took 0.00217 s, mem diff -1.832MiB [start: 2295.438MiB, end: 2293.605MiB]
load: repartition/_metadata.parquet
 took 2.15186 s, mem diff 0.562MiB [start: 2293.605MiB, end: 2294.168MiB]
gc:   repartition/part-1112.parquet
 took 0.00220 s, mem diff -1.543MiB [start: 2294.168MiB, end: 2292.625MiB]
load: repartition/part-751.parquet
 took 0.00111 s, mem diff 1.500MiB [start: 2292.625MiB, end: 2294.125MiB]
load: repartition/part-321.parquet
 took 0.00113 s, mem diff 1.500MiB [start: 2294.125MiB, end: 2295.625MiB]

Memory load stays mostly constant, but as soon as the metadata.parquet file is read, a huge, over 2GiB large memory leak appears. Reading that particular file multiple times does not lead to multiple memory leaks.
There seems to be no way to reduce memory load back to normal levels again, not even a pool = pyarrow.default_memory_pool(); pool.release_unused() or gc.collect() does help.
Component(s)
Parquet, Python

Ok, so what this tell us is that there is no actual memory leak in Arrow (at least on this use case :-)), but the memory allocator may decide to hold onto some memory to make further allocations faster.
Note that the memory is not necessarily unavailable to other applications. For example, the memory allocator might have set these memory areas as MADV_FREE, which lets the kernel free the pages when it needs to, but not necessarily immediately.
This all shows how complicated it is to get accurate memory footprint measurements on modern OSes...

We have a script that launches quite a lot of Python processes that use something very similar to the test script that I've shown. Unfortunately, even with 250GiB RAM available on the specific host, we see OOM errors after a handful iterations, so it appears that the memory is not entirely free to use or at least the kernel is getting uneasy.
We then replaced the very few used pyarrow methods with a custom in-house written, very shallow PyO3 wrapper around the parquet Rust crate which offers similar functionality. With that, we see constant memory load, regardless of long the script was run, and we're using only a few dozen GiBs total; that's far less than the pyarrow implementation.
I know that our use case is pretty specific, but I wanted to share our experience regardless. If my experience is too vague to be of any actual debugging value to you, we can close the issue.

As all of this is unfortunately an internal project, I'm unable to share any specifics, especially files. I'm very sorry!
Maybe I can find some time to create synthetic files which show a similar behaviour.

Or perhaps you can use the "parquet-dump-footer" executable here, it has an option to scrub any sensitive information from the metadata.


lib/R/etc/ldpaths: No such file or directory

Issue:
I get the following error when using some conda R environment with galaxy or snakemake in HPC infrastructure:
R
$CONDA_PREFIX/lib/R/bin/R: line 238: $CONDA_PREFIX/lib/R/etc/ldpaths: No such file or directory

After tracking the issue, it appears that activating the conda environment with R runs the command R CMD javareconf that updates the file $CONDA_ENV/lib/R/etc/ldpaths.
I get this issue in two different cluster infrastructures:

The first one is a galaxy VM (CentOS 6) submitting jobs to computation nodes (CentOS 6) with SGE 6.2u4.
The second one a cluster node (CentOS 7) submitting jobs to computation nodes (CentOS 7) with SGE 8.1.9.

In both case, conda envs are stored on NFSv3 or BeeGFS shares mounted on computation nodes.
Concurrent activations like it can append during a galaxy school or with some snakemake wokflows with network latency lead to two cases:

the most common: $CONDA_PREFIX/lib/R/etc/ldpaths doesn't exists during a short gap of time and another activation appends during this gap producing this error for some jobs.
the less common: something when wrong during the previous case (an error, user CTRL+C, interblocking processes, ...) and the $CONDA_PREFIX/lib/R/etc/ldpaths doesn't exists anymore. One way to solve the issue is to reinstall the r-base package.

IMHO, I think a way to solve this issue is to replace the file only when needed, not at each environment activation.
  I have a brand new miniconda3 install due to a corrupt libevent file last week.  In the new install, the error
~/opt/miniconda3/bin/R: line 238: ~/opt/miniconda3/lib/R/etc/ldpaths: No such file or directory
began once I created a new environment. I also use a cluster with CentOS_6 and CentOS_7 nodes, all under LSF.  Is there a any other way to fix to this issue other than the patch mentioned above ?  Any other ideas on how to fix the issue ?

Hi,
We're facing the same issue with our Galaxy instance.
/some_path/_conda/envs/mulled-v1-10760b69799f3df14ac223943c74682453f4c44945480a6c4ee3ccaff1510f7f/lib/R/etc/ldpaths: No such file or directory

I have to reinstall r-base within the env:
conda install r-base==3.5.1 --force-reinstall

But I don't know how many time it will be up.
So as suggested by @pbordron (we know each other), I edited the bash script
vi /some_path/_conda/envs/mulled-v1-10760b69799f3df14ac223943c74682453f4c44945480a6c4ee3ccaff1510f7f/etc/conda/activate.d/activate-r-base.sh

#!/usr/bin/env sh
#R CMD javareconf > /dev/null 2>&1 || true

It should be harmless in the context of Galaxy since we never stack env. 🤞

I also had this issue, and solved this in a tricky way.
In my other conda env, there was another ldpaths file, the path like ~/miniconda3/envs/py2.7/lib/R/etc/ldpaths, I copy this ldpaths file to where it is needed, and change the path in this file to fit my need, then everything is OK.
I may face this problem again while change conda envs, but at least I could return work ASAP. (I already backup ldpaths file for emergency)
Looking forward to someone who can give the perfect solution.

I ran into this issue with Snakemake. I use it with --use-conda flag, and when running parallel jobs with R, at some point ldpaths file just disappears. Nothing helped me to overcome this yet, really waiting for the solution.

I ran into this issue with Snakemake. I use it with --use-conda flag, and when running parallel jobs with R, at some point ldpaths file just disappears. Nothing helped me to overcome this yet, really waiting for the solution.

Hey I had the exact same problem (running snakelike in parallel) and lecorguille solution helped. Inside the currently used conda directory (should be in the error log or just look for the most recent folder) inside .snakemake/conda/<hashhere> and edit the file .snakemake/conda/<hashhere>/etc/conda/activate.d/activate-r-base.sh and comment out the line described. This may not work with your setup, but "worked for me".
From
R CMD javareconf > /dev/null 2>&1 || true

to
# R CMD javareconf > /dev/null 2>&1 || true

Best Regards

@Finesim97 well, I've just commented lines from 416-432 in env/lib/R/bin/javareconf (the ones that are responsible for updating files) and everything works great. It is partially equal to your solution. Thank you!
But what's the point of updating ldpaths and Makeconf each activation anyway? I don't think users update their Java that often. Setting values for this files on first installation should be enough. And than maybe we can introduce possibility of manually invoking update? If the user reinstalled Java or something.
@mingwandroid said that activation is

exactly when the file needs to be updated.
but as it can be seen, users just comment out this step altogether.

If you want to query why the R foundation made this choice you should ask them.

I don't think users update their Java that often

That you do not need this doesn't mean others do not. We need a solution that works correctly in all cases (and it's not difficult either). Reconfiguring Java for each env is not going to be undone for it is the correct thing to do. If you convince R upstream to remove javareconf form R altogether (say moving it into rJava itself) then that would also work, however I don't knows though too say this is a good idea or even possible.

I ran into this issue with Snakemake. I use it with --use-conda flag, and when running parallel jobs with R, at some point ldpaths file just disappears. Nothing helped me to overcome this yet, really waiting for the solution.

Hey I had the exact same problem (running snakelike in parallel) and lecorguille solution helped. Inside the currently used conda directory (should be in the error log or just look for the most recent folder) inside .snakemake/conda/<hashhere> and edit the file .snakemake/conda/<hashhere>/etc/conda/activate.d/activate-r-base.sh and comment out the line described. This may not work with your setup, but "worked for me".
From
R CMD javareconf > /dev/null 2>&1 || true

to
# R CMD javareconf > /dev/null 2>&1 || true

Best Regards

I am experimenting the same issue... I have not tested your solution, mine was to remove the environment to force it to be reinstalled.  I will try yours when I have time. Maybe something for the snakemake devloppers to look at? @johanneskoester ?

So @mingwandroid, it boils down to having something like an environment-wide lock that is acquired before the activate script, ensuring that there are no two activate scripts executed at the same time, right? I would think that this could simply be implemented inside conda activate. Am I getting this right?

Yes. Making the lock as short lived as possible Douglas be ideal

Great. Is this something that somebody on your side wants to do, or would you rather like me to provide a PR? If it should be me, can you give me a pointer where that would be in the code base? Sorry for asking, I don't want to bother you more than necessary, but my time is very limited these days.

Mine is also limited. Ping @msarahan

@msarahan, what do you think?

I took only a quick look at this. IIUC, the activation script is just to give some users the convenience of having R "automagically" (re-)configure itself according to the currently available (external) Java every time an environment is activated.
So, okay, this may be beneficial for some users (i.e., those that change their Java configuration after this package has been installed, but don't care to run javareconf themselves). But frankly, in my opinion, putting this in an activation script is a horrible hack.

My general advice on (de-)activation scripts:

avoid creating them whenever you can accomplish your goal in other, saner manners (e.g., try inferring invariants at build or install time instead of re-evaluating things during environment activation),
only alter volatile state (e.g., environment variables and such),
do proper cleanup in deactivation scripts (e.g., if possible, be non-disruptive: revert only the changes from your activation script -- no more, no less),
don't expect your deactivation script to be run in all cases (e.g., closing a shell session will not run them),
if you need to save temporary state, try to use somewhat "unique" environment variable names (e.g., specific to the package, possibly shell session etc. => think about how to accomplish point 3. above under the assumptions that other packages' (de-)activation scripts get run, plus "Conda environment stacking" might be a thing..),
if environment variables don't cut it for you, try temporary storage, e.g., mktemp and friends (can be tricky due to non-POSIX-y stuff, permission issues, etc. => might need fallbacks if mktemp fails or something),
try to adhere to point 2. (possibly by doing point 1.!),
if you really might need to change some global/persistent state:
8.1. avoid unnecessary writes (e.g., if the file state's content already is running, you needn't echo 'running' > state)
8.2. prepare for possible concurrent access (e.g., use locks or, if possible, atomic operations)
(there are possible more things I currently didn't think of) ... be fast, be safe (e.g., try writing POSIX-compatible scripts that work with sh -ue), ...

Getting back to the the case at hand:
IMO, true solutions to the problem are one of the following:

Change R (or whatever is responsible for the R <-> Java interaction) to not depend on persistent state,
Let the user take care of running `javareconf.

I have no idea how R works (and am not really interested in that anyway), hence I can't comment if 1. is possible / feasible.
To make 2. work, you can either
2.1. Outright remove the javareconf call in the activation script and tell the users to manage their R-Java stuff themselves,
2.2. Copy the javareconf script and replace all of its writes by simple checks for changed files. If a change is detected, output a message to the user to run javareconf themselves.
Those are disruptive changes, of course. I won't expect 1. to happen. However, 2. is a sane compromise in my book. But since I don't really care much, I won't argue or push for that change.

Adding locks to Conda environments during activation is not an option for me. Having conda lock environments during its own operation (i.e., install/update/remove actions) makes sense.
Environment activation on the other hand should not mess with persistent state if ever possible, so locking an environment doesn't make sense for this.
If there are some "black sheep" activation scripts like the one of this package, then those scripts should handle concurrent access themselves, not conda.
Imagine if the javareconf script didn't change a file inside the Conda environment itself but in $HOME/.config or the like. If we created two different environments with r-base and concurrently activate them, then locking either of the environments doesn't help at all because the writes happen at some outside location.
=> conda cannot know if and where activation scripts change global state => conda can't know what to lock => activation scripts should handle concurrent writes themselves.

I'll open a pull request to address "8.1. avoid unnecessary writes" from my recommendation list above.
NB: The patch at https://github.com/conda-forge/r-base-feedstock/blob/9934a07a64d4115c9e2bbc50129c4b6eb6bd0bb6/recipe/0017-Foribly-remove-then-forcibly-mv-in-javareconf.in.patch#L20 increases the likely hood of this issue appearing.

IMHO while we have no have ecosystem to speak of, allowing different ones per env is important, no necessary. We can do better around our locking here but I don't think we should throw the baby out with the bath water.
These are decisions for R upstream. I didn't write R CMD javareconf or come up with the idea, but I believe per env activation is right. Unless you can carefully articulated why not then we're at an impasse on that point. Please try our R with a range of Javas. I went to extreme lengths to maintain good compatibility for our users because we have nothing much for them ourselves.
I'm suf

I disagree with your point in activation scripts. Writing env local files is appropriate (with the avoid them if possible caveat) but we should lock things better though.
At the end of the day R provides this facility and I thought it was there to take advantage of and we should be as dynamic and friendly to all the Javas as possible and I believe using it is entirely reasonable (if bugged currently .. be aware we have a few openjdks too, conda-forge's coming from Azul still I think and ADs coming from Jetbrains, and I want to support system and legacy Javas).
M just trying to broaden our appeal, I don't use Java at all and R very little.

[...] allowing different ones per env [...]
[...] but I believe per env activation is right [...]

I don't disagree with the "per env" part, just the "activation" one. My stance is just that reconfiguration during every environment activation is excessive and can lead to concurrency issues during writes (i.e., this very issue). I'd rather have those changes made on demand, which means when r-base is installed/updated (which is already the case via the post-link script) or by the user.

I went to extreme lengths to maintain good compatibility for our users because we have nothing much for them ourselves.

Glad to hear, I'll just take your word on this ;).

Please try our R with a range of Javas.

I'll leave this to others since I'm with you with "I don't use Java at all and R little" -- for me it is rather "I don't use R at all and Java little" ;).

I disagree with your point that activation scripts shouldn't write files beyond accepting they shouldn't exist when not necessary.

The thing is just that I believe users likely won't expect environment activations to do much special things, esp. not things that might fail. Plus, authors of activation scripts have to be aware of possible concurrency issues and handle them accordingly.

Writing env local files is appropriate but we should lock things better.

IMO, only in exceptional circumstances for activation scripts. And due to the "exceptional" part, I'd rather not have conda itself deal with this (rather just have the activation script at least do something like lockfile "${CONDA_PREFIX}/path/to/file.lock" ; write-to-file "${CONDA_PREFIX}/path/to/file" ; rm -f "${CONDA_PREFIX}/path/to/file.lock").

Overall my opinion is just

2.2. Copy the javareconf script and replace all of its writes by simple checks for changed files. If a change is detected, output a message to the user to run javareconf themselves.
[...] is a sane compromise in my book. But since I don't really care much, I won't argue or push for that change.

and hence I think for now we should just try to reduce the concurrent write situation here and, if someone is willing to dig into it (i.e., not me), add some proper file locking in javareconf or the activation script.

On gitter people are expecting to be able to operate on the same conda env from multiple processes at the same time and that's what is happening here. I'd rather we fixed it higher level. In no way should an env been mutable by two conda at once. I'd this bug helps us to shake out issues there then that's a win.
But yes, happy for wanting reasonable here too, just want to be flexible and am very concerned about UX and compat.

Moving the conversation from gitter over here. My points were:

Concurrently entering (activating) the same environment from multiple processes, possibly running on different computers with a shared filesystem, is a pretty common use case. A classic example is parallel execution of jobs on a cluster, e.g. using snakemake as presented above.
An environment changing underneath running processes because it is activated from elsewhere is clearly unexpected behavior. It will break things. Not every job starts R right away, and this kind of thing is guaranteed to break at the most unfortunate time.
Concurrently running conda install or other operations obviously altering an environment OTOH is expected to either break (current behavior), fail or block. It is also reasonably easy to avoid this. It would be awesome to have locking for package cache and env to allow safe concurrent calls to those, but there is no way that two things are adding packages to the same env at the same time.
Locking across operating systems and shared filesystems is finicky. Even highly polished tools such as sqlite3 discourage accessing the same database from multiple hosts. So using locking needs to come with big warning signs.

I would therefore argue that conda activate should be free of side effects.
If things specific to the local host really really really need to be altered, the respective configuration would have to be placed in a temporary directory unique to the activation session. We'd also have to accept that it would not be reliably cleaned away in all cases.
Using locking to protect from things changing underneath running processes (which would lead to undefined results) would require acquiring the lock in activate and releasing it in deactivate. The latter doesn't necessarily happen explicitly though, so that's the first major problem. The other is that the env can then no longer be used in parallel, meaning a cluster job running 50 nodes would need 50 copies of the env. Possible, but a very ugly brute force solution.
In the case at hand, I don't see why host local JVMs need to be supported at all. IMO, the root package requiring the javareconf files should require a JVM installed into the environment and handle the ldpath setup in post-install.sh. That way, it's set up at the time where modifying the env is expected, and the env remains static during use.
In summary, my $0.02 based on experience parallelizing C/C++ and Python apps is that activate should be "const", i.e. idempotent and without side-effects. Everything else will either be slow (=one process per env) or turn out to be a nightmare with constant breakage and patch after patch as more and more corner cases turn up.

If environment mutation is locked which I think it should be and am not sure if that's a bug or a missing feature, then that would include activation (because we've always allowed env mutation, and this problem can happen with anything, env vars for example).
If we fix all that then this is automatically fixed. Though @mbargull's PR will help in the meantime.

I would really like if activation were assumed to be "const."  I agree with Ray, though, that we have the existing expectations to contend with.  Perhaps with https://github.com/conda/conda/pull/8727 we can have a "safe" way of activation: if any arbitrary shell scripts are present, it is considered unsafe (mutation may happen), and must be locked.  If no unsafe scripts are present, though, conda will not require locking for activation, and perhaps can go faster.

Using locking to protect from things changing underneath running processes (which would lead to undefined results) would require acquiring the lock in activate and releasing it in deactivate

@epruesse, it absolutely would not.

I was wondering, would it be possible to give an update re (the resolution of) this issue?
Thank you very much in advance

I hit this problem when hundreds of processes tried to activated a single read only conda environment and spawned hundreds of Java processes, which ended up consuming system resources.
I have a suggestion for this situation which follows up on @mbargull 's second point:
Let the user take care of running `javareconf.

And it is least disruptive to the current setup, because it doesn't change the the status quo.
In the activation script, introduce an env var like CONDA_R_IGNORE_JAVARECONF. If this is set, then the activation script shouldn't run R CMD javareconf > /dev/null 2>&1 || true.
That way end users of clusters (where environments don't change that often or have nothing to do with Java) can simply export this env var and activation with be quicker and there will be no mayhem.

Hitting same issue when running Conda in HPC environment.  Essentially it doesn't work well when many nodes are activating same conda environment.  May need to use something other than Conda.

Dear all, I also run into this issue frequently when processing a lot of files in parallel using snakemake with--use-conda (on an NFS share). I see that there is a fix: https://github.com/kpalin/r-base-feedstock/commit/9eda35bdc8ea2c2433cbc6b94c2e978b4d7cd8d4. But since this issue is still open, does that mean it is not in any release yet?


Consider using poetry instead of flit

There may be fewer growing pains if we bite the bullet and use poetry. Although I am concerned about user-friendliness to newcomers. Perhaps instruction about installing poetry with pipx would help somewhat. After all, copier must already be installed with pipx.

Another reason for this is hashing of dependencies to avoid supply chain attacks where a dependency is yanked and replaced with a malicious version.


[PHP Docs]: Add PHP Docs 33 to 37 UNDER new Folder PHP Operators

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Add PHP Docs 27 to 32 UNDER new Folder PHP Operators

Use Case
User can know more about PHP Language
Benefits
User can know more about PHP Language
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Vipullakum007 Please complete your task otherwise I will close it.

hey @Ajay-Dhangar , don't close it i will complete till tomorrow.
but please reply my question in mine previous PR. https://github.com/CodeHarborHub/codeharborhub.github.io/pull/1625#issuecomment-2184379556


Support for @Attribute in annotated services

It would be good to support @Attribute annotation to declaratively inject the attributes in ServiceRequestContext.attr(key) into annotated services.
class MyService {

  @Get("/")
  public String hello(@Attribute("myAttribute") String myAttribute, ...) {
     ...
  }

}

Hi, @ikhoon nim.
I'm new and interested in armeria.
After reading the code of Armeria and your explanation, it seems like I can do this work.
May i work for this issue?

One of our internal employees is interested and is preparing to develop the issue. We appreciate your interest, but why not consider another issue? 🙏

Thanks for your comment. 🙇♂
I see, i didn't realize that it's listed on sprint.
I vote this issue. i would be grateful for the opportunity to address this issue as one of the participants.
Have a good day!

I didn't know you were a member of Armeria Sprint. 😄
It's all yours.


turbine field in generator_eia860 doesn't exist after 2013

The turbine field in the generator_eia860 table only exists prior to 2013, so if you try and initialize the DB for only years after 2013, you'll get a KeyError for turbines. This shouldn't break the whole ingest of the database table -- need to ensure that that column is created even if it's not going to be populated with anything.

this got somewhat taken care of with EIA normalization and Issue #135


DSEGOG-199 separate y scale options

Description
This PR adds the ability to independently change the scales of the right & left y axis. I've tried making this look neat and compact, but feedback is welcome. To simplify things, I've shown the "original" controls i.e. only a single set of radios when only 1 axis is in use - this then switches to two sets of radios when both axis are used.
Testing instructions
Add a set up instructions describing how the reviewer should test the code

[ ] Review code
[ ] Check Actions build
[ ] Review changes to test coverage

Agile board tracking
Closes DSEGOG-199

On my monitor this looks kinda cluttered.

I'd be keen on having the scale options one on top of the other, I think that could look better, although I'm not sure what you've experimented with. So basically like the below, but one on top of the other (and the text saying left/right axis scale needing to be smaller to fit obviously)

It's true, but even something to separate the options out a bit could help. Perhaps a small bit of extra space between the two scales options in the middle?

@sam-glendenning do you have any ideas for a shorter label names perhaps? Half the problem is that left axis scale/right axis scale are quite wordy labels 😅

Not really, short of a redesign where we do something like
Left Axis Scale (Linear 0 Log 0)
Right Axis Scale (Linear 0 Log 0)

Theoretically that doesn't need to take up more vertical space than what's already there. Matt's input would be valuable though.

I'll explore both - by default doing it vertically takes more space due to default MUI spacing

Would something like this be a solution and covers either have the left axis only set or both:

The channel that is selected for either left or right is then displayed within the correct position and not shown in one list under the search all channels field. Essentially behaves like a toggle.
I have set the left and right options as a radio button but if this doesn't stand out very well then is there an option to use the Toggle Button: https://mui.com/material-ui/react-toggle-button/#color
I am have missed some vital info here so let me know and I can revisit the wires.

That could potentially work, @louise-davies what are your thoughts on this?

That looks good, I think the radios don't stand out enough so a toggle button looks better imo, or we could use a Switch (specifically there's a custom example with labels on both sides)
I'll get to work on the functionality and I may give screenshots of all three options of radios, toggle buttons and a switch

I would not advise using a switch as I don't think this situation would expect one to appear. From NNG:
"Toggle switches are digital on/off switches. They prompt users to choose between two mutually exclusive options and always have a default value. Toggles should provide immediate results, giving users the freedom to control their preferences as needed."
The options are related so I would go with a toggle button. An example, for a switch, would be a data cap on your mobile plan. It's either on or off.

Cool, that makes sense, I'll go with a Toggle Button

Here's a screenshot of the new layout:

The Playwright tests continue to hound me too, to the point where I've set up an issue to track it (210). For now, all you can do is keep retrying until they pass


is there a way to assign tags to devices created on launch time?

I want to assign tags on the root device, but there is no option for tags inside the root_block_device parameters and propagate at tags section only affects to compute resources.
Module terraform-aws-ec2-instance contains a parameter: volume_tags to achieve this.
Am I missing something or is it possible to add this feature?

AFAIK this would have to use a Launch Template as suggested in #81 so that we could have volume_tags.  I don't see how it is possible when using Launch Configuration.
Not a small undertaking, but not impossible.

@pmacdougall is correct, launch templates support this functionality, launch configurations do not unfortunately


goto declaration is great -> but it starts a psc-ide-server everytime

🔶  goto declaration is great, but it starts a psc-ide-server everytime :)
Would it make more sense to start an ide-server only when needed  ? (autocompletion, file save, other mouse hovering)
I don't know what the memory footprint is, so it may just be better to leave it as-is. Just raising the issue in case it's an unfortunate behaviour

That shouldn't happen!
A psc-ide-server should be started once for a given "project" when a file is opened (more or less).
Not looked into this yet but I wonder, are you going to library definitions inside bower_components ? I think it's detecting those nested library directories as their own projects.
Thanks for the spot!

Ouch :D each of the deps inside bower_components has a bower.json

Not looked into this yet but I wonder, are you going to library definitions inside bower_components ? I think it's detecting those nested library directories as their own projects.

Yes, indeed. I was only speaking about when I use goto decl on functions imported from other libraries. everytime I do so, I see green popups about ide being launched

Ouch :D each of the deps inside bower_components has a bower.json

yes, indeed :)

🍏 🍏  this being said, the ability to quickly open any file in bower components via goto-decl is awesome,
The ability to start an ide-server is also sometimes usefull !
👉  It may just not worth it to start it when we just want to take a quick look at a function definition

Fixed by https://github.com/kRITZCREEK/purescript-psc-ide/commit/f1cdd169c1bd85ee7953cc789a5726628d39e7ad - need to make a release including this.


ddev get drud/ddev-platformsh fails with panic

Is there an existing issue for this?

[X] I have searched the existing issues

Run a Diagnostic and Paste Link Here
No response
Expected Behavior
ddev get drud/ddev-platformsh shouldn't panic
Actual Behavior
Panic.
Steps To Reproduce
$ ddev get drud/ddev-platformsh
Downloading https://api.github.com/repos/drud/ddev-platformsh/tarball/v0.6.4
v0.6.4_4272473176.tar.gz 99.83 KiB / 99.83 KiB [====================================] 100.00% 0s
panic: interface conversion: interface {} is bool, not string

goroutine 1 [running]:
github.com/drud/ddev/pkg/util.YamlToDict({0x102bf3680?, 0x140001f7560?})
	/Users/rfay/workspace/ddev/pkg/util/yamltools.go:33 +0x510
github.com/drud/ddev/pkg/util.YamlToDict({0x102bf3680?, 0x140001f74d0?})
	/Users/rfay/workspace/ddev/pkg/util/yamltools.go:38 +0x39c
github.com/drud/ddev/pkg/util.YamlToDict({0x102bf5420?, 0x140001f7260?})
	/Users/rfay/workspace/ddev/pkg/util/yamltools.go:58 +0x6d4
github.com/drud/ddev/pkg/util.YamlToDict({0x102bf5420?, 0x140001f71d0?})
	/Users/rfay/workspace/ddev/pkg/util/yamltools.go:60 +0x61c
github.com/drud/ddev/cmd/ddev/cmd.glob..func29(0x103035a00?, {0x140000ac900?, 0x1, 0x1})
	/Users/rfay/workspace/ddev/cmd/ddev/cmd/get.go:190 +0xe48
github.com/spf13/cobra.(*Command).execute(0x103035a00, {0x140000ac8d0, 0x1, 0x1})
	/Users/rfay/workspace/ddev/vendor/github.com/spf13/cobra/command.go:860 +0x4ac
github.com/spf13/cobra.(*Command).ExecuteC(0x103039100)
	/Users/rfay/workspace/ddev/vendor/github.com/spf13/cobra/command.go:974 +0x354
github.com/spf13/cobra.(*Command).Execute(...)
	/Users/rfay/workspace/ddev/vendor/github.com/spf13/cobra/command.go:902
github.com/drud/ddev/cmd/ddev/cmd.Execute()
	/Users/rfay/workspace/ddev/cmd/ddev/cmd/root.go:143 +0x40
main.main()
	/Users/rfay/workspace/ddev/cmd/ddev/main.go:20 +0xac

Anything else?
This happens when the following is in .platform.app.yaml:
    nodejs:
      # Install node version manager
      # See https://www.npmjs.com/package/n
      n: "*"

DDEV is trying to parse the line n: "*" and that fails; the single-character key comes out to be false, which can't be converted to a string.  Just changing that to
    nodejs:
      nx: '*'

makes everything work fine.
I'm not sure whether this is a bug in the yaml parser or something DDEV's doing that's odd. A single-character key is unusual, but I don't see why it would fail.

The original yaml.Unmarshall() is getting this:
https://github.com/drud/ddev/blob/16c3aa2a5f1aa198964bd5ce053a5c5773181efb/pkg/util/yamltools.go#L18

Weirder still, I can use a: "*" or b: "*" or z: "*" without trouble.


Separate boost and rewards file writes

The boost bot and cycle bots all write to the same s3 file, which is then read by the api and reported out to users. This may be causing some weird race conditions when bots write at the same time / overwrite each other / write in specific orders.
Might be causing issue where boost range % isn't shown underneath setts? Need to research.
Ticket is for researching creating separate files, one that boost bot writes to and one that cycle bots write to. Would require refactoring the api. The goal of this is to decouple boost and rewards so they can't be overwritten by one another.

Also might be issue with faster cycles, ran into invalid cycle / weird apy issues when running every 10 min. Jintao says ui / api caches the s3 file 8 min at a time.

Still relevant:

Will only be an issue if approve and boost run at the same time.

Closed by #360


How can I use multi window on Windows platform

Can we provide an example of using multiple windows on Windows platform, because we have the requirement of independent sub windows

@baneyue
There's similar open issue describing your case, https://github.com/flutter/flutter/issues/30701
Please follow-up in it for further reference.
Closing this as a duplicate.


OCM-11019 | fix: Fix issue with classic clusters without --oidc-config-id flag

Missing empty check allowed no inputs to be passed into the thumbprint fetch in one situation only
Manually verified every situation surrounding this

/lgtm

/cherrypick release_1.2.45

/approve
/lgtm


Request for Encoding for FormData

This is a neat library. I would love to see more extensibility. For example, I would also add the file encodings for multipart/form-data schemas. Is currently a way to accomplish this?
"requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ],
                "additionalProperties": false
              }
            }
          }
        },

Ideally, exporting a path that looks like this:
"requestBody": {
  "required": true,
  "content": {
    "multipart/form-data": {
      "schema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        },
        "required": [
          "file"
        ],
        "additionalProperties": false
      },
      "encoding": {
        "file": {
          "contentType": [
            "application/pdf",
            "image/jpeg",
            "image/png",
            "image/bmp",
            "image/webp",
            "text/plain"
          ]
        }
      }
    }
  }
}

It supports form-data!
export const { PUT } = createRoute({
  operationId: "uploadFile",
  method: "PUT",
  summary: "Upload a file",
  description: "Uploads a file to the storage service",
  tags: ["Upload"],
  requestBody: z.object({
    file: z.instanceof(File).describe("File object to be uploaded"),
  }),
  hasFormData: true,
  action: async ({ body }) => {
    const file = body.file; // this is a File object
  },
  responses: {
    201: { description: "File uploaded successfully", content: FileDTO },
  },
});


rework how client list is maintained

https://github.com/IdentityServer/IdentityServer4/issues/239

Hi @brockallen, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;


Voxels.ProjectZSlice stopped working in v1.5

The Voxels.ProjectZSlice function stopped working in the latest v1.5 release. This can easily be recreated by launching PicoGKExamples.PrepForPrint.Task. Instead of building a solid base, it creates a stripe-like artifact in the voxel field.

With the latest update, it works as before. However there is a more fundamental issue that the ProjectZSlice creates a degenerate signed distance field, because it doesn't update the signed distance values further away from the end slice slice, leaving "inside" field values dangling in the air. I will open a separate case for it.


Hide members list

Since your screenshots show a hidden members list, but it wasn't hidden in the default installation of wal-discord, I added this myself via:
div[class^='membersWrap'], div[class*=' membersWrap']{
  display: none !important;
}

This way as the ID after membersWrap might change.
However, I'm not sure where best to put this. For now I put it into a backend file (this PR), which makes the change callable via wal-discord -b no-members-list. However, the backend file also needs to include the color variables in order not to exit with an error on wal-discord startup. I tried importing a default backend file as you can see as a comment in the commit, but that didn't work either.
The other option would be to put this into master.scss to have it on by default, or to somehow enable it via an input flag. Having it in a backend file like this also makes the use of another backend file for colors impossible, which is the originally intended purpose for these.
Let me know what you think the best option would be.

Nevermind, I just saw that there is actually an option to hide the list in the program itself.


Hints/verifiers - HDP, Verify and Account Verifiers (EVM)

Add hdp, verify hints and the account verifiers (EVM) ones.

After we merge it i will proceed to the project reorg into crates and workspace coz if i do it rn we will have lots of conflicts with this PR


Code does not build and run

Jenkins and plugins versions report
I pulled this repo and tried to build and run it using mvn hpi:run but I get errors:
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project org.jenkins-ci.plugins:junit-attachments:999999-SNAPSHOT (C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml) has 11 errors
[ERROR]     Non-resolvable import POM: The following artifacts could not be resolved: io.jenkins.tools.bom:bom-2.452.x:pom:3790.va_b_a_2d26d2b_69 (absent): Could not transfer artifact io.jenkins.tools.bom:bom-2.452.x:pom:3790.va_b_a_2d26d2b_69 from/to repo.jenkins-ci.org (https://repo.jenkins-ci.org/public/): repo.jenkins-ci.org:443 failed to respond @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 32, column 25 -> [Help 2]
[ERROR]     Non-resolvable import POM: The following artifacts could not be resolved: org.jenkins-ci.main:jenkins-bom:pom:2.452.4 (absent): Could not transfer artifact org.jenkins-ci.main:jenkins-bom:pom:2.452.4 from/to repo.jenkins-ci.org (https://repo.jenkins-ci.org/public/): status code: 502, reason phrase: Bad Gateway (502) @ org.jenkins-ci.plugins:plugin:4.88, C:\Users\XXXXXX\.m2\repository\org\jenkins-ci\plugins\plugin\4.88\plugin-4.88.pom, line 160, column 19 -> [Help 2]
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins:junit:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 42, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-api:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 48, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-job:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 53, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-basic-steps:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 58, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-cps:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 63, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-durable-task-step:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 68, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-support:jar is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 73, column 21
[ERROR]     'dependencies.dependency.version' for org.jenkins-ci.plugins.workflow:workflow-support:jar:tests is missing. @ org.jenkins-ci.plugins:junit-attachments:${changelist}, C:\Users\XXXXXX\source\repos\junit-attachments-plugin\pom.xml, line 78, column 21
[ERROR]     'dependencies.dependency.version' for commons-logging:commons-logging:jar is missing. @ org.jenkins-ci.plugins:plugin:4.88, C:\Users\XXXXXX\.m2\repository\org\jenkins-ci\plugins\plugin\4.88\plugin-4.88.pom, line 250, column 17
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

What Operating System are you using (both controller, and any agents involved in the problem)?
Windows 10
Reproduction steps
Try to build and run this code
Expected Results
Expected code to build and run
Actual Results
Code does not build and run
Anything else?
No response
Are you interested in contributing a fix?
No response

Works well on my side. CI also doesn't complain about dependencies.
Make sure your setup is up do have (maven etc....)
[INFO] Started Server@5431bc5b{STARTING}[10.0.22,sto=0] @9666ms

Hit <enter> to redeploy:

2024-12-23 06:54:44.454+0000 [id=55]    INFO    jenkins.InitReactorRunner$1#onAttained: Started initialization
2024-12-23 06:54:45.662+0000 [id=63]    INFO    jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2024-12-23 06:54:46.866+0000 [id=54]    INFO    jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2024-12-23 06:54:46.880+0000 [id=54]    INFO    jenkins.InitReactorRunner$1#onAttained: Started all plugins
2024-12-23 06:54:46.887+0000 [id=73]    INFO    jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2024-12-23 06:54:47.376+0000 [id=76]    INFO    jenkins.InitReactorRunner$1#onAttained: System config loaded
2024-12-23 06:54:47.376+0000 [id=76]    INFO    jenkins.InitReactorRunner$1#onAttained: System config adapted
2024-12-23 06:54:47.377+0000 [id=72]    INFO    jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2024-12-23 06:54:47.378+0000 [id=72]    INFO    jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2024-12-23 06:54:47.401+0000 [id=68]    INFO    jenkins.model.Jenkins#setInstallState: Install state transitioning from: null to: DEVELOPMENT
2024-12-23 06:54:47.404+0000 [id=89]    INFO    hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2024-12-23 06:54:47.557+0000 [id=59]    INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
2024-12-23 06:54:47.610+0000 [id=48]    INFO    hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running

@jonesbusy Thanks I'm not a Java developer nor Maven user but I had successfully built and ran other Jenkins plugins earlier and just couldn't get this to work. However trying again today - it does work

Most likely to be caused by https://github.com/jenkins-infra/status/pull/573/files


Implemented iseries db2 dialect inside PASE environment

adding db2 iseries dialect on native ibm_db over python on PASE environment
conn string :
db2as400://database name;DATABASE=database name;UID=user;PWD=password
database name look at WRKRDBDIRE iseries 5250 command
there is also mod to connect thru unixODBC "IBM i Access ODBC Driver" pyodbc

@openmax Please rebase your branch to latest level and resolve the conflict. Most of the changes may be done already. Thanks.


table.insert & Type 'number' could not be converted into 'string'

There seems to be something wrong with typechecking when table.insert is present. Possibly a duplicate of #665
function get_text()
	return string.rep("a", 5)
end

local t1 = {}
table.insert(t1, 1, get_text())
string.len(t1[1])	-- Error: Type 'number' could not be converted into 'string'

local t2 = {}
t2[1] = get_text()
string.len(t2[1])	-- Ok

Looks like table.insert is type checked as if using the overload without the index for some reason.

I can no longer reproduce this.

@AmaranthineCodices Are you checking in strict mode? This reproduces in non-strict for me on latest (luau-analyze => flags=on)

This still reproduces and the reason why is kind of interesting:

The type of table.insert is (<V>(t: {V}, value: V) -> ()) & (<V>(t: {V}, pos: number, value: V) -> ()).
In nonstrict mode, the inferred type of get_text is () -> ...any
...any can match 0 arguments, so the first overload of table.insert is selected.  t1 is inferred to have type {number}.

We have some pretty major plans already underway for a reworking of nonstrict mode that should fix this bug.

Would it make sense to flip the order of table.insert overloads in the type def, so that the one with position argument is tried first?

That would obviously not solve the general problem, but it would make this one specific use case work.
I don't see a downside. :)


Bug: [QueryBuilder] if set limit to 0, it will return all data. Perhaps it should return 0 data.

PHP Version
8.2
CodeIgniter4 Version
4
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Linux
Which server did you use?
fpm-fcgi
Database
MariaDB 10.2.44
What happened?
$builder->limit(0, 0) , set the limit => 0 and the query will shows all the table rows. It should return no rows because limit is 0.
Steps to Reproduce
$builder->limit(0,0)

Expected Output
it should return no rows if it set limit to 0.
Anything else?
No response

Thank you for reporting. This is very interesting.

$builder->limit(10, 20);
// Produces: LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)
https://codeigniter4.github.io/CodeIgniter4/database/query_builder.html#limit

As I read it, I expect limit(0, 0) produces LIMIT 0, 0.
In reality, however, no LIMIT clause is generated.

This behavior has not changed since the beginning of 4.0.
https://github.com/codeigniter4/CodeIgniter4/blob/4d2746f433c8d375a3ed04207967336839c56a3f/system/Database/BuilderTrait.php#L2400-L2404

In CI3, the following code generates SELECT * FROM "job"  LIMIT 0 (sqlite3):
		$jobs = $this->db->limit(0, 0)
		                      ->get('job')
		                      ->result_array();

I am writing this query in MariaDB:  "SELECT * FROM payment limit 0 offset 0"  , and it shows no result.
So on Ci3, and Ci4 I am expecting $builder->limit(0,0)  or $builder->limit($set, $offset)  do the same.
Maybe, it is not a bug,  some query do different depending on database we use.
https://dev.mysql.com/doc/refman/8.0/en/limit-optimization.html
"LIMIT 0 quickly returns an empty set. This can be useful for checking the validity of a query. It can also be employed to obtain the types of the result columns within applications that use a MySQL API that makes result set metadata available."

Do you have a use case for limit 0 with Query Builder?
LIMIT is not in SQL standards. So we don't need to implement like MySQL's.
But since "limit 1" returns 1 row, it is logical that "limit 0" would return 0 rows.
However, the implementation will be more complicated than it is now.

if ($quantity === 0) {
    return [];
}
$query = $this->db->table('order')->limit($quantity)->offset($offset)->get()->getResultArray();

I sent PR #8280 to fix this.

You can fix this behavior in v4.5.0. See #8280


🐞 Selecting empty line selects line above as well

Selecting an empty line will select the line above as well. See screen capture.
https://user-images.githubusercontent.com/35942988/215297544-eeff8736-e6bf-42c7-a8bc-2bf86e2cb1a6.mov

Looks like this is an issue with TextKit:
https://github.com/krzyzanowskim/STTextView/blob/41c7c87a552e6286ebea5f348e820b529c6f5662/Sources/STTextView/STTextView%2BSelect.swift#L410


I cannot find "computeJointJacobiansTimeVariation" in robot_wrapper.py

Hi, I am using Ubuntu 20.04 with python3.8. I followed the installation instructions of link and just modify the installation line as  sudo apt install -qqy robotpkg-py38-pinocchio. After the installation, I configured the environment variables. Now, I can load a file .urdf, compute inertia matrix and jacobian, but when trying to compute the derivative in time of jacobian matrix with  pin.computeJointJacobiansTimeVariation(robot.model, robot.data, q0, dq0) I get this error: AttributeError: 'RobotWrapper' object has no attribute 'computeJointJacobiansTimeVariation'. So I checked the "robot_wrapper.py" file and realized that the function was not there. Please, could you tell me how to get the function?
Thanks,

pin.computeJointJacobiansTimeVariation(robot.model, robot.data, q0, dq0) should then work smoothly.

Currently, we did not expose the method yet. If you think this feature is missing, you can easily collaborate on the project by adding it.


Questa/Xilinx Structural Models/Time Resolution

Folks,
I am having trouble simulating the Xilinx behavioural models for FIFOs. Could be others but only FIFOs right now.
It appears the FLI overrides the Questa Time Resolution to ps.
If I run the cocotb testbench with default time values i.e clock periods in the ps range the Xilinx behavioral models fail to simulate correctly.
If I override the simulator resolution when calling vsim with "-t ns" the simulator time does not advance however the delta count advances. So effectively nothing happens.
If I specify ns clock periods within the testbench the simulations run successfully however they take a lot longer than normal as there are 1000 ps ticks to simulate per ns.
Anyone come across this before?
Thanks!

If I run the cocotb testbench with default time values i.e clock periods in the ps range the Xilinx behavioral models fail to simulate correctly.

@declanca, maybe in this case you start to interact with FIFO before 100ns from beginning of simulation and FIFO is effectively in reset by GSR assertion in glbl.v?

It appears the FLI overrides the Questa Time Resolution to ps.

As I understand simulator choose the minimum time in the whole project and in glbl.v and sim netlists you can find  `timescale 1 ps / 1 ps

Thanks for the follow up. I am using VHDL therefore had figure it out from that perspective.
After playing with this I figured out that adding a "-t 10ps" to the vsim arguments gets me the performance I need.
And FYI Xilinx behavioural models do not work with 1ps resolution simulations - Mentor is aware of this issue.

@declanca this seems not to be a cocotb issue, please reopen if you feel differently.