Need to implement NodeStageVolume/NodeUnstageVolume

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind feature
What happened: Failed to start CSI plugin pods on my setup.
What you expected to happen: After "kubectl create -f opensds/nbp/csi/server/deploy/kubernetes", I expect 3 CSI plugin pods up and running, but they failed to start.
How to reproduce it (as minimally and precisely as possible):
Deployed using opensds-installer ansible in csi mode.  CSI plugin pods failed to start.
xyang@ubuntu:~/go/src/github.com/opensds/nbp/csi/server/deploy$ kubectl get pod
NAME                                 READY     STATUS             RESTARTS   AGE
csi-attacher-opensdsplugin-0         0/2       CrashLoopBackOff   12         6m
csi-nodeplugin-opensdsplugin-9drgf   0/2       CrashLoopBackOff   12         6m
csi-provisioner-opensdsplugin-0      0/2       CrashLoopBackOff   12         6m

$ kubectl describe pod csi-provisioner-opensdsplugin-0
Events:
Type     Reason                 Age              From                Message

Normal   Scheduled              4m               default-scheduler   Successfully assigned csi-provisioner-opensdsplugin-0 to <IP_ADDRESS>
Normal   SuccessfulMountVolume  4m               kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "socket-dir"
Normal   SuccessfulMountVolume  4m               kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "csi-provisioner-token-ds6vq"
Normal   Created                4m (x3 over 4m)  kubelet, <IP_ADDRESS>  Created container
Warning  Failed                 4m (x3 over 4m)  kubelet, <IP_ADDRESS>  Error: failed to start container "csi-provisioner": Error response from daemon: linux mounts: Could not find source mount of /var/lib/kubelet/pods/af360ec3-6cbc-11e8-95d2-000c29f57be0/volumes/kubernetes.io~empty-dir/socket-dir
Normal   Pulled                 4m (x3 over 4m)  kubelet, <IP_ADDRESS>  Container image "opensdsio/csiplugin:latest" already present on machine
Normal   Created                4m (x3 over 4m)  kubelet, <IP_ADDRESS>  Created container
Warning  Failed                 4m (x3 over 4m)  kubelet, <IP_ADDRESS>  Error: failed to start container "opensds": Error response from daemon: linux mounts: Could not find source mount of /var/lib/kubelet/pods/af360ec3-6cbc-11e8-95d2-000c29f57be0/volumes/kubernetes.io~empty-dir/socket-dir
Warning  BackOff                4m (x2 over 4m)  kubelet, <IP_ADDRESS>  Back-off restarting failed container
Warning  BackOff                4m (x2 over 4m)  kubelet, <IP_ADDRESS>  Back-off restarting failed container
Normal   Pulled                 4m (x4 over 4m)  kubelet, <IP_ADDRESS>  Container image "quay.io/k8scsi/csi-provisioner:v0.2.0" already present on machine

kubectl describe pod csi-nodeplugin-opensdsplugin-9drgf
Events:
Type     Reason                 Age               From                Message

Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "pods-mount-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "pods-probe-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "iscsi-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "ceph-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "socket-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "csi-nodeplugin-token-dnff5"
Warning  Failed                 9m                kubelet, <IP_ADDRESS>  Error: failed to start container "opensds": Error response from daemon: linux mounts: Could not find source mount of /etc/ceph
Normal   Created                9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Created container
Warning  Failed                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Error: failed to start container "driver-registrar": Error response from daemon: linux mounts: Could not find source mount of /var/lib/kubelet/plugins/csi-opensdsplugin
Normal   Pulled                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Container image "opensdsio/csiplugin:latest" already present on machine
Normal   Created                9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Created container
Normal   Pulled                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Container image "quay.io/k8scsi/driver-registrar:v0.2.0" already present on machine
Warning  Failed                 9m (x2 over 9m)   kubelet, <IP_ADDRESS>  Error: failed to start container "opensds": Error response from daemon: linux mounts: Could not find source mount of /etc/iscsi
Warning  BackOff                4m (x23 over 9m)  kubelet, <IP_ADDRESS>  Back-off restarting failed container

kubectl describe pod csi-attacher-opensdsplugin-0
Events:
Type     Reason                 Age               From                Message

Normal   Scheduled              9m                default-scheduler   Successfully assigned csi-attacher-opensdsplugin-0 to <IP_ADDRESS>
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "iscsi-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "ceph-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "socket-dir"
Normal   SuccessfulMountVolume  9m                kubelet, <IP_ADDRESS>  MountVolume.SetUp succeeded for volume "csi-attacher-token-vn2kt"
Normal   Created                9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Created container
Normal   Pulled                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Container image "quay.io/k8scsi/csi-attacher:v0.2.0" already present on machine
Warning  Failed                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Error: failed to start container "csi-attacher": Error response from daemon: linux mounts: Could not find source mount of /var/lib/kubelet/pods/af319f82-6cbc-11e8-95d2-000c29f57be0/volumes/kubernetes.io~empty-dir/socket-dir
Normal   Pulled                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Container image "opensdsio/csiplugin:latest" already present on machine
Normal   Created                9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Created container
Warning  Failed                 9m (x3 over 9m)   kubelet, <IP_ADDRESS>  Error: failed to start container "opensds": Error response from daemon: linux mounts: Could not find source mount of /var/lib/kubelet/pods/af319f82-6cbc-11e8-95d2-000c29f57be0/volumes/kubernetes.io~empty-dir/socket-dir
Warning  BackOff                9m (x2 over 9m)   kubelet, <IP_ADDRESS>  Back-off restarting failed container
Warning  BackOff                4m (x24 over 9m)  kubelet, <IP_ADDRESS>  Back-off restarting failed container

But socket-dir is available:
root@ubuntu:/var/lib/kubelet/pods/af360ec3-6cbc-11e8-95d2-000c29f57be0/volumes/kubernetes.io~empty-dir# ls -l
total 4
drwxrwxrwx 2 root root 4096 Jun 10 07:43 socket-dir
After reading this issue https://github.com/kubernetes/kubernetes-anywhere/issues/88, I did a bind mount:
sudo mount -o bind /var/lib/kubelet /var/lib/kubelet
sudo mount --make-shared /var/lib/kubelet
sudo mount -o bind /etc/iscsi /etc/iscsi
sudo mount --make-shared /etc/iscsi
sudo mount -o bind /etc/ceph /etc/ceph
sudo mount --make-shared /etc/ceph
Deleted the pods and recreated them.  After that the provisioner and attacher pod was started successfully:
xyang@ubuntu:~/go/src/github.com/opensds/nbp/csi/server/deploy$ kubectl get pod
NAME                                 READY     STATUS             RESTARTS   AGE
csi-attacher-opensdsplugin-0         2/2       Running            0          4m
csi-nodeplugin-opensdsplugin-sdhs2   1/2       CrashLoopBackOff   5          4m
csi-provisioner-opensdsplugin-0      2/2       Running            0          4m
NodePublishVolume is the place to do "bind mount", while NodeStageVolume is the place to do a mount at a "global" dir.  We should implement NodeStageVolume and do bind mount in NodePublishVolume.
Anything else we need to know?:
Environment:

NBP version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

After bind mount, I can start the node plugin pod successfully:
sudo mount -o bind /var/lib/kubelet/pods/83aff2c0-6ccc-11e8-95d2-000c29f57be0/containers/opensds /var/lib/kubelet/pods/83aff2c0-6ccc-11e8-95d2-000c29f57be0/containers/opensds
sudo mount --make-shared /var/lib/kubelet/pods/83aff2c0-6ccc-11e8-95d2-000c29f57be0/containers/opensds
kubectl get pod
NAME READY STATUS RESTARTS AGE
csi-attacher-opensdsplugin-0 2/2 Running 0 2m
csi-nodeplugin-opensdsplugin-9gnzd 2/2 Running 5 2m
csi-provisioner-opensdsplugin-0 2/2 Running 0 2m

Actually some errors I got are resolved by this PR: https://github.com/opensds/nbp/pull/132.
We still should implement NodeStageVolume/NodeUnstageVolume though.


High preset for a 4k webcam records in 1080p

Hi, the high preset for my 4k webcam (Logi 4k Pro) records in 1080p and I don't see a way to record natively in 4k. Any idea about this?
Let me know if I can help - thanks!

Sorry I don't have a 4k camera to be able to try this out.

I'm validating the chosen encoding preset here and then set it in the capture session here.
Right now, the preset must be one of these. This list was taken from older Apple API docs on capture sessions.  It looks like there are now significantly more options.
https://developer.apple.com/documentation/avfoundation/avcapturesession/preset
When I have time available I can look at introducing all these newer options.

😉 Or feel free to submit a PR for this if you know how.

Thanks - I'm happy to provide the PR.

Okay so I tried but it gave me "could not set encoding preset '3840x2160' for this device, defaulting to Medium" - I tried some other variations of the preset as well, and got the same message. See attached screenshot.
I'll try to see if OBS can use it at 4k as a sanity check.

See https://github.com/matthutchinson/videosnap/pull/28 for PR for this

Released in 0.0.9. Can be closed.


Which mime types are supported?

I seem to be unable to find supported mime-types that the API's can consume and produce.
Any references?

at this point these are supported in the code generator: https://github.com/go-swagger/go-swagger/blob/master/generator/support.go#L317-L335
We can add more through the consumer producer mechanism if you need more

Wonderful, thanks.

Did a minor pull request: https://github.com/go-swagger/go-swagger.github.io/pull/8
Protobuf would be very much appreciated 👍

Cheers

The info appears to have been removed? Because I can't find any information about supported producer mime types. 😃
Imagine having following swagger.yml
...
  /users/{userId}/image:
    get:
      tags:
      - user
      description: Get the user's profile image
      operationId: getUserImage
      parameters:
        - name: userId
          in: path
          description: The ID of the user
          required: true
          type: string
      produces:
        - application/octet-stream
      responses:
        200:
          description: Success
          schema:
            type: string
            format: binary
...

The API produces the binary/image with application/octet-stream just as intended. But writing e.g. image/jpeg in produces does not work because no producer is registered for it. It took me quite a while to figure this out because no error message was printed out and I thought that my io.ReadCloser simply didn't work.
I am using go-swagger to generate go code from my swagger spec. Is there a way to register another producer? Because the xxx_api.go is generated, I can't add it manually or can I?
(btw. I'm a go novice and just recently started using go-swagger)
Maybe an error should be printed if not supported (binary) mime types are used?
Environment
swagger version:
-> version: 0.12.0
-> commit: 8135eb6728e43b73489e80f94426e6d387809502
go version: go version go1.9.2 windows/amd64
OS:   Windows 10

See also #1284


clarify table 1 description

reviewer 1 didn't understand this sentence.
Environmental models were trained using all sites together, without information regarding which transects occurred at which site or during which year.
How about:
Environmental models were trained using only the environmental data without information on the auto regressive time component or site random effects.

That's definitely clearer, but I think it's missing a couple of things.

"the auto regressive time component or site random effects" is too specific, I think. It didn't just lack autoregressive effects and random effects: have any components at all for time or site.

It doesn't specify that the models were trained at the continental scale instead of the site level.

I've poked at your sentence a bit, and haven't figured out how best to include these two factors.  Maybe we need two sentences?  Maybe we need a parenthetical with an "i.e." or an "e.g." somewhere ?

maybe the original is confusing because of the word transect? I remember talking about taking transect out of the paper entirely because its essentially the same as site.

Environmental models were each trained as a single continental scale model using only environmental variables as opposed to site or time series information.

Nice. How about this version?
Environmental models were trained at the continental scale, using only environmental variables (as opposed to site or time series information) as predictors.

:+1:

Closed by #220.


FR: Patch Versioning

Requesting an option for adding in older (or even newer) patch versions manually without having access to a computer with the software or specific version installed.  Example could be using a flag (perhaps --version) to override the version pulled from the software.

Hi, we make a script to help with that. We don't have time to make each version so we parse some publisher website and get all previous version.
Feel free to use and adapt it :
https://github.com/CytadelHosting/patch_server_updater


Test giantswarm/cilium-app#136

Please check if PR meets these requirements

[ ] Results of the diffs have been examined and no unintended changes are being introduced.

Helper

to disable the GH Action generating manifests diffs for installations, between target and source branches, comment the /no_diffs_printing on the PR.

Trigger e2e tests

/run cluster-test-suites

/run cluster-test-suites


Broken Link in Documentation

Just a heads up it seems the link to Tokio’s guide on Futures. Under the Runtime section of https://hyper.rs/guides/client/basic is broken. It sends you to https://hyper.rs/guides/client/basic/Tokio Futures which is throwing a github pages 404
edit: actually it looks like this should belong over at https://github.com/hyperium/hyperium.github.io

Thanks for reporting this! I've pushed a fix for the link.


Datepicker is broken

The date and time picker doesn't work properly. When you choose today's date, you can put any time. But when you try to select another day, it sets the time to 00:00. When you try to change the time to another, it returns the date to today's date
Installed libraries and their versions

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Here I've selected todays date and I can change time

When I'm selecting others day, first of all it doesn't show which day I chose, second of all the time resets to 0

And when I'm trying to change time again the date is reset to today
Please fix that

This will be fixed in AdminJS v6 + Design System v3
https://user-images.githubusercontent.com/16668924/165273545-1a2c6ff2-26a9-499a-9a43-9daccaf2ab7a.mov

Also related to this, when submitting a date i.e. 2022-05-01 11:00 the database saves 2022-05-01 01:00. I am in a timezone GMT+10, so I am guessing it is doing minus 10 hours to the actual saved time. Is this something I should handle in the database (PostgreSQL) or in AdminJS? Thanks!

AdminJS sends the datetime as an ISO String to your backend so the database date should be saved in GMT+0 format.


RACK ontology - ontologies for ARP, DO, MIL standards have inconsistent URIs

The ontologies for ARP-4754 and DO-178C are defined with URIs whose prefix is http://common. In contrast, the MIL-STD-881D ontology is defined with a URI prefix of http://arcos.rack.
uri "http://common/ARP-4754A" alias ARP-4754A.
uri "http://common/DO-178C" alias DO-178C.
uri "http://arcos.rack/MIL-STD-881D/MIL-STD-881D" alias m881D.

I don't think either prefix is a good choice - I would suggest something like http://standards or perhaps http://arcos.standards.

See also #484, which might be related.

Current practice
External URLs
For reference these are the external URLs we rely upon.

http://schema.omg.org/spec/XMI/2.1
http://www.omg.org/spec/SysML/20100301/SysML-profile
http://www.omg.org/spec/SysML/20100301/SysML-profile.uml
http://www.omg.org/spec/UML/20090901
http://www.srcML.org/srcML/src
http://www.w3.org/1999/02/22-rdf-syntax-ns
http://www.w3.org/2000/01/rdf-schema
http://www.w3.org/2000/svg
http://www.w3.org/2001/XMLSchema
http://www.w3.org/2001/XMLSchema-instance
http://www.w3.org/2002/07/owl
http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd

SADL
These URLs are build into the SADL tooling

http://com.ge.research.sadl.configuration
http://sadl.org/builtinfunctions
http://sadl.org/sadlbasemodel
http://sadl.org/sadlimplicitmodel
http://sadl.org/sadllistmodel

Turnstile
These URLs are part of the Turnstile overlay.

http://Turnstile/All
http://Turnstile/CounterApplication
http://Turnstile/CounterApplicationDesignDescription
http://Turnstile/CounterApplicationRequirementSpec
http://Turnstile/CounterApplicationReviews
http://Turnstile/CounterApplicationSoftwareUnitTesting
http://Turnstile/CounterApplicationTesting
http://Turnstile/DataQueries
http://Turnstile/DevelopmentPlan
http://Turnstile/DevelopmentPlanData
http://Turnstile/HazardAssessment
http://Turnstile/TurnstileDesign

Data graphs
These URLs are used to identify datagraphs in the triple store.

http://rack001/arp-475a
http://rack001/boeing
http://rack001/data
http://rack001/do-178c
http://rack001/do-330
http://rack001/mil-std-881d
http://rack001/model

Process documents
These URLs are use to identify the instances in the process document
data.

http://arcos.rack/MIL-STD-881D/MIL-STD-881D
http://arcos.rack/MIL-STD-881D/MIL-STD-881D-AppxA
http://arcos.rack/MIL-STD-881D/MIL-STD-881D-AppxB
http://arcos.rack/MIL-STD-881D/MIL-STD-881D-AppxC
http://arcos.rack/MIL-STD-881D/MIL-STD-881D-AppxD
http://common/ARP-4754A
http://common/DO-178C
http://common/DO-330

Ontology overlays
These URLs are used to identify the ontology overlays.

http://arcos.AH-64D/Boeing
http://arcos.acert/GrammaTech
http://arcos.arbiter/STR
http://arcos.certgate/LM
http://arcos.descert/SRI

RACK ontology
These URLs are used in defining the RACK ontology.

http://arcos.rack/AGENTS
http://arcos.rack/ANALYSIS
http://arcos.rack/CONFIDENCE
http://arcos.rack/DOCUMENT
http://arcos.rack/FILE
http://arcos.rack/HAZARD
http://arcos.rack/MODEL
http://arcos.rack/PROCESS
http://arcos.rack/PROV-S
http://arcos.rack/REQUIREMENTS
http://arcos.rack/REVIEW
http://arcos.rack/SACM-S
http://arcos.rack/SOFTWARE
http://arcos.rack/SYSTEM
http://arcos.rack/TESTING


Char data type

Problem
As we all know, Char is a fundamental type for any language and without it, a lot of things that can be done with a few lines of code, cannot be done with a few lines of code. For example, it will be quite useful in all numerical to textual conversion, random number generation, alternative hashing functions and so on. Hence it would be great if this can be delivered as a priority.
Happy Case
The implementation should mirror those in other languages .
_**let mut c: Char = 's';
let mut x = "ftring";
x = x.replace('f', c);**_
Something like that at least
Alternatives Considered
Unfortunately, this is non-negotiable to ensure the survival of the language in the longer term.
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

Hi there, @harshnambiar. I would consider Unfortunately, this is non-negotiable to ensure the survival of the language in the longer term. to be the wrong attitude. However a char type seems simple enough, but your string mutation example is more involved.

Sorry if saying a language without a fundamental data type might not survive felt like a wrong attitude to have.

Hi there, @harshnambiar. I would consider Unfortunately, this is non-negotiable to ensure the survival of the language in the longer term. to be the wrong attitude. However a char type seems simple enough, but your string mutation example is more involved.

Sorry if saying a language without a fundamental data type might not survive felt like a wrong attitude to have.

It's no worries, but I do want to point out how I'm sure others in ZK DSL space read this issue. We consider that it's a nice-to-have data type, anything more needs convincing. This is enough to implement it! So no worries. But if you want to further convince concepts such as 'fundamental', 'ASAP', 'non-negotiable' you do need to understand our thinking, not just your own

As for my thinking: Yes string primitives are eventually something we need but we are still iterating on fundamental concepts such as how loops compile, the ability to run unconstrained code, etc. For now it's enough for us to know what we do allows computation to be done efficiently, these features we eventually will fill out, but just want to level set what 'ASAP' might mean

Hi there, @harshnambiar. I would consider Unfortunately, this is non-negotiable to ensure the survival of the language in the longer term. to be the wrong attitude. However a char type seems simple enough, but your string mutation example is more involved.

Sorry if saying a language without a fundamental data type might not survive felt like a wrong attitude to have.

It's no worries, but I do want to point out how I'm sure others in ZK DSL space read this issue. We consider that it's a nice-to-have data type, anything more needs convincing. This is enough to implement it! So no worries. But if you want to further convince concepts such as 'fundamental', 'ASAP', 'non-negotiable' you do need to understand our thinking, not just your own

I think at the end of the day, both of us want what's best for Noir. Even if what we think is "fundamental" differs, I totally wish you the best, and if Noir does end up without things like string handling, that's totally ok! I was actually told to file this issue only after discussing with the Noir team members itself, who agreed the need for a Char type. But if Noir does intend to be some particular niche and not implement some common constructs seen in other languages, that's all great but hopefully they could mention it so somewhere on the official blog, like to avoid any misunderstandings in the future. Cheers :)

https://book.starknet.io/chapter_2/strings.html I believe the other ZK DSL with normal programming syntax is in a similar place with their strings


Add Bing Quan's profile

For #4.

Codecov Report

Merging #17 (78e1a7d) into master (faa1efc) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #17   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


feat(vlan): Add vlan tag support for VM reconcile.

Description of changes:
This commit implement VLAN tag support when creating - or more in general reconciling - a ProxmoxMachine. This feature implements a new optional value in the ProxmoxMachine CRS, defined in the NetworkDevice type. The value is an integer, delimited in the range 1-4094.
Testing performed:
Tests have been also implemented to prevent regression, and e2e tests have been conducted creating both cluster using the new property and without - to check past compat.

Hi,
I've refactored the code as you suggested, and pulled the latest changes from main 😊

Please rebase.
I will let @avorima finish the review.


pool: connection ending in fatal error are not removed from the generic pool

when having a fatal error on a mysql connection using knex 0.6.22 & pool & mysql driver,  the connection is not removed from the pool.
Further requests using this connection end in mysql driver error "cannot enqueue ... after fatal error" (PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR)
a workaround :
var knex;

var connectionErrorHandler = function (connection, err) {
  if (connection && err && err.fatal) {
    if (connection.removedFromThePool)
      return;
    connection.removedFromThePool = true;
    knex.client.pool.genericPool.destroy(connection);
  }
};

var config =  {
  client: 'mysql',
  (...)
  pool: {
    (...)
    afterCreate: function (connection, callback) {
      connection.on('error', connectionErrorHandler.bind(null, connection));
      connection.on('end', connectionErrorHandler.bind(null, connection));
      callback();
    }
  }
};

knex = knexInit(config);

it might be linked to #206

The recent changes to pool handling in knex from 0.9 and onwards seems to have addressed most issues. We also discovered this kind of behaviour specifically for mysql2.
I'm going to close this and consider it resolved, but feel free to add a new issue if the error persists.

I just experienced this error on 0.14.0.

@NemoAlex do you have some test code to reproduce that?

I have encountered into this issue too.
We use mysql with pool. This error happen when the connection is idle for a long time(like more than ten minutes) and then we do some query.
I suspect that this was happening because knex is trying to use a connection which is already timeout.
Any ideas?

@shwuhk I would recommend to not use 0.14 until 0.14.1 is released. There are couple of nasty issues which were missed when generic-pool was updated. I'm working on those and hope to get 0.14.1 out this week.

I would try it again then when 0.14.1 is out. Thanks.

@shwuhk 0.14.1 it is out


HBASE-24055 Make AsyncFSWAL can run on EC cluster

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 31s
Docker mode activated.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
6m 48s
the patch passed

+1 :green_heart:
compile
1m 11s
the patch passed

+1 :green_heart:
javac
1m 11s
the patch passed

+1 :green_heart:
shadedjars
6m 44s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 44s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
171m 51s
hbase-server in the patch passed.

208m 32s

Subsystem
Report/Notes

Docker
Client=19.03.8 Server=19.03.8 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1437

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 38cbf31a9b6e 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 9985c06647

Default Java
2020-01-14

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/1/testReport/

Max. process+thread count
2844 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/1/console

versions
git=2.17.1 maven=2018-06-17T18:33:14Z)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

OK, good. All green. Can I get a review? @saintstack @ndimiduk I think this should be included in 2.3. @infraio Do you think this should also go into 2.2.x?

And +1 for branch-2.3

Changes look good. wal package tests in general all pass. This one specifically passes without triggering the assumption on JDK11+Hadoop3 BUT it does trigger the assumption and skip on JDK8+Hadoop2. I believe this is to be expected as the EC feature added in HDFS-7285 has a fixVersion of 3.0.0-alpha1.

Yes, EC is only available in hadoop 3.x.

Any other concerns? @saintstack

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 58s
the patch passed

+1 :green_heart:
compile
1m  2s
the patch passed

+1 :green_heart:
javac
1m  2s
the patch passed

-1 :x:
shadedjars
0m 12s
patch has 7 errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
0m 38s
hbase-server in the patch failed.

_ Other Tests _

+1 :green_heart:
unit
114m 27s
hbase-server in the patch passed.

132m 58s

Subsystem
Report/Notes

Docker
Client=19.03.8 Server=19.03.8 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1437

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux d6138b99c796 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 62718cdb28

Default Java
2020-01-14

shadedjars
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk11-hadoop3-check/output/branch-shadedjars.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

shadedjars
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/testReport/

Max. process+thread count
4106 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
6m 37s
master passed

+1 :green_heart:
compile
1m 10s
master passed

-1 :x:
shadedjars
0m 15s
branch has 7 errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 47s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
6m 21s
the patch passed

+1 :green_heart:
compile
1m 16s
the patch passed

+1 :green_heart:
javac
1m 16s
the patch passed

-1 :x:
shadedjars
0m 13s
patch has 7 errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 45s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
183m  7s
hbase-server in the patch passed.

202m 36s

Subsystem
Report/Notes

Docker
Client=19.03.8 Server=19.03.8 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1437

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 0536c4fcf66a 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 62718cdb28

Default Java
1.8.0_232

shadedjars
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk8-hadoop2-check/output/branch-shadedjars.txt

shadedjars
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/artifact/yetus-jdk8-hadoop2-check/output/patch-shadedjars.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/testReport/

Max. process+thread count
3475 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1437/2/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.


feat(ux/#2496): Configurable mode indicator

Adds a way to configure the mode indicator position in the status bar.
Also added an entry in the docs for this configuration.

<breaking>configurealbe mode indicator position in the status bar</breaking>

Thank you @andr3h3nriqu3s11 for implementing this 🙇🏻♂
Since I mentioned that already in https://github.com/onivim/oni2/issues/2496 today, is feasible to make this a bit more generic? as a user, I tell Oni where to put the status bar items. I personally don't like the positioning of a few items currently in Oni vim and makes it hard to switch back and forth between VS Code.
On the top of my head, I imagine something like:
{
  "window.statusBar.items": {
    "start": ["item1", "item2", "..."],
    "center": ["item3"],
    "end": ["...", "item4"]
  }
}

The ... is a special syntax to tell Oni where to put any other extra items. Omitting the ... means, I don't want more items to be added.
WDYT?
Thanks again for taking care of this, I really miss this feature.

That's a great idea @z0al, and I am already working on it.
Although I found some problems:

It's not as simple as "start", "center", "end". I had to create "start", "notification.start", "notification.center", "notification.end", "end", because there are items that supposed to be hidden by the notification popup...
There are items that are automatically generated, both to the right and left right now I am grouping those under "rightGeneratedItems" and "leftGeneratedItems".
I couldn't find a way to read the JSON objects without creating a decoder/encoder(but I am probably wrong, @bryphe please correct me if I am wrong), so right now I have the settings like (which is not really nice)

  "workbench.statusBar.items.start": ["notificationCount"],
  "workbench.statusBar.items.notification.start": ["notificationPopups", "macro", "leftGeneratedItems", "diagnosticCount", "scmItems"],
  "workbench.statusBar.items.notification.center": [],
  "workbench.statusBar.items.notification.end": ["rightGeneratedItems", "lineEndings", "indentation", "fileType", "position" ],
  "workbench.statusBar.items.end": ["modeIndicator"],

That's a great idea @z0al, and I am already working on it.

 Happy to help with whatever I can.

It's not as simple as "start", "center", "end". I had to create "start", "notification.start", "notification.center", "notification.end", "end", because there are items that supposed to be hidden by the notification popup...

I figured it wouldn't be that simple but I don't quite understand what kind of items are "supposed to be hidden by the notification popup." Would you be so kind to elaborate?

There are items that are automatically generated, both to the right and left right now I am grouping those under "rightGeneratedItems" and "leftGeneratedItems".

By these automatically generated items do you by extensions or some other source? In any case, that's what I had in mind when it comes to the ... notion. So
// Having "..." means place any items that I didn't mention in its position. Could be used for "leftGeneratedItems"?
"workbench.statusBar.items.start": ["modeIndiactor", "git", "..."]
// This means the notification count will always be at the very right, anything else, including "rightGeneratedItems" will be at the place of "..."
"workbench.statusBar.items.end": ["...", "notificationCount"]

I couldn't find a way to read the JSON objects without creating  a decoder/encoder

I don't know, I guess people more familiar with the code would help here, but I don't mind the shape of the config itself as long as it does the job :)
Again, happy to jump in and help with whatever I can. It will be my first time coding in Reason/OCaml but I guess it shouldn't be super hard.
Also maybe this PR isn't the right place to discuss. Don't mind switching to the Discord server or in the referenced issue.

Thanks @andr3h3nriqu3s11 and @z0al for all the thinking around here. Sorry for the slow reply; Friday/weekend ended up being busier than I expected - I'll take a more in-depth look on Monday.
I like the idea of having a holistic solution that covers both the mode indicator and the general status bar configuration, very cool.

I figured it wouldn't be that simple but I don't quite understand what kind of items are "supposed to be hidden by the notification popup." Would you be so kind to elaborate?

Good question - I was curious here too. Once the notification is showing, we only show a small subset of the status bar - really just the notification count and mode, at the moment:

Basically - we have a couple of status bar UI elements that are hardcoded to show with the notification.
The positioning, in general, would be the same between the 'non-notification' display and notification display. So I wonder if we could streamline the syntax too:
  "workbench.statusBar.items.start": ["notificationPopups", "macro", "...", "diagnosticCount", "scmItems"],
  "workbench.statusBar.items.end": ["...", "lineEndings", "indentation", "fileType", "position", "modeIndicator" ],
  "workbench.statusBar.items.showInNotification": ["notificationPopups", "modeIndicator"],

The workbench.statusBar.items.showInNotification would be a list of IDs that should stay showing when a notification is active, and the positioning would be implied from workbench.statusBar.items.start/.end
(I like the idea of using ... to show the remaining / unprioritized items)
One open question I need to look into is if there is a good way to specify where extension-provided status bar items should live. I believe that we actually get the extension id when a status bar item is created, so that could mean we could do something like this:
...
  "workbench.statusBar.items.start": ["microsoft.vscode-typescript", "notificationPopups", "macro", "...", "diagnosticCount", "scmItems"], // Show typescript status bar stuff at the far left, always!
...

to override the positioning of the status bar items.
I'll take a look at this a bit more Monday and see if it's doable, that would be a neat addition. But even without that, the ... construct would help.

I couldn't find a way to read the JSON objects without creating a decoder/encoder(but I am probably wrong, @bryphe please correct me if I am wrong), so right now I have the settings like (which is not really nice)

Right, it's a little confusing! We have an obj decoder that can help here - some examples:

https://github.com/onivim/oni2/blob/41c412d13902cc548c3fda0812470197e6434720/src/Exthost/Extension/Contributions.re#L30

(We'd probably use field.withDefault for most of these, instead of field.required, so that we could wire in defaults).

The positioning, in general, would be the same between the 'non-notification' display and notification display. So I wonder if we could streamline the syntax too:
  "workbench.statusBar.items.start": ["notificationPopups", "macro", "...", "diagnosticCount", "scmItems"],
  "workbench.statusBar.items.end": ["...", "lineEndings", "indentation", "fileType", "position", "modeIndicator" ],
  "workbench.statusBar.items.showInNotification": ["notificationPopups", "modeIndicator"],

The workbench.statusBar.items.showInNotification would be a list of IDs that should stay showing when a notification is active, and the positioning would be implied from workbench.statusBar.items.start/.end

Yep, 💯 agree. And I think we are convinced that the whitelisting in showInNotification here makes more sense compared to hideOnNotification.
However, that we still need another configure to decide the width and behavior of the notification. I see three cases:

stretch : The notification width stretches to the available width
full: The notification width stretches to the available width + highlights the full status bar background (compared to only its content in stretch or content)
content : takes as minimum space as possible (close to this demo)

For that, I was thinking of having something like:
"workbench.statusBar.notification.mode": "full|stretch|content"

I think that should be more than enough to handle all kinds of customizations.

One open question I need to look into is if there is a good way to specify where extension-provided status bar items should live. I believe that we actually get the extension id when a status bar item is created, so that could mean we could do something like this:

Are you referring to statusBarItem.id? Anyway, I think the ... syntax will include everything including the extension items. Essentially anything that's not specifically specified in start/end.
I copied code from @andr3h3nriqu3s11's branch and tried to implement the above points on this branch. Obviously, didn't do much since I was literally Googling every line hahah. I'm surprised it compiles. But here is the summary of the changes:
    let (itemsStart, itemsEnd) =
      getVisibleStatusBarItemIds(
        statusBar.items,
        startItemsConfig,
        endItemsConfig,
      );

    let itemsStart =
      itemsStart |> List.map(idToStatusBarElement) |> React.listToElement;

    let itemsEnd =
      itemsEnd |> List.map(idToStatusBarElement) |> React.listToElement;

    <View ?key style={Styles.view(background, yOffset)}>

 itemsStart

 itemsEnd

    </View>;

There is no section specific to the notification items anymore.
getVisibleStatusBarItemIds takes statusBaritems + config and produces a list of startItemIds & endItemsIds (including the hard coded stuff e.g. modeIndicator ..etc). The code I have there is buggy though (Side note: Seriously, How to console.log in Ocaml? I'm trying to debug my code xD )
We then turn these into elements and render them.
(Not implemented) When using the showInNotification config we simply need to iterate one more time over the result of getVisibleStatusBarItemIds and only keep the IDs in showInNotification.

P.S. Sorry about the mess. When I suggested we continue the discussion on the referenced issue I thought this PR is going to be merged very soon and didn't think @andr3h3nriqu3s11 would work in the suggestions right away :D

Right, it's a little confusing! We have an obj decoder that can help here - some examples:
Thank you, @bryphe I was able to do it! :grin:

One open question I need to look into is if there is a good way to specify where extension-provided status bar items should live. I believe that we actually get the extension id when a status bar item is created, so that could mean we could do something like this:

That would be awesome, right now I did that filtering based on the Features_StatusBar.Item.t.id(this is probably wrong, I haven't really tested it...)

However, we still need another configure to decide the behavior of the notification. I see three cases:

I don't think this is necessary because you can control that by just putting the items you want on showOnNotification...
if you want the minimum space you just put that on
    let (itemsStart, itemsEnd) =
      getVisibleStatusBarItemIds(
        statusBar.items,
        startItemsConfig,
        endItemsConfig,
      );

    let itemsStart =
      itemsStart |> List.map(idToStatusBarElement) |> React.listToElement;

    let itemsEnd =
      itemsEnd |> List.map(idToStatusBarElement) |> React.listToElement;

    <View ?key style={Styles.view(background, yOffset)}>

 itemsStart

 itemsEnd

    </View>;

Are you referring to statusBarItem.id? Anyway, I think the ... syntax will include everything including the extension items. Essentially anything that's not specifically specified in start/end.

I think this is not really a good idea because it could break how the people o created extensions, put their items on the bar...
Plus I think what @bryphe meant was to be able to chose one item and place it in one location
Well I did some work based on your ideas...
And it was not easy as looping one more time to add the notifications because the notification popup would look weird, also it was not simple as looping one more time because you have to that would leave the notification popup message weirdly where it could not display the message because the View that the message is in does not expand for the message to appear(this could lead to some weird situations), but I was able to do it...
Here is a demo, and it also shows kinda everything including that weird not expanding thing.

I don't think this is necessary because you can control that by just putting the items you want on showOnNotification...

I will reply later after work on why I think showOnNotification is not sufficient in a few cases

And it was not easy as looping one more time to add the notifications because the notification popup would look weird, also it was not simple as looping one more time because you have to that would leave the notification popup message weirdly where it could not display the message because the View that the message is in does not expand for the message to appear(this could lead to some weird situations), but I was able to do it...

Alright, below is how I see the abstract problem & the solution. I will leave what needs to be done code-wise for the experts (You both & other folks more familiar with the code). Thank you for taking the time to work on this btw.

TL;DR

We need to introduce items.left and items.right
We also need showInNotication & notificationMode if we want to continue to support the current notification behavior. Or the other way around, if we want to support compact mode (I want it, at least).

The core problem
As an Oni user, I want to be able to adjust how the editor status bar looks. In particular, I want to have the possibility to do the following:

Rearrange all items
Hide any item

The proposed solution
Expose new status bar configurations:

Note: I replaced the terms start & end with left and right because it aligns more with the way Extension authors set the alignment for items.

{
  "workbench.statusBar.items": {
    // List of item ids to display on the left side
    "left": [],
    // List of item ids to display on the right side
    "right": [],
    // List of item ids to hide always
    "hidden": []
  }
}

What is an item?

built-in e.g. modeIndiactor OR
An extension item e.g. esbenp.prettier-vscode

Note: extensions don't always assign an ID for the status bar items they create (e.g. Prettier doesn't). In that case, VS Code assigns the extension ID as a value for the item ID. I don't know about Oni but we probably want to do the same.

Syntax notes:

Item Id must be known. Ignored otherwise.
An item that doesn't match an active item will be ignored. E.g. esbenp.prettier-vscode is only available in specific languages, in others it will be hidden by default.
It's possible to use ... syntax to refer to all items that are not explicitly defined in either: left, right or hidden configurations depends on the context.

if the ... appears only in the left configurations then it contains all items.
similarly, if the ... appears only in the right configurations then it contains all items.
if the ... appears in both left & right configurations then it will contain the items that have their alignment set to the matching value. E.g. ... in left configuration in this case will contain (both built-in & extension) items that have alignment===left.

Items placed via ... will always follow the default ordering rules.
The ... syntax is only supported in left & right configurations. E.g. You can't use it in hidden

Usage Examples
These examples focus on left & right configurations since hidden is pretty straightforward.

1. Static items

{
  "workbench.statusBar.items": {
    // Show only mode indicator on the left side. No matter what.
    "left": ["modeIndicator"],
    // Show only the position on the left side. No matter what.
    "right": ["position"]
  }
}

2. Static items to the right and everything else goes to the right

{
  "workbench.statusBar.items": {
    // Show only mode indicator on the left side. No matter what.
    "left": ["modeIndicator"],
    // Everything else goes to the right but keep the notification count the last item.
    // The "..." here refers to: left & right aligned items by default (Including built-in items).
    "right": ["...", "notificationCount"]
  }
}

3. Show everything but rearranged

{
  "workbench.statusBar.items": {
    // Show mode indicator, notification then everything that's left aligned by default (Including built-in items).
    "left": ["modeIndicator", "..."],
    // The "..." here refers to: right aligned items by default (including built-in items).
    "right": ["...", "notificationCount"]
  }
}

The Challenge(s)
The Notification Popup
One thing that Oni does differently from other editors like VS Code is that it shows Notification Popus as a banner in the status bar itself. When shown, it hides all items except few specific ones.
I discussed the solution above assuming the Notification will be shown just like any other status bar item, literally. Its position can be determined by using the item notification (or notificationMessage whatever makes more sense). For example, using the following configs:
{
  "workbench.statusBar.items": {
    "left": ["modeIndicator", "notification"],
    "right": ["...", "notificationCount"]
  }
}

Should produce something like (notice that the notification ({..}) doesn't take up the full available width).
+-----------------------------------------------------------------------------------------------------------------+
| INSERT | { Hi, there. I will go away in 1..2..3. Okay, Bye } | <------- empty space -------> | ...items | | 🔔2 |
+-----------------------------------------------------------------------------------------------------------------+

Why I think this is better than the full-blown popup?

It helps the developer to focus on the message quickly. I'm no UX guy but having a full-width yellow box showing everything now and then is pretty distracting. On the other hand, taking only the needed space and highlighting (yellow background) the message itself means as a user, my eyes don't have to scan the full status bar to read the message.
I don't see something special about the current Notification pop to be shown that way. In a sense, any status bar item is a notification. For example, the Prettier status bar item is already showing me a "notification" by update the item status and reporting errors. The same goes for the Mode indicator, and so on.
Doesn't require introducing more configurations e.g. showInNotification (see below).
It gives the possibility in the future to have the message shown most of the time e.g. last message (doesn't necessarily mean it needs to be highlighted always, it will make sense for it to blink for a second and then use normal background). Which I'd be personally in favor of since it means I don't have to navigate around the Notification panel to see the last message in case I didn't catch it the first time.
If it really needs to be a popup then it maybe makes sense to make an actual popup that doesn't interfere with the status bar similar to VS Code (ofc, doesn't have to have the same style/location though).

But, I understand that such behavior may not be favorable by all users. There must be a reason the current behavior is the way it's, right?. So, to continue supportting that we need to have two more configurations.
{
  "workbench.statusBar.items": {
    // List of item Ids to be shown when a notification message is visible.
    // ONLY relevant when the mode is set to "default", and has no effect in "compact".
    "showInNotification": [],
    // Either "default" or "compact".
    "notificationMode": "default"
  }
}

Note: I could also imagine some people preferring a middle ground between the default and compact modes, as in, showing the message similar to compact but taking the available width on the status bar instead of the size of the message content. If this makes sense (now or in the future) we can add stretch mode to achieve that. I'm leaving it out for now since compact is what I'm looking for.

How it works?

The default mode indicates the current behavior: Showing the notification message as a full-blown banner that hides all the elements except a few (previously hardcoded values, now, whatever the user defines in showInNotification).
The positioning of the items mentioned in showInNotification is determined by items.left/right configurations. Nothing changed there.
Again, since the showInNotification doesn't determine the location of the items. Supporting ... doesn't make sense. Only explicit IDs should be allowed.
The compact mode is not affected by showInNotification and introduces the behavior that's discussed in the previous paragraphs. In short, treating the notification just like any status bar item taking the message width.

To achieve the current behavior of Oni, the default configurations can look something like this:
{
  "workbench.statusBar.items": {
    "left": ["notificationCount", "diagnosticCount", "scm", "..."],
    "right": [
      "...",
      "indentation",
      "language",
      "position",
      "modeIndicator"
    ],
    "showInNotification": [
      "notificaitonCount",
      "diagnosticCount",
      "modeIndicator"
    ],
    "notificationMode": "default",
    "hidden": []
  }
}

I hope I made what I want clear enough now. Looking forward to hearing what you think @bryphe and @andr3h3nriqu3s11

Love All the ideas from there I will start working on them :+1:
And I finally understood what you meant by if there is no ... then the items extensions do not appear
Also, the ... getting all the items it's a good idea
And I think that a possible improvement on your proposal is instead of having a separated item for the notificationMode and showInNotification is to have them in one entry maybe notificationBehaviour or just notification and if it's a list then threat it as the showInNotification and if it's a string then we assume we are setting notificationMode

Thanks for the great summary / write-up @z0al and thank you @andr3h3nriqu3s11 for diving in and implementing it in #3402 - it looks like  #3402 gets us really close.

This pull request no longer make sense because of #3402, so I am going to close it.


[YUNIKORN-1871] Improving test coverage for whole user/group enforcement feature

What is this PR for?
Add test cases for functions:

checkLimitResource
checkLimitMaxApplications
checkLimits
UpdateConfig
IncreaseTrackedResource
DecreaseTrackedResource
Headroom

What type of PR is it?

[ ] - Bug Fix
[X] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-1871
How should this be tested?
Run make test.
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

@manirajv06, this PR is ready for review. Thanks.

@FrankYang0529 Thanks for your contribution.
I can see tests being repeated again. For example, https://github.com/apache/yunikorn-core/blob/89090713894b93e1dd35c4ed39ac0dbaa0ff63b3/pkg/common/configs/configvalidator_test.go#L652C22-L652C22 is duplicate of https://github.com/apache/yunikorn-core/commit/68a82820f0d7ff82f4d5d9b44629ae3660a184e1#diff-b51101ffb2b9d6516306e0b62bdc45428e951201eb6c4289b1c0247edccb0b6b. So please check whether test exists already. If already exists, see if you can add anymore on top of it to ensure it is more robust. Otherwise, create a new one.
I looked at the first case and observed this repeatition. So please merge duplicate methods to improve further as you have might have added a new case which is not covered currently.

I can see tests being repeated again. For example, https://github.com/apache/yunikorn-core/blob/89090713894b93e1dd35c4ed39ac0dbaa0ff63b3/pkg/common/configs/configvalidator_test.go#L652C22-L652C22 is duplicate of 68a8282#diff-b51101ffb2b9d6516306e0b62bdc45428e951201eb6c4289b1c0247edccb0b6b. So please check whether test exists already. If already exists, see if you can add anymore on top of it to ensure it is more robust. Otherwise, create a new one.

Hi @manirajv06, thanks for the review. If you think they are duplicated, why we still put the "Ensure leaf queue user/group limits are within parent queue user/group limits" case in the Jira description?
I think my test cases in configvalidator_test.go are at a lower level - a single function. And test cases like TestGroupLimitsWithHierarchicalQueue in config_test.go are at a higher level - an integrated function including loading config and validation.

I can see tests being repeated again. For example, https://github.com/apache/yunikorn-core/blob/89090713894b93e1dd35c4ed39ac0dbaa0ff63b3/pkg/common/configs/configvalidator_test.go#L652C22-L652C22 is duplicate of 68a8282#diff-b51101ffb2b9d6516306e0b62bdc45428e951201eb6c4289b1c0247edccb0b6b. So please check whether test exists already. If already exists, see if you can add anymore on top of it to ensure it is more robust. Otherwise, create a new one.

Hi @manirajv06, thanks for the review. If you think they are duplicated, why we still put the "Ensure leaf queue user/group limits are within parent queue user/group limits" case in the Jira description?

It is exhaustive list to ensure all cases has been captured. Scope has been defined very clearly to explain the intent of the jira. anyways, not a problem.

I think my test cases in configvalidator_test.go are at a lower level - a single function. And test cases like TestGroupLimitsWithHierarchicalQueue in config_test.go are at a higher level - an integrated function including loading config and validation.

Ok, will go through in detail. Overall intention is to ensure we don't duplicate the effort.

Hi @manirajv06, thanks for the review. I will update the PR after https://github.com/apache/yunikorn-core/pull/600 is merged, because some of my test cases like TestMultipleGroupLimitChange can't pass after I rebase the master branch.

@FrankYang0529  Now that #600  has been merged, Can you rebase and try?

@FrankYang0529 Now that #600 has been merged, Can you rebase and try?

@manirajv06, since TestUserGroupLimitChange and TestMultipleGroupLimitChange can't pass, I remove them from this PR and add them to https://github.com/apache/yunikorn-core/pull/625.

I am not sure why all test cases fails. May be some cases might fail and that too depends on the expected values. If we can set the expected values based on the current code flow, it should pass. If you can re-check and include all possible cases, that would be great.

Let's discuss in https://github.com/apache/yunikorn-core/pull/625. Thank you.


New package: Crunchyroll.MasterofGarden version 1.0.0

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] 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 name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Why didn't this pop up on the first run?

@wingetbot waivers Add Validation-Domain


Navigate to contact on successful scan

Fixes #63
I've also switched out the alert with actually navigating to the contact that you just scanned.
Transforming the id of the card is no longer needed because this is done model-side now.

I am having issues scanning on my phone, so I am unable to test the code. I will have to look into it in more depth after the demo. The code looks ok to me though.

@radusepe I have two phones at my disposal (both android), was able to scan back and forth. It'll definitely be easier with Adam's overlay.

yeah I think it's either my phone or an iOS issue... Not trying to say the code doesn't work, cause I've seen it work


apostrophe for thousands

Two small countries, Switzerland and Liechtenstein, are often using apostrophe for thousands. See https://en.wikipedia.org/wiki/Decimal_mark
I would have expected this to work:
numeral(1230).format("0'0.00") // = 1'230.00

Any pointers to get me in the right direction?

Hi Remo!, I share my coniguration for Mexico , you can modify it for your country , I hope this could be useful for You and others, regards.
// Mexico format
numeral.language('MX', {
delimiters: {
thousands: ''',   // Here is the apostrophe.
decimal  : '.'
},
abbreviations: {
thousand: 'K',
million : 'M',
billion : 'B',
trillion: 'T'
},
ordinal : function (number) {
return number === 1 ? 'er' : 'ème';
},
currency: {
symbol: '$'
}
});
  numeral.language('MX');

@zamudpoe  thanks, but I already switched to numbro as numeraljs seems to be dead. My PR has already been merged there https://github.com/foretagsplatsen/numbro/pull/206

@adamwdraper this is still wrong in your repo.

If you load a locale with an apostrophe as the thousands separator then use numeral(1230).format("0,0.00") you will get the desired output.  The ',' in the format string means  thousands separator for the current language

yes, but the locale is wrong, see here https://github.com/foretagsplatsen/numbro/pull/206/files


remove publications slot, update example data

Regarding this issue: https://github.com/microbiomedata/issues/issues/362
A changesheet was submitted to move all values that were in the publications slot for studies over to the publication_dois slot. Since publications will no longer be used, and is only currently being used by the Study class, this PR removes the publications slot from the schema to eliminate redundant slots. publication_dois will be used moving forward.
Keeping this a draft PR until we talk about this in the metadata meeting.

This looks good.
I agree that publications isn't being used with any domain other than Study

@turbomam this one is ready for review too. It passed `make squeaky-clean all test make-rdf'. You mentioned that the subset definition needed work. Let me know what you had in mind!

Fixed: https://github.com/microbiomedata/nmdc-schema/issues/1173


Add Keepass Export

Add a sub-command to export Passwords to a Keepass file.
This is useful for automatic Passbolt backups of a selfhosted instance which might go offline but may contain passwords needed to fix the instance.
Potential Library: https://github.com/tobischo/gokeepasslib

The current experimental implementation works well. Below is a short shell script to perform a backup and persist it as an Azure KeyVault secret if any of the secrets have been modified in the past day.
#!/bin/bash

if (( $(date -d "yesterday" +%s) < $(date -d $( passbolt list resource -c ModifiedTimestamp | sort | tail -2 | head -1) +%s ) ))
then
    echo "The last modified date is within the past day, running backup"
    az login --service-principal -u $APP_ID \
        -p ~/.azure/auth-cert.pem --tenant $TENANT --allow-no-subscriptions \
        -o none --only-show-errors

    rm ~/.passbolt/keepass-backup.kdbx 2&> /dev/null
    passbolt export keepass --file ~/.passbolt/keepass-backup.kdbx --password $PASS

    az keyvault secret set --vault $VAI:T \
        --name $SECRET_NAME --encoding base64 \
        --file ~/.passbolt/keepass-backup.kdbx \
        -o none --only-show-errors
    rm ~/.passbolt/keepass-backup.kdbx 2&> /dev/null
fi

The current Implementation Works Well enough and has had TOTP Support and Better Error Handling/Skipping Added in #43.
Closing


unrelevent question: converting two types of kerning

hi
sorry but someone told me i can find my answer here.
i want to expand the Unicode range for my fonts so i have to manage a huge number of kerning pairs code and this is a big challenge for me, i decide to group them as classes(="kerning by classes", not working for Arabic and even for Latin in some cases) and then convert the result to "kerning pairs"(which is used and working everywhere(with two value for Arabic(X placement and X Advance))), could you help me about the solution?

"kerning by classes", not working for Arabic and even for Latin in some cases

Kerning classes should work anywhere kerning pairs can work (excluding the legacy kern table of course).

I did not mean kerning by classes not working at all, but for Arabic, it's not working, i try it many times (i always use kerning by classes for Latin section and everything is OK, especially on the web) if I'm wrong(I'm not sure but maybe it's fontforge fault) please show me a working example(an Arabic font with kerning by classes)

If you are in fontforge, you'll likely need to be sure to set the writing direction in the kerning feature. I've not used that in fontforge, but that may be the root of your problem.

yes, direction is important in fontforge(i don't know why?!) i tried both ways, working wrong on the web and not working in Adobe and MS products

sorry, I was wrong. kerning classes working for Arabic, it's a fontforge issue:
https://github.com/fontforge/fontforge/issues/4226


Animation action throw with actor hit

Preview here: https://pr-527.lba2remake.net

Pushed a change for it.
Seems a bit better, although not perfect.
There is a 0.15 off on X coordinate for some reason, but I left it without any magic numbers for now.


Is ObjectStoreSchemaProvider Still Needed?

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
The ObjectStoreSchemaProvider is a SchemaProvider that provides the ability to register ObjectStore and ListingTable. Effectively it is a MemorySchemaProvider but which maintains its own ObjectStoreRegistry instead of using the one on RuntimeEnv.
I'm quite possibly missing something, but I'm not entirely sure why this is needed?
Describe the solution you'd like
If it isn't needed, it would be good to remove it.
Describe alternatives you've considered
If it is needed, we should keep it :smile:
Thoughts @matthewmturner ?

FYI https://github.com/apache/arrow-datafusion/issues/1836 and https://github.com/apache/arrow-datafusion/pull/1863 is background conversation on the API design for this.
The original idea was to use this as shown below (slightly updated from how it was discussed in the above issue) - i.e. easily register multiple tables from a prefix into a schema.
let object_store = S3FileSystem::default();
let schema = ObjectStoreSchemaProvider::new();
schema.register_store(object_store);
let tables = object_store.list_dir("s3://active/schema1");
tables.iter().map(|file|  {
    let config = ListingTableConfig::new(object_store, file).infer().await?;
    let name = extract_name_from_file(&file);
    schema.register_listing_table(name, file, config);
}

Thinking on it now, i think the same could be done without the need for this abstraction, like the following:
let object_store = S3FileSystem::default();
let schema = MemorySchemaProvider::new();
let tables = object_store.list_dir("s3://active/schema1");
tables.iter().map(|file|  {
    let config = ListingTableConfig::new(object_store, file).infer().await?;
    let table = ListingTable::try_new(config)?;
    let name = extract_name_from_file(&file);
    schema.register_table(name, table)?;
}

If you agree, then yes I do think we can remove ObjectStoreSchemaProvider.

Created #2665


Add extraction of venue and year for publications

i made this change in my fork, found this pull req doing the same thing. please add the date, I think everyone needs that.

i made this change in my fork, found this pull req doing the same thing. please add the date, I think everyone needs that.

Yes I found this feature really useful. Thanks for reminding me of this one month old pull. Removed some personal commit that were accidentally merged to this pull.


Fix the copyright holder at license.

"tmc-cli" is not the copyright holder of this project.

LGTM

Approved


NodePort in Kubernetes 1.13.1 not works

I installed contiv-vpp for kubernets 1.13.1 that It works very well.
I also create a nginx pod and a NodePort service.
checking nginx service

curl <IP_ADDRESS>:80 -> works very well(IP address refer to $ kubectl get pods -o wide)
curl <IP_ADDRESS>:30080 -> NodePort not works (IP address is worker node)

In the kubernetes side everything looks like normal.
How do I check this problem and how do I fix it.
thx
deployment  yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

service yams
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    name: nginx
spec:
  type: NodePort
  ports:
    - port: 80
      nodePort: 30080
      name: http
    - port: 443
      nodePort: 30043
      name: https
  selector:
    name: nginx

$ kubectl get services

NAME
TYPE
CLUSTER-IP
EXTERNAL-IP
PORT(S)
AGE

kubernetes
ClusterIP
<IP_ADDRESS>
none
443/TCP
2d23h

nginx
NodePort
<IP_ADDRESS>
none
80:30080/TCP,443:30043/TCP
2d14h

$ kubectl get nodes

NAME
STATUS
ROLES
AGE
VERSION

k8s-master1
Ready
master
2d23h
v1.13.1

k8s-worker1
Ready

2d21h
v1.13.1

$ kubectl get pods -o wide

NAME
READY
STATUS
RESTARTS
AGE
IP
NODE

nginx-deployment-7db75b8b78-vw6gx
1/1
Running
3
2d15h
<IP_ADDRESS>
k8s-worker1

$ kubectl get pods -n kube-system -o wide

NAME
READY
STATUS
RESTARTS
AGE
IP
NODE

contiv-crd-kd7h8
1/1
Running
8
2d22h
<IP_ADDRESS>
k8s-master1

contiv-etcd-0
1/1
Running
8
2d22h
<IP_ADDRESS>
k8s-master1

contiv-ksr-pxrz4
1/1
Running
8
2d22h
<IP_ADDRESS>
k8s-master1

contiv-vswitch-2tqjw
1/1
Running
17
2d21h
<IP_ADDRESS>
k8s-worker1

contiv-vswitch-4zpdt
1/1
Running
8
2d22h
<IP_ADDRESS>
k8s-master1

coredns-86c58d9df4-mstgz
1/1
Running
8
2d23h
<IP_ADDRESS>
k8s-master1

coredns-86c58d9df4-q494r
1/1
Running
8
2d23h
<IP_ADDRESS>
k8s-master1

etcd-k8s-master1
1/1
Running
10
2d23h
<IP_ADDRESS>
k8s-master1

kube-apiserver-k8s-master1
1/1
Running
10
2d23h
<IP_ADDRESS>
k8s-master1

kube-controller-manager-k8s-master1
1/1
Running
10
2d23h
<IP_ADDRESS>
k8s-master1

kube-proxy-9vpzr
1/1
Running
8
2d21h
<IP_ADDRESS>
k8s-worker1

kube-proxy-jm5gk
1/1
Running
10
2d23h
<IP_ADDRESS>
k8s-master1

kube-scheduler-k8s-master1
1/1
Running
10
2d23h
<IP_ADDRESS>
k8s-master1

@lukasmacko thanks for help
It works.


[CLI] Batch image compression.

I'm trying compress all of image in a folder at once.
So, I've execute this command,
squoosh-cli --mozjpeg '{"quality":75,"baseline":false,"arithmetic":false,"progressive":true,"op timize_coding":true,"smoothing":0,"color_space":3,"quant_table":3,"trellis_multipass":false,"trel lis_opt_zero":false,"trellis_opt_table":false,"trellis_loops":1,"auto_subsample":true,"chroma_sub sample":2,"separate_chroma_quality":false,"chroma_quality":75}' -d output ./*

After that Squoosh start compressing the folder images. It's nicely showing <IP_ADDRESS>.5.6..../17 - image decoding...
But in few seconds, it's gives error and stack on decoding screen.
[Error: EISDIR: illegal operation on a directory, read] {
  errno: -4068,
  code: 'EISDIR',
  syscall: 'read'
}
Worker error:  Error [RuntimeError]: abort(Error: EISDIR: illegal operation on a directory, read). Build with -s ASSERTIONS=1 for more info.
    at process.w (\npm\node_modules\@squoosh\cli\build\index.js:7:376640)
    at process.emit (events.js:327:22)
    at processPromiseRejections (internal/process/promises.js:209:33)
    at processTicksAndRejections (internal/process/task_queues.js:98:32)

Squoosh CLI version: 0.5.0
OS w/ version: Windows 8
Node version: v12.18.2
npm version: 6.14.9

Yeah, I have heard that the CLI is currently causing problems on Windows. I’ll look into this.

Same for me
$ npx @squoosh/cli --mozjpeg '{quality:68}' images-src/ru -d ./images-build/ru2
0/1 | ▐╌╌╌╌╌╌╌╌╌╌▌ Decoding...
Worker error:  [Error: EISDIR: illegal operation on a directory, read] {
  errno: -4068,
  code: 'EISDIR',
  syscall: 'read'
0/1 \ ▐╌╌╌╌╌╌╌╌╌╌▌ Decoding...

Windows 10.
Node v14.15.1
Squoosh CLI version: 0.6.0

this seems to be caused by passing./* in directories with directories in them, not windows-specific (though i don't think ./* even expands on windows. see #923)

Same issue here on MacOS

Same issue here on MacOS

@FractalHQ how are you calling the CLI? MacOS works well for me.

@FractalHQ how are you calling the CLI? MacOS works well for me.

@surma I had neglected to specify the filetype after the wildcard!  It works now (albiet only locally with squoosh-cli, @npx seems to encounter the aforementioned issue regardless).
While the cli always stops responding after 16/22 images, it seems to output all of the new images successfully.

@surma I had neglected to specify the filetype after the wildcard!  It works now (albiet only locally with squoosh-cli, @npx seems to encounter the aforementioned issue regardless).
While the cli always stops responding after 16/22 images, it seems to output all of the new images successfully.

@FractalHQ All of that should be solved with v0.6.1
@sobujbd Can you test if v0.6.1 works on Windows now?

@FractalHQ All of that should be solved with v0.6.1
@sobujbd Can you test if v0.6.1 works on Windows now?

@surma I confirm that the version v0.6.1 of @squoosh/cli working good on my WinPC. I got very smooth results on batch images compressing with Squoosh CLI.
Now @FractalHQ can make sure it working on MacOS works well!
Off-topic : Here what is standing by Squoosh words? How would it be if the command name renamed from squoosh-cli to just squoosh ?

@surma I confirm that the version v0.6.1 of @squoosh/cli working good on my WinPC. I got very smooth results on batch images compressing with Squoosh CLI.
Now @FractalHQ can make sure it working on MacOS works well!
Off-topic : Here what is standing by Squoosh words? How would it be if the command name renamed from squoosh-cli to just squoosh ?

Well, we also wanted to have a library at some point. And I wanted to have a @squoosh namespace on npm, so making @squoosh/cli install as just squoosh seemed confusing.
I’m gonna close this as I know this works on MacOS :D

Well, we also wanted to have a library at some point. And I wanted to have a @squoosh namespace on npm, so making @squoosh/cli install as just squoosh seemed confusing.
I’m gonna close this as I know this works on MacOS :D

For me, works without the star, just like these:
npx @squoosh/cli --mozjpeg {"quality":60} -d NEW ./

Windows 10.
Node v14.15.1
Squoosh CLI version:  v0.7.2

For me works without the star, just like these:
npx @squoosh/cli --mozjpeg '{"quality":60}' -d NEW ./

To do it from .bat you have to do it without the single quotes, like this:
npx @squoosh/cli --mozjpeg {"quality":60} -d NEW ./

Windows 10.
Node v14.15.1
Squoosh CLI v0.7.2

For me works without the star, just like these:
npx @squoosh/cli --mozjpeg '{"quality":60}' -d Squooshed ./

BTW, To do it from .bat you have to do it without the single quotes, like this:
npx @squoosh/cli --mozjpeg {"quality":60} -d Squooshed./

Windows 10.
Node v14.15.1
Squoosh CLI v0.7.2

For me works without the star, just like these:
npx @squoosh/cli --mozjpeg '{"quality":60}' -d Squooshed ./

BTW, To do it from .bat you have to do it without the single quotes, like this:
npx @squoosh/cli --mozjpeg {"quality":60} -d Squooshed ./

Windows 10.
Node v14.15.1
Squoosh CLI v0.7.2

Thanks a lot, mate, this seems to solve the problem.
To devs: referring to all files in a directory as *.jpg used to work before, but now it doesn't. Very strange.
Windows 11
Node v16.17.1
Squoosh CLI v8.15.0

@surma,
specifying all files in a directory as *.jpg used to work before, but now it produces the following error:

Same thing happens when I try  ./*.jpg. Is this an intended behavior?
Windows 11
Node v16.17.1
Squoosh CLI v8.15.0


Fix/ub 1103 ds8k storwize lun0 rescan

The fix has passed the CI testing for DS8k.
The fix include:

Add a new struct:ScbeVolumeMapInfo, it will include the Host and LunNumber
The LunNumber will be get from  GetVolMapping.
Add two new function:
function isLun0 to judge if the volume is Lun0
RescanSCSILun0 to scan the Lun0 volume.
In the function RescanSCSILun0, I used WriteFile to rescan the volume.
In the design, I wanted to use the command  echo to rescan the volume .  But the command doesn't work here. So I used WriteFile to rescan the volume, it works well.

This change is

Coverage increased (+0.6%) to 58.3% when pulling 095c010322d35324a9bd5bc435092cf4c48f7062 on fix/UB-1103_ds8k_storwize_lun0_rescan into ae6a0a55dd776cfac7fa96c973b9f7691e2c6e2a on dev.

feel free to merge but don't forget to merge it as "Squash and merge" (so we will not see all the 33 commits in the dev branch only 1)


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Issue with Python Check

So i have 2 Python versions. One invoked with python and one with python3.
I tried removing the python one. Still seems to be on the System, that's weird but not the Core issue.
My Question is:
Can i set it so it uses python3 instead of python?

Hello, the library needs python3. These are the checks:
https://github.com/microlinkhq/youtube-dl-exec/blob/691291eb421c274427e0de85fe80c194210d04dc/scripts/preinstall.mjs#L14-L20
So make sure your system has python3 in a way the library can find and use it 🙂

Well. i have it installed. But just as python3 instead of python.


ReferenceError: moment is not defined

Can't get this to work.
Getting the error: ReferenceError: moment is not defined when using the directive.
I've tried adding moment, angular-moment and angular-file-saver.
but without success..

Try checking that moment is correctly imported into your project. What packaging system are you using?

Cannot reproduce issue; closing due to inactivity.


Example Data or Specification for Input Imagery with Satellite Stereo Imagery

Hello,
i am trying to create a 3D Model from one Stereo Image (2 Normal Images) captured by WorldView-3 Satellite.
Unfortunately i am having Problems with the first step, running VisSat.
It would be really good to have some kind of Documentation or Example Dataset for this Usage Scenario on what i need and which configuration is to be used.
This is what i have:

Could somebody who was able to run from Satellite Stereo Imagery send me his Dataset and if possible also Results?
That would be great!
Thank you in advance!

?


revive project for pkcs12 write support

Looks like pkcs12 write support is not going to land in upstream crypto: https://github.com/golang/go/issues/14125
This is, unfortunately, somewhat necessary for Azure stuff. For example, someone is going to write an azure-ingress-controller for Kubernetes, and they're going to need to convert PKCS8 to PKCS12 because we of course expect certs in PKCS12 format.
There are other things that need it. Anyway, it's not going to live in the main crypto repos, should we house it here?

hm. that's unfortunate.

However, the encoding in pkcs12.go isn't really viable. The shallow nature of safeBag and other types may have made sense for parsing but for serialisation new types might be needed.
Also, while parsing PKCS#12 files is a plausible use since they do exist, they should be strongly discouraged. Supporting their serialisation seems counter to this.
https://go-review.googlesource.com/#/c/20075/

housing it here seems like a reasonable idea to me. probably want to start by pulling any changes/improvements made in x/crypto.

Another consideration: does maintaining this as a fork of x/crypto cause problems using this side-by-side with x/crypto? I assume a full fork is done to re-use unexported code from inside x/crypto...

What is necessary to kick the tires here? My personal crypto skills are quite limited but maybe I can help anyway!? I guess there is no step by step guide that explains how to implement the write support. May somebody point to a specification that should be implemented here? Maybe I can get in touch and see how it goes?

@AGWA had started on it in #22.
The last update I saw from him is at https://github.com/cloudflare/cfssl/pull/449#issuecomment-165286455

Looks like code from #22 already landed in https://github.com/AGWA-forks/golang-crypto. There is some sort of similarity at least. See

https://github.com/AGWA-forks/golang-crypto/blob/master/pkcs12/pkcs12.go#L357
https://github.com/Azure/go-pkcs12/pull/22/files#diff-0da840cc7e15c66b232f4c7bbfdbe5f1R332

Is https://github.com/AGWA-forks/golang-crypto advised to be used though? Is it save for use?

@agwa had suggested otherwise.
Though I'm not 100% sure, I think there were some bug/security fixes when Azure/go-pkcs12 was moved into x/crypto that haven't been applied back to AGWA's fork.

https://github.com/AGWA-forks/golang-crypto is up-to-date with the changes that were made when Azure/go-pkcs12 was moved into x/crypto, and can be cleanly rebased on the latest x/crypto upstream.
That said, the project which required this got put on hiatus so I'm not currently using or maintaining this code.  Using a fork of a crypto library seems like a generally bad idea to me, since you could miss security fixes that are applied upstream.  A standalone library for PKCS#12 writing would be great, but would require duplication of internal code in x/crypto.

CC: @JargoonPard

There is currently a discussion around the use of x/ subrepos. Depending on how that goes, it might make sense to eventually remove pkcs12 and maintain it completely separately. For now, it seems duplicating the code in x/crypto is the only way to get writing implemented.
FYI, I personally don't need PKCS12 writing, nor am I a crypto guru. You may be on your own.

@boumenot had a similar issue when implementing the packer azure-arm builder: https://github.com/mitchellh/packer/tree/master/builder/azure/pkcs12

I wonder if the Go SDK team has any desire to own this? Given that we need this for Azure APIs basically...

cc: @mcardosos @jhendrixMSFT

cc: @eduardkoller

cc: @vishrutshah

@AGWA Hey Andrew. We at cloud foundry are looking to create the pfx data given a cert/key from users for azure application gateways. Do you have plans to make this standalone library for pkcs12 writing or should we plan to make our own?

@genevievelesperance I do not currently have plans to write this library.

Cool, thanks!

@boumenot Amazing! We'll use that. Thanks!

Woot! I'm going to close this out!


automatically add new line to scripts

https://editorconfig.org/
For better compliance and ease of use with editorconfig and git, i would like it if godot automatically added a new empty line to the end of any script that does not have it.
Some more assorted commends on why this is a good idea: https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline/25322168#25322168

If the script editor gets auto-format feature, that could be one of the things it can do

Until an auto-format feature, would this best be done upon script file saves?

Will start looking into it, shouldn't take long.

@TheDuriel Hey, I finished the PR. I would be thankful if you could test if it's behaving as expected.

I guess this issue could be closed then? :)

Indeed, fixed by #29262.


gomod: update min go version

Don't think we require 1.21.3 as min go version, 1.21.0 should be enough. Also tried to set 1.21 but it seems tidy complains and expects a patch release 1.21.0: https://github.com/docker/buildkit-syft-scanner/actions/runs/7232529430/job/19706797619#step:4:447
Not sure why in other projects like https://github.com/docker/buildx/blob/8484fcdd5715c0683e8605e05cdffc0bfa8fde94/go.mod#L3 it doesn't complain though :thinking:
Maybe something is cached on golang proxy?
Also add commit to align go version in vendor dockerfile.

Maybe something is cached on golang proxy?

Ok found why: https://go.dev/doc/toolchain

"The go get and go mod tidy commands maintain the go line to be greater than or equal to the go line of any required dependency module."

So in this case https://github.com/anchore/syft/blob/f4dd36ca9d8ac8f31bf3a9223f24b4647098c437/go.mod#L3 :cry:

@crazy-max looks like this comes from https://github.com/anchore/syft/pull/2108?

@crazy-max looks like this comes from anchore/syft#2108?

Yes indeed. I tried to set back 1.21 in syft but it also enforces 1.21.0 because one of underlying modules is 1.21.0


enhancement: support alter modify columns' type and position

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：
Currently, StarRocksCatalog supports both adding and dropping columns in given tables, but doesn't allow modifying columns' type and position.
This PR adds function alterModifyColumns in StarRocksCatalog and corresponding test case in StarRocksCatalogTest to fix this.
Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)
[ ] I have added documentation for my new feature or new function

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


unused vars

Remove the vars that are no longer required and should not prevent the start script from running. Adding in payment server var as required var

Closing in favor of the develop branch which already includes these changes.

Thanks @ayaabdelgawad !


Typos in manual

From Saul Sun
Typos in manual
usage of '''code''' font is not consistent thought manual
4.9 "el.update(refmap) // Update the problem" Indentation
5.8 Peren instead of brakets
5.13 use code font for first IF
5.17 space between 1,2 (also use code font for break)
5.18 1,2 need space
5.28 input isn't an angle, what is the range? Why use one arguement instead of two
5.43 should be titled isnan
6.3 lookup should probably be two words
6.4 lookup should probably be two words
6.5 and 6.6 need var
6.8 what order does it get sorted in also that its in place, provide an example
7.2 (grade 1) elements vs (grade 2 elements)
7.4 Additional Field objects may BE supplied
7.5 import ‘functionals‘ (don't need ')
7.6 length of a line elements
7.9 and 7.10 AN
7.9 "An VolumeEnclosed functional calculates the volume enclosed by a surface of line elements" is unclear and may not be correct
7.11 level set constraints is not a well known term
7.18 it might be nice to define what grad of higher d objects are

@ConduitDan  I have fixed these and will push—don't worry!


Simplify fromPromise using awaitPromises+just.

This stabilizes sample() and the interaction between fromPromise() with already-fulfilled promises and just().
Read this for more information.  It's not clear yet whether this is the best long term solution.  However, it seems reasonable for now, and deletes far more code than it adds.
Close #201

Gonna merge this, since it causes the desired effect and simplifies a big chunk of code.  It may not be the ultimate solution, but we can improve/revisit it if necessary.


Tiling doesn't work with lineTextureStyle if texture size is not power-of-two

Expected Behavior
My assumption is that lineTextureStyle should tile texture but couldn't find in the docs about what's expected behavior.
Current Behavior
Tiling doesn't work unless texture has power-of-two dimensions.
Demo: https://www.pixiplayground.com/#/edit/5k4oHv8mNofjoE8rxYUpN
Environment

pixi.js version: v5.0.3

Might be caused by the limited support of non-power-of-two (NPOT) texture support in WebGL 1.0. Namely, setting a repeat mode to anything other than gl.CLAMP_TO_EDGE leads to an error in WebGL 1.0. I guess that's why PixiJS automatically set the repeat mode of NPOT textures to gl.CLAMP_TO_EDGE.
https://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences#Non-Power_of_Two_Texture_Support
https://github.com/pixijs/pixi.js/blob/6ba610d5d7ceec1dba8963f858486c027053c269/packages/core/src/textures/TextureSystem.js#L368-L372
However, WebGL 2.0 fully supports NPOT textures (Please refer to the section 4.1.3). So, if your browser supports WebGL 2.0, PixiJS can relax this restrictions on NPOT textures.

No, I am completely wrong.
The reason why NPOT texture is not tiled seems like the default MIPMAP mode is PIXI.MIPMAP_MODES.POW2.
https://www.pixiplayground.com/#/edit/8YR5ko0Q_G2kta6pmodx~

@mofnire Ahhh I see. Thanks for explaining!


Provide mobile-friendly rendition of the "compile" pane for users with unusual network topology

 Issue by Katharine
Saturday Feb 15, 2014 at 17:14 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT
Originally opened as https://github.com/pebble/cloudpebble/issues/23

Some people are unable to connect their computer directly to their phone as a result of their network topology or other restrictions. We could just put the QR code back (it's actually still in there; it's just hidden…), but that still doesn't help iOS developers due to the restrictions on side-loading JavaScript.
Instead, we could provide the option to log in from a mobile device and get a mobile friendly layout that allows them to install/log/screenshot on 'localhost', as seen from the app. This does work now, but is difficult to actually use in practice.
Note that some users of potentially questionable sanity actually write code on their phones, so we have to handle that use case too.

 Comment by Katharine
Saturday Feb 15, 2014 at 17:30 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT

Also note that this still won't work if the phone is on a mobile network instead of a wireless network. It would be nice if the Pebble app could still listen to localhost when there was no network connection, but doing that without causing (even more) user confusion would require some UI work.

 Comment by sarfata
Sunday Feb 16, 2014 at 00:46 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT

That is a pretty awesome idea. The only sucky thing is that the developer connection will die after a few minutes if the iOS app is not in the foreground. We have not found a way around that yet.

 Comment by Katharine
Sunday Feb 16, 2014 at 00:47 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT

@sarfata Worst case, I can hack around it by asking you to switch to the Pebble app if it fails – when we're routing through local loopback the set of failure modes is fairly tiny.

 Comment by KeanWong
Sunday Feb 16, 2014 at 00:49 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT

@Katharine - possible solution would be to send a push message to wake up the Pebble app on the device (and/or remind the user to foreground it) if the issue is that the iOS app is not currently foregrounded but needs to me

 Comment by Katharine
Sunday Feb 16, 2014 at 01:00 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT

@KeanWong If we can actually do that, it'd be great! Even if this doesn't actually bring the app back to life, it'd be a handy UX improvement.
I think actually getting a push from a CloudPebble project to the correct user's phone app would require some other integration work first, though.

 Comment by sarfata
Sunday Feb 16, 2014 at 01:14 GMT # Sample: Friday Sep 13, 2013 at 22:58 GMT

Yeah. This reminded me that it would be great to have Pebble-SSO support: #26


Support OpenSearch Serverless

Feature or Bugfix

Feature

Detail

Add OpenSearch Serverless stack & corresponding feature flag
Update client request signature ("aoss"/"es") and create service SSM parameter
Update domain / collection references
Add ECS task role to OpenSearch Serverless principals
Update CDK library to latest (2.61.1)
Update Pipeline CodeBuild image to STANDARD_6_0 with latest node version to use latest CDK
Pass VPC endpoints security group to OpenSearch Serverless stack
Update template_cdk.json
Add monitoring

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

Thanks for the review @nikpodsh!

Thank you for cleaning up the unnecessary packages from the CICD pipeline! The testing in v1m5m0 branch is ready, so you can go ahead and merge your changes. Great contribution @kukushking 🚀


package:http in the flutter/flutter repo is 15 months old

See https://github.com/flutter/flutter/blob/master/packages/flutter_tools/pubspec.yaml#L25 and https://pub.dev/packages/http/versions. This was first flagged in https://github.com/flutter/flutter/pull/152692, although I don't believe it is being constrained by package:usage, as the only dependencies I see it having are on meta and path: https://github.com/dart-archive/usage/pull/192/files#diff-8b7e9df87668ffa6a04b32e1769a33434999e54ae081c52e5d943c541d4c0d25R13
To figure out what package is constraining this, I would run flutter update-packages --force-upgrade --synthetic-package-path=$TEMP_DIR and then navigate to $TEMP_DIR, edit the pubspec.yaml to have a newer package:http version, say 1.0.0, and then run pub get and I would expect to get a version solve error indicating the package in our global solve that constrains package:http at less than 1.0. We should then either consider whether we can delete that (apparently abandoned) package, or if not, roll deps to that package and publish it.

cc @andrewkolos

Labeling as P2. However, this will inevitably become a P1 issue when this blocks adding or updating another dependency.

Labeling as P2. However, this will inevitably become a P1 issue when this blocks adding or updating another dependency.

I would bet it already is blocking updating other dependencies--running dart pub outdated on the synthetic package would be able to confirm.

Labeling as P2. However, this will inevitably become a P1 issue when this blocks adding or updating another dependency.

I would bet it already is blocking updating other dependencies--running dart pub outdated on the synthetic package would be able to confirm.

Good call. I'm temporarily assigning myself to do this.


Relation field

Expected Behavior
My code

Actual Behavior
Error

my problem is solved after this update

Specifications

ORCHID Version: 5.0.3
Laravel Version: 5.8
PHP Version: 7.3
Database Version: .8.0

Hi @brahimbim. Thank you for paying attention to this issue.
The fix is already released with the release 5.0.5.
Do you have the opportunity to check it yourself?

I check release 5.0.5, it's Ok, thanks for your fast respond


Fixed a bug from #248

When I added error checking on the regexps I introduced a bug due to incorrect logic. Sorry about that.

NP, it happens. And I should have been more diligent reviewing the changes. :( Thanks for getting to this quickly.