Make Validation page available to unauthenticated users

Problem statement
When onboarding senders, validating files is a back-and-forth for O&O and the sender, and can take any varied amount of time. To mitigate this, we can make the Validation service available to unauthenticated users.
To effectively, and safely achieve this, prerequisites have been established:

[ ] Work will be done to implement global "off switch" (see #7456 and #7390)
[ ] Research will be done into where this fits into the onboarding experience
[ ] Testing of the current validator with onboarding senders

What you need to know

Mural board for Validation Service Deep Dive with Options
Provide user-interface that allows file drag&drop or upload feature and display of response to the file
There is an expectation of reusing CSV Uploader components and features and not a full new page
Design details in https://app.zenhub.com/workspaces/experience-607d9d5e68b95200150fec37/issues/cdcgov/prime-reportstream/6365

Acceptance criteria

[ ] O&O can link onboarding senders to the validation service UI
[ ] Onboarding senders with no Okta auth for login can access and use the validation service to test their CSV and HL7 files and view the response

a few notes at this point:

RADx-MARS, as far as I know, is still out of scope for this service
email notification should be a separate ticket, as that is all backend related work

See associated Epic #6993 for progress on when we can release this feature to a wider audience

@CnoteNava @chris-kuryak @HeatherRienks Updated the wording for the problem statement and AC to better reflect the narrow scope of this ticket. Any additional work to achieve this goal is tracked in the ticket body with those check marks.
@fmccaf1 Please update the list items pertaining to research prerequisites with the proper epic numbers. Thank you!

@kevinhaube @fmccaf1
This actually feels like it could have a big impact on a Key Result to reduce the amount of time the O+O team spends onboarding senders.

Is this issue fully defined yet, or should we have a quick meeting to iron out the details?
If it is fully defined, is this issue still blocked by something else, or could we begin work?

cc: @stephenkao

It looks like the validation page is locked to only admin users at the moment, and it shows a different format (CSV versus HL7) depending on the sender.  Also, at first glance, it looks like there'll be some API work to be done since it requires authentication -- or at least we'd want to clear it with the Platform team to make the change here: https://github.com/CDCgov/prime-reportstream/blob/master/prime-router/src/main/kotlin/azure/ValidateFunction.kt#L47-L80

@chris-kuryak @stephenkao
Our historical holdup on this is as follows:

Drew's concern of a lack of larger onboarding automation/self-servicing planning

This concern, to me, is non-blocking. We have a tool, we should make it work to suit the requirements and release it so O&O may direct users to it.

No feedback on the initial development: we are unaware if what we have helps or not

In theory, yes, it'd be a huge gain for onboarding! What we have now, though, is limited:

ONLY validates against [org].default sender (default is the sender setting name)
REQUIRES a user be logged in because it's using MembershipSettings to pull orgname to even get the default sender setting

Neither of these seem in any way helpful to somebody logged out. Ideally what we'd want to know is:

WHAT do they validate against?
Do you not already have a setting set up to validate? (As stated above, currently, we are validating against already-established settings, currently.)

@GilmoreA6 @brick-green : Check out the technical questions from @kevinhaube in the previous comment:

Ideally what we'd want to know is:

Who's settings do they validate a file against?
Do you already have a setting set up to validate? (As stated above, currently, we are validating against already-established settings.)
Is it okay for us to expose org settings, perhaps to read what available settings a user can validate against, via an unauthenticated page?

Edit: I believe we spoke of a "generic" schema we'd make public, something like validation-service.hl7-standard or something akin to it. This would be a great option if we come to the conclusion that a unique setting to validate against isn't required for each prospective sender. >
Do y'all have answers on these? Or is there a better forum to ask these questions?

@kevinhaube
1.) We currently have three "master schemas" 1 for HL7, 1 for CSV and 1 for CSV OTC. We are attempting to keep it to those three schemas where possible. We currently validate against one of those three or we create a custom schema if necessary (again we like to avoid doing this)
2.) When validating initially we either set up the org locally with one of the three schemas above (or custom schema if we already know they will need one) or we use the CLI tools to validate against the expected schema.
3.) Personally, if we could just have a way to switch between the three "master" schema then the user could pick one of the three that would be great. If they need a custom they would have to contact us anyway so we could handle those on a case by case basis. (The three master schemas would be HL7/hl7-ingest-covid-19-training.schema, upload-covid-19.schema, csv-otc-covid-19.schema)

@GilmoreA6 Thank you so much for the info! This is super helpful for technical planning.
@stephenkao @chris-kuryak Happy to assist turning the info into actionable engineering tickets once I'm back 🙂 Looks like maybe it'll pan out like:

Create a "public" organization that has three senders: one per standard schema. (Can be done via UI, thanks to Tom N's Org settings interfaces.)
In the Validator component system, we should fetch this public org settings entry and it's three sender settings entries to be swapped between

By this point, public validation cases should be covered. For the remaining nuanced case of needing a particular schema, with the assumption that Operations has made them an org and sender settings entry:
(Requires login)

Create either a generic group like DHvalidating or their own orgs group per our standard for web app users, DHmy-org, and add the user who needs to validate a special schema.
Create a system that can retrieve the custom settings entries for validation

The reasoning for putting custom work behind login is that we do not want a long list of public schemas as it sends the wrong message about our standards.
For okta groups naming: I'd recommend just the DHvalidating group as we do not want to create and destroy groups repeatedly. That may lead to many stale and empty groups to clean up later. With this model in mind, the settings would be stored as follows:

public org: 3 senders, standard schemas
validating org: n-many senders as there are custom schemas being validated against at the moment.

The public org would need to be retrieved without a bearer token or admin auth; this part may be on the Platform team to give us a bypass for "public" org name.
Validating org would still be behind auth as there would be an Okta group tied to it for login and auth purposes.

Removing as blocked per answer from James and syncing with Exp engr team.

Per scoping session with @kevinhaube @stephenkao, we'll be breaking this into a small epic with several smaller engineering and design issues.


Remove @BetaApi annotations for streaming and LRO

As part of https://github.com/googleapis/gax-java/issues/702

PTAL

note: stubs and grpccallablefactory should be unmarked BetaApi

@andreamlin, what's the status of this PR?  Is it ready to go from your perspective?

I asked her to wait on merging it. It removes BetaApi labels from surfaces that I would like to change:

I would like to hide the RpcFactories
I would like to introduce a new GrpcDirectStub that simply wraps the grpc callables without adding anything new
I would like to introduce the concept of an operation timeout to call context and maybe settings.

I havent had a chance to work on these yet. Is there any rush to strip these labels?

It would be great if this PR could move forward, one way or another, since this PR is almost 2 months old.  is there anything in this PR that is mergable?  If not, I think that we ought to close this.

I can close this and turn it into an issue. @igorbernstein2 are there github issues associated with your FRs that I can link to?

This seems to have been stuck for months. Should we close it?

I don't think this needs to be blocked anymore. I think I can get what I need by simply using this: https://github.com/googleapis/gax-java/pull/891

I'm closing for now since it appears to be out of date. reopen if you wish to continue work. The associated issue is still open.

I'm closing for now since it appears to be out of date. reopen if you wish to continue work. The associated issue is still open.


proposal for improvement

You've added date/time functionality to the email lib. That's nice!
But would it be possible to add a function to generate an RFC1123 compliant date to put it into the mail header?
sprintf (datestr, "Date: %s, %d %s %d %02d:%02d:%02d +0200 (CEST)",            DAY_NAMES[MailClient.Time.getDayOfWeek()],            MailClient.Time.getDay(),            MONTH_NAMES[MailClient.Time.getMonth() - 1],            MailClient.Time.getYear(),            MailClient.Time.getHour(),            MailClient.Time.getMin(),            MailClient.Time.getSec());

The library is aim for Email sending and receiving.
There is a time library in GitHub that can do this already and it support RFC1123 time format too.


Asset Import Order priority

If the wav files import after the osu file, then the osu file needs to be reimported to find them.

A button to rescan the asset database for the source files.
change import priority

Fixed with this: https://docs.unity3d.com/2023.1/Documentation/ScriptReference/AssetImporters.ScriptedImporterAttribute-importQueuePriority.html


Add cancellation token into long processes

add a cancellation token to each job with progress bar is implemented, e.g. "Splicing of logs"

now is implemented by this task:

DownloadAllLogData (improved)
SpliceLogs
CompareLogData

needs to be more analyzed:

CopyLog
CopyWithParent
ImportLogData
ReplaceObject


Comment the whole API

Comment the code, give more information about the different functions.
I am already on that.

ArkNetAPI ==> done
Attribute ===> done
Controlers ==> done
Core =======> Ongoing
Messages ===> Not done
Models =====> Not done
res =========> Nothing to do (it's images)
Services ====> Not done
Utils =======> Not done

will check in the main repo as discussed


Add reply button to comments

Yo,
I'm using refined-github for a while, and it's really awesome.
Yesterday I came across the follow issue at dear-github: https://github.com/dear-github/dear-github/issues/169, and I thought it's a good idea, so I decided to implement it.
What this PR adds is simply a feature called reply-button, that adds a button to every comment, and when that button is clicked it triggers an event that sends the focus to the new comment textarea, and fills it with the content of the previously clicked comment. (after adding > to the beginning of each line, to create a blockquote)
The quoted comment is being copied without HTML values.
Feel free to ask for changes or comment with improvement ideas :) I'll try to be responsive.
Thanks!
Edit:
Also, please enjoy few screenshots:

Yo,
I'm using refined-github for a while, and it's really awesome.
Yesterday I came across the follow issue at dear-github: dear-github/dear-github#169, and I thought it's a good idea, so I decided to implement it.
What this PR adds is simply a feature called reply-button, that adds a button to every comment, and when that button is clicked it triggers an event that sends the focus to the new comment textarea, and fills it with the content of the previously clicked comment. (after adding > to the beginning of each line, to create a blockquote)
The quoted comment is being copied without HTML values.
Feel free to ask for changes or comment with improvement ideas :) I'll try to be responsive.
Thanks!
Edit:
Also, please enjoy few screenshots:

OMG!

I'm not sure it's important enough to add yet another icon to the comment toolbar. Maybe we could move the edit and delete buttons into a "More" dropdown and add this there too.

I'm not sure it's important enough to add yet another icon to the comment toolbar. Maybe we could move the edit and delete buttons into a "More" dropdown and add this there too.

Not sure it's smart, I think that quoting another comment is a basic feature, almost every comment system in the internet supports it.
Thank you for the code review, I'll fix it soon

Done

Not sure it's smart, I think that quoting another comment is a basic feature, almost every comment system in the internet supports it.

Yes, but I rarely quote a whole comment. Usually, I quote different parts of it.

Not sure it's smart, I think that quoting another comment is a basic feature, almost every comment system in the internet supports it.
Yes, but I rarely quote a whole comment. Usually, I quote different parts of it.

I beg to differ, you've just quoted a whole comment ;)
Anyway, I can't say I fully agree, but I don't mind to implement it anyway. Will you merge the PR if I'll add a dropdown menu for each comment and push edit, delete and reply into there? (I'll split it to two different features, one for reply-button and one for comment-more-dropdown or any other alternative naming)

I beg to differ, you've just quoted a whole comment ;)

I did not. I only quoted the middle part:

Let's see what the rest of the team thinks before we do anything more ;)

Let's see what the rest of the team thinks before we do anything more ;)

Fair enough :)

I agree that I rarely quote a whole comment, but this feature can be useful if it works like on some forums: quotes the selected text only.
Also it’d be a nice semi-replacement to copy-as-markdown if it copied the HTML via window.getSelection().getRange().cloneContents() I think, then pass that to our existing HTML-to-Markdown converter.
At that point this button would become useful to me, especially if I can quote something, then answer, then quote more, … in the same comment box.

GitHub already allows you to quote the selection with r. So this wouldn't really be useful to me. Maybe if it turned the HTML into markdown, but even then, I'd often want to remove the markdown when quoting a comment.

GitHub already allows you to quote the selection with r

Wow, true. No markdown but... at this point I think this feature doesn't add much.

I came here to say what @jgierer12 said. Selecting text and hitting r does the trick for me.

I think this can be closed in lieu of just using the keyboard shortcut. If desired that one can be extended to quote as markdown.

It seems the team agrees it's not worth it. Sorry to have to close this @bluzi. Usually it's a good idea to open an issue before spending a lot of time implementing a feature that might get rejected. We would be more than happy to consider other feature requests of yours though :)

The button adds nothing that isn't there already. To me, quoting is not the same as replying. Replying should mention the author of the comment being replied to (and link back to that comment) so that the author gets a notification (even if they've stopped watching the issue).

If anyone watching this issue is interested, I've implemented alternative functionality via this userscript: https://github.com/aensley/github-comment-reply-buttons (forked from: https://github.com/jerone/UserScripts)
Perhaps that would provide enough additional functionality to be worth it?

Hi folks 👋. Just a note here in case you haven't yet noticed that we shipped a similar Quote reply action the other day!: https://blog.github.com/changelog/2018-09-11-quote-reply-to-a-comment/
As a bonus – we've also fixed r shortcut quoting so that it no longer strips markdown formatting (this might even be my favourite 'Papercuts' ship yet! 😆).

Thanks for the update @lukehefson! I think the quoting functionality was one of the these things on GitHub which are really old, but haven't been given any love for years. Nice touch!


Dynamic disk in PersistentVolumeClaim mounted twice

Is this a request for help?: Yes.

Is this an ISSUE or FEATURE REQUEST? (choose one): Issue

What version of acs-engine?: No idea. I use Kubernetes on ACS.

Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes
What happened:
Issue with mounting persistent volume claims (2 disks) for MongoDB Statefulset.
We use 2 persistent volume claims to mount 2 dynamic disks at runtime.
The data disk from MongoDB were never mounted.
The configdb disk from MongoDB was mounted in the mountpoint reserved for the data disk.
Output of lsblk:
root@mdb-instance-1-ss-0:/# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk
sda      8:0    0   30G  0 disk
`-sda1   8:1    0   30G  0 part /etc/mongod/ca
sdb      8:16   0  100G  0 disk
`-sdb1   8:17   0  100G  0 part
sdc      8:32   0   20G  0 disk
sdd      8:48   0    1G  0 disk /data/configdb
sr0     11:0    1 1024M  0 rom

Output of mount. Notice the /dev/sdd repeated:
root@mdb-instance-1-ss-0:/# mount | grep data
/dev/sdd on /data/db type ext4 (rw,relatime,data=ordered)
/dev/sdd on /data/configdb type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /dev/termination-log type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/resolv.conf type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/hostname type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/hosts type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/mongod/ca type ext4 (rw,relatime,discard,data=ordered)

What you expected to happen:
Usually, when MongoDB restarts, the PVCs ensure that the disks are re-mounted correctly automatically.
Expected output of lsblk (taken from another cluster):
root@mdb-instance-1-ss-0:/# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk
sda      8:0    0   30G  0 disk
`-sda1   8:1    0   30G  0 part /etc/mongod/ca
sdb      8:16   0  100G  0 disk
`-sdb1   8:17   0  100G  0 part
sdc      8:32   0    1G  0 disk /data/configdb
sdd      8:48   0   20G  0 disk /data/db
sr0     11:0    1  668K  0 rom

Expected output of mount (taken from another cluster):
root@mdb-instance-1-ss-0:/# mount | grep data
/dev/sdd on /data/db type ext4 (rw,relatime,data=ordered)
/dev/sdc on /data/configdb type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /dev/termination-log type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/resolv.conf type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/hostname type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/hosts type ext4 (rw,relatime,discard,data=ordered)
/dev/sda1 on /etc/mongod/ca type ext4 (rw,relatime,discard,data=ordered)

How to reproduce it (as minimally and precisely as possible):
I have no idea.
Anything else we need to know:
Kubernetes version:
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.3", GitCommit:"2c2fe6e8278a5db2d15a013987b53968c743f2a1", GitTreeState:"clean", BuildDate:"2017-08-03T07:00:21Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.6", GitCommit:"7fa1c1756d8bc963f1a389f4a6937dc71f08ada2", GitTreeState:"clean", BuildDate:"2017-06-16T18:21:54Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"linux/amd64"}

Might be related to #793

#793 suggests this is fixed in kubernetes version 1.7.2. acs-engine currently supports generating a template that you can submit to build a 1.7.2 cluster. Let me know if you'd be interested in, and need some help, building a 1.7.2 cluster as a test to see if this symptom is fixed with that version.

Hi @jackfrancis !
Information to set up a k8s v1.7 cluster is surely welcome, although, I have no idea how to reproduce this issue. Any suggestions on repre steps?

If this is not a reproducible problem, and only occurs through the Azure portal-guided ACS flow, it's likely this shouldn't be an open issue in the acs-engine project. I'm happy to keep it open for a little while as a placeholder if it would help to triage this issue, assuming you expect it to re-occur.
Here's a link to a doc describing how to get and build acs-engine for local use:
https://github.com/Azure/acs-engine/blob/master/docs/acsengine.md
And here's a doc that describes some of the Kubernetes scenarios that acs-engine supports above and beyond what the ACS will build you via the portal or az CLI tool:
https://github.com/Azure/acs-engine/blob/master/docs/kubernetes.md

I have similar problem using acs-engine master with k8s 1.8 and 1.7.7
viz@k8s-pool01-11577755-0:~$ sudo mount | grep sdc
/dev/sdc on /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/b960592259 type ext4 (rw,relatime,data=ordered)
/dev/sdc on /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/b960592259 type ext4 (rw,relatime,data=ordered)
/dev/sdc on /var/lib/kubelet/pods/19c5b607-b5ae-11e7-924b-000c3a2c338b/volumes/kubernetes.io~azure-disk/pvc-60e500d8-b5ad-11e7-924b-000c3a2c338b type ext4 (rw,relatime,data=ordered)
/dev/sdc on /var/lib/kubelet/pods/19c5b607-b5ae-11e7-924b-000c3a2c338b/volumes/kubernetes.io~azure-disk/pvc-60e500d8-b5ad-11e7-924b-000c3a2c338b type ext4 (rw,relatime,data=ordered)

Hi @jalberto  your issue is expected, /dev/sdc will first mount to /var/lib/kubelet/plugins/kubernetes.io/azure-disk/mounts/b960592259 and then k8s would "bind mount" to /var/lib/kubelet/pods/19c5b607-b5ae-11e7-924b-000c3a2c338b/volumes/kubernetes.io~azure-disk/pvc-60e500d8-b5ad-11e7-924b-000c3a2c338b, it's not a issue.


Arpack installation error in Julia with Intel MKL

Is it possible to change Arpack.jl to e.g. KrylovKit.jl?
The installation of Arpack.jl fails in Julia with Intel MKL.

Thank you for your feedback.
The reason I chose Arpack.jl is just my preference of the interface.
I will replace Arpack.jl with KrylovKit.jl after I see if the results are reproduced.
Just for your info, Arpack.jl is called only in src/eigenvector_continuation.jl,
so you can just comment out using Arpack in src/ShellModel.jl for "ordinary" shell-model calculations.

Thanks! I will wait for PR.

package_install.jl is not yet fixed.


fix compat for VideoIO on FFMPEG_jll

Currently the newer ffmpeg_jll version forces VideoIO downgrade because it's not compatible.
(Foo) pkg> up
    Updating registry at `~/.julia/registries/General.toml`
   Installed BinaryProvider ─ v0.5.10
   Installed FFMPEG ───────── v0.2.4
   Installed FFMPEG_jll ───── v6.1.1+0
   Installed VideoIO ──────── v1.0.8
  Downloaded artifact: FFMPEG
  No Changes to `~/Documents/GitHub/Foo/Project.toml`
    Updating `~/Documents/GitHub/Foo/Manifest.toml`
  [b99e7846] + BinaryProvider v0.5.10
⌃ [c87230d0] ↓ FFMPEG v0.4.1 ⇒ v0.2.4
⌃ [d6d074c3] ↓ VideoIO v1.1.0 ⇒ v1.0.8
  [b22a6f82] ↑ FFMPEG_jll v4.4.4+1 ⇒ v6.1.1+0

I don't think this is quite right yet as VideoIO only took on FFMPEG_jll as a dep in v1.0.9 but I thought I'd open for discussion

I don't believe it's valid to add dependencies in General to old versions, so I don't think this can be fixed here.
The only recourse is for the user to specify a lower bound of VideoIO v1.0.9


Can't seem to get this to run at all - rsync error

Whenever I try to give this a run, I'm met with the following:

root@ncr-server:/# sudo syncrclone config.py
2023-08-29 21:19:48: syncrclone (20230310.0.BETA)
2023-08-29 21:19:48: config path: 'config.py'
2023-08-29 21:19:48: temp dir: '/tmp/tmpagnrht2a'
2023-08-29 21:19:48: A: 'kjc-wasabi:jamaale-next-s3/Photos'
2023-08-29 21:19:48: B: 'kjc-gimli-sftp:/homes/XTREEMMAK/Photos'
2023-08-29 21:19:48: rclone version:
2023-08-29 21:19:48: rclone: rclone v1.63.1
2023-08-29 21:19:48: rclone: - os/version: ubuntu 22.04 (64 bit)
2023-08-29 21:19:48: rclone: - os/kernel: 5.15.0-79-generic (x86_64)
2023-08-29 21:19:48: rclone: - os/type: linux
2023-08-29 21:19:48: rclone: - os/arch: amd64
2023-08-29 21:19:48: rclone: - go/version: go1.20.7
2023-08-29 21:19:48: rclone: - go/linking: static
2023-08-29 21:19:48: rclone: - go/tags: none
2023-08-29 21:19:48:
2023-08-29 21:19:48: Refreshing file lists concurrently
2023-08-29 21:19:55: No previous list on B. Reset state
2023-08-29 21:19:58: Reading from A: File count 1113
2023-08-29 21:20:08: Reading from A: File count 2140
2023-08-29 21:20:18: Reading from A: File count 3184
2023-08-29 21:20:28: Reading from A: File count 4309
2023-08-29 21:20:38: Reading from A: File count 5393
2023-08-29 21:20:48: Reading from A: File count 6491
2023-08-29 21:20:58: Reading from A: File count 7544
2023-08-29 21:21:08: Reading from A: File count 8453
2023-08-29 21:21:18: Reading from A: File count 9310
2023-08-29 21:21:28: Reading from A: File count 10279
2023-08-29 21:21:38: Reading from A: File count 11239
2023-08-29 21:21:45: WARNING: Missing previous state in A. Resetting
2023-08-29 21:21:45: Refreshed file list on A 'kjc-wasabi:jamaale-next-s3/Photos'
2023-08-29 21:21:45: 11958 files, 275.29 gb
2023-08-29 21:21:45: Refreshed file list on B 'kjc-gimli-sftp:/homes/XTREEMMAK/Photos'
2023-08-29 21:21:45: 11958 files, 275.17 gb
2023-08-29 21:21:46:
2023-08-29 21:21:46:
2023-08-29 21:21:46: Actions queued on A:
2023-08-29 21:21:46: New on A: 'Compilation Library/xHappyxDaysx/YouCut_20220822_203802003.mp4_original'
2023-08-29 21:21:46:
2023-08-29 21:21:46: Actions queued on B:
2023-08-29 21:21:46: New on B: 'dbolumj-8e7dfe06-34b7-40c3-bf92-6ef84f166e64.jpg'
2023-08-29 21:21:46:
2023-08-29 21:21:46: Performing Actions on A
2023-08-29 21:21:46: RCLONE ERROR
2023-08-29 21:21:46: CMD ['rclone', 'move', '-v', '--stats-one-line', '--log-format', '', '--no-check-dest', '--ignore-times', '--no-traverse', '--retries', '4', '--files-from', '/tmp/tmpagnrht2a/A_movedel_del_nb', 'kjc-wasabi:jamaale-next-s3/Photos', 'kjc-wasabi:jamaale-next-s3/Photos/.syncrclone/backups/2023-08-29T211948_T8wch_A']
2023-08-29 21:21:46: STDOUT
2023-08-29 21:21:46: STDERR Failed to load filters: open /tmp/tmpagnrht2a/A_movedel_del_nb: no such file or directory
ERROR. Dumping logs (with debug) to '/tmp/tmpagnrht2a/log.txt'
2023-08-29 21:21:46: ERROR: Command '['rclone', 'move', '-v', '--stats-one-line', '--log-format', '', '--no-check-dest', '--ignore-times', '--no-traverse', '--retries', '4', '--files-from', '/tmp/tmpagnrht2a/A_movedel_del_nb', 'kjc-wasabi:jamaale-next-s3/Photos', 'kjc-wasabi:jamaale-next-s3/Photos/.syncrclone/backups/2023-08-29T211948_T8wch_A']' returned non-zero exit status 1.

I do also check the tmp dir for A_movedel_del_nb and it is being created. My guess it might have to do with something prior to that though?

Is it consistent? Repeatable? What does the debug log say?

Just another followup, I am hoping this can be repeated because based on the actions in that log, I am confused by the code is going down this path. If it's all new files, why is anything being backed up?

Closing since this appears abondoned.


Catch up with mods submitted from SpaceDock

These mods were previously requested from SpaceDock (which went to the old KSP1 repo, because SpaceDock's "support" for KSP2+CKAN is a bug).

KSP-CKAN/NetKAN#9597
https://spacedock.info/mod/3266/Cheats Menu
https://github.com/Bit-Studios/CheatMenu
https://forum.kerbalspaceprogram.com/index.php?/topic/214242-cheat-menu/
KSP-CKAN/NetKAN#9598
https://spacedock.info/mod/3292/Better Parts Manager
https://github.com/Bit-Studios/KerbalPartManager
https://forum.kerbalspaceprogram.com/index.php?/topic/214227-better-part-manager/
KSP-CKAN/NetKAN#9600
https://spacedock.info/mod/3272/Stage Info
KSP-CKAN/NetKAN#9605
https://spacedock.info/mod/3301/Community Fixes
https://github.com/Bit-Studios/CommunityFixes
https://forum.kerbalspaceprogram.com/index.php?/topic/214521-community-fixes/
KSP-CKAN/NetKAN#9615
https://spacedock.info/mod/3314/Parts Manager Hotkey
https://github.com/shdwp/ksp2PartsManagerHotkey
KSP-CKAN/NetKAN#9617
https://spacedock.info/mod/3280/P.A.I.G.E-B-Gone
https://github.com/amahlaka/P.A.I.G.E-B-Gone
KSP-CKAN/NetKAN#9618
https://spacedock.info/mod/3275/Kerbal Web Program
https://github.com/Bit-Studios/KerbalWebProgram
https://github.com/Bit-Studios/KerbalWebProgram/wiki
https://forum.kerbalspaceprogram.com/index.php?/topic/214911-kerbal-web-program-kwp-automation-and-stats-using-any-language/
KSP-CKAN/NetKAN#9619
https://spacedock.info/mod/3320/More Resolutions
https://github.com/arthomnix/MoreResolutions/
KSP-CKAN/NetKAN#9620
https://spacedock.info/mod/3321/Kerbal Notebook
https://github.com/Bit-Studios/NoteBook
https://forum.kerbalspaceprogram.com/index.php?/topic/214994-kerbal-notebook/
KSP-CKAN/NetKAN#9621
https://spacedock.info/mod/3322/kRPC2
https://github.com/krpc/krpc2
https://forum.kerbalspaceprogram.com/index.php?/topic/214999-krpc2-control-the-game-using-python-c-c-java-lua/

With KSP-CKAN/CKAN#3811 and KSP-CKAN/xKAN-meta_testing#91 merged (and one tweak to inflate.yml here to set $GAME), we may be able to validate these as normal.

So far so good. We'll still need KSP-CKAN/NetKAN-Infra#283 for the bot to start inflating these, but the workflow checks are working.


ModDetectionPreventer

CurseForge link
https://www.curseforge.com/minecraft/mc-mods/moddetectionpreventer
CurseForge Mod Distribution
Allowed
Modrinth link
https://modrinth.com/mod/moddetectionpreventer
Source/other link
https://github.com/JustAlittleWolf/ModDetectionPreventer
Mod file size
49.25 KiB
License
(any other license)
What it does
Fixes an exploit with translation strings
Why should it be in the modpack
Privacy point at https://wiki.download.fo/readme/principles
Why shouldn't it be in the modpack

Not on CurseForge (planned)

Additional details
Note that this does not affect mods that explicitly connect with the server for configs or similar, e.g. minimaps and Fabric API
This fix is just for protecting the mods that the server was not meant to communicate with

Added in 5.8.0-beta.8
(@Madis0 close)

Well, it is being tested in the beta, so if something comes up, it may still be reverted.

Added in 5.8.0.


Revert "ci(npm): adds npm provenance"

This reverts commit 7010a4c79c9b3e7a93cc429d9d80e919df5110a9.

:tada: This PR is included in version 6.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[tensorflow-lite] fix android link errors

Triplets

arm64-android
x64-android
arm-android

Related

#50
#49
#53

x86-android CI change will be done later


incubator-kie-kogito-images#1729: PR checks forks with different naming

Addressing:

#1729

Problems were caused by the githubscm.prepareCommitStatusInformation* methods that don't resolve the fork name.
To overcome this limitation, using propagation of the env variables from the PR check plugin into the jenkinsfiles of Jenkinsfile.build-and-test and Jenkinsfile.build-image .
By setting sensible defaults for the job parameters the changes should be covering both PR check and nightly build use cases.

PR job #10 was: FAILURE
Possible explanation: Pipeline failure or project build failure
Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/10/display/redirect
See console log:

Console Logs
SOURCE_REPOSITORY=kogito-imagesDISPLAY_NAME=PR #1776: https://github.com/apache/incubator-kie-kogito-images/pull/1776MAVEN_OPTS=NODE_LABELS=ubuntu builds35STAGE_NAME=InitializationSOURCE_AUTHOR=jstastny-czDEVELOCITY_CCUD_PLUGIN_VERSION=2.0WORKSPACE_TMP=/home/jenkins/workspace/KIE/kogito/main/pullrequest/kogito-images.build-and-test@tmpBUILD_TIMESTAMP=2024-06-28 08:14:36 UTCPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/golang/go/bin:/home/nonrootuser/go/binCI=trueRUN_ARTIFACTS_DISPLAY_URL=https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/10/display/redirect?page=artifactsGRADLE_ENTERPRISE_ACCESS_KEY=ge.apache.org=etlwjhwel56ybdijfxymbj5bb6fwydcy3sj2oe6rlwjzotgalreaMAVEN_ARTIFACTS_REPOSITORY=JOB_ENVIRONMENT=JENKINSGRADLEPLUGIN_MAVEN_PLUGIN_CONFIG_EXT_CLASSPATH=JENKINSGRADLEPLUGIN_GRADLE_ENTERPRISE_ENFORCE_URL=trueDEPLOY_IMAGE=falseDEBUG=falseBUILD_ID=10GOPATH=/home/nonrootuser/goTESTS_KOGITO_EXAMPLES_URI=[Pipeline] dirRunning in /home/jenkins/workspace/KIE/kogito/main/pullrequest/kogito-images.build-and-test/incubator-kie-kogito-images[Pipeline] {[Pipeline] deleteDir[Pipeline] }[Pipeline] // dir[Pipeline] }[Pipeline] // script[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Validate CeKit Image and Modules descriptors)Stage "Validate CeKit Image and Modules descriptors" skipped due to earlier failure(s)[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Build & Test Images)Stage "Build & Test Images" skipped due to earlier failure(s)[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] script[Pipeline] {[Pipeline] sh+ wget --no-check-certificate -qO - 'https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/10/api/json?depth=0'[Pipeline] readJSON[Pipeline] sh

PR job #11 was: FAILURE
Possible explanation: Pipeline failure or project build failure
Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/11/display/redirect
See console log:

Console Logs
[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-base-builderBuild KIE » kogito » main » pullrequest » kogito-images.build-image #15 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-jobs-service-allinoneBuild KIE » kogito » main » pullrequest » kogito-images.build-image #21 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-jobs-service-postgresqlBuild KIE » kogito » main » pullrequest » kogito-images.build-image #16 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-data-index-ephemeralBuild KIE » kogito » main » pullrequest » kogito-images.build-image #20 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-jobs-service-ephemeralBuild KIE » kogito » main » pullrequest » kogito-images.build-image #17 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-jit-runner[Pipeline] // parallel[Pipeline] }[Pipeline] // dir[Pipeline] }[Pipeline] // script[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] script[Pipeline] {[Pipeline] sh+ wget --no-check-certificate -qO - 'https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/11/api/json?depth=0'[Pipeline] readJSON[Pipeline] sh

The jenkins failure is due to changes in this PR relying on DSL job generation, so should click together after merge and seed job execution.


Edit from Github Links are not working.

When we go to the Edit on GitHub on any documentation page, It will redirect us to the wrong page.

Ya, I have seen this before. Actually, that option is only for people having a collaborator access

Ya, I have seen this before. Actually, that option is only for people having a collaborator access


fix(testdata): relative path calculation

Testdata file utils were moved one level deeper into files. Resolution wasn't failing in CI/etc because it's only triggered when generating data with AZTEC_GENERATE_TEST_DATA=1.

#10791  👈 (View in Graphite)
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 17, 6:38 AM EST: A user merged this pull request with Graphite.


FeatureRequest: tqdm

Thanks for this codebook Mark!
For large datasets, it would be great to have a progress bar for users to estimate when the report will finish generating.
I think this would be a one-line change in html.py
from tqdm import tqdm
for i, varname in tqdm(enumerate(df.columns), total=len(df.columns), desc="Calculating summary rows"):
    var = Variable(
        df[varname],
        desc.get(varname, "")
    )
    var.index = i
    output.append(str(SummaryRow(var)))

Thanks for requesting this @chae-won-lee! It's now implemented in v0.0.6


How to validate on blur only?

How can I start validation only on blur of the input element? I know I can use ng model options. Is there an option already in your directive?
How can I globally enable to only validate on blur?
Using version "~1.4.14"
The problem is when validating an email address, the input is considered invalid while typing. I have switched debounce to 0 or 1000, it will validate while typing.
I am using this CSS also to display if invalid:
.ng-touched.ng-valid-validation + i.icon.error {
  display: none;
}

.ng-touched.ng-invalid-validation + i.icon.error {
  display: block;
}

Thank you very much for this directive. It is so fantastic.

That's already the default way of validating, there's nothing to change. By default, it validates after x amount of time (debounce to 1000ms by default) OR if you blur the input it goes and validate right away. If you look at the Plunker Demo on the email input, you'll see that effect

I want to only validate on blur... So I guess I have to set debounce to 999999 ?

Your assumptions are correct, there is no way currently to disable the validation while typing. Giving the debounce a high number will only wait a longer but will validate anyway unless a blur event occurred and if so will cancel the debounce timer.

Even when setting ng-model-options='{ updateOn: "blur"}' the validation is triggered while typing?! I have no clue how to get this to work...

I managed to get the behaviour by using this css. It will only display an invalid message if the input is not focused. The validation will fire anyways, but be invisible.
.ng-touched.ng-valid-validation:not(:focus) + i.icon.error {
display: none;
}
.ng-touched.ng-invalid-validation:not(:focus) + i.icon.error {
display: block;
}


Kafka connecting article

Detail how to find and use the connection details for this service

https://developer.aiven.io/docs/products/kafka/howto/kcat.html meets this need


Switch to vector tiles

No way around it, the future of Every Door is vector tiles. They would help reduce the bandwidth, deal with POI duplication, allow for dark mode, and make the map more accessible.

Since with #119 it will be possible to change vector tile styling, maybe we should package slightly more data than bare minimum?..


Firefox compatibility through script

according this this: it may be possible to use a script to change the manifest from V3 to V2:

We have a MV3 extension that we’ve released for Chrome that we’re planning on releasing for Firefox soon.
We actually dynamically generate the manifest with a small node script on build. We have something like this:

background: FIREFOX
? {
// Firefox doesn’t support `service_worker` yet
scripts: [“background.js”],
}
: {
service_worker: “background.js”,
},

So far, it is working just fine. We’re also using webextension-polyfill for all of the browser/extension communication.

nevermind: according to this on Jan 17 Firefox will be released with V3 compatibility!

we will need to add browser_specific_settings to manifest.json for Firefox to work: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings

started working on with: https://github.com/sabjorn/BandcampEnhancementSuite/tree/feat/firefox_manifest_v3
changes work on Chrome but currently not on Firefox (plugin loads BUT no indication that it's working)

CORS prevents getting waveforms, this might be necessary...
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#host_permissions

this has been uploaded via https://github.com/sabjorn/BandcampEnhancementSuite/tree/release-1.6.1
however, one problem remains. Firefox does not give you the permissions for CORS automatically (even though it's specified in the manifest).
This should have the key: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions
perhaps "permissions" will need to be added...

looks like this is fine. closing unless other issues pop up. finished in 57e5dc2cc5f501d392f76cf37653dbb9d2c970c0


add MCP server badge

This PR adds a badge for the airtable-mcp-server server listing in Glama MCP server directory.
https://glama.ai/mcp/servers/7abwib27hk
Glama performs regular codebase and documentation scans to:

Confirm that the MCP server is working as expected
Confirm that there are no obvious security issues with dependencies of the server
Extract server characteristics such as tools, resources, prompts, and required parameters.

This badge helps your users to quickly asses that the MCP server is safe, server capabilities, and instructions for installing the server.

This seems cool and I like the initiative. I think the badge in its current form seems pretty big and dominating on the readme though - could there be a smaller options more similar to https://github.com/badges/shields/?

This seems cool and I like the initiative. I think the badge in its current form seems pretty big and dominating on the readme though - could there be a smaller options more similar to https://github.com/badges/shields/?

I've considered smaller badges, but there is a lot of information that goes into determining suitability of an MCP model. Small badge simply does not have enough space to contain it.
Either way, this is the badge that's already used by 100+ servers.


add support for 'weight_tags=,,… ’ option on the url tag

This patch add support to 'weight_tags=<t1>,<t2>,...’ option on the url tag which permits to configure weight by tags on a service as per documentation:   route weight <src> weight <w> tags "<t1>,<t2>,… "
First use case would be an active/passive service. With a tag like "urlprefix-vault.example.io/ weight=1 weight_tags=active" , Fabio would always route to the active node.

I got this error after a while:
2018/10/04 15:03:49 [WARN] route: no target match
It seems related to this issue : https://github.com/fabiolb/fabio/issues/224

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Alexis Desaegher seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Deref coercion from &DST to &TraitObject

A dynamically sized type cannot currently be passed as a trait object.
error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
  |
6 |     f("str");
  |       ^^^^^ `str` does not have a constant size known at compile-time
  |
  = note: required for the cast to the object type `std::fmt::Debug`

In such cases the &DST should perform a deref coercion, equivalent to doing &&DST as &TraitObject.
use std::fmt::Debug;

fn f(_trait_object: &Debug) {}

fn main() {
    f("str"); // does not compile today. would coerce to &&str
    f(&[1][..]); // does not compile today. would coerce to &&[{integer}]
}

We hit this in https://github.com/rust-lang/rust/pull/46445 in which a slice cannot be passed to DebugStruct::field. I have also hit this in Serde with the Expected trait object, which commonly requires passing an argument that looks like &"message".

In such cases the &DST should perform a deref coercion, equivalent to doing &&DST as &TraitObject.

Isn’t that autoref rather than auto-deref? If I remember correctly so far we only have autoref in method calls.

I meant coercion just in that the caller writes an expression that looks like it has type &U but the callee accepts it as type &T. In this case U=str and T=Debug. The autoref aspect of it is an implementation detail, unlike in method calls. From the language point of view the caller passes a &DST and the callee receives a &TraitObject, exactly as it would have worked for passing a sized type.

@dtolnay But &DST: Trait and not DST: Trait. T and &T impls aren't required to be equivalent.

@eddyb does that make it hopeless? Maybe "equivalent to doing &&DST as &TraitObject" is oversimplifying but "insert an extra & to eliminate the papercut" still seems promising to me.
struct TraitObject {
    data: *const (),
    // fn(&self)
    vtable: fn(*const ()),
}

fn callee(trait_object: &TraitObject) {
    (trait_object.vtable)(trait_object.data)
}

fn main() {
    // callee("str")
    callee(&TraitObject { data: &"str" as *const &str as *const (), vtable: impl_trait_for_str });

    // callee(&"str")
    callee(&TraitObject { data: &"str" as *const &str as *const (), vtable: impl_trait_for_ref_str });
}

// impl Trait for str {}
fn impl_trait_for_str(data: *const ()) {
    let s = unsafe { &**(data as *const *const str) };
    assert!(s.chars().next().unwrap() == 's');
    println!("impl Trait for str");
}

// impl Trait for &str {}
fn impl_trait_for_ref_str(data: *const ()) {
    let s = unsafe { &**(data as *const *const str) };
    assert!(s.chars().next().unwrap() == 's');
    println!("impl Trait for &str");
}

Note that the existing coercion doesn't distinguish between &T and *Tand preserves the ownership semantics by rebuilding whatever structures were around the pointer (usually raw). Do you expect no coercion to occur whenBoxorRcare involved instead of&`?

The places we have had trouble with this (in std::fmt and Serde) would be resolved if the change only applies to &T, not Box or Rc.

I think the argument against pervasive autoref was to avoid a situation where a value looks like it is moved but it is in fact borrowed. However borrowing implicitly is not a problem when the value is already a &T borrow. The result is &&T which doesn’t seem useful, except in this very specific situation.
This is a long way to say 👍

I don't think I have bandwidth to pursue this in the near term. @GuillaumeGomez would you be interested in putting together a full RFC?

I actually have no idea how such a feature could be implemented so I don't think I'm the one to pick for this task.


incomplete documentation about INSERT ... RETURN ... syntax

The 2.2.x documentation about the INSERT statement, describes incomplete syntax possibilities for the RETURN part:
RETURN Defines an expression to return instead of the number of inserted records. You can use any valid SQL expression. The most common use-cases,
@rid Returns the Record ID of the new record.
@this Returns the entire new record.
"The most common use-cases" phrase does not say what else is possible, for example is it possible to let the INSERT ... RETURN statement return the number of records which have been inserted ?

Hi @rdelangh
The goal of that RETURN is to return any projections based on the inserted record (the equivalent of x, y in a SELECT x, y FROM...), but that's not very used and afaik there are some issues there, so I discourage you to use any other keywords apart from @rid and @this
Thanks
Luigi

@luigidellaquila
hi Luigi, thx for the reply.

can you please make sure the documentation about this RETURN in the INSERT, is made complete? It is very confusing now, suggesting that more (but not mentioning which) options are possible
if INSERT cannot return the number of records which have been inserted, that is very inconvenient inside scripts: in our case, I want to INSERT records into one class, from a SELECT from another class (INSERT INTO class1 FROM SELECT FROM class2 WHERE ...); depending if there were such records INSERTed, they should be deleted from that other class. For that, I need to get an indication that the SELECT FROM class2 did find anything. If the INSERT will not tell me this, then I must run the SELECT twice: one to know if it would find anything in class2, and then another time as part of the INSERT statement...
-> can this be added to the INSERT statement in a next (hopefully very soon) subrelease, please ?

Hi @rdelangh
Sure, I left this issue open just to remember to update the docs.
About the enhancement, an  INSERT INTO.. FROM SELECT.. will return a single record with a "value" property that indicates how many records were inserted. Is it enough for your use case?
Thanks
Luigi

for my use case, that would be fine indeed, but I can imagine there are other cases, where for example it would be necessary to have the RIDs returned of the newly inserted records.
So maybe it is better to support a few RETURN ... keywords (like COUNT, @RID, etc)

Try this ;-)
insert into AnotherClass RETURN @rid from select from YourClass

Thanks
Luigi

ok:
let rows = insert into class1 return @RID from select  from class2 WHERE ... ; select $rows.size();
+----+----+
|#   |$rows|
+----+----+
|0   |1   |
+----+----+

-> this can be used in my scripts.
thx!

Fixed docs, closing
Thanks!
Luigi


Switch to Swift testing

I have no plan yet. :)

Oh okay, then we can postpone this.

@ankushkushwaha , I would love to work on this issue.
I recently added Swift Testing to 2 packages.
Honestly, it shouldn't matter very much where we start since converting one test from XCTest to Swift Testing doesn't change the API, and therefore shouldn't break any other tests.
But I think the Parser module is a good place to start, since it's a very well understood problem space with lots of resources.

Okay, sounds interesting to me. @brentsimmons is the correct person to give permission for this :)

It‘s going to be a while before we start this — we’re working on the 6.2 milestone and using Xcode 15.4 for now.

Cool. @ me whenever you're ready. I'd love to work on this.


First version of blf library.

nice remember to support conditional compiling in cmake

I am committed to refining it.


Update PackageLicenseUrl to point to LICENSE file

I think License info used to originally display in the README, and the former link would anchor down to it. This will take users to the correct place.

Thanks!


rocm runtime fix. set default gcn arch to be gfx803

This commit enables passing test_codegen_device.py and test_gemm.py with rocm backend.

TGTM

Just curious, what does TGTM mean? :)


Update Erlang OTP to 22.1

Motivation for this change
Update version to newest Erlang release
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @the-kenny @sjmackenzie @couchemar @gleber

Checked on NixOS with nix-review. Also checked Elixir and Erlang binaries

Is there anything holding this pull request back?
If so, where could I help?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/70

Thanks Łukasz. This PR can be closed now.
I've made a newer one to v22.1.7


Simpler LRU cache implementation

No more TTL, right? TTL makes not a lot of sense for caching parse and validate anyway.

No more TTL, right? TTL makes not a lot of sense for caching parse and validate anyway.

That would mean breaking change (MAJOR release), right?


Receiving segmentation fault while trying to encode raw PCM data at certain frequencies

Receiving segmentation fault while encoding at frequencies not belonging to 8k,16k,24k,48k etc
Fault received for 15k, 17k, 20k
var opusEncoder = new opus.Encoder(20000,1);
fs.readFile('sampleAudio.raw', function (err, buffer) {
    if (err) {
        return console.error(err);
    }
    opusEncoder.write(buffer);
});

PID 2859 received SIGSEGV for address: 0x60
/var/www/apache/speechRecognizer/user/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x1bc8)[0x7febf71e0bc8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10d10)[0x7febf9e4ad10]
/var/www/apache/speechRecognizer/user/node_modules/node-opus/build/Release/node-opus.node(opus_encode+0x36)[0x7febf780d8e6]
/var/www/apache/speechRecognizer/user/node_modules/node-opus/build/Release/node-opus.node(_ZN11OpusEncoder6EncodeERKN3Nan20FunctionCallbackInfoIN2v85ValueEEE+0x183)[0x7febf7804b43]
/var/www/apache/speechRecognizer/user/node_modules/node-opus/build/Release/node-opus.node(+0x3db5)[0x7febf7803db5]
node(_ZN2v88internal25FunctionCallbackArguments4CallEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEE+0x92)[0x913822]
node[0x93dd01]
node[0x93e1f2]
[0x3555e7c0839b]

Not getting a Seg-fault on this sample
sampleAudio.laptop.raw.zip

Okay, that explains it.
The Opus documentation says the following about the frequency parameter:
Fs	opus_int32:
    Sampling rate of input signal (Hz) This must be one of 8000, 12000, 16000, 24000, or 48000.

But yeah, segfault is definitely wrong here. Will see about throwing an exception from the constructor with a proper error message.
Thanks for figuring it out!

Thanks for that information!
Can you also provide some pointers on how the command-line tool opusenc on linux is able to handle those frequencies?
The following works OK :
opusenc --raw-rate 20000 --raw-chan 1 sampleAudio.raw sampleAudio.ogg

Output:
Encoding using libopus 1.1 (audio)
-----------------------------------------------------
   Input: 20kHz 1 channel
  Output: 1 channel (1 uncoupled)
          20ms packets, 37kbit/sec VBR
 Preskip: 408

Encoding complete
-----------------------------------------------------
       Encoded: 24.76 seconds
       Runtime: 1e-06 seconds
                (2.476e+07x realtime)
         Wrote: 106120 bytes, 1238 packets, 27 pages
       Bitrate: 33.3977kbit/s (without overhead)
 Instant rates: 1.2kbit/s to 48.4kbit/s
                (3 to 121 bytes per packet)
      Overhead: 2.6% (container+metadata)

It could do resampling manually beforehand? The encoding doesn't specify rate.
If I remember right, Opus doesn't encode the file with a specific rate, instead it is up to the decoder to specify what rate it wants to decode at. (I was kind of hoping this wasn't the case, because now we also need the same rate validation on the decoder constructor..) :)

https://github.com/gcp/opus-tools/blob/master/src/opusenc.c#L654
Just checked. It does resampling before feeding it to the encoder.

Thanks for pointing me to the right information, it resolved my issue!
And I'm glad I could bring up some scope of betterment in node-opus :)

No idea why I never closed this. Should have been fixed in 511c439f and bc077dc96: >.>


Walk: export walk and query helpers

The walk*M and query* functions are helpful when defining new
Walkable instances.

If we're exporting these, it would be good to add Haddock comments documenting them (and perhaps indicating somehow that they're intended for defining new instances rather than for normal use?).
Question:  If the reason we need to export this is to support the instance you define in the lua module, which causes ordered traversal, should we perhaps consider instead just changing the default instances so they do this?  (Then we wouldn't need to export these helpers.)

Ah, the docs. I'll write some.
I have mixed feelings about changing the Walkable instances. I don't think the instance is used anywhere but pandoc, so this should be fine. On the other hand, I feel like the new [Inline] instance would be against the spirit of Walkable in that it would be geared towards our filter use-case, and would breaks some reasonable expectations. E.g., if I was to replace all inline lists consisting of just a single image and were to use Walkable, I might find that it replaces all images, as all list elements are passed to the filter as singletons at some point of the traversal.
I guess I see the new traversal method as kind of a hack. As such, I'd rather hide it away in an unexported module.
There is also the question of what such a change would mean for versioning. I find the PVP inconclusive in that regard.


Write a lexer for Pygments

This isn't really a code change to this repo, but thought it would be worth tracking here.
What
Write a lexer for the Pygmens syntax highlighting tool.
There's a guide here on how: https://pygments.org/docs/lexerdevelopment/
And it may be useful to reference both the Go and HTML lexers:
https://github.com/pygments/pygments/blob/master/pygments/lexers/go.py
https://github.com/pygments/pygments/blob/master/pygments/lexers/html.py
Why
Pygmens is the syntax highligher that Github uses, so completing this would make for some colourful code in the github web app.

This would also enable templ support in https://github.com/alecthomas/chroma, which would be nice for server side syntax highlighting in Go.

Agreed... it's becoming a bit of a risk for changing the language design, having to go and update all the parsers!
Textmate rings a bell, I believe that may also work with jetbrains for https://github.com/templ-go/templ-jetbrains

There is also the prism.js syntax highlighter for the docs.

Ah yes, thanks! I think it could be possible to swap out the docs to use https://shiki.matsu.io which also uses TextMate.
There's a Docusaurus plugin, but I took a look at your templ documentation site, and it's started to look amazing, so maybe we won't need it. ;)

Github uses Linguist, so I will close this as we have a PR in for linguist.


Project Addded :  Eye Blink Detection using OpenCV and Dlib

This project captures real-time video from a webcam and calculates the number of blinks using Eye Aspect Ratio (EAR). The script leverages OpenCV for video processing and face detection, Dlib for facial landmarks detection, and SciPy for calculating distances to measure the blink threshold.
Requirements
To run this project, you'll need the following libraries:

OpenCV
Dlib
Imutils
Scipy
Matplotlib
Additionally, you'll need a facial landmark model:
shape_predictor_68_face_landmarks.dat

can you add readme.md file for understand how to download and use you project because there is very large file.

Okay i will update my readme. Can you help me why i am getting this warning in my Hacktoberfest profile.

I need to look into it maybe repository excluded from hacktoberfest...no worry, i am working on that to include again this repository here.


cwltool: init at 3.1.20210628163208

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 130903 at 5ba30bbe run on x86_64-linux 1

7 packages built successfully:

cwltool
python38Packages.bagit
python38Packages.schema-salad
python38Packages.shellescape
python39Packages.bagit
python39Packages.schema-salad
python39Packages.shellescape

1 suggestion:

warning: no-python-tests
Test runner could not discover any test cases: ‘Ran 0 tests in 0.000s’
Near pkgs/development/python-modules/shellescape/default.nix:18:0:
   |
18 |     description = "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote)";
   | ^

working tests
diff --git a/pkgs/applications/science/misc/cwltool/default.nix b/pkgs/applications/science/misc/cwltool/default.nix
index 21e3c47b323..c2f115a137b 100644
--- a/pkgs/applications/science/misc/cwltool/default.nix
+++ b/pkgs/applications/science/misc/cwltool/default.nix
@@ -1,14 +1,19 @@
 { lib
 , python3Packages
+, fetchFromGitHub
+, nodejs
+, git
 }:

 python3Packages.buildPythonApplication rec {
   pname = "cwltool";
   version = "3.1.20210628163208";

-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "21b885f725420413d2f87eadc5e81c08a9c91beceda89b35d1a702ec4df47e52";
+  src = fetchFromGitHub {
+    owner = "common-workflow-language";
+    repo = "cwltool";
+    rev = version;
+    sha256 = "1m75m7fjya3qj3p2a764djf9qd8bgw0xlnlq539vr214mg7095x5";
   };

   postPatch = ''
@@ -16,6 +21,11 @@ python3Packages.buildPythonApplication rec {
       --replace 'prov == 1.5.1' 'prov'
   '';

+  # running egg_info error: [Errno 2] No such file or directory: 'git'
+  nativeBuildInputs = [ git ];
+  # Is this a runtime dep?
+  buildInputs = [ nodejs ];
+
   propagatedBuildInputs = with python3Packages; [
     argcomplete
     bagit
@@ -29,8 +39,35 @@ python3Packages.buildPythonApplication rec {
     typing-extensions
   ];

-  doCheck = false; # hard to setup
-  pythonImportsCheck = [ "cwltool" ];
+  checkInputs = with python3Packages; [
+    pytestCheckHook
+    pytest-mock
+    pytest-xdist
+    pytest-cov
+    rdflib-jsonld
+    # cwltool requires Node.js engine to evaluate and validate Javascript expressions
+    nodejs
+  ];
+
+  disabledTests = [
+    # network
+    "test_http_path_mapping"
+    # network
+    "test_content_types"
+    # network
+    "test_load_graph_fragment_from_packed"
+    # /build/source/cwltool/sandboxjs.py:290: FutureWarning: Possible nested set at position 2
+    "test_js_console_cmd_line_tool"
+    # contains getTrueShellExeName | AssertionError: assert b''
+    "test_env_filtering"
+  ];
+
+  disabledTestPaths = [
+    # ModuleNotFoundError: No module named 'arcp'
+    "tests/test_provenance.py"
+    # network
+    "tests/test_udocker.py"
+  ];

   meta = with lib; {
     homepage = "https://www.commonwl.org";

Please disable pytest-cov.


Remove duplicated code in e2e tests

Why we need this PR
Refactoring for the duplicated code in e2e tests
Changes made
Extract the common test routine and remove the duplication

/ok-to-test

/retest

If the PR changes suit your needs and it is ready to be approved and reviewed, then please remove [WIP] from the PR title as it adds a blocker label do-not-merge/work-in-progress @k-keiichi-rh

/approve

As far as I checked, I have no concerns for this patch.
I appreciate it if you could review the patch. Thanks.

Looking at the logs it works as designed.
Thank you @k-keiichi-rh for this improvement to the e2e test code.
/lgtm


Add a version switcher to the docs

In GitLab by @Huite on Sep 2, 2022, 13:29
The theme we use supports it:
https://pydata-sphinx-theme.readthedocs.io/en/latest/user_guide/version-dropdown.html

In GitLab by @Huite on Sep 5, 2022, 09:26
Unfortunately, the theme makes it easy, but gitlab doesn't yet...
https://gitlab.com/gitlab-org/gitlab/-/issues/33822


zarf remove timeout behavior

Overview
I hit a timeout while trying to remove a zarf package with zarf package remove --confirm <package>. Upon trying to re-run the command, it errored out immediately because the release could not be found.
Environment
OS: Ubuntu 22.04.1
App version: 0.22.2
K8s distro: RKE2 v1.23.12+rke2r1
Steps to reproduce

Install a zarf package with multiple components
Attempt to uninstall the package with zarf package remove --confirm <pkg>
Force a timeout, or perhaps just ^C while waiting for the first component to be removed
Attempt to retry

Expected result
We should be able to retry the uninstall if not all components have been removed.
Actual Result
The first attempt timed out after a partial removal -- the second attempt encountered the error shown below. It's worth noting that the helm release was (eventually) successfully removed, it just took longer than the 3 minute timeout.
1st attempt:
$ zarf package remove --confirm zarf-package-dco-foundation.tar.zst

Saving log file to /tmp/zarf-2022-11-30-20-51-45-2999251838.log
 WARNING  Unable to remove the installed helm chart (zarf-2e2bab6c9dd0079054afc56c2fa7786626dfea67) from the
          namespace (default) of component (dataplane-ek) (were dependent components removed first?)

     ERROR:  Unable to remove the package with an error of: uninstallation completed with 1 error(s): timed out
             waiting for the condition

Any subsequent attempt:
$ zarf package remove --confirm zarf-package-dco-foundation.tar.zst

Saving log file to /tmp/zarf-2022-11-30-20-58-55-244949737.log
 WARNING  Unable to remove the installed helm chart (zarf-2e2bab6c9dd0079054afc56c2fa7786626dfea67) from the
          namespace (default) of component (dataplane-ek) (were dependent components removed first?)

     ERROR:  Unable to remove the package with an error of: uninstall: Release not loaded:
             zarf-2e2bab6c9dd0079054afc56c2fa7786626dfea67: release: not found

Suspected Cause
The initial attempt timed out waiting for the last component in the package (first to be removed). After the timeout, on subsequent attempts, the helm release for that component had already been deleted, and the Zarf command exited without attempting to delete other components.
Workaround
We were able to work around the issue by specifying components for removal one at a time.
ex:

zarf package remove --confirm --components cdi zarf-package-dco-foundation.tar.zst
zarf package remove --confirm --components kubevirt zarf-package-dco-foundation.tar.zst
...

Requested Change(s)

The timeout for removal should be increased from 3 minutes and/or made configurable via a flag
Optionally allow the user to continue through the uninstall tree rather than fail out (perhaps a --force flag?)

Re: WORKAROUND
Upon further inspection, I'm not convinced this approach actually worked.
The log output indicated success:
$ zarf package remove --confirm --components flux zarf-package-dco-foundation.tar.zst

Saving log file to /tmp/zarf-2022-11-30-21-31-42-953653752.log
  ⠋  purge requested for zarf-7d09e15bc5c306edbd516bbe02b66c3d319ca464

But with no apparent impact to helm releases deployed on the cluster.
We ended up manually removing each helm release (helm uninstall ...), then each flux resource (kubectl delete hr ...), finalizers on each of those resources (kubectl edit hr ...), and then finally the namespaces..

Yeah I think we need to do a couple things here: increase the timeout for sure (or make it configurable) and think through failed states better. @YrrepNoj you worked this last right?


Possible Regression with Ignore Settings

@jlongster I was looking at the CHANGELOG because I'm planning on getting that back on track, but I noticed this line and am worried there was a regression with the changes I made in https://github.com/jlongster/prettier-atom/pull/22.
Can you give more insight on what behavior this is describing, and I can make sure it is put back in?
Also, the release numbers in the CHANGELOG do not seem to correlate with the release tags. Should I squash all of them into one v0.0.1 release and then add what we've done since then?

@robwise We should remove the changelog. I forked the standard-formatter project to make this we've just inherited it. We should blow it away and make a new one (if we want it).


Add -e option to pull request

Hi. -e option improves pull-request with template.
For example
run pull-request -F template_file -e then open editor and configure a template file. :tada:
related issue: https://github.com/github/hub/issues/446

Thanks! This will need a test in features/pull_request.feature to get accepted. Look for existing tests using -F or "text editor".

fd09d23
Thanks!! I added test to  features/pull_request.feature :+1:

Thanks for updating! This is getting really close to being done. However, I'm not satisfied with the test completely. We're not verifying in any way that the template was seen by the user and offered for editing. However, setting up a proper test is tricky and I won't blame you if I don't want to deal with that right now. When I catch some time I'll try to work on top of your code to improve the test.

Sorry for jumping in late! this is an awesome addition but to me it seems like this provides a much different feature then -F. It would be preferable to have a completely different flag for this IMO. -F to me is when you have already completely prepared a message where if would like to use a template It would seem like you should be able to do something like -T instead of having to set -F and then -e. It is also just odd to me because you very rarely see command line flags that manipulate another command line flag in a way like this and i think would lead to some confusion among end users.

@m-nakamura145 this is a feature I would very much like are you still working on it? I don't want it to sit in PR purgatory :cry:  so let me know if you are no longer invested in getting this up to current standards and I will take over.

@michaeljs1990 I'm sorry for beging late. :pray:  I will do this PR until the last. :runner:

@m-nakamura145 you have any idea when you will get to make the changes requested above?

Do we still want this feature in? :wink:

I want this feature but couldn't write test code. sorry :bow: :weary:

@m-nakamura145 That's OK! I'll see what I can do.

I would still very much like this feature :+1:

OK - I'm just looking at the tests - getting 7 failures that are unrelated to this PR, so ignoring for now, assuming they'll go away when rebased against current master.

To summarise, we need to change the flag from '-f' to '-T'
The PR needs a working cucumber test to cover the rendering of a commit message given a template

Does it need a golang written test?

The most useful tests for this should be added to feature/pull_request.feature.
Why changing -F to -T?

:+1:

I see the tests are passing, does it need more tests? Can I help in any way to get this landed?

:+1: would really like to see this too, happy to help if help is needed. Looks like a rebase is all it needs though.

Is this still valid with https://github.com/github/hub/pull/1187 ?

No I think this has been dealt with thanks!

I'm not sure that this is fully addressed by templates in #1187. With the -F flag, I can use bash process substitution to dynamically generate the PR description based on some script (e.g. as a simple example hub pull-request -F <(git log --format=%B origin/master..HEAD)). I wish I could do this as a dynamic default but have the content open in an editor before creating the PR.
Can I accomplish this with the templates?

@dcosson probably not, though I've been using a short bash script for a while to accomplish this feature using a tmpfile. You should be able to do it with something like this:
PR_MSG=$(mktemp --suffix=".md" -t PR_MSG.XXXXXX )
git log --format=%B origin/master..HEAD > "$PR_MSG"
$EDITOR -w "$PR_MSG"
hub pull-request -F "$PR_MSG"
rm -f "$PR_MSG"


Performance and user experience - raspberry pi 3 B+

Hello Everyone,
I am not reporting a bug, I just asking for some help based on your experience.
I am running FreeRDP version 2.0.0-dev5 (2693389a+debian) on small and pretty PI's  as a clients for a couple of  windows7/10  vms.
Performance is not very good,  and video streaming ( youtube ) is very laggy,  pretty much without any difference if it's connected to win7 or win10.
Bandwidth is not a problem, all the network devices have 1gb/s connections.
Here is my running command:
/usr/bin/xfreerdp /cert-ignore /f /size:1024x768 /bpp:16 /gdi:hw /sec:tls /v:$server_ip +compression +fonts +decorations +auto-reconnect -menu-anims /workarea /sound:sys:alsa,format:1,quality:high /multimedia:sys:alsa /auto-reconnect-max-retries:0 /drive:usb,/media/pi/
(Pulseaudio does not working anymore for some reason,  so going with alsa for the minute)

Is there something I can do to improve overall performance for a good user desktop experience ?
Should it be different options for win7/win10 ?
Some users are using usb certificate tokens. What would it be the procedure to map them to the connected vm ?
I would really appreciate any help.
Thank you very much !

Please use the mailing list or irc for support.
You might want to repeat tests with /rfx /gfx:avc444 added and these modes enabled on the server.

And check your /buildconfig


MINOR: Move dynamic config logic to DynamicConfigPublisher

Split out the logic for applying dynamic configurations to a KafkaConfig object from BrokerMetadataPublisher into a new class, DynamicConfigPublisher. This will allow the ControllerServer to also run this code, in a follow-up change.
Create separate KafkaConfig objects in BrokerServer versus ControllerServer. This is necessary because the controller will apply configuration changes as soon as its raft client catches up to the high water mark, whereas the broker will wait for the active controller to acknowledge it has caught up in a heartbeat response. So when running in combined mode, we want two separate KafkaConfig objects that are changed at different times.
Minor changes: improve the error message when catching up broker metadata fails. Fix incorrect indentation in checkstyle/import-control.xml. Invoke AppInfoParser.unregisterAppInfo from SharedServer.stop so that it happens only when both the controller and broker have shut down.

failing test is unrelated


issue#644:Reverting back KMeans expression as it's now covered by scope

@herleraja
I have also moved all the existing expressions in AnalyticsServiceDev tenant to scope expression

@ankit-jha We need to support the older version of the code. Our changes will break the customer who is already using the anomaly function. Do let me know the back support plan / migration plan.
Also check the production environment, how many people using this function then we can decide on a migration plan.

We can migrate all the KMeans expression to scope expression in the database same time we push the 644 in production.

@herleraja
Does this mean https://github.com/ibm-watson-iot/functions/pull/243 that KMeans expression went into production today ?

@ankit-jha No. That pull request I closed it. I did not merge it.

We did a dependency check on US,UK and EU prod tenants. None of them have started using KMeans expression yet so the migration should not pose any issues.


Paket should keep paket.dependencies as stable as possible

Idea:
Instead of serializing the Dependencies file from the already parsed information we always modify the text and reparse it. Maybe not the best style, but it keep comments and everything in place.
fixes #780, #731
This needs a lot of testing. Especially the convert-from-nuget stuff (cc @theimowski)
/cc @matthid, @cjbhaines, @mexx, @inosik , @haf

I'll do some testing on Friday

huh. I accidentally realigned the whole file. reverting that

it's in 1.3.0-alpha001

I think dependenciesFile is a good candidate for Property-Based round-trip test (parse, format, compare). Would need better tracking of comments/ custom code and similar stuff tho.

would love to see that.
2015-04-30 21:07 GMT+02:00 Tomasz Heimowski<EMAIL_ADDRESS>
I think dependenciesFile is a good candidate for Property-Based
round-trip test (parse, format, compare). Would need better tracking of
comments/ custom code and similar stuff tho.
—
Reply to this email directly or view it on GitHub
https://github.com/fsprojects/Paket/pull/802#issuecomment-97929755.

changes in NugetConver look ok - tested on a simple scenario, accidently also found a bug in the convert logic itself - fix in #804

so ready to release?

:shipit:


TypeError: Cannot read property 'length' of undefined

I just saw this stacktrace when I ran out of sources. I think what I did is delete my user settings that I had from the opened editor:
"Cannot read property 'length' of undefined: TypeError: Cannot read property 'length' of undefined
    at file:///Users/bpasero/Development/Microsoft/monaco/out/vs/platform/actions/common/menu.js:45:64
    at CallbackList.invoke (file:///Users/bpasero/Development/Microsoft/monaco/out/vs/base/common/callbackList.js:58:43)
    at Emitter.fire (file:///Users/bpasero/Development/Microsoft/monaco/out/vs/base/common/event.js:91:40)
    at file:///Users/bpasero/Development/Microsoft/monaco/out/vs/base/common/event.js:291:33", source: file:///Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/electron-browser/shell.js (239)

A change from me appears as the last one touching those lines, but I just moved the code bug-for-bug from menuService, to remove utility code from a service declaration file. I think items is null/undefined in the exception.


When we bind existing volumes to an app, volumes looses its "volume class".

Acorn version - acorn version v0.6.0+c6ffc99d
Steps to reproduce the problem:

Launch an app having volumes (acorn run -n mytestapp1  .)

% acorn volumes
NAME                                       APP-NAME          BOUND-VOLUME   CAPACITY   VOLUME-CLASS   STATUS    ACCESS-MODES   CREATED
pvc-23ad567a-821d-4b21-b354-78b61243754c   mytestapp1        my-data        10G        local-path     bound     RWO            64s ago

Remove apps (without deleting volumes) and wait for volume to get to "released" state.

% acorn rm  mytestapp1
Removed: mytestapp1

% acorn volumes
NAME                                       APP-NAME          BOUND-VOLUME   CAPACITY   VOLUME-CLASS   STATUS     ACCESS-MODES   CREATED
pvc-23ad567a-821d-4b21-b354-78b61243754c   mytestapp1        my-data        10G        local-path     released   RWO            2m20s ago

Run another app that binds the above volume:
acorn run --update -v pvc-23ad567a-821d-4b21-b354-78b61243754c:my-data -n mytestappbind -f AcornfileBind

 cat Acornfilebind
containers: {
mynginx: {
    ports: publish: "80/http"
    image: "nginx"
    dirs: {
        "/usr/share/nginx/html/test1": "volume://my-data"
     }
 }
}

Once the app is launched successufully , we see the existing volume get bound to mytestappbind as expected but VOLUME-CLASS becomes empty.
acorn volumes
NAME                                       APP-NAME          BOUND-VOLUME   CAPACITY   VOLUME-CLASS   STATUS    ACCESS-MODES   CREATED
pvc-23ad567a-821d-4b21-b354-78b61243754c   mytestappbind     my-data-bind   10G                       bound     RWO            4m23s ago

In this case , we see the volume-class set in spec but not in status .
% acorn volumes -o json
{
    "kind": "Volume",
    "apiVersion": "api.acorn.io/v1",
    "metadata": {
        "name": "pvc-4c3f6af0-2ecb-4fd7-9826-08901a076631",
        "namespace": "acorn",
        "generation": 2,
        "creationTimestamp": "2023-03-14T19:00:01Z",
        "finalizers": [
            "finalizer.hub.acorn.io/volume"
        ]
    },
    "spec": {
        "capacity": "10Gi",
        "accessModes": [
            "readWriteOnce"
        ],
        "class": "ebs-retain"
    },
    "status": {
        "appName": "testvolbind",
        "appNamespace": "a-hub-e2e-acorn-75a94d74",
        "volumeName": "my-data-bind",
        "status": "bound",
        "columns": {
            "accessModes": "RWO"
        }
    }
}

Tested with  acorn version v0.6.0-113-g83b7b9f3+83b7b9f3
volumes have volume-class set when they get bound to an App.
Deploy app testvoldata with vol - my-data.
% acorn volumes
ALIAS                         NAME                                       APP-NAME         BOUND-VOLUME   CAPACITY   VOLUME-CLASS   STATUS     ACCESS-MODES   CREATED
testvoldata.my-data           pvc-b3d31c1a-488c-458a-b58c-4181b62fb625   testvoldata      my-data        10G        local-path     bound      RWO            6s ago

Delete App without removing volumes so that they get to "released" state.
 % acorn volumes
ALIAS                         NAME                                       APP-NAME         BOUND-VOLUME   CAPACITY   VOLUME-CLASS   STATUS     ACCESS-MODES   CREATED
testvoldata.my-data           pvc-b3d31c1a-488c-458a-b58c-4181b62fb625   testvoldata      my-data        10G        local-path     released   RWO            21s ago

Deploy app testvolbind  and bind it to existing volume pvc-b3d31c1a-488c-458a-b58c-4181b62fb625.
Once app gets deployed successfully , volume class on the volumes is set to "local-path" as expected.
 % acorn volumes
ALIAS                         NAME                                       APP-NAME         BOUND-VOLUME   CAPACITY   VOLUME-CLASS   STATUS     ACCESS-MODES   CREATED
testvolbind.my-data-bind      pvc-b3d31c1a-488c-458a-b58c-4181b62fb625   testvolbind      my-data-bind   10G        local-path     bound      RWO            55s ago


Changes type check on SpanBounds getData

Pull Request Test Coverage Report for Build 71

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.084%

Totals

Change from base Build 69:
0.0%

Covered Lines:
1207

Relevant Lines:
1698

💛  - Coveralls


Npm repository to latest version

Hi,
I found that npm repository version point to 0.4.2 but git repository version points to 0.5.0. Is this because current version is not completed or is current repository 0.5.0 usable for production?

No, I rollback this version because had a lot of issues.
Currently I'm refactoring the whole code (https://github.com/nassor/mongoose-history/tree/refactoring) to release a version 0.6.0

I would like to contribute for this project as I am looking for same kind of functionality. Let me know if you are looking for contributor.


fix: bug in code import where second import is ignored

Using global regex match in combination with exec seems to cause unintended behavior when matching multiple anchors in the same code block.
For example, the following:
```rust
{{#include @code/crates-tui-tutorial-app/src/bin/part-helper.rs:crates_query}}

{{#include @code/crates-tui-tutorial-app/src/bin/part-helper.rs:crates_response}}
```

renders this:

I added a console.log() inside the while loop to confirm that the match is misbehaving:
     while ((match = includeRegex.exec(node.value)) !== null) {
        console.log(match);

With rx.g:

With just rx (i.e. removing global match), i.e. this PR:

With this change it renders as intended.

I checked the existing tutorials and it renders correctly. I also searched for }}\n{{ and those render correctly too.


is one of the goals of fp-ts to have polymorphic functions

is one of the goals of fp-ts to have polymorphic functions?
What I am looking for and what led me here wa a way of being able to have a concat function for example like you have for Semigroup and be able to  call that at runtime with different types:
concat({one: 1, two: 2}, {two: 'two', three: 3})).to.deep.equal({one: 1, two: 'two', three: 3}

concat(append([1,2,3], [4,4,4])).to.deep.equal([1,2,3,4,4,4]);

The code is a level above anything I have ever seen before and I am still trying to get my head around the function overloading and curried functions.
Is there any provision for this type of thing in fp-ts?

@dagda1 in fp-ts instances are implemented ad static dictionaries (you may wanto to check out static-land for an overview). You can define a generic concat function which is able to handle several types but you must inject the right dictionary by hand (since AFAIK there's no principled way to do this automatically)
import { Semigroup, getArraySemigroup, semigroupSum } from 'fp-ts/lib/Semigroup'

// generic concat
const concat = <A>(S: Semigroup<A>): ((x: A, y: A) => A) => S.concat

import { StrMap, getMonoid } from 'fp-ts/lib/StrMap'

console.log(
  concat(getMonoid<number | string>())(
    new StrMap({
      one: 1,
      two: 2
    }),
    new StrMap({
      two: 'two',
      three: 3
    })
  )
) // StrMap { value: { one: 1, two: 'two', three: 3 } }

console.log(concat(getArraySemigroup<number>())([1, 2, 3], [4, 4, 4])) // [ 1, 2, 3, 4, 4, 4 ]

This is great and I think fp-ts looks utterly amazing.
I wonder if you could explain how the function overloading explains in Foldable here.
It is not obvious to me what the differences are between Foldable3, Type3 etc. , I'd love to understand better how this works.

@dagda1 take a look at How HKT, URI2HKT, URIS and Type work

many thanks


Consume less resources

For a client using the snowflake export

After running it for a while, we're sure that we are consuming too many Snowflake credits via the current import method. We'll need to change to an hourly import. Do you think the current Snowflake plugin can be made to do that well? Last time [name] switched it to hourly he got errors.

Our export code continuously sends INSERT statements to upload data. This requires a snowflake compute node to be always present, and that's $$$.
After a call with Craig from Snowflake we found out:

As an alternative, he did suggest uploading documents one by one to their internal “S3” and then for example asking to read them all in once per hour, incurring less compute resources
Uploading files to their internal S3-like location is apparently not possible with the node integration, but is possible with the python integration… so we would have to do a bit of work to get this to work well, but it seems doable.

So @yakkomajuri, for some context:
I tried to use https://github.com/snowflakedb/snowflake-connector-nodejs/pull/169's branch to upload buffer dumps into Snowflake internal stages, but unfortunately not possible with that – as far as I understand, when uploading to an internal stage, there isn't actually a Snowflake API endpoint, but somehow a URL to the underlying (AWS S3|GCP GCS|whatever storage Azure has) is obtained, and that is then used for upload – which requires some Snowflake-y authentication though, which is pretty opaque. And that PR (also, AFAIU) only supports S3 for now. It seems pretty much just reverse-engineered from the Python library, but much reverse-engineering still left to be done there to make the feature actually functional.
Hence… I would suggest going for that external stage route in the end – GCS and/or S3. Less user-friendly, but much less of a behemoth to engineer.
In that case the plugin would need credentials for:

Snowflake (like now)
GCS or S3 (new)

The way it could work would be:

execute a Snowflake query to make sure that the appropriate external stage exists, connected to the object storage bucket we know about
use exportEvents to regularly dump JSON files with events into object storage
every hour execute a Snowflake query to ingest events from these dumps in the bucket (can be less than an hour in dev mode, but has to be less frequent for prod users to keep the costs down for them)

I would actually advise against keeping the current temporary table-based way of doing things (which was discussed in #4), since it's kind of convoluted, and just not valuable for anyone. It's cool as a toy, but due to these costs concerns, no one would actually want to use it.
You can build on #4, which is also a refactor of the plugin, but feel free to work on your own fresh PR if that makes it easier.

Done thanks to #5 (export via AWS) and #7 (export via GCP).


Something wrong with Online Image to C Array Converter?

Hi gabor,
When using Online Image to C Array Converter to convert a 1024*600 24-bit jpg image  which is shown in the attach file to C array, the last part of the data is garbled character.
Thanks!

In other words, is there any restrictions while using Online Image to C Array Converter? For example, the size of the picture can't exceed a certain value?

Hi,
I tested it the PC simulator and it worked for me.
I attached a screen shoot when using the image and a "C" file which is the converted image. The "C" file different for you? Or does it work with the attached C file?
img_conv_test.zip

Thanks for your response. And I have tested this two pictures using Online Image to C Array Converter, the results show that the parsed data of "img_conv_test.png" is incorrect which is the same as I tested the 1024*600 24-bit jpg image before, while the picture "test.png" of a smaller size is converted correctly.
I thought there might be related to the size of the converted file. The size of "img_conv_test.png" after the conversion reaches 44.87MB. So would you test "img_conv_test.png" with the Online way to see if we have the same situation when you are free? Thanks a lot!

I seem to have found the reason which is related to the network. The size of the converted C array by Online method is about 44MB, while the size of the file I download is smaller than the 44MB even I have tried many times, so that the last part of the .c file is garbled character. Um...I have no other way of doing this for the time being. But thank you all the same!

It's very strange.
On my server, I increased the memory size dedicated to PHP scripts. Hopefully, it will help.
And the converter scrips are available here too: https://github.com/littlevgl/lv_utils
You can try to run the scrips offline in a terminal.

I new image converter is released. Hope your issue is solved in it.
If don't or you find other issues just reopen this issue.


Demonstrate how to tell if a user-supplied getFallback() exists

Hystrix-pull-requests #233 SUCCESS
This pull request looks good


在linearlayout中无法显示

@SwiftyWang

not support linearlayout now.
lv910929<EMAIL_ADDRESS>14:07写道：

@SwiftyWang https://github.com/SwiftyWang
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SwiftyWang/ToastBar/issues/5, or mute the thread
https://github.com/notifications/unsubscribe-auth/AONZNtOUxTQOUZVvkFj00ZzKotm8FTjIks5rDmQhgaJpZM4LBCMa
.

get it

and relativelayout


doc/troubleshooting: how to trouble shoot inotify problems

This happens when trying to run many nodes.
Also, add a TOC so users have an overview of the problems addressed.

Good point, I'll try to rephrase

Updated.