Issue with deployment @jscutlery/semver

Please give some input on resolving this issue
Error
at /builds/juliusbaer/ods/odsetl/node_modules/@jscutlery/semver/src/executors/common/exec.js:10:34
at exithandler (node:child_process:430:5)
at ChildProcess.errorhandler (node:child_process:442:5)
at ChildProcess.emit (node:events:517:28)
at ChildProcess._handle.onexit (node:internal/child_process:290:12)
at onErrorNT (node:internal/child_process:477:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[odsetl] ❌ Error: Something went wrong with post-target "odsetl:push-gitlab-release".
at /builds/juliusbaer/ods/odsetl/node_modules/@jscutlery/semver/src/executors/version/utils/post-target.js:25:31
at Generator.next ()
at fulfilled (/builds/juliusbaer/ods/odsetl/node_modules/tslib/tslib.js:166:62)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[odsetl] ❌ Error: Something went wrong with post-target "odsetl:release-gitlab".
at /builds/juliusbaer/ods/odsetl/node_modules/@jscutlery/semver/src/executors/version/utils/post-target.js:25:31
at Generator.next ()
at fulfilled (/builds/juliusbaer/ods/odsetl/node_modules/tslib/tslib.js:166:62)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

The error says that you have an issue with post-targets "odsetl:push-gitlab-release" and "odsetl:release-gitlab", however I can't help without a reproduction.

Any issue with my nx file ?
"release-gitlab": {
"executor": "@jscutlery/semver:version",
"options": {
"allowEmptyRelease": true,
"skipCommit": true,
"skipTag": true,
"syncVersions": true,
"skipPackageJsonUpdate": true,
"postTargets": ["{projectName}:push-gitlab-release"]
},
"push-gitlab-release": {
"executor": "@jscutlery/semver:gitlab",
"options": {
"tag": "${tag}",
"description": "${notes}"
}
},

I am using the docker image timbru31/java-node:8-hydrogen


Back button and Error processing ShibCas authentication request

I visit a protected page on an SP, get redirected to Shib, sent to CAS via shib-cas-authn3, log in, eventually get sent back to SP, get page. Great! Then I hit the back button.
On some browsers, I get a 500 exception "Error processing ShibCas authentication request", with root cause "No conversation state found in session for key (e1s1)". Exception at end of this issue. I'm running Tomcat on the IdP (for now).
The URL at this point is /idp/Authn/ExtCas?conversation=e1s1&ticket=ST-blah-blah-casa
It seems to happen on:
Edge on Windows 10.
Chrome in Windows 10.
Safari on Mac.
Chrome on Mac.
Opera on Mac.
In some browsers, I don't get the exception, I get directed to /idp/profile/SAML2/Redirect/SSO, which shows me a Shibboleth "Stale Request" message, which is nice.
This happens on:
IE 11 on Windows 10. But if I hit the back button again, I get the exception.
Firefox on Windows 10. Hitting the back button again remains on the page, which is very nice.
Firefox on Mac. Hitting the back button again remains on the page, which is very nice.
Anyway, is this expected, is Firefox doing something that the others aren't, am I missing something completely, or could you suggest any way I can avoid ever seeing the exception?
Thanks,
Kevin

HTTP Status 500 - Error processing ShibCas authentication request
type Exception report
message Error processing ShibCas authentication request
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Error processing ShibCas authentication request
net.unicon.idp.externalauth.ShibcasAuthServlet.doGet(ShibcasAuthServlet.java:152)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
net.shibboleth.idp.log.SLF4JMDCServletFilter.doFilter(SLF4JMDCServletFilter.java:72)
net.shibboleth.utilities.java.support.net.RequestResponseContextFilter.doFilter(RequestResponseContextFilter.java:60)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
root cause
net.shibboleth.idp.authn.ExternalAuthenticationException: No conversation state found in session for key (e1s1)
net.shibboleth.idp.authn.ExternalAuthentication.startExternalAuthentication(ExternalAuthentication.java:132)
net.unicon.idp.externalauth.ShibcasAuthServlet.doGet(ShibcasAuthServlet.java:113)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
net.shibboleth.idp.log.SLF4JMDCServletFilter.doFilter(SLF4JMDCServletFilter.java:72)
net.shibboleth.utilities.java.support.net.RequestResponseContextFilter.doFilter(RequestResponseContextFilter.java:60)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.54 logs.
Apache Tomcat/7.0.54

We saw these errors crop as well after deploying our Shibboleth upgrade to use the plugin.  Along with use of the back button or bookmarked links, we are seeing issues because of our HA setup and the use of a load balancer.  If a user sits on the login page for a duration that is longer than the sticky session assignment by the load balancer this error will happen if they are dispatched to a different server than the one that handled their original request.
Would it be possible to change the plugin to hold the conversation state in the client side storage, or is that not an option for this functionality?

That's not about this plugin. The shib idp keeps is SWF state in memory server-side as does SWF in general. That needs to change over there for client-side storage; not something for this plugin to handle.

Got it.  Thanks for the response.  Looks like 3.3.0 of the IdP may have some changes to handle this situation at least more gracefully.

Improvements in back-button behavior result in some new exception types being raised. Mapping them to existing back-button behavior requires additions to one of the earlier message property files:
NoSuchFlowExecutionException = stale
ExternalAuthenticationException = stale

I'm going to close this. There was some changes made to the plugin to help with this. Unfortunately, 3.3.0's NoSuchFlowExecutionException didn't really help much in this case... at least I couldn't get it to invoke naturally.


Possibillity to reach client console in vscode when doing web dev.

When developing for web on a laptop it would be nice to be able to use the client console in vscode to increase productivity by not having to switch between windows so often.

@reimerwilliam please explain what you mean by "to use the client console in vscode".
For exactly what? Please describe the flow that VS Code should support.

@reimerwilliam could you please provide more details?


views: SSE integration

Adds a dedicated SSE channel per deposit. (closes #144)

Defines new extension, called InvenioDepositSSE.

Adds test for coverage.

Signed-off-by: Orestis Melkonian<EMAIL_ADDRESS>

@omelkonian the idea in https://github.com/inveniosoftware/invenio-deposit/issues/144#issuecomment-256664844 was to create new extension. I should have been more clear and stay that it should be new package since right now Invenio-SSE is experimental.


chore: Adding layers table

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: f12d17dfd1993fa11d5822e48b0727e854cd7812
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: f12d17dfd1993fa11d5822e48b0727e854cd7812
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Screen brightness jumps when moving between apps

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Looked through the wiki
[X] Updated MonitorControl to the latest version (if applicable)

Describe the bug
On my DELL screen, when switching between app screens, the screen brightness jumps high for a very short period of time (1 second); the screen brightness then returns to normal but it is annoying to have my monitor brightness jump every time I move between app screens.
Steps to reproduce

Open Monitor control
Move between app screens (full screens)

Expected behavior
Monitor brightness to not jump
Anything else?
See video for issue: https://www.loom.com/share/479bcb9e496b4f0da320149cfed298e2
Environment Information (please complete the following information)
- macOS version: Ventura
- Mac model: Macbbok pro 14
- MonitorControl version:4.1.0
- Monitor(s):Dell
- Apple Silicon/M1 (yes or no): YES

Yeap, I have a similar issue. When I switch tabs in Chrome, the brightness goes to max and doesn't back to normal.
Environment Info:
- macOS version: Ventura 13.1
- Mac model: Macbook Air 2020
- MonitorControl version: 4.1.0
- Monitor(s): Philips 272E2F
- Apple Silicon/M1 (yes or no): YES

The brief change happens when you are using software dimming and disable gamma table manipulation. In this case MC uses a dark overlay to dim the screen, however this overlay is not present when there is a transition among desktops. This is normal behavior in this case.

I have a Philips monitor (272E2FA/00). In my case, the screen brightness suddenly goes to the maximum and stays. I noticed this issue is not related to the application. It was fixed when I turned off SmartContrast in the monitor settings.


The latest version does not have viewer.start-train option

The latest version does not have viewer.start-train option,If I do not want it to train, how to do it?

Use ns-viewer instead.


Keep action mailer config together

https://github.com/thoughtbot/suspenders/blob/285c002cb1095a0031444840b8ee1c31324264e8/lib/suspenders/actions.rb#L12..L28 adds action_mailer configuration to the end of the file, whereas https://github.com/thoughtbot/suspenders/blob/285c002cb1095a0031444840b8ee1c31324264e8/lib/suspenders/generators/production/email_generator.rb#L21..L30 adds action_mailer configuration below some other action_mailer configuration. It might be nice to keep related configuration grouped together.

Closed by #1162


SQLite can load TPCDS-SF100

Closing in favor of Enhancement: SQLite Accelerator can load and run TPCDS queries #2559 that covers both loading and ensuring queries are completed


Control Statements in JAVA (documentaion)

Description 📜
I want to make a documentation on Control Statements in JAVA. It will contain detailed explanation of all types of control statements with example.

Domain of Contribution 📊

[x ] Java

/assign

/assign

\assign

Issue creation by contributors are not allowed. Please do not make me repeat every time.


redundant code

isn't https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Dialogs/BotData.cs#L74 to https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Dialogs/BotData.cs#L77 redundant code?
and this https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Dialogs/BotData.cs#L342 ?

They are not redundant code because they are used for key comparison for implementation of InMemoryDataStore. That is a generic implementation and considers a single instance of that can be shared between different bots and conversations. As a result that key comparison is necessary.
Also SetCacheValue call is necessary to set the value that is being saved to the right data store on the entry.


usb-mount  not  working

On the Merlin 384 firmware, the AX600 does not automatically mount a USB drive during startup. After installing 'usb-mount,' I discovered that it was not working correctly because, even after rebooting the router, the USB drive still did not get mounted automatically. Here are the steps I followed in order:

I executed the command curl -fsSL "https://mirror.ghproxy.com/https://raw.githubusercontent.com/jacklul/asuswrt-scripts/master/scripts-startup.sh" -o /jffs/scripts-startup.sh and then ran chmod +x /jffs/scripts-startup.sh. Next, I executed /jffs/scripts-startup.sh install.

I used the command curl -fsSL "https://mirror.ghproxy.com/https://raw.githubusercontent.com/jacklul/asuswrt-scripts/master/scripts/usb-mount.sh" -o /jffs/scripts/usb-mount.sh.

I placed the asusware.arm folder at the root directory of the USB drive and restarted the router.

Is there usb-mount entry in cru l ?
Are you able to mount the storage manually from ssh?

Do not place asusware folder on the USB when using Merlin firmware, it's for the stock firmware only.
1. Is there `usb-mount` entry in `cru l` output?

2. Are you able to mount the storage manually from ssh?

Do not place asusware folder on the USB when using Merlin firmware, it's for the stock firmware only.
1. Is there `usb-mount` entry in `cru l` output?

2. Are you able to mount the storage manually from ssh?

1.ye
2.no

All this script does is run mount command, if you can't mount your storage manually using mount /dev/your device /mint/yourmountpoint then it won't work.
The script is targeted to fix issues where firmware stops mounting storage devices when there is different kind of USB device plugged in (or using USB hub), nothing more.


Gpio level test

Currently the level triggered test disables the interrupt in the first callback. This doesn't test interrupt re-entry if the gpio level is unchanged.
This PR adds an option to disable the interrupt after several calls and adds two tests with the extra condition.

LGTM - please fix compliance failures (I will re-ack)

Thank you. I ended up removing the typo fix commit. Fixing the warning would change the style of the comments in the file. Probably it should be a separate PR.

ping


Set Bind Operation timeout to < 60sec

Cloud controller req. times out in 60sec
https://github.com/cloudfoundry/cloud_controller_ng/blob/master/config/cloud_controller.yml#L192
It means broker should return bind credentials within these 60 seconds else it should throw timeout error.
To support this 2 changes were made

retry count of createCredential req to agent set to 2 and timeout set to 25sec/req
Entire operation should finish within 55 sec hence timeout is changed for sync operation poller in broker controller

Pull Request Test Coverage Report for Build 2926

3 of 6 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.065%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

data-access-layer/eventmesh/ApiServerClient.js
3
6
50.0%

Totals

Change from base Build 2924:
0.0%

Covered Lines:
9186

Relevant Lines:
9859

💛  - Coveralls

@sauravmndl Didn't understand your comment. That is what we changed as part of this PR (https://github.com/cloudfoundry-incubator/service-fabrik-broker/pull/632/files#diff-9701b968147d47a5682ea3bee6fdf41aR745). Are you referring to this same line?

I missed that DirectorService.js file is also changed. The  OPERATION_TIMEOUT_IN_MILLIS is used in the file during bind/unbind operation. I was referring to that. Perfect! No need to change anything according to me. Ignore the comment.

@amitmalav  dev pipeline verified ? Please label it accordingly


Terragrunt runtime exception

Terraform version: 0.14.3
Terragrunt version: 0.26.7
OS: Windows 10 Pro 64bit
Hello,
I am experiencing a weird Terragrunt runtime error. I've tested this on two different machines. My desktop PC is working fine but I am getting an exception when I run terragrunt on my laptop. I've pasted a snippet of the exception below. Just wondering if anyone has encountered this before?
Both my desktop and laptop are on Windows 10 Pro 64 bit.
C:\terragrunt>terragrunt.exe
Exception 0xc0000005 0x0 0x7ffe0e650fff 0x285c0000
PC=0x285c0000

runtime: unknown pc 0x285c0000
stack: frame={sp:0x2d6e820, fp:0x0} stack=[0x0,0x2d6ff00)
0000000002d6e720:<PHONE_NUMBER>d6e768<PHONE_NUMBER>d6e790
0000000002d6e730:<PHONE_NUMBER>d6e758<PHONE_NUMBER>d6e750
0000000002d6e740:<PHONE_NUMBER>d6e754<PHONE_NUMBER>eb0000
0000000002d6e750:<PHONE_NUMBER>000000<PHONE_NUMBER>000000
0000000002d6e760:<PHONE_NUMBER>000000<PHONE_NUMBER>000005
0000000002d6e770:<PHONE_NUMBER>d6e8b8  00007ffe0c3fb35f

This looks like the binary is for the wrong architecture/OS. Can you try downloading from the following link and try again? https://github.com/gruntwork-io/terragrunt/releases/download/v0.26.7/terragrunt_windows_amd64.exe
If it still fails, then the build process must have failed and I will investigate further.

This looks like the binary is for the wrong architecture/OS. Can you try downloading from the following link and try again? https://github.com/gruntwork-io/terragrunt/releases/download/v0.26.7/terragrunt_windows_amd64.exe
If it still fails, then the build process must have failed and I will investigate further.

I've just downloaded it again from that link and it works on my laptop now.
Thanks!

I've just downloaded it again from that link and it works on my laptop now.
Thanks!

Glad to hear it worked!

Glad to hear it worked!


mean average precision greater than 1!!!!!!!!!!!!!!!!!

Hi
I have used these function to calculate mean average precision (mAp) for a subset of google Audioset. I have run a lot of training. now I have changes my features and run a new train, but in some epochs, mAp is greater than 1 !!! I don't know what the problem is? other metrics such as hit_at_one or AUC (area under the curve) are normal. how can I solve it?

@creativesh It could a very small value that is less than 0 but displayed in exponential notation. e.g.  1.197076060995287e-05  which is about 0.00001 in normal decimal notation.


There is something wrong about http://pagekit.com/docs/quickstart

No route found for "GET /docs/quickstart"

With /docs as well

Yeah, I noticed it too. All the docs section has gone.

Since Pagekit 0.9.0 is a complete rewrite, we need to create a complete new documentation as well.


add link to cli-eaa and update the table of contents

Added a link to terraform-eaa from cli-eaa main readme.md file.
This is the mirrored link.
More choices, more possibilities

Merge approved.


JAMES-3754 Update IMAP ID Extension - support return id fields response when configured

ref https://www.rfc-editor.org/rfc/rfc2971.html

Need a rebase

Ci fail
org.apache.james.backends.opensearch.ClientProviderImplConnectionAuthESIgnoreSSLCheckTest.(?)
it loosk not related to this pr
It passed on my local
Please re-run CI?

Opensearch image not started correctly with testcontainers, usual issue. I think I did restart the build same time as you commented :)


feat(env): use EMAIL_SMTP env var

Description
use EMAIL_SMTP env var instead of hardcoded value, Closes #103
Checklist:

[x] This pull request follow our contribution guidelines
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (postman and wiki)
[ ] I have written tests for the code
[x] I have updated .env.example file for new .env variables

What is current behavior?

Closes #(issue_number)
What is new behavior?

Breaking Changes?

Additional information

@aayushchugh what do you think?

@all-contributors please add @VadimDez for code


Issue with column default values

I am testing EFCore.Jet to create a new database patterned on an existing DB that has historically been created by some VB6 code and ADOX.
I have columns with default values which in ADOX would have been created like this (VB6):
With !Conversion
Set .ParentCatalog = mcatSample
.Properties("Nullable") = True
.Properties("Default") = 0
End With
In the Migration it looks like this:
// etc.
Conversion = table.Column(nullable: true, defaultValueSql: "0"),
when I run the context.Database.EnsureCreatedAsync()
it fails with a syntax error on the Table create
When I then script the migration, I see that the underlying SQL is this:
CREATE TABLE [TAGLIST] (
[ID] int NOT NULL IDENTITY,
[CommDetail1] varchar(255) NULL,
[CommDetail2] varchar(255) NULL,
[CommDetail3] varchar(255) NULL,
[CommDetail4] varchar(255) NULL,
[CommType] smallint NULL,
[CommTypeW] smallint NULL,
[Conversion] smallint NULL DEFAULT (0),
[Description] varchar(128) NULL,
[EvalScript] text NULL,
[History] bit NOT NULL,
//etc.
From trial and error, for it to work it seems that DEFAULT (0) needs to be DEFAULT 0

What's wrong in it?

I am not sure what you are asking. The data migration in the model looks ok. However when ef is used to create the database, the create table fails because the Microsoft.ACE.OLEDB.12.0 driver doesn't like the round brackets around the default value. I confirmed this by running the EF SQL directly in ADO.Net. When I removed the round brackets on the columns with DEFAULT in ADO.Net, the command executed ok.
In other words:
[Conversion] smallint NULL DEFAULT (0),      // fails
[Conversion] smallint NULL DEFAULT 0,        // works

Thanks! I did not remember this detail about Jet dialect

@ckosti If you got the time, please open a PR with your fix, so it can be merged upstream.

Since I could need the fix for this issue, I would volunteer to open a PR with the fix of ckosti, but how can I verify that this does not break something else? The testbase seems to be very fragile and I am not sure if I can rely on it. Any recommandations?

@xoniuqe What version of EFCore.Jet are you using?
In case you are not using the latest bits that are compatible with EF Core 3.1.x, please clone and compile them from the 3.1-preview branch (or wait a day or two, because we will provide an official alpha this week).
There were a lot of significant changes and fixes for scaffolding and migrations for the 3.1 release.

how can I verify that this does not break something else? The testbase seems to be very fragile and I am not sure if I can rely on it. Any recommandations?

The tests are still (and will be for some time) mostly broken. To ensure you don't introduce regression bugs, compare the test that did run successfully before, with the ones that do run successfully afterwards.
I am also doing manual reviews for all contributions.
(This is far from being a perfect QA process at the moment, but its the best we currently got.)

@lauxjpn I was planning on submitting this for the version 2.2, because I do not wan't to use unpublished dependencies on the project I am currently working on.
I also got some issues with migrations in the 3.1-preview version.
But, I will wait for the alpha release and probably merge the fix after that. Concerning the tests I will handle it as you mentioned (this is the answer I anticipated but not wished for, but it is fine. I am happy that there are atleast tests.)

But, I will wait for the alpha release and probably merge the fix after that.

@xoniuqe This is what I would suggest. It is theoretically possible to merge the fix for the 2.2.x releases, but EF Core 2.2 has reached EOL anyway and we don't have an automated publishing process for 2.2.
As for the tests, we will be switching for an intermediate solution, where we will add automated checks that ensure, that already working tests will not break, before we have all tests sorted out into their actual working and non-working categories and the latter one in sub categories for the reason they are not working (and whether this could be fixed in the future or not).


Upgrade mk-docs in the CI/DD

upgrade to torch 1.9.0 and mmdet 2.17.0

@ai-fast-track why is this re-opened?

@ai-fast-track ?


Prioritize Indoor Radios

This HIP is submitted on KeithR's behalf.

@hiptron Please close this PR
Confirmed with authors


Improve shutdown grace period handling

Kuberhealthy shutdown grace period should be calculated from the running spec instead of being statically configured.

#134 Exposes the grace period as an env var, we now just need to consume this var and pass it through to the shutdown contexts

Line 39 in main.go needs overridden when the environment variable for termination grace period seconds is set.  This probably needs done in the init() func.

https://github.com/Comcast/kuberhealthy/blob/master/cmd/kuberhealthy/main.go#L39

Looks like we can't actually do this due to the kubernetes downward API not exposing terminationGracePeriodSeconds


Add profiler markers to the teleport system

This change is the portion of #7565 addressing the teleport system.

Tip for reviews: turn on the ignore whitespace option in the review settings


SVG partial fill (icon, rating, etc)

https://svelte.dev/repl/ff233f298846402eafc328320f24033a?version=4.1.2

also consider simple gradient icons (REPL).  See also LayerChart's LinearGradient


Users screen is blank

Home Assistant release with the issue:

0.84.6
Last working Home Assistant release (if known):
0.83.3
Operating environment (Hass.io/Docker/Windows/etc.):

Debian with python virtualenv
Component/platform:

Description of problem:
When I access configuration->users no users showed up on the page. I can see on .storage/auth that HA has two users ("homeassistant" and "admin") and both seems to be active.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:

Comparing to another test install I saw that neither user was marked as "is_owner". Changing to true seems to solve the problem. How I get to this state I dont know...


Squeeze parameters values so that the result be identical to the "Squeeze Momentum Indicator [LazyBear]" in TradingView

I have tried with :
a) ta.squeeze(df['High'], df['Low'], df['Close'], use_tr=True, lazybear=True)
b) ta.squeeze(df['High'], df['Low'], df['Close'], bb_length=20, bb_std=2, kc_length=20, kc_scalar=1.5, mom_length=12, mom_smooth=6, use_tr=True, mamode='sma', lazybear=True)
None give me the same result.
Example:

BTCUSDT (Binance) 15 minutes: 10 Oct'21 20:15 (UTC+2) ==> SQZMOM_LB Value = 48.71; ta.squeeze = 59.60;

It's probably because of the values I pass to the method, but it's not clear to me. I may even be missing some of them.
Any idea what could be the problem?

Hello @Nerque,
I will be closing this Issue until you have time to test the data and code I provided above in https://github.com/twopirllc/pandas-ta/issues/408#issuecomment-940169486.
Thanks,
KJ


labelSelector for KubernetesCRD in helm values not taking effect

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What version of the Traefik's Helm Chart are you using?
traefik-10.3.6
What version of Traefik are you using?
2.5.3
What did you do?
Updated the values.yaml to
providers:   kubernetesCRD:     enabled: true     labelSelector: "ingressclass=traefik-kafka"
or
providers:   kubernetesCRD:     enabled: true     labelselector: "ingressclass=traefik-kafka"
What did you see instead?
I expected labelselector to show up in args of the controller pod.
But there is no such change found
      --providers.kubernetescrd.labelselector=ingressclass=myclass
What is your environment & configuration?
values.yaml
`image:
name: traefik
tag: ""
pullPolicy: IfNotPresent
deployment:
enabled: true
kind: Deployment
replicas: 1
annotations: {}
labels: {}
podAnnotations: {}
podLabels: {}
ingressRoute:
dashboard:
enabled: true
annotations: {}
labels: {}
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
providers:
kubernetesCRD:
enabled: true
labelselector: "ingressclass=traefik-kafka"
allowCrossNamespace: true
namespaces: []
kubernetesIngress:
enabled: true
ingressClass: traefik-kafka
namespaces: []
publishedService:
enabled: true
logs:
general:
level: ERROR
access:
enabled: true
filters: {}
fields:
general:
defaultmode: keep
names: {}
headers:
names: {}
metrics:
prometheus:
entryPoint: metrics
globalArguments:

"--global.checknewversion"
"--global.sendanonymoususage"
additionalArguments:
"--log.level=DEBUG"
"--providers.kubernetesingress.ingressclass=traefik-kafka"

ports:
traefik:
port: 9000
expose: false
exposedPort: 9000
protocol: TCP
web:
port: 8000
expose: true
exposedPort: 80
protocol: TCP
websecure:
port: 8443
expose: true
exposedPort: 443
protocol: TCP
tls:
enabled: false
options: ""
certResolver: ""
domains: []
metrics:
port: 9100
expose: false
exposedPort: 9100
protocol: TCP
tlsOptions: {}
service:
enabled: true
type: LoadBalancer
annotations:
annotationsTCP: {}
annotationsUDP: {}
labels: {}
spec:
loadBalancerSourceRanges: []
externalIPs: []
autoscaling:
enabled: true
minReplicas: 1
maxReplicas: 5
metrics:

type: Resource
resource:
name: cpu
targetAverageUtilization: 60
type: Resource
resource:
name: memory
targetAverageUtilization: 60

persistence:
enabled: false
name: data
accessMode: ReadWriteOnce
size: 128Mi
path: /data
annotations: {}
hostNetwork: false
rbac:
enabled: true
namespaced: false
podSecurityPolicy:
enabled: false
serviceAccountAnnotations: {}
affinity: {}
nodeSelector: {}
tolerations: []
priorityClassName: ""
securityContext:
capabilities:
drop: [ALL]
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65532
podSecurityContext:
fsGroup: 65532
`
Please help me debug why the option is not populating.
When I add it as an additional argument, the same shows up in args
additionalArguments:

"--log.level=DEBUG"
"--providers.kubernetescrd.labelselector=ingressclass=myclass"

helm template --namespace= controller traefik/traefik -f values.yaml

Fixed by #414


Revisit order of IPA and Research Permit sections

There is (was) a bug in Arches core that was causing the order of cards to not be honoured. Need to see if the bug has been fixed and then re-order the IPA and RP cards to make sure they're in the right order.

The Arches Core issue is here:
https://github.com/archesproject/arches/issues/9407
Found the problem and currently working on a solution.

Issue resolved. Reviewed the IPA and the ordering seems good. Updated the level of risk to order options Low, Medium, High


Aliasing problem of Python3 on Windows and unable to create new project file using Fusesoc on Windows

Hello, I am attempting to clone the "ibex-demo-system" repository and set up a project on Xilinx Vivado for FPGA synthesis on the Arty Board. I am running "fusesoc" from the "ibex core" repository on the Anaconda command prompt. However, I encountered errors related to aliasing "python3" on Windows. Unlike other platforms, Windows saves executable files as "python.exe" by default instead of "python3". Could you kindly assist me in creating an alias for "python3" on Windows, so I can resolve these issues?
(ibex_env) D:\Users\DELL\Downloads\ibex_demo_system>fusesoc --cores-root=. run --target=synth --run lowrisc:ibex:demo_system
←[1;37mINFO: Preparing lowrisc:dv:crypto_prince_ref:0.1←[0m
←[1;37mINFO: Preparing lowrisc:dv:dv_fcov_macros:0←[0m
←[1;37mINFO: Preparing lowrisc:dv:dv_macros:0←[0m
←[1;37mINFO: Preparing lowrisc:dv:secded_enc:0←[0m
←[1;37mINFO: Preparing lowrisc:ibex:ibex_pkg:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:assert:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:cipher_pkg:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:primgen:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:ram_1p_pkg:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:ram_2p_pkg:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:secded:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:util_get_scramble_params:0←[0m
←[1;37mINFO: Preparing lowrisc:tool:check_tool_requirements:0.1←[0m
←[1;37mINFO: Preparing lowrisc:dv:scramble_model:0←[0m
←[1;37mINFO: Preparing lowrisc:dv_verilator:memutil_dpi:0←[0m
←[1;37mINFO: Preparing lowrisc:ibex:ibex_icache:0.1←[0m
←[1;37mINFO: Preparing lowrisc:ibex:rv_timer:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:cdc_rand_delay:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:cipher:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:lfsr:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:prim_pkg:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:util:0.1←[0m
←[1;37mINFO: Preparing lowrisc:dv_verilator:memutil_dpi_scrambled:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:buf:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:clock_gating:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:clock_inv:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:clock_mux2:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:flop:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:onehot_check:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:ram_1p:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:ram_2p:0←[0m
←[1;37mINFO: Preparing lowrisc:ibex:fpga_xilinx_shared:0←[0m
←[1;37mINFO: Preparing lowrisc:ibex:ibex_core:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:flop_2sync:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:ram_1p_adv:0.1←[0m
←[1;37mINFO: Preparing lowrisc:prim:fifo:0←[0m
←[1;37mINFO: Preparing lowrisc:prim:ram_1p_scr:0.1←[0m
←[1;37mINFO: Preparing lowrisc:ibex:ibex_top:0.1←[0m
←[1;37mINFO: Preparing pulp:riscv:debug_module:0←[0m
←[1;37mINFO: Preparing lowrisc:ibex:demo_system_core:0←[0m
←[1;37mINFO: Preparing lowrisc:ibex:demo_system:0←[0m
←[1;37mINFO: Generating lowrisc:prim:prim_pkg-impl:0.1←[0m
Traceback (most recent call last):
File "D:\Users\DELL\Downloads\ibex_demo_system\vendor\lowrisc_ibex\vendor\lowrisc_ip\ip\prim\util/primgen.py", line 12, in
from mako.template import Template
ModuleNotFoundError: No module named 'mako'
←[1;31mERROR: Setup failed : "python3 D:\Users\DELL\Downloads\ibex_demo_system\vendor\lowrisc_ibex\vendor\lowrisc_ip\ip\prim\util/primgen.py D:\Users\DELL\Downloads\ibex_demo_system\build\lowrisc_ibex_demo_system_0\synth-vivado\generated\lowrisc_prim_prim_pkg-impl_0.1\impl_input.yml" exited with an error code. See stderr for details.←[0m
(ibex_env) D:\Users\DELL\Downloads\ibex_demo_system>
(ibex_env) D:\Users\DELL\Downloads\ibex_demo_system># If the above does not work, try executing the programming operation manually with..
'#' is not recognized as an internal or external command,
operable program or batch file.
(ibex_env) D:\Users\DELL\Downloads\ibex_demo_system>make -C ./build/lowrisc_ibex_demo_system_0/synth-vivado/ pgm
make: Entering directory 'D:/Users/DELL/Downloads/ibex_demo_system/build/lowrisc_ibex_demo_system_0/synth-vivado'
make: *** No rule to make target 'pgm'.  Stop.
make: Leaving directory 'D:/Users/DELL/Downloads/ibex_demo_system/build/lowrisc_ibex_demo_system_0/synth-vivado'

We don't officially support Windows or Anaconda, but we have seen people have some luck running the demo system under Windows subsystem for Linux. You can also run a docker image, you may find some hints on how to run things under Windows here:
https://github.com/lowRISC/ibex-demo-system-labs/blob/main/lab1.md
Most of our development happens on Linux, so if everything fails you can try running Linux in a virtual machine.

I'm closing this issue, but please reopen it or open another issue if you have more questions.


[Bug] ComputeBudgetProgram Usage

Hi, im trying to use ComputeBudgetProgram
however when trying to use  it i get error

that such namespace doesnt exist
but in this link
https://github.com/bmresearch/Solnet/blob/5fbb059997ba1a2cc61f31f2936b16d7325b5b72/src/Solnet.Programs/ComputeBudgetProgram.cs
and when repo is downloaded

every thinks looks fine
but still cant use this program
ive temporarly copied just source code so i can use this methods

however such solution is not the best

Having the same issue.

@b0l0k @nazbrok @tiago18c

The latest version of solnet can be found under the net8 solana tags on nuget
https://www.nuget.org/packages/Solana.Rpc


Fixed asset import bug where the source was never set.

Source was set in Field and overridden by AssetsField. Assets need their sources.

Thanks! Think this one has been in for a while...


Add pear packages system

Simple way to add pear packages with your customs images:
# Thanks to Julien Breux <<< :trollface:
FROM phpunit/phpunit
MAINTAINER Firstname Lastname<EMAIL_ADDRESS>ENV PEAR_PACKAGES foo bar baz

Just now, use once RUN to optimize image.


create source rest api 接口请求接口时如何用json格式传参

能否提供一个完整的create source rest api接口的示例，针对于configs应该怎么传递参数。

@fewrwee2 I think you can refer to https://github.com/apache/pulsar/blob/301a76435ce918520f1b70b95b7ebed9bf1b08b5/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java#L341

May help. https://pulsar.apache.org/source-rest-api/?version=2.8.0#operation/registerSource

The issue had no activity for 30 days, mark with Stale label.

Closed as no response. Feel free to open a new issue if it's still relevant for maintained versions.
@codelipenghui @liangyuanpeng Thanks for sharing the knowledge!


Contribute CUPS Filter Driver for BIXOLON Label Printers

Hello Team,
I am Sahaya Darcius, working as a R&D engineer at BIXOLON CO Ltd, in South Korea, We are leading POS printer manufacturing company and providing CUPS based printing solution to our customers, Now we want to submit our CUPS filter and PPD files to CUPS library, which is good for our customers, this is also the request of many of our customers.
What are the procedure to submit our CUPS filter and PPD files,
Please guide.
Thank you.
Sahaya P

@sahayap We don't generally include vendor drivers in CUPS itself, and in particular we are in the middle of a years-long migration away from printer drivers and towards IPP/IPP-USB supporting printers and (for legacy devices that cannot support IPP or IPP-USB) printer applications that encapsulate the driver behind an IPP shim layer, typically based on PAPPL.
In the case of label/receipt printers, my LPrint printer application is becoming the project to host these drivers, so I recommend you look at porting and contributing what you have to that project. I'll need a sample printer to test with, but am happy to incorporate your driver there.

Dear Michael R Sweet,
Thank you so very much for your prompt reply.
Our current label printer driver is a raster filter driver, based on CUPS filters.
If we want to port it to LPrint, can we port it without changing our driver source?  Or write a new driver based on LPrint? Please send me a sample driver for reference.
Thank you
With Regards,
Sahaya P

@sahayap You can look at the existing LPrint drivers - basically they split out the code from rastertolabel and incorporate what used to be done via PPD/drv files as in-memory data structures. There is a tutorial included with PAPPL that explains how to do the conversion (hp-printer-app is a conversion of the rastertohp driver, LPrint is a conversion of the rastertolabel driver) and I can help you with the last bits to integrate into LPrint since it adds a second layer to PAPPL to support multiple label printer drivers within a single printer application.

Hi @sahayap ,
thank you for being willing to share your driver into open source printing stack! Since as Mike mentioned any future work will happen in LPrint, I'm going to close this issue.
I've created a new issue at Lprint project to track this - https://github.com/michaelrsweet/lprint/issues/78 .

Dear @michaelrsweet
Thank you for the response,
If we go for LPrint based, we have to develop our driver again, it is a time consuming process.
Since our driver is based on CUPS filters,  can't we just integrate our filter driver into rastertolabel source code and send the DIFF and PPD files, is it not enough to support our driver by CUPS? its a easy and faster way to include our printers supported by CUPS.
Please clear me.
Thank you
With Regards,
Sahaya P

@sahayap The CUPS rastertolabel driver is deprecated, and adding it now will only delay the inevitable need to port to LPrint (or another printer application) by a couple years. We have been moving towards this point for over 10 years now...

Dear @michaelrsweet
Thank you for the details.
we will do internal review and will get back to you for further process.
With Regards,
Sahaya P


what is the root password of OS in image?

Hi, thanks for your docker image
Can you tell me the default root password of image's OS
I cannot pip install packages with privilege of common user

Use the --user root flag of your docker command or make your own Dockerfile that looks something like
FROM amancevice/superset
USER root
RUN pip install fizzbuzz==1.0.0
USER superset

thanks very much
2017-08-16 20:04 GMT+08:00 Alexander Mancevice<EMAIL_ADDRESS>
Use the --user root flag of your docker command or make your own
Dockerfile that looks something like
FROM amancevice/superset
USER root
RUN pip install fizzbuzz==1.0.0
USER superset
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/amancevice/superset/issues/23#issuecomment-322749370,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARHSG0NDOvvmPIuf4We0qvRO2x0u2gHIks5sYtq-gaJpZM4O4pZH
.

Got

For those installing via kitematic it would be nice to expose these as the tyler folwer docker version

expose what?

The environment variables

That's a lot to manage and wouldn't be future-proof if Superset decides (and they have) to change how superset is configured.
IMO, you'd be better off following the instructions and creating a superset_config.py file on your own and mounting it into the container at /etc/superset.
It's also not a great practice to have your container doing setup before the main process starts as the tyler fowler image is doing.


Icon request: digdag

Hi! I'm using work flow engine Digdag.
which uses the .dig file, as scheduler service for my project, would it be possible for you to add an icon for that? .dig

Done, thanks! You'll see it in the next package release, which happens roughly once-a-month. 👍

thanks! great work 👍


Besu q3 report

approved but with a request to add some clarity on the split b/w "besu-public-net" and "besu-private-net", e.g whether that'll create 2 separate code bases (hope that's not the case) or it's more of a modular approach for build/packaging. Thanks!

This is just for the discord - not at all for the code base. Just so that users can get the best support for their usage.


Try new workspace design

I came back to the discussion #44 and would like to share my proposal. This was based on the discussions with @thijssteel, @langou and @mgates3.
Considering the implementation of workspaces and workspace queries
Some routines need extra space that depends on the size of the input matrices and vectors. LAPACK calls it workspace.
Optional vs Required workspace
A fundamental design question is: should the workspace be allocated dynamically inside a routine or provided from outside? Here is what some packages for Numerical Linear Algebra do:

LAPACK requires workspace to be passed through the interface of the routine. So, no dynamic memory allocation inside the routine.
LAPACKE provides two interfaces: one requires workspace as in LAPACK, and the other does not. The latter allocates workspace dynamically inside the routine.
SLATE, LAPACK++ and Eigen allocate workspace dynamically inside their routines.

In <T>LAPACK, workspace is optional. The caller can either define the workspace outside the routine and inform it to its interface, or pass a zero-sized workspace. The latter automatically triggers an internal dynamic memory allocation. If insufficient size is provided, we return an error to avoid confusion.
Workspace type
In LAPACK, each workspace is an array of the required type, e.g., single precision, double precision, complex and integer. Routines may need multiple workspaces because of that. Since LAPACKE is a wrapper to LAPACK, it implements the same type dependency logic.
In <T>LAPACK, workspace is a structure that contains an array of bytes (unsigned char *) and its size (std::size_t). When needed, we allocate bytes using an allocator that defaults to std::allocator<unsigned char>. Routines that need workspace provide the option work_t which is the matrix type that use the workspace. Since this an option, not a requirement, there is always a default matrix type if none is provided. In general, routines use an instance of the template legacyMatrix as the default value for work_t. Routines that need multiple workspaces must provide multiple matrix types, e.g., work_t, rwork_t, iwork_t.
Workspace query
Workspace queries give the optimal workspace a routine needs to execute. In LAPACK, there is only workspace queries for the first workspace of each routine, which is a design flaw. Moreover, the optimal workspace is returned using a non-integer type, which is not ideal and raise issues from time to time. Each routine that uses workspace runs a query mode additionally to its main functionality.
In <T>LAPACK, workspace queries are separate functions that return the optimal number of bytes. size_t foo_worksize( ... ) is the signature of the workspace query of a routine foo( ... ). All routines that need workspace must provide the workspace query.
Optimal and minimum workspace sizes
Optimal workspace size is the one which the routine is expected to have lower execution times. Minimum workspace size refers to the necessary space for that routine to work.
In <T>LAPACK, the value of the optimal workspace size may not present in the documentation of a routine, since this value may vary from implementation to implementation. We recommend the caller to always perform a workspace query to obtain the optimal workspace size. The minimum workspace size, if different from the optimal workspace size, must be provided with the documentation of a routine. A function will return an error code if the size of the provided workspace is lower than the minimum.
Implementation
Optional workspace
Default options for functions that have only a single workspace (https://github.com/weslleyspereira/tlapack/blob/ad2a1a8bfd02fcbc47e040f69d9d71be32f00c9d/include/tlapack/base/utils.hpp#L994-L1005)
/// Workspace options
template<
    class T,
    class idx_t = std::size_t,
    class work_type = legacyMatrix<T,idx_t>
>
struct workspace_opts_t
{
    using work_t = work_type;   ///< Workspace type

    byte* work = nullptr;       ///< Workspace
    std::size_t lwork = 0;      ///< Workspace size
};

byte is defined at https://github.com/weslleyspereira/tlapack/blob/ad2a1a8bfd02fcbc47e040f69d9d71be32f00c9d/include/tlapack/base/types.hpp#L338-L342
    /// Byte type
    using byte = unsigned char;
    /// Byte allocator
    using byteAlloc = std::allocator<byte>;
    /// Vector of bytes. May use a specialized allocator in future
    using vectorOfBytes = std::vector<byte,byteAlloc>;

and this is how we deal with optional workspaces inside a routine (example for larfb):
    // Allocates workspace
    vectorOfBytes localwork;
    size_t lwork = larfb_worksize( side, trans, direction, storeMode, V, Tmatrix, C, opts );
    const byte* work = alloc_workspace( localwork, lwork, opts.work, opts.lwork );

The function alloc_workspace will allocate lwork bytes in localwork unless optional workspace is provided.
Comments:

It is important to have control of the byte pointer for the workspace instead of using a std::vector. This is because, inside our routines, we recurrently need to slice the workspace. We cannot do that with std::vector as far as I know.

Having a default option type for workspace, i.e., workspace_opts_t, helps routines to pass options internally. See how unmqr calls larfb at https://github.com/weslleyspereira/tlapack/blob/ad2a1a8bfd02fcbc47e040f69d9d71be32f00c9d/include/tlapack/lapack/unmqr.hpp#L166: larfb( side, trans, forward, columnwise_storage, V, Tmatrix, Ci, opts );. This works because:

larfb uses workspace_opts_t as options.
The options for unmqr is derived from workspace_opts_t.

This said, it is important to mention that it is not mandatory that the routines options derives from workspace_opts_t, but this should be used whenever we can take some advantage.

C++20 implements byte as subclass of unsigned char. Currently, we do not need anything from that class, so we can use byte as just an alias to unsigned char.

byteAlloc is an allocator. Depending on the machine / system, it can be helpful to have a allocator other than std::allocator<byte>. For instance, @mgates3 explained to me the design of LAPACK++ in a recent email:

In LAPACK++ we use a custom C++ allocator to do 2 things for the workspace:

Don't construct the memory, i.e., don't zero it out. The overhead was causing issues for end users on Xeon Phi machines.
Align to 64 bytes (512 bits), which should make AVX-512, etc. happier.
See https://bitbucket.org/icl/lapackpp/src/master/src/NoConstructAllocator.hh, with lapack::vector at bottom.

Other changes:

Legacy classes for matrix and vectors are part of the main library. They are no longer only used for the legacy interface wrappers. They are used to build matrices and vectors from workspace arrays. Because of that, their index type idx_t is now a template. Before, they were associated to the idx_t from the legacy interface wrappers. Also, there is no plugin for those classes anymore since they were moved to the inside of the library.
There is a new item in the interface of data objects: Create. This is a C++ functor. It implements the way new matrices and vectors are created. Look at the documentation at arrayTraits.hpp . With this new functionality, the internal routines tlapack::internal::colmajor_matrix and tlapack::internal::rowmajor_matrix were removed from all examples and tests. Those are for internal usage only.

TODO:

[ ] Apply new design to all routines.
[ ] Replace the use of legacyMatrix by the new way of creating matrices in the tests.
[ ] Update the plugins for Eigen, kokkos::mdspan so that they implement the tlapack::Create class.
[ ] Update documentation.

Some thoughts:
In LAPACK++, we recently added a few routines with workspace queries for GPU functions. We named these:
geqrf_work_size_bytes
getrf_work_size_bytes
potrf_work_size_bytes

to emphasize that they are in bytes, not doubles or whatever (as LAPACK would do).
We also use output arguments, rather than returning the work space size, because we needed both host & GPU work space sizes. ("Needed" being a loose term; cuSolver has host sizes in its interface, but so far they are always 0.) The interface is:
void geqrf_work_size_bytes(
    int64_t m, int64_t n,
    scalar_t* dA, int64_t ldda,
    size_t* dev_work_size, size_t* host_work_size,
    lapack::Queue& queue )

You mention minimum & optimal workspace sizes. Is there any mechanism to query both? E.g., dgeqr (not dgeqrf) returns either one or the other, while zgesvdq returns both optimal and minimum in CWORK[1] and CWORK[2].

Thanks @mgates3! I am still editing the proposal. Sorry if you received an email for the incomplete version. I will send a new message when I am done with the description.

We also use output arguments, rather than returning the work space size, because we needed both host & GPU work space sizes. ("Needed" being a loose term; cuSolver has host sizes in its interface, but so far they are always 0.) The interface is:

I see. Thanks for letting us know. I think you have the better design. I will move the return value to an output arguments.

You mention minimum & optimal workspace sizes. Is there any mechanism to query both? E.g., dgeqr (not dgeqrf) returns either one or the other, while zgesvdq returns both optimal and minimum in CWORK[1] and CWORK[2].

Since there are output arguments, we could think on returning the minimum workspace in another argument. In your case, something like:
void geqr_work_size_bytes(
    int64_t m, int64_t n,
    scalar_t* dA, int64_t ldda,
    size_t* dev_work_size, size_t* host_work_size,
    size_t* dev_work_min, size_t* host_work_min,
    lapack::Queue& queue )

Queries for the minimum space could also be implemented in another routine, unless there is a known issue with returning those workspaces using different functions.

I finished editing the initial proposal in the first message, @mgates3, @thijssteel and @langou. I will now consider @mgates3's comments.

The proposal should be ready for review. If the proposal is good, I will proceed with my TO-DO list.
I considered @mgates3's comments in 9ff828e. Thanks! Other changes:

alloc_workspace now consider both optimal and minimum workspace sizes, as it should be. I also improved the exception handling inside it.
unmqr_worksize now calls larfb_worksize to get optimal and minimum workspace sizes. I believe this is the kind of design  we want.

Some thoughts:

I'm not sure that minimal workspace is something we want to consider. Usually, the required workspace is not very large if you also consider the size of the matrices. And I've seen a few times where people supply the minimal workspace without fully realizing just how badly they are handicapping the routine. On top of that. It complicates our routines and requires more maintenance and testing (we need to make sure it actually works with that minimal workspace).

I think it would be good to have a mechanism that checks whether the created matrix actually fits into the buffer you provided. This can be a simple assertion, but we do need to pass the size.

I've previously had a discussion with Julien about the memory size of matrices. It seems that we assume here that an m x n matrix will always take up m x n x nbytes(T) bytes in memory. But maybe some matrices are constructed with a larger stride for efficiency, or they could be sparse or distributed. I agreed with Julien at the time, but now I think it may be too much complexity at this stage of the library. Let's get the dense stuff working first.

Otherwise it looks good to me. Good work, I like the functor design.

I am not convinced we need "minimum workspace" size too.
I think it might be a good idea to have the tentative feature in place (feature = give user choice whether they want optimal workspace, minimum workspace, etc.) in case we decide to work on it in the future. Not sure we will ever do that though. But having the feature in place (a mechanism to query a various workspace sizes) could be good.
I think a library software package that is working only with optimal workspace is not too bad.
It is not clear to me how many users are using a workspace size below optimal. It seems a fraction. And the one who are doing it, as @steelt wrote, are often not fully realizing just how badly they are handicapping the routine in term of performance.
Also, the optimal workspace size is only a fraction of the memory needed to run the application. So it is not clear when using a workspace size below optimal is critical for an application. N is large-ish compare to NB. Matrices are dense and N^2. And workspace is NNB. So if you cannot afford NNB you are really tight in space. (Many assumptions here, N is not that much larger than NB in some applications, workspace can be N^2, etc.)
The reason we started to implement (once!) workspace query for minimal workspace size in LAPACK was because it was inconsistent with how optimal workspace is treated. It is kind of a backward compatibility problem for LAPACK when we write in the comments the code will run with a workspace of size N. It does limit our possibilities to change things in the future. (We can always change and backup on the old code, but this is ugly and force us to maintain the old code.) So the idea was to never write workspace size (optimal, minimal, etc.) in comments and always have users querying it. The idea is to say to user do not assume a workspace size. Query before using.
Finally, the whole design what if the user provide a workspace between minimal and optimal in LAPACK is complicated. LAPACK tries to find a block size in as large as possible to attempt to provide as much as performance, but it is not clear the effort in the LAPACK code warrants the usefulness of the functionality.
All in all:
() one workspace size (optimal) would be OK
() planning for various workspace sizes but not doing anything about it for now (only optimal) would be OK. Not clear we will ever go that road though

Comments:

Is there any known relevant benefits for using a minimum workspace? If the assumption "in almost all situations the caller will have enough space for workspace" is reasonable, I would rather just remove the words "minimum" and "optimal" from the design and just have a single "workspace". @thijssteel has a good point about maintenance and testing. There are already too many configurations to test.
I agree that for backward compatibility we shouldn't mention the computed size of an workspace query on the documentation. I will remove that from the documentation of the queries as well.
@thijssteel said I think it would be good to have a mechanism that checks whether the created matrix actually fits into the buffer you provided. This can be a simple assertion, but we do need to pass the size. -> Agreed! I was planning to have tests for that, but it is better to have error checks in place.

If the assumption "in almost all situations the caller will have enough space for workspace" is reasonable, I would rather just remove the words "minimum" and "optimal" from the design and just have a single "workspace".
=> +1

I think I finally got a good design. I will write about it in this thread, as well as update documentation and maybe do some cleaning

Current (I hope final) modifications introduced in this PR
Workspace
A workspace is a column-major matrix of bytes. As such, it has the following attributes:

Sizes size_t m, n, which represent "n pieces of a contiguous memory of size m bytes".
Leading dimension size_t ldim in bytes.
Pointer to a position in memory unsigned char* ptr. unsigned char is the type we use to measure bytes, as in https://en.cppreference.com/w/cpp/types/byte.

Therefore, we could have implemented the Workspace class as a subclass of legacyMatrix with data type unsigned char. We chose not to do so, to make the two classes independent of one another.
This design was meant to cover all possibilities of workspaces in LAPACK. In fact,

It allows for the use of both contiguous and non-contiguous arrays as workspace. Non-contiguous arrays are useful for some routines since they may use part of their matrices and vectors as workspace.
It covers row-major and column-major matrices, and vectors with various increments. This is because all those array types can be mapped to a column-major matrix. A vector with N double precision numbers with increment inc, for instance, can be mapped to a workspace with sizes m = sizeof(double); n = N; ldim = inc*sizeof(double).
It allows for multiple workspace arrays in the interface of a routine, and this is because we count information in bytes. It is the responsibility of each routine to give shape to its workspace.

Particular choices:

The objects of this class always maintain one of the states:
a. (n > 1) && (m > 0).
b. ((n <= 1) || (m == 0)) && (ldim == m).
This is mainly to ease the check for a contiguous workspace. Observe that we do not assume that ldim > 0 when m is 0.

The function Workspace Workspace::extract( size_t m, size_t n ) returns a workspace that is obtained by removing m*n bytes from the current one. If the starting workspace is not contiguous, then we require this->m == m || this->n == n. This is required to prevent bad partitioning by the algorithms using this functionality.

The implementation is separated in the file include/tlapack/base/workspace.hpp.

Matrix and vector creation
Since the workspace is a very simple structure, we need some strategy to give them the shape of a specific matrix or vector type. Suppose we want to use the allocated workspace work as a tlapack::legacyMatrix<float>. In this case, we want to call a routine Create< tlapack::legacyMatrix<float> >( work ) that will return the formatted object relative to the given type. This is exactly what we do here. Create is a special kind of structure called functor (not function!). See, e.g., www.geeksforgeeks.org/functors-in-cpp.
Every new data type matrix_t that will be used with <T>LAPACK needs to implement its own CreateImpl functor with a couple of functionalities:

std::vector<T> v; Create<matrix_t>( v, m, n ); to create new objects without preallocated memory.
Workspace w; Create<matrix_t>( w, m, n ); to create new objects from preallocated memory.
Workspace wIn; Workspace wOut; Create<matrix_t>( wIn, m, n, wOut ); to create new objects from preallocated memory, and obtain the remaining workspace.

For vectors, the interface has only 1 entry for size instead of 2.
Optional parameters:
Optional parameters are the last entry of a routine in <T>LAPACK. Not all routines have options. An option is a single object passed by reference. The object belongs to a structure that can have a variety of attributes like: workspace, error handling configurations, block sizes, etc. Some options have their own function attributes.
Options can be derived from other options, which is the case of all options that have a workspace. This design avoids code repetition and eases the cast from one option to another in internal calls. Two examples of default options are as below:
/// Error Checking options
struct ec_opts_t {
   ErrorCheck ec = {};

   inline constexpr
   ec_opts_t( const ErrorCheck& ec_ = {} ) : ec(ec_) {}
};

/**
 * @brief Options structure with a Workspace attribute
 *
 * @tparam work_t Give specialized data type to the workspaces.
 *      Behavior defined by each implementation using this option.
 */
template< class ... work_t >
struct workspace_opts_t
{
   Workspace work; ///< Workspace object

   // Constructors:

   inline constexpr
   workspace_opts_t( Workspace&& w = {} ) : work(w) { }

   inline constexpr
   workspace_opts_t( const Workspace& w ) : work(w) { }

   template< class matrix_t >
   inline constexpr
   workspace_opts_t( const matrix_t& A )
   : work( legacy_matrix(A).in_bytes() ) { }
};

Workspace queries and workspace allocation:
Since workspace is optional in <T>LAPACK, we provide queries for obtaining the workspace sizes for external allocation. The query for a routine foo( x, y, z, opts ) is the routines foo_worksize( x, y, z, workinfo, opts ), where the entry workinfo is output-only and contains all information necessary to allocate workspace before calling foo( x, y, z, opts ).
In what concern the use of the queries:

Query before allocating the workspace outside <T>LAPACK, as opposed to assuming the workspace size. Or, let <T>LAPACK allocate the workspace for you. This helps user code to be always up-to-date with <T>LAPACK implementations.

Every routine foo that does internal allocation calls foo_worksize. This helps test the workspace allocation in place and avoids repetition of logic.

In what concerns allocation:

Routines in <T>LAPACK should allocate space all at once, instead of letting multiple internal calls do that. One example is the QR factorization using elementary Householder reflectors. The level-2 routine (geqr2) needs extra space to apply the Householder reflectors, on every loop iteration, using larf. The allocation is done at geqr2 for the larger space needed.

vectorOfBytes = std::vector<byte,byteAlloc> is the type <T>LAPACK uses to store dynamically allocated memory inside each routine. Since we currently do not use any of the functionality from std::byte from C++17, we define byte = unsigned char. byteAlloc is a specific kind of allocator that, if needed, can be modified to attend requisites of certain systems.

alloc_workspace is a utility function to help workspace allocation inside and outside <T>LAPACK routines. alloc_workspace( vectorOfBytes& v, std::size_t lwork ) is used whenever the dynamic memory should be allocated. alloc_workspace( vectorOfBytes& v, const workinfo_t& workinfo, const Workspace& opts_w ) allocates memory if workinfo is empty and, if not, tries to use opts_w as workspace.

deduce_work is a simple helper to be used in routines that accepts workspace type to be informed through the interface instead of automatically deduced. See larfb and unmqr.

Assumptions:

Given a routine that requires workspace. If we increase the size of one of the inputs of a routine, the workspace needed for the new call is either the same or larger than the one we had at the beginning.

The workspace sizes do not depend on any entry of input arrays. Also, they do not depend on the value of scalar arguments.

The workspace sizes must depend on the size of arrays, and/or other sizes passed as optional arguments. If workspace sizes do not depend on the sizes given on input, one should use static memory internally in such a routine instead.

Design choices:

The interface of the query mimics the interface of the original function. The difference is that the query returns void and has an output-only entry workinfo_t& workinfo. The structure workinfo_t holds information on workspace size, for contiguous workspaces, and the number of rows and columns, for non-contiguous workspaces. It also dictates the rule to compare two workspace sizes and find the minimal workspace configuration that contains both.

Simple queries should be inline constexpr to allow for better optimization by the compiler. This could be especially useful for recursive routines, where there will be multiple calls for those routines.

We should never annotate the result of a workspace query in the documentation. This is to force the users to use the query if allocation will be treated outside the routine. If a routine changes its implementation, the workspace may change, and then users' codes do not need to be changed.

Workspace queries should call other workspace queries depending on the internal calls of each algorithm.

Notice that a workspace query may use constant references instead of non-const references in the interface. Example: matrix_t& A may be transformed into const matrix_t& A. The objective would be to prohibit the query to modify inputs by mistake. The downside here is that this idea creates slightly different interfaces between a routine and its workspace query.
New traits in Matrix and Vector types:
There have been included multiple traits in the plugins for matrices and vectors.

transpose_type< matrix_t > is used to get the transposed type corresponding to matrix_t. This is useful for creating matrices of size m-by-n from a workspace of size n-by-m. See the example in gehrd.

CreateImpl< matrix_t, int > is the functor used by Create< matrix_t >. It must implement different operators operator() as described in the section Matrix and vector creation.

matrix_type< array_t... > is the matrix type that better matches the list of types array_t.... vector_type< array_t... > is the vector type that better matches the list of types array_t.... Notice that is possible to use matrix types in the list for vector_type, as well as vector types in the list for matrix_type. Those structures are the key to the automatic deduction of the type of workspaces. The TLAPACK_PREFERRED_MATRIX macro is used to define the default matrix and vector types in <T>LAPACK.
template< typename matrixA_t, typename matrixB_t >
struct matrix_type_traits< matrixA_t, matrixB_t >

template< typename vecA_t, typename vecB_t >
struct vector_type_traits< vecA_t, vecB_t >

At least one of the plugin files must include those implementations.

Additional changes:

legacyMatrix is now part of <T>LAPACK abstract interface. This needed to be done because we now allow the automatic allocation of data types. Because of compatibility with BLAS++, legacyMatrix now has a template for size type.

Examples and tests were updated accordingly. Since it is now possible to create matrices and vectors for a given data structure, tests are more generic and may be modified to accept Eigen and mdspan types.

one_t was moved to types.hpp, and it is now called StrongOne.

All workspace allocation was suppressed from the legacy_api wrappers.


Create CICD actions to build executable application

I would be willing to take on this task if permission is given to me in Phenopacket.

HI @gerring , I elevated your privileges for the repo. Can you please try if the new privileges are strong enough for setting up CICD?
Thanks a lot!

Hi @gerring , @belkassaby , should we include this rather important ticket in the current sprint?

Sure, why not. I personally won't be able to do it, as I have the existing tickets in progress for that sprint that Im trying to finish before the end of it.

Sounds good. Let's do it in the current sprint if Matt can squeeze it into his schedule. Otherwise, let's work on that in the next sprint.


Do not package .git and .github folder in releases

This is causing git to ignore folders where the package resides in my Unity project.

Just noticed you have changed workflows to exclude those already - can you please regenerate the release files or just publish a new release?

done


Fix http-cache

For the ListComments() function at least, the cache seems to return an incorrect list of IssueComments or no comments at all.  This can result in the k8s-merge-robot spamming an issue since it cannot see that it has already written to the issue.

This issue was moved to kubernetes/test-infra#1638


Error in gulp-less/index.js

Hi, thanks for this example. I haven't tried previous versions but with v0.3.2 when it comes to gulp install I get
[18:49:13] Using gulpfile ~/Sites/koa-react-full-example/gulpfile.js
[18:49:13] Starting 'jsx-compile'...
[18:49:13] Starting 'copy-js'...
[18:49:13] Starting 'less-compile'...
[18:49:13] Starting 'write-build-info'...
[18:49:13] Finished 'copy-js' after 26 ms
/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/index.js:68
    }).done(undefined, cb);
       ^
TypeError: undefined is not a function
    at DestroyableTransform._transform (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/index.js:68:8)
    at DestroyableTransform.Transform._read (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:184:10)
    at DestroyableTransform.Transform._write (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:12)
    at doWrite (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:237:10)
    at writeOrBuffer (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:227:5)
    at DestroyableTransform.Writable.write (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-less/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:194:11)
    at write (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-if/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:623:24)
    at flow (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-if/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:632:7)
    at DestroyableTransform.pipeOnReadable (/Users/Brandon/Sites/koa-react-full-example/node_modules/gulp-if/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:664:5)
    at DestroyableTransform.emit (events.js:104:17)

npm install and npm install -g gulp both worked, and I did npm update -g for good measure but no change. OS X 10.10.2 with Node 0.12.

That seems like an error in gulp-less, what is the gulp-less version you have? Just so I can try to repro.

Yes, I have 2.0.3 so that may be it. Still getting my head around the build flow; thanks for looking into it!

I've updated the deps to 3.0.0 and from their log it seem like they had a bug that slipped at the end of 2.0.x! So it should be working now! If it works now you can go ahead and close the issue.

Looking good, thanks!


more description about Thai consonants, letters, characters

rename from thai_alphabets to thai_consonants to be more accurate
add more description about Thai consonants, letters, and characters

Coverage remained the same at 80.479% when pulling 0240faee94f86e7e1c7eb9d1c6d848307f1ebcb1 on bact:dev into 63206abf6b620663a6bf9ac6d36ffb4fd274901e on PyThaiNLP:dev.


fix for NUTCH-2441 ARG_SEGMENT fix for REST API

In the REST API segment parameter is not used consistently. For part of the endpoints it is used as a path, for the other part as an array of paths. The fix unifies the usage for all endpoints.

No problems thanks, can you just update the formatting then please?
On Mon, Dec 4, 2017 at 06:35 Semyon<EMAIL_ADDRESS>wrote:

@okedoki commented on this pull request.
In src/java/org/apache/nutch/metadata/Nutch.java
https://github.com/apache/nutch/pull/250#discussion_r154567386:

@@ -96,7 +96,7 @@

Similar to the -dir command in the bin/nutch script /
public static final String ARG_SEGMENTDIR = "segment_dir";
/ Argument key to specify the location of individual segment for the REST endpoints **/

@lewismc https://github.com/lewismc The motivation is the following :
Part of the endpoints treat segments as an individual Path, part as an
array of Paths. Therefore we have an inconsistent usage of the REST API
value. The patch allows to use both of them for all endpoints(either array
of paths or an individual path, depends on what you sent).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/nutch/pull/250#discussion_r154567386, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABHJl9rw69iajTvt9Xi8ax5_fRc_NjmQks5s85KxgaJpZM4QvE2f
.

--
http://home.apache.org/~lewismc/
@hectorMcSpector
http://www.linkedin.com/in/lmcgibbney

@lewismc
The request is updated with a new commit.


refactor: use SimpleGit.checkIsRepo() instead of shell commands

Right now, we use isInGitRepo() to check if a git repository already exists. isInGitRepo() runs shell commands, but simple-git offers a function for that. SimpleGit.checkIsRepo() essentially does the exact same thing we do, except it takes the burden off of us to run shell commands.

We'll just have to run SimpleGit.checkIsRepo() after we initialize the git constant here.
https://github.com/gpsystem/create-geofs-plugin/blob/f433007af58a368b8e492328ac727ebc0097a924/src/git/index.ts#L15

const git = simpleGit(destination);
SimpleGit.checkIsRepo()
so we need to add this at line 16? and this will check if repository exists? or we need to make some more changes?

If I understood @nicolas377 correctly, what we need to do is to first check whether git is installed (lines 10-12), and then check if we are in a repo. If we are, we can just return from the function (just like in line 12).

I'll be opening PRs for this and #64 later today or tomorrow. I marked #49 as good first issue because reducing code complexity is a very broad topic that I need more participation on. That also expanded to this issue and #64.


Set UserKnownHostsFile to ensure deploying and SSHing into a VPC works

This addresses this issue: http://stackoverflow.com/questions/28002443/cluster-hangs-in-ssh-ready-state-using-spark-1-2-ec2-launch-script

Can one of the admins verify this patch?

(You should make a JIRA for this, not just a PR, and summarize the problem and why this fixes it here.)

It looks like we have another PR opened a few hours before this that does the same thing: #4196

Shall I close this @nchammas in light of https://github.com/apache/spark/pull/4196

Yeah, I guess. Thanks for submitting a fix, though.

Thanks for your work on Spark!


Maleny / North Maleny (4552)

This is a really useful and awesome tool, thanks!
Is there any possibility of adding Maleny and North Maleny to the map (4552)?

Done:
https://lukeprior.github.io/nbn-upgrade-map/?suburb=maleny
https://lukeprior.github.io/nbn-upgrade-map/?suburb=north-maleny


Sharing the event loop leads to issues with processing foreign handles/cleanup

Following-up with https://github.com/luvit/luv/issues/718#issuecomment-2407216958):
The SEGFAULTs mentioned here are related to a specific use case, which seemingly violates a core assumption in the luv code.
Handles ( uv_handle_t) managed by luv are allocated in luv_setup_handle, where they store the luv_handle_t as userdata:
https://github.com/luvit/luv/blob/5eb6543d9df0e9965b1f559c528473dcb4ce5003/src/lhandle.c#L31
https://github.com/luvit/luv/blob/5eb6543d9df0e9965b1f559c528473dcb4ce5003/src/lhandle.c#L50-L55
This works great when all handles are created in Lua and luv is the only user of the event loop. But when an application that embeds luv wants to integrate other libraries (that also support libuv) and then shares the uv_loop_t with luv, things can get a little dicey:

luv code was clearly written under the assumption that all handles have a  luv_handle_t referenced by handle->data
This assumptions doesn't hold when the handle was created externally (data  may be NULL or completely unrelated)
During uv.walk(), luv_walk_cb reads the data member to access the Lua registry based on the stored data->ref
On shutdown, loop_gc runs the loop until all handles are closed, again assuming they were created by luv (and need closing)
There are probably other scenarios where requests or handles might be created elsewhere and put on the same loop

The application might want to use libuv APIs directly (from C and/or the FFI), so a high degree of interoperability would be valuable. Beause luv_loop() is a public API I assumed that making use of the existing event loop was fine, even in the same Lua state. Some popular libraries that support sharing event loops would be libwebsockets and uSockets (used in uWebSockets). The latter is what I use.
I encountered the problem because the library creates several handles that trigger the assertion/crash when processed by luv:
https://github.com/luvit/luv/blob/5eb6543d9df0e9965b1f559c528473dcb4ce5003/src/loop.c#L92-L98
Here the foreign handles were being processed as if their data  pointed to a luv_handle_t reference, which it did not. I've since experimented with workarounds that allow skipping the irrelevant handles, but the lifetime/GC logic still choked on them.
I'm not sure if this is a supported use case or if you'd rather see embedders adopt a different approach. Potential solutions:

The application could create and manage multiple event loops, at the cost of increased complexity/unexpected behavior
The application might create multiple Lua states and retrieve a separate luv_loop for each, again increasing complexity
luv could tag the handles that it manages and then skip those created externally, at the cost of a larger footprint for all users
luv could provide hooks that optionally allow the application to handle problematic aspects itself, increasing complexity
luv could attempt to use the Lua registry instead of tagging handles, but this didn't seem to work reliably in my testing

There could be better ways of handling this. Or maybe the library already supports sharing the loop, but I didn't see how. Any ideas?

https://github.com/luvit/luv/blob/5eb6543d9df0e9965b1f559c528473dcb4ce5003/src/luv.h#L118-L122
We provide luv_set_loop for that, the neovim show howto embeds luv, with a external loop. https://github.com/neovim/neovim/blob/c4762b309714897615607f135aab9d7bcc763c4f/src/nvim/lua/executor.c#L600

Thanks! But the handles aren't treated any differently, nor does luv_set_callback help in this case. As soon as anything not originating with luv is put on the loop, processing it leads to crashes. Regardless of who owns/manages the uv_loop_t:

Someone creates the loop itself (doesn't matter where this is done)
Loop is assigned to luv and will be used to run all of its handles (as expected)
Loop is assigned to uSockets, or some other third-party code for that matter
This code puts additional handles onto the loop, which have no corresponding luv_handle_t
uv.walk() invokes the luv_walk_cb for all handles, including the ones luv didn't create
Crash or assertion failure ensues because the handles aren't recognized as valid by luv
Bonus: They also cause problems when luv later tries to close them (GC/shutdown sequence)

I tried this (somewhat simplified) approach:
uv_loop_t shared_loop;
uv_loop_init(&shared_loop);
luv_set_loop(L, &shared_loop); // Stores the loop in the context (OK)
// Calling luaopen_luv afterwards does make it use the shared loop (OK)

// Assign loop to another library, create requests independently, or what have you
// uv.walk() from Lua, uv_walk from C, or do any other processing of the handles
// --> Will likely crash here unless luv ignores/is made aware of the foreign handles

uv_run(&shared_loop, UV_RUN_DEFAULT); // Doesn't matter where this happens, or if it happens at all (?)

NeoVIM seems to create its own main loop on top of uv_loop_t. I don't know that this approach would be desirable here.

NeoVIM seems to create its own main loop on top of uv_loop_t. I don't know that this approach would be desirable here.

I haven't looked at anything else yet, but yes indeed that is what Zhaozg is suggesting, drive luv's event loop using the other event loop, I don't believe integrating another event loop into Luv's, or letting it manage handles created by something else is supported nor am I sure if it is a goal. If I remember correctly even libuv has issues handling that last time I looked at integrating cqueues.
Luv still needs to know how to GC a handle (or if not to gc it), and will require other references while operating on a handle, I don't think it is really possible to change how all of this works as of now.

Crash or assertion failure ensues because the handles aren't recognized as valid by luv

Please know, use luv to process handler created by luv, if handler create by others lib, that will damage the  luv_handle_t object(uv_handle_t->data) wrap mechanism. https://github.com/luvit/luv/blob/master/src/lhandle.c#L19.

This same assertion was tripped in a CI run of our tests here: https://github.com/luvit/luv/actions/runs/11649845591/job/32437850489
lua: /home/runner/work/luv/luv/src/loop.c:98: luv_walk_cb: Assertion `data && data->ref < 0x1000000' failed.

It occurred during the "getpriority, setpriority" test
A re-run fixed it so this is an intermittent failure. Might ultimately be unrelated to what's discussed in this issue, but our own tests tripping this assertion seems like bad news.

Memory corruption of some kind? Our Valgrind tests have also been failing for a while

Ah yeah, same failure here and (presumably, logs have been cleared) here
Not sure why it's only getting tripped when run under Valgrind. Will try to reproduce this locally when I get a chance.

Okay to be honest this assertion is useful for testing purposes while not perfect for production use. Instead of removing it entirely we should move it into the tests, somehow.

Well, there are two separate issues I think:

As you said, this assertion is useful for our own testing. Tripping it means something is going wrong.
Tripping this assertion is unavoidable for some use cases that we want to support

How we resolve both should be considered together. As I said in https://github.com/luvit/luv/pull/727#issuecomment-2456618099, the changes in https://github.com/luvit/luv/pull/723 could turn the intermittent failure into a silent failure.
Anyway, I've split the intermittent failure into its own issue here: https://github.com/luvit/luv/issues/721

Resolved: Foreign handles should be ignored as of #733. GC problems can be avoided by using luv_set_loop.


Extend adapter setup to support Debian

This PR updates setup-adapters.sh to support Debian.

@majetideepak can you please review this change? Thanks!

cc @Preetesh2110


Hledger 1.40

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[X] Is there a linked Issue? #186058

Manifests

[X] Have you checked that there aren't other open pull requests for the same manifest update/change? -> This is a fix of  #172510
[X] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree

There still exists a problem with validating:
C:\Users\Primary User\repos\winget-pkgs>winget validate --manifest  manifests/s/simonmichael/hledger/1.40/simonmichael.hledger.installer.yaml
Manifest validation failed.
Manifest Error: The multi file manifest is incomplete.A multi file manifest must contain at least version, installer and defaultLocale manifest. File: simonmichael.hledger.installer.yaml

Manually verified.

@wingetbot run


feat: add operatorRole kv for me route

closes: #2187

@Asalem1 Here's the epic: https://app.zenhub.com/workspaces/applicationsui-unity-606b1041215d5f0017898847/issues/influxdata/ui/2174
The API doesn't support it yet but very soon it will. I will merge it after talking to Reid.

Should the field be marked as nullable: true since non operators will have a null value for operatorRole?
Also, since the backend work for this won't happen until next sprint, will adding the field beforehand break anything on your end?

@Asalem1 @hansenreid Made it nullable.

Should the field be marked as nullable: true since non operators will have a null value for operatorRole?
Also, since the backend work for this won't happen until next sprint, will adding the field beforehand break anything on your end?

I just finished testing with OpenAPI and UI having operatorRole and quartz-mock without it. It seems fine. But if your code changes will be out next week, then I'd hold off on merging this as I am out tomorrow and don't want broken stuff(Just in Case) to be left in master.


feat(solana): Added Star Atlas token price updates

Added both CMC and GC IDs for ATLAS and POLIS tokens.

@dahifi - please make this in https://github.com/FlipsideCrypto/solana-models as this is our legacy repo


extensionHeaders in signed URLs are not working properly

Steps to reproduce

Generate a signed url with a x-goog-* header

  const extensionHeaders = Object.fromEntries(Object.entries(metadata).map(([key, value]) => [`x-goog-${key}`, value]));

  const signedUrl = await file.getSignedUrl({
    'write',
    expires: dayjs().add(config.linkDurationInSeconds, 's').toISOString(),
    version: 'v4',
    virtualHostedStyle: true,
    extensionHeaders,
  });

Output: https://mybucket.storage.googleapis.com/test.pdf?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=documents%40myproject.iam.gserviceaccount.com%2F20230823%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20230823T140604Z&X-Goog-Expires=30&X-Goog-SignedHeaders=host%3Bx-goog-myheader&X-Goog-Signature=redacted

Send a PUT request specifying the x-goog-myheader with the same value as in the extension headers (it fails otherwise anyway)
Observe the file being uploaded with no myheader metadata to be found

The documentation regarding extension headers is very sparse, am I using extensionHeaders incorrectly?

My bad, the correct prefix is x-goog-meta-, it's working fine now.


ccn2: output dimension after first convolution

Hey,
in
https://github.com/soumith/imagenet-multiGPU.torch/blob/master/models/alexnet_ccn2.lua
why is the output dimension after the first convolution 55 and not
54 = floor(224 - 11 + 2 * 0 / 4) + 1?
Is it a result of an implicit padding of 2?
Thanks for your help and great work.

because ccn2 uses ceil, not floor


Use laravel ui package in module

I want to install and use laravel ui in my new module but Auth::routes() in route file and php artisan ui command isn't working.
is there any way to use this package in module?

I am new to using Modules, but if you mean using composer require laravel/ui.
1st If possible you should just create a User or Auth Module, move, rename routes ("Auth::routes()") , controllers, views to your module, then edit the config/auth file. php, line in laravel 8 ('model' => App\Models\User::class,) if you use old versions the line would be like this, ('model' => App\User::class,) [ replace the line "example Modules\User\Entities\User::class" ], lastly "composer dump-autoload", everything would be working.
2ª Although I recommend that you use the new package composer require laravel/breeze --dev , which is the same with the advantages that you can uninstall it, once executed and uses tailwindcss, if you want to use it with a Module just repeat the steps that I said at the beginning, excuse my English is not very good.
I forgot to tell you if you are working on old project make a backup and documentation, let me know if you have any problem


The source code is invalid, as it does not match the expected hash in the lock file

Just tried to checkout main and run locally I get the error below, is it just me?
$ deno task start
Task start deno run -A --unstable --watch=static/,routes/ dev.ts
Watcher Process started.
The manifest has been generated for 2 routes and 1 islands.
error: The source code is invalid, as it does not match the expected hash in the lock file.
  Specifier<EMAIL_ADDRESS>  Lock file: /Users/mandric/dev/github.com/denoland/showcase_todo/deno.lock

Delete deno.lock and then enter  deno task start command.

same here XD


Disconnect disconnects all roads

"To disconnect a road from another feature, right-click the connecting
node and select the Disconnect command from the editing menu."
Alas, if the connecting node has other roads sharing it, the user ends
up disconnection all roads, with no workaround!
P.S., maybe use more general language than just "roads".

@jidanni If you select both the line and the node then disconnect them, only the selected line will be disconnected, leaving the other lines connected.

Sure. But the more the user works on the problem, the more the impending
signs of disaster appear. Try it yourself.
Your job, at point
https://www.openstreetmap.org/?mlat=24.15400&mlon=120.69738#map=19/24.15400/120.69738
is to simply give only the road leading east (right), the name "自強街40
巷".
You will see if indeed, with various shift and control key plus click
combinations, he is able to do what you say, he still gets not one but
two warnings in the left panel that he is wrecking things etc.
Anyway, 100% not something that one could attempt merely reading the
help message I posted.
Hence such intersections will never get edited by normal users, who do
not want to wreck the map.
Yes even if it just seems they are wrecking the map.
The only way it is going to work is if you link a full page tutorial
from that help message.
Thank you.