Cert Scheme Revision: Chapter 4 Component Certification

Provide chapter 4 for the new version of the certification scheme in the following branch: https://github.com/International-Data-Spaces-Association/IDS-RAM_4_0/tree/cert_scheme_revision (@mohuber  and @nadjamenz )

more details on the different levels and when to use which one (which role in the IDS shall fulfill which Trust Level)
overview on the evaluation process for the three Assurance Levels → link to test specifications
Explaining the structure and content of the criteria catalog (WITHOUT duplicating it)
IDS Reference Testbed – how and where shall it be used (@Sonia-IDSA)
Certification for ALL IDS components → for which of them do we need which kind of certification – where is certification mandatory, optional, not needed, under discussion
Links to: criteria catalog, reused standards, questionnaire, test specifications

Time plan:

Version for review of the WG Certification until June, 17th 2022
Feedback received and integrated until WG Meeting on June, 29th 2022
Official approval of the new version in the WG Meeting

@mohuber How to we want to rework the Section on the criteria catalog(s)? A general, brief intro followed by two subsections, one for Connectors, one for Brokers, or keep one section only for Connectors?
What I don't think will be possible is to rewrite the current Connector-specific section to be applicable to both components.


Add datatable

I would say datatable is impressive, but still much slower than vaex:

Also, filtering does not work, it tries to allocate a lot of memory here. The complicated expression gives an out of memory error, and the value counts I am not sure how to do.

Done


Combine forces

I made a json importer a long time ago.
https://github.com/godot-extended-libraries/json

Feel free to salvage.

Noted and planned to add here


Masked Fragment inference with Remix/React Router useLoaderData pattern

Describe the bug
I'm trying to migrate from codegen to gql.tada but TypeScript complains about types not being compatible when data comes from a Remix or React Router loader.
This may be related to how TypeScript handles union types when a function can return different types... But I'm not sure.
As you can see, I reproduced a case here https://stackblitz.com/edit/remix-run-remix-rckuw2?file=app%2Froutes%2Ftada%2Froute.tsx
TypeScript complains when using the result of useLoaderData<typeof loader>(). As far as I'm concerned they should be compatible though.
You can see that there is no issue when using useQuery inside the component's body.
And if you look in the routes/codegen directory, you can see that I re-created the exact same use case but with codegen and it seems to go along with this without any issue.
What is the difference between codegen and gql.tada approach here?
This is clearly a blocker for us because we don't want to be forced to redeclare every loader return types manually as this wouldn't be a very good DX.
Reproduction
https://stackblitz.com/edit/remix-run-remix-rckuw2?file=app%2Froutes%2Ftada%2Froute.tsx
gql.tada version
gql.data 1.2.1
Validations

[X] I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which GitHub Discussions should be used
[X] Read the docs.
[X] Follow our Code of Conduct

The issue here seems to be that useLoaderData maps the object (potentially recursively?) inside JsonifyObject.
I don't know what that type does and haven't looked at it. But if I had to guess, it's meant to prevent you from trying to transfer non-JSON values over loaders, since that wouldn't be possible.
I'm not sure if they have an escape hatch for that, as otherwise you'd be forced to unmask fragments (or disable masking entirely). But since masked fragments are a type-level protection for us, it's probably advisable to simply turn off / circumvent the JsonifyObject mapping, since GraphQL already guarantees that transferred objects are JSON-serializable by default (unless you were to add custom scalar types / type mapping, etc)
The easiest way to circumvent this, if there's no built-in solution for this, is to write a wrapper for useLoaderData, specifically for GraphQL data, that casts the return type, so JsonifyObject doesn't come into play.

Hi @kitten, thanks for your reply.
How do you explain that the JsonifyObject works with Codegen but not with Tada?

Depending on what you're using for codegen it first of all depends what you did before. However, assuming you're using GraphQL Code Generator with the client-preset, its types generate similar “ref types” for fragment masks, but they're instead placing it on a regular property (https://github.com/dotansimha/graphql-code-generator/blob/b36509997251d1e3538634addbc52d0e87064113/packages/presets/client/src/fragment-masking-plugin.ts#L8-L13)
This basically means:

if you're using another code generator that doesn't use fragment masking, this is not an issue, because the types will always match the JSON result exactly
if you're using the client-preset (or codegen that otherwise generates fragment masks), their types may use serializable properties (e.g. ' $fragmentRefs')

This is actually intended behaviour, in a way.
We're choosing to use a unique symbol exactly because fragment masks are neither real nor serializable. Once you have a fragment mask, the data basically “lies” about what its shape is and omits information rather than showing it.
So, you can either disable fragment masking, and lose its benefits, enforcing fragment composition strictly, or you'll have to avoid going through JsonifyObject, or write wrappers to retain fragment masks.
On a side note, Remix is definitely doing the right thing here, because they're basically enforcing that unserializable data can never make it across, since it's presumably serialized as JSON. But this being a virtual property, rather than omitting it, their helper makes it incompatible, since they likely only expect this to be a problem in case of any mistakes.

Wow, we look forward to try it out with the next version. Thanks.

I confirm that is fixed. Thanks Kitten!


⚠ Bofrost.de has degraded performance

In ae62d64, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1410 ms

Resolved: Bofrost.de performance has improved in 73c732b.


Update README

The current logo on cpp-linter-action is different from the logo on Org's home page. I prefer to move the old one.
Add an example snip about how to use cpp-linter as a package with other CI tools, like Jenkins. and which arguments they can not use.
Replace the second used by with chocolate-doom
Update old and more link

Add an example snip about how to use cpp-linter as a package with other CI tools, like Jenkins. and which arguments they can not use.

Off the top of my head, I think the args that can be used are

ignore
extensions
version
verbosity
database
repo-root
tidy-checks
style

The only args that cannot be used by non-GitHub-based CI would be anything dealing with the REST API:

lines-changed-only
files-changed-only
thread-comments
file-annotations (which is on by default)

There also might be a few kinks in the process that depend on GitHub env variables, but that might be easier to solve. To port the options in a universal VCS way, we'd have to start using git directly (especially for getting the diff), but I'm not sure how well a pull request would be supported with just git.

It looks like google/flatbuffers stopped using this action: https://github.com/google/flatbuffers/commit/ebbed05137fe15c091d9a5fa50c8a37588596f09 The reason isn't very descriptive, so IDK what prompted them to discontinue.
We should probably remove the google/flatbuffers link in the README's "used by" section.

I also noticed yesterday. Here https://github.com/google/flatbuffers/pull/7228#issuecomment-1090847180

I'm not sure why the cpp linter is failing :/ since there wasn't even a change in the headers for the swift cpp generator

is this a false positive?

Possibly. I can't view the workflow log, so IDK. My feeling is that the version they were running triggered #82 because they had lines-changed-only: true, but had not set files-changed-only, but files-changed-only is true by default as of #27. I really can't say for sure.


Why RSetCache extends Set instead of RSet

RMapCache extends RMap
public interface RMapCache<K, V> extends RMap<K, V>, RMapCacheAsync<K, V>, RDestroyable {}

but RSetCache extends Set
public interface RSetCache<V> extends Set<V>, RExpirable, RSetCacheAsync<V>, RDestroyable {}

RMapCache is an enhancement to RMap that allows you to set ttl for each entry, and it inherits all the methods of RMap.
Why this behavior is not consistent in RSetCache ?
When I use RSetCache, I will not be able to use some ops like diff, union, intersection.

Done


trying to fix travis

Coverage remained the same at 6.944% when pulling ab0bc9ffa9146e6026a284febdba19037e7e15d3 on fix-travis into 52b4f4c3d16538df27f40c7862c081efcd5d811f on master.


Firefox parse date error

Using Firefox have problems when refresh browser with ctrl + R
When page load first time:

when press crtl + R

I use the example code of docs.

flatpickr version used: <IP_ADDRESS>
Browser name and version: Firefox 53.0.3
OS and version: Ubuntu 16.04

@fedeotaran hi. Flatpickr is not to blame for. First of all, currently you are not parsing any date so flatpickr may set a random date value(i guess?). Try using defaultDate option to set the date you want: https://jsfiddle.net/jmqe1tg5/

Hi! My example are from the flatpickr doc webpage: https://chmln.github.io/flatpickr/examples/
The date value are in the input, and the error appears when refresh the page.
Thanks!

Could not replicate using flatpickr 4.5.7 on FF 65. I'm assuming the problem has been fixed. Please reopoen if that is not the case, including a JSFiddle reproduction.
Thank you!


aliasByMetric() display a trailing ')'

fix the aliasByMetric impl
add unit tests on aliasByMetric

Current coverage is 66.28% (diff: 100%)

Merging #1756 into master will decrease coverage by 0.01%

@@             master      #1756   diff @@
==========================================
  Files            54         54
  Lines          6195       6193     -2
  Methods           0          0
  Messages          0          0
  Branches       1225       1224     -1
==========================================
- Hits           4107       4105     -2
  Misses         1868       1868
  Partials        220        220

Powered by Codecov. Last update 26c2de1...acb2e01

Yup, makes sense. Thanks!


why "select max(a) + 1 from sy" not supported even table sy is not a sharding table?

Feature Request
For English only, other languages will not accept.
Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot make decision by current information, we will close it.
Please answer these questions before submitting your issue. Thanks!
Is your feature request related to a problem?
When I execute the SQL on Sharding-Proxy-3.0.0, following exception occurs.
mysql> select max(a)+1 from sy;
ERROR 3054 (HY000): Unknown exception: Can't find index: AggregationSelectItem(type=MAX, innerExpression=(a), alias=Optional.absent(), derivedAggregationSelectItems=[], index=-1), please add alias for aggregate selections

Table sy is not a sharding table.  In my sharding rule, table sy is not configured.
shardingRule:
  defaultDataSourceName: ds_0
  defaultDatabaseStrategy:
    none:
  defaultTableStrategy:
    none:
  tables:

I think sharding-proxy should use defaultTableStrategy-none rule for the SQL, send the original SQL to mysql directly.
Describe the feature you would like.
If a SQL statement only use none sharding tables, then send it to mysql directly.
PS.
Following result is directly run on mysql.
mysql> show create table sy \G
*************************** 1. row **************
       Table: sy
Create Table: CREATE TABLE `sy` (
  `a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1 row in set (0.10 sec)

mysql> select * from sy;
+------+
| a    |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.07 sec)

mysql> select max(a)+1 from sy;
+----------+
| max(a)+1 |
+----------+
|        3 |
+----------+
1 row in set (0.09 sec)

Can you try new version 4.x?

I tried sharding-proxy-4.0.0-RC1, it works fine.
mysql> select max(a)+1 from sy;
+----------+
| max(a)+1 |
+----------+
|        3 |
+----------+
1 row in set (0.01 sec)

mysql> select sum(a)/count(1) from sy;
+-----------------+
| sum(a)/count(1) |
+-----------------+
|          1.5000 |
+-----------------+
1 row in set (0.01 sec)

Thank you.


database push/set/get no longer working after latest Firebase SDK update, any quick solutions?

would appreciate any input. thanks for this great library.

any solution for this issue?

I have the same problem too...what happned?

You have to update the fingerprint. I will post what I had to change today when I get home in about 45 minutes.

Have a look at #236

Hello everyone, I found the solution in #236

This is too sad. What should I do if I do not have physically access to the device anymore? Or just imagine it is in production and it is sold to the client?

In my code I am including these 2 header file
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "xyz.firebaseio.com"
#define FIREBASE_AUTH "DATA SECRETS"

after changing fingerprint, do I must have to include FirebaseHttpClient header file in my Arduino code or it will work without including it??

I think it needs to be included. Does it compile without it?

Fingerprint update merged, and filed an issue to expose the fingerprint as an optional parameter.
Thanks for the quick report!

Yes it compiles and perfectly running on esp before Update. Now the same code is not working and did not get the data from firebase.

Have you run the code with FirebaseHttpClient.h added to your user code? I did a quick test and it needs to be there if you have Firebase Arduino in the lib folder

Yes, I have But it still not working. This is the exact code which is working Before the update. Is there any problem in it Please guide me. Thank you
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#include <FirebaseHttpClient.h>
// Set these to run example.
#define FIREBASE_HOST "xyz.firebaseio.com"
#define FIREBASE_AUTH "Secret"
#define WIFI_SSID "xyz"
#define WIFI_PASSWORD "123"
void setup() {
  Serial.begin(115200);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  pinMode(2, OUTPUT);
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

}
int n = 0;
void loop() {
  FirebaseObject p2= "";
  p2 = FirebaseArduino.get("/xyz/abc/123");
  if (Firebase.failed()) {
      Serial.print("setting /number failed:");
      Serial.println(Firebase.error());
      return;
  }
  Serial.println();
  int x = 0;
  x = p2.getInt("/Relay1/status");
  Serial.println(x);
  Serial.println();
  digitalWrite(2, x);
  delay(1000);
  String name = Firebase.pushInt("logs", n++);
  if (Firebase.failed()) {
      Serial.print("pushing /logs failed:");
      Serial.println(Firebase.error());
      return;
  }
 Serial.print("pushed: /logs/");
  Serial.println(name);
}


cannot disable editor.formatOnSave

VSCode Version: 1.6.1
OS Version: macOS 10.12

Steps to Reproduce:

set "editor.formatOnSave": false
when I save file, formatter will still format my code

What language? Do you have any extensions installed? Some extensions will do this for you. Does it happen if you launch with code --disable-extensions?

oh, I find it is caused by JS-CSS-HTML Formatter extension. It's not a bug. Thanks @roblourens


keeps on scrolling

cmd+shift-c
arrow up

expected:

to stay in the bottom of the list

what happens instead

the highlight keeps scrolling to the top in a loop

details:
v0.18
large list (100?) bigger than the screen size

That's by design. Any reason why the scrolling should stop when reaching the top/bottom?

Maybe I'm not being clear.
It scrolls by it self... Non stop.
So I can't select what is at the bottom, like preferences

Wait, what? Can you record a video? I can't reproduce.

Yeah freaky 😊
I'll try tomorrow when I'm back at work..
At least one time it didn't behave like that.
Could it be it was still updating something after installing the new version?

I remember I couldn't click in the task bar icon and open the list at the time.

Closing since no news for a month. Please reopen with more details.

Closing since no news for a month. Please reopen with more details.


Details on how to debug?

So, I've got the stack up and running.  Temporarily on Windows docker desktop. The web UI connects to plate-minder and updates the config file. Manually uploading or posting to oalpr via localhost:3000 works   as well images from my cameras, or MP4 as the file source in plate-minder work
But  I've tried RTSP streams and mjpeg streams with no results. Where as the same h264 recorded video as a file source from frigate from that RTSP stream  does work.
How can I find out why nothing is being detected over RTSP or mjpeg RTSP?

If uploading still images to the openALPR wrapper works, the web UI is working, and manually configured mp4 files from the camera work, the only obvious thing left is that the H264 source stream isn't entered correctly.
If there's a problem with the stream, you should be able to see error messages  from the web UI. For example:

If you're not seeing error messages, it's probably picked up the stream correctly.  You can confirm this by adding a motion filter and toggling on the "Debug Image" option.  You should see cropped sections of your stream where motion was detected.
If you've gotten to this point, then I'd look at the stream quality you're getting.  It's possible you're running a low-res stream and the image quality isn't fine enough to make out a license plate.

So I've tried multiple streams. Most of my streams are 4k h264, or 1080p. Using quality sensors. The snapshots(jpeg)or recordings work great for direct upload to oalpr or as a file source. Which were recorded from the RTSP stream I am using.
I don't get errors like you have posted , but about once every 5 minutes I see a 'stream has no output[0]' or something along those lines.
I doubt it is the stream quality. Here are a couple of still jpeg from the camera.  I can Include an MP4 as well if needed.  But I am using the main RTSP feed, not substreams.  I'm also using intel quicksync.  Rtsp of these events results in nothing, but MP4 or jpeg of these events as a file source works completely fine.

Forgot to mention, enabling debug with motion filter, shows no image. But just shows the broken image symbol, for both RTSP and file sources.

Here's a terrible MP4 used as a file source, that doesn't work as RTSP.
Sorry for three comments. Just trying to provide as much as I can, or at least enough so you can see I am truly having trouble with RTSP. As RTSP or mjpeg. Not recognition itself

That you can't see a debug image while using the camera rtsp stream is concerning. When you use a pre-recorded video, do debug images show up with that? If so, it does seem like something is going wrong when streaming.
You could monitor the log output of the plate-minder container to see if there's any meaningful errors.
Plate-minder uses ffmpeg to convert sources (rtsp, mp4 files, etc) into mjpeg streams.  Maybe try running ffmpeg from within the plate-minder container to see if you get any errors:
/usr/lib/jellyfin-ffmpeg/ffmpeg -hide_banner -loglevel error -i "rtsp://username:[password@192.168.XXX.XXX](mailto:password@192.168.XXX.XXX):554/cam/realmonitor?channel=1&subtype=0" -f mjpeg -q:v 4 -r 1/1 -an out.mjpeg

If it works correctly, it shouldn't output anything to the screen and should start streaming to an "out.mjpeg" file. You'll have to close the program (CTRL+C) to get it to stop.

ffmpeg seems happy, so that's not the problem. It's strange that there were no errors reported, yet you can't see an out.mjpeg file within your current directory.
The plate-minder project runs in the /app path of the container. Try changing to that path and try running the ffmpeg command again for a few moments.  You should see the out.mjpeg file there.
When you streamed the mp4 file, were you able to see debug images through the web UI?

I was indeed running from the /app directory
One thing I noticed in the output is
Failed to parse interval end specification
and SDP is reporting <IP_ADDRESS>?
[rtsp @ 0x5615887f1ac0] SDP: v=0 o=-<PHONE_NUMBER><PHONE_NUMBER> IN IP4 <IP_ADDRESS> s=Media Server c=IN IP4 <IP_ADDRESS> t=0 0 a=control:* a=packetization-supported:DH a=rtppayload-supported:DH a=range:npt=now- m=video 0 RTP/AVP 96 a=control:trackID=0 a=framerate:30.000000 a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=1;profile-level-id=4D002A;sprop-parameter-sets=Z00AKpY1QPAET8s3BQEFQAAAAwBAAAAPIQA=,aO4xsgA= a=recvonly
When I stream the MP4 recorded from frigate from this RTSP Stream, I can indeed see debug. In frigate my ffmpeg config looks like this
ffmpeg:
global_args: -hide_banner -loglevel warning
hwaccel_args: -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format yuv420p
input_args: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp
output_args:
detect: -f rawvideo -pix_fmt yuv420p
record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -c:a aac
rtmp: -c copy -f flv

Ok, so I've gotten the following to work adding '-rtsp_transport tcp'
/usr/lib/jellyfin-ffmpeg/ffmpeg -hide_banner -loglevel debug -rtsp_transport tcp -i "rtsp://username:passwword@192.168.XXX.XXX:554/cam/realmonitor?channel=1&subtype=0" -f mjpeg -r 1/1 -an out.mjpeg"

which outputs the file under ./data/out.mjpeg on the host. or /app/data/out.mjpeg in the containter, when running the above command from the /app directory.
However, when I add it to my plate-miner config.yaml file as an input ARG, I am still getting no image under debug
sources:
  - type: rtsp
    name: front_left_lp_cam
    captureInterval: 1
    preInputArgs:
      - -rtsp_transport
      - tcp
    preOutputArgs: []
    alwaysRestart: true
    url: rtsp://username:passwword@192.168.XXX.XXX:554/cam/realmonitor?channel=1&subtype=0

I've added a PR to update documentation for others. Thank you for your help
https://github.com/sclaflin/Plate-Minder/pull/17


Holding a key makes cursor drift from target being dragged

A regression from the async execution refactor is that now, while holding down any key (either a modifier like Shift or any key, really), the thing being dragged loses its one-to-one relationship with the object being dragged. For example, hold Shift while dragging a point when using the Path tool.

Caused by the issue that should be fixed in #1420


Consider ability to generate GraphQL types

Done as a part of graphql itself https://github.com/graphql/graphql-js/pull/558


Problems about URLs under published ports

Bug description
Hi,
It's a little bit hard to explain in one sentence but here we go:
I have a Portainer instance (v1.20.1) that shows around 15 containers on Containers page. Some of them are web servers such as NGINX, some of them are databases such as MySQL or RethinkDB. My Portainer container has these settings:

Image: portainer/portainer@sha256:89c72b64ab633ae822c5e212d9ab7a43e50d8cda5c6867c20d3affffe46411bd
Port configuration: <IP_ADDRESS>:9000 -> 9000/tcp

And I have an NGINX configuration that resolves these requests to port 9000 and redirects them to https://portainer.gokaygurcan.com.
I have a user defined network named user and it details are like these:

Name: user
Driver: bridge
Scope: local
Attachable: true
Internal: false
Subnet: <IP_ADDRESS>/16
Gateway: <IP_ADDRESS>

If I create a new container, let's say a Postgres container, and expose port 5432, I can see it working perfectly. I can add it to user network and let my other containers access it, etc. I'm telling this because I also have a firewall that only allows 22 (ssh), 80 (http), 443 (https) and 9000 (portainer). So, no one can hit that 5432 port outside of my machine. Problem starts right after this point, let's try to understand it in the next section.
Expected behavior
There're two bugs/problems. One of them is not that critical and I can ignore that but the other one is a bit annoying. First let's set the scene: if I let's say change the network settings and assign something like postgres.gokaygurcan.com on <IP_ADDRESS> to Postgres container that we just created above, and create another NGINX settings to point that URL to <IP_ADDRESS>:5432, everything works perfectly in Postgres. But when I try to access that container via provided link on Containers page under 'Published Ports' column, things start to become a bit weird.
First, instead of seeing a URL from a specific container's network settings, I see a URL:port that comes from Settings > Endpoints > Configuration > Public IP that makes a little bit sense since it says

"URL or IP address where exposed containers will be reachable. This field is optional and will default to the endpoint URL."

But if I remove that entry, my URLs start with <IP_ADDRESS> instead of https://portainer.gokaygurcan.com, which is also not correct or coming from Postgre's network settings. This was the first and relatively smaller problem that I was talking about.
Bigger problem here is about these lines:
https://github.com/portainer/portainer/blob/develop/app/docker/components/datatables/containers-datatable/containersDatatable.html#L240-L242
That http:// in "http://{{ item.IPAddress }}:{{ p.port }}" causes duplicate protocols in the final URLs. So my https://portainer.gokaygurcan.com:5432 becomes http://https//portainer.gokaygurcan.com:5432 which is totally wrong.
I understand this was a design choice in https://github.com/portainer/portainer/pull/826 and discussed in https://github.com/portainer/portainer/issues/1094 but my problem is not about having a public URL and being overruled by that one everywhere, my problem is about a useless default http:// in front.
P.S: yes, I can remove https:// from my Public IP settings and solve this problem but it causes an extra 301 redirect from http to https which can be fixed by just removing that default protocol from the code.
Steps to reproduce the issue:
Steps to reproduce the behavior:

Spin up your Portainer container as described in the documentation, nothing fancy, just follow the docs
Go to settings and assign https://example.com as your public ip (IT NEEDS TO START WITH HTTPS://)
Go to containers and try to open link under published ports column by clicking 9000:9000
See if your url is http://https//example.com:9000 in your address bar and your browser saying "This site can’t be reached"

Technical details:

Portainer version: 1.20.1
Docker version (managed by Portainer):

Client:
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        6247962
 Built:             Sun Feb 10 04:13:47 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 03:42:13 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Platform (windows/linux):
Linux gokaygurcan 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Command used to start Portainer: N/A
Browser: N/A

Additional context
I created a pull request here to remove these default http:// parts from the URLs here: https://github.com/portainer/portainer/pull/2702
It was done by web interface, sorry for sending 3 commits instead of 1.
Best,
G.

Thanks for the detailed report, we'll investigate.

Thank you. I'll be watching.

I will repost here what I have posted previously in the associated PR:
I have been really trying to wrap my head around this issue. Ultimately, I think the approach to solve this will be to keep default protocol on each port as it is, and prevent specifying protocol via public IP.
If we remove the default http protocol, then users will need to specify a protocol for an endpoint inside the public IP field. It does not make sense to set a protocol at the endpoint level as it is associated to services/containers and might be different for each, meaning containers without SSL will not resolve via the published ports link. I have opened a feature request to prevent specifying protocol via public IP: #3438.
Replying to @hhromic: I agree that it would be a better user experience if there was a way to specify port protocol when deploying a container or service, and have the published ports links in the UI respect this. I think practicality however, this would be very difficult to implement. When manually forwarding ports, you could introduce the ability to specify a protocol for each different port, but what would this look like when forwarding a port range on a container?
 The container port => protocol mappings would also need to be stored in the PortainerDB, so there is this dimension to consider also.
For the above reasons, I will close this issue. However if there is enough interest on seeing the above implemented, we can re-open & re-assess the development cost vs value this brings :+1:

@itsconquest thanks for mocking up the solution, really appreciated!
The screenshot you provided looks very good and I think would be a nice way to put this into the UI.

When manually forwarding ports, you could introduce the ability to specify a protocol for each different port, but what would this look like when forwarding a port range on a container?

Good point, didn't consider this case indeed. Because this feature would be relevant only for the UI to be able to provide a clickeable link in the browser, I'm not sure it makes sense to make such links for port ranges. I got curious and went to create a container with a port range in my local Portainer v1.23.0 installation to see how it looks currently (I configured an 80-88 range here):

Looks like Portainer creates an individual link for every port in the range (doesn't look very pretty but that's another discussion). In this case the proposed approach implemented like you showed would still make (partial) sense as you would assign "NONE", "HTTP" or "HTTPS" to the whole port-range and these links would just follow this setting for each generated link in the range. I agree that the limitation here is that you can't assign the property per-port but I'm not sure if this use-case is as common as the use-case of distinguishing between HTTP/HTTPS ports.

The container port => protocol mappings would also need to be stored in the PortainerDB, so there is this dimension to consider also.

Yes I agree with that too and that's why I mentioned that this would require modifying the model of either the container or the service to include this information. I don't know how you guys handle DB schema changes across Portainer updates so can't comment much on how difficult is to implement.

However if there is enough interest on seeing the above implemented, we can re-open & re-assess the development cost vs value this brings

I think this is mostly relevant for users exposing non-HTTP, i.e. HTTPS, ports from their containers that wish to be able to directly click on the Portainer UI to go to their container's content. I do have some of these and while I would like to have this feature, it's not a deal-breaker for me. I definitively consider it a "nice to have", not a "can't live without it".
If you decide to move forward with this at some point, let me know and I can help as much as I can from my side. Thanks for being open towards feature requests.

@hhromic If you find you have the time and are up to the task, then you are welcome to put together a pull request for this :)

@itsconquest I need to get more familiar with Go and the Portainer codebase first, but sure I can revisit this in the future when I become more acquited to it if nobody has taken this already. I think a better starter for me is to work on the other issue I opened recently.
Btw, if you have some progress for the mockup you made in your previous comment that would be nice to keep somewhere (for instance a branch?). Thanks for looking into this anyway.

That was just a mock up by altering the code via inspect in my browser, so I don't actually have any code on hand sorry.
Also we think there should be no none option, just http & https added. As IIRC tcp could act as this none option.


Fix inconsistency between map and sourcemap

It still doesn't work for me. Could you checkout my grunt-ng-annotate's WIP branch combine-sourcemap, run npm install, swap ng-annotate in node_modules to your version and then npm test? You'll see that:

Both non-combined map tests fail, only the combined one passes.
If you revert just the changes to tasks/ng-annotate.js from the last commit on the combine-sourcemap branch (it's just sourcemap -> map renaming) the combined tests fail & the individual source map ones succeed.

Let me know if you need help with getting it running.

Ahh, I'm sorry, I tested on the wrong branch. <badum, psst> It seems to work fine. :) Tests for this whole behavior would be useful (I've just added them to grunt-ng-annotate but it seems they should be here) but it's better to have it working than broken anyway.
@olov could you merge?

Great, I'll have to investigate and see if this clears up https://github.com/substack/node-browserify/issues/1192

Ah, one thing - the generated path seems wrong unless I broke sth. You can try on my combine-sourcemap branch I mentioned before. I'm transforming test/fixtures/not-annotated-es6.js via babel to test/tmp/not-annotated-es6.js and then pass it via grunt-ng-annotate & generate test/tmp/not-annotated-es6-source-map.js. The map file's sources is ['not-annotated-es6.js'] so it points to the second file instead of the first.

Are you totally sure your test is correct?  Did the parameter you are passing in as inFile exactly match babel's output in sources?  That's how the sourcemap combination algorithm works (for more info than you can shake a stick at, see: mozilla/source-map).
Because of the possibility of misconfiguration, I just updated the code to ignore inFile when there is an incoming sourcemap with the file property specified.  That should wire up the combination step correctly at all times.

Also done the same for sourceRoot, for the same reason.

Are you totally sure your test is correct? Did the parameter you are passing in as inFile exactly match babel's output in sources?

It didn't. babel returns the map with sources: [ 'test/fixtures/not-annotated-es6.js' ]; this was relative to the main project directory so I added sourceRoot: '/Users/mgol/Documents/projects/public/mine/grunt-ng-annotate'. The inFile that I'm passing is just not-annotated-es6.js since both source & destination files are in the same directory.
I'm not sure how to do it all differently without reading the incoming source map if it exists. IMO it shouldn't matter - I'm just providing an input file and the source map generating algorithm should itself look further.
In any case, your newest version of the patch passes my tests so it should be OK. :+1:

Awesome, glad it works for you now!  The internals of sourcemaps are just so obnoxiously fiddly.
@olov - Should be good to merge, I think.


[Unsplash] ...

Extension
https://www.raycast.com/eggsy/unsplash
Description

Error:

Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
No response

Closing since it's an empty report, could you please update the issue, and we'll reopen it 👍


Website and branding

I can donate the first year for happinessjs.com, with the condition that happiness moves to a GitHub org. I'd like to see this get adopted over (or as much as) standardjs and think having it under an org could make it look more official, and less like it is your opinion (you may want to get rid of the "Standard customised to make me happy" line in the README).
Thanks for making this!

Hey @davidmurdoch!
I personally would also be willing to help out.  Over the past few months I have been thinking about spending more time on this, and I agree with you.  We at least need to get this working reliably for an update progress.  The last update actually broke some stuff that I have not had time to get working.  The issue is that the underlying libraries don't support tabs correctly, which takes like three layers of updates for it to reach here.  Which is why I haven't had time to pursue fixing this.  Once we get a good update and testing process I think this project can be really reliable and forward compatible.

@wesleytodd, I went ahead and started an org and added you (and @JedWatson) (please let me know if i'm out of line here). If you want to accept the invite i'll add you as Owner's.
Regarding the update difficulties, i'm guessing the issue is more than just configuration for eslint and the react/jsx-indent* eslint plugins?

Thanks @davidmurdoch - I'm all for this!
I've joined the org and will transfer everything across when you've set me up as an owner. I've also registered happinessjs.com (thanks for the sponsorship offer, I really appreciate it but am happy to put it under Thinkmill and that way I can easily manage the renewals with other domains we manage)

Awesome guys, it is always good to see more people involved in a project, and an org is a good way to promote that.
@davidmurdoch It has been a little while since I looked at it, but I remember there being a hard coded 2 spaces somewhere.  But if you can find a simple configuration setting that works that is awesome as well.


Changes required to make QLF work with the new quicklook configuration file

QLF is now working with the new quicklook configuration format (see desispec ql_config_new branch). Now there is a key in the qlf.cfg pointing to the quicklook configuration file which is fixed, independent of the night, exposure and camera processed.

In recent changes the quicklook pipeline I/O was significantly reduced. Now it produces just one frame file for each camera in the output directory. These files are now 16M,  before we had 4 files of ~120M for each camera. Also, the pix files 116M each are not being created anymore.

As a result of that, the processing of 30 cameras in parallel takes 8 min on desidev compared to the 15 min we had before.
NOTE: processing just one camera takes about 3 min, we still have some overhead in the parallel processing to be investigated.

Renamed variables and keys in qlf.cfg to make it more complaint with DESI datamodel, using DESI_SPECTRO_DATA and DESI_SPECTRO_REDUX now.

Improved the data ingestion. All QA results for the 30 cameras are bein ingested in 1min50s using sqlite3 (before it was 5 min). Surprisingly it takes about the same time using postgresQL, 1min 30s.

We did some tests and verified that reading YAML files is slow, as pointed out by Stephen.
YAML dump duration:  13.794826381839812 seconds
JSON dump duration:  2.4137240648269653 seconds
YAML load duration:  23.01600768789649 seconds
JSON load duration:  0.6193110221065581 seconds
If needed, we can reduce further the ingestion time writing quicklook QA results in JSON format instead of YAML.
QLF branch ql_config_new is compatible with quicklook branch ql_config_new.
It would be great if we could merge that to master so that we have a working version of QLF + quicklook.   Right now QLF+quicklook on master is not working.

@afausti I will communicate with @rkehoe later today, about finalizing QL branch. It should be already okay, but there may be some final checks. In any case, an update on the existing PR will happen soon, that will incorporate the updates in "ql_new_config" branch.

@afausti This is good news.  I favor merging this to master for elf.  I take @afausti  comment to indicate ql_config_new branch in desispec is ready for merge from qlf vantage.  Will merge to quicklook_config branch first and then ask for merge after final testing.


Bump version to 1.9.2

High Level Description
1.9.2 should report its version as 1.9.2 :smile_cat:
Checklist for all PR's

[X] Included a test which will fail if code is reverted but test is not. If there is no test please explain here: Covered by test_backend
[X] Read the DC/OS contributing guidelines
[X] Followed relevant code rules Rules for Packages and Systemd

@mesosphere-mergebot bump-ee

EE failures are:

EE-Integration-Test/Custom-CA which doesn't exist in 1.9.x
test_networking.test_vip (strict) which was flakier in 1.9.x, rerunning.
Otherwise all green.

The EE tests are not green yet. :(

@orsenthil The EE tests will never go completely green in 1.9.x PRs anymore, since one of the tests is for a new 1.10 feature.

True. But I also noticed an eager application of ship-it and wanted to share it.


Exception when running the audio tests

Exception ignored in: 'Pinball.mpf_mc.mpfmc.core.audio.audio_interface.Track._play_sound_on_sound_player'
OverflowError: value too large to convert to int
Exception ignored in: 'Pinball.mpf_mc.mpfmc.core.audio.audio_interface.Track._play_sound_on_sound_player'
OverflowError: value too large to convert to int

On one of my Lubuntu 14.04 machines. Sound does not play. Works on my other Lubuntu 14.04 machine.

Perhaps int is only 16-bits on the problem platform and a 32 bit value is needed?  I have gone through the various data structures in the audio library and made sure and sample position related variable uses long instead of int.  Hopefully this change will resolve the issue.
Any suggestions on how to write a test for this one?

This was a bit-depth problem for a particular data structure in the Cython code.  The problem was sound assets have a unique id that is accessed via the built-in Python id() function.  This returns a Python object that is a PyLong.  It was getting stored in the Cython code in an int C variable which works on some platforms, however int is too short on other platforms.  Changing the int to a long fixed the issue.

Fixed


[MB-8689] Bump storybook-related dependencies to 6.3.4

Description
This PR consolidates the following dependabot PRs related to upgrading Storybook to version 6.3.4:
#6962
#6963
#6964
#6965
#6966
Setup
Just need to ensure the tests and build pass with no issues.

Messages

:book:
:link: MB-8689

  Generated by :no_entry_sign: dangerJS against f9600cbaabff3cab8cfadcc93073f7dd3c8edb19


Add ability to insert an image for a comment.

Users are now able to attach an image beneath their comments. Styling will be added in a later pull request.
Adding images to comments: https://screenshot.googleplex.com/ZruCOQGH35s.png

The previous pull request (#57) merged blob-get into blob-form, an old branch, rather than the master branch. To remedy this, blob-get was merged into this branch so it will be later merged into master.


[PFS-85] Disable inSidecars by Default for 2.8

The goal of the PFS team is to disable inSidecars for the next pachyderm minor release. This change should be made in coordination with the customer team so that customers are aware of the change in behavior and can adjust their helm configuration accordingly.

I have to actually double check with Brendon, but I think we were intending 2.8 not 2.7 which would be the next release after this.


[7.3] NoWhitespaceBeforeCommaInArrayFixer - fix comma after heredoc-end

Input:
$a = [<<<'EOD'
foo
EOD
    , <<<'EOD'
bar
EOD
];

With PHP < 7.3 this is not changed (like before). With PHP >= 7.3 it would be changed now to:
$a = [<<<'EOD'
foo
EOD, <<<'EOD'
bar
EOD
];

What about adding some code to https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/tests/Fixtures/Integration/misc/PHP7_3.test?

What about adding some code to https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/tests/Fixtures/Integration/misc/PHP7_3.test?

done!

When this pr is accepted, I will add similar PRs for some other fixers.

anything to do here?

Thank you @gharlan.


Bug: animation triggers every time the loading progress changes

Animation triggers every time the loading progress changes. Which leads to situations like in the attached video:
https://github.com/Kamel-Media/Kamel/assets/61359788/4a5373e5-3e08-40aa-bd6d-a8ae247732a8
Instead, the transition animation should only trigger when the resource type changes: from loading to success or from loading to failure.

Can you provide a basic sample or a code snippet?


Add MyUWIconLink widget content type

This PR adds a MyUWIconLink widget type which is used as MyUWCard content. It represents the most basic widget type currently available, a link with an icon. Screenshot with both Material Icon and Font Awesome icons:

More detailed call-outs to be noted in the diffs.
Please review: @apetro @paulerickson

Re: yarn vs. npm, I'm not sure there's as much advantage to yarn now that NPM uses lockfiles and made performance improvements, but FWIW if you want to add a Jenkins pipeline with the same build agent I used in myuw-drawer and myuw-app-styles, I checked and it does have yarn installed.
One thing that worries me a little, though, is that when I run npm install I automatically get audit warnings:
found 330 vulnerabilities (4 low, 1 moderate, 325 high) in 1846 scanned packages
  run `npm audit fix` to fix 329 of them.
  1 vulnerability requires manual review. See the full report for details.

but yarn does not, when I run it from that node:lts image.  I think it would but isn't finding any, because when I run yarn audit it comes up with zero:
root@58f2eb893a35:/tmp# yarn audit
yarn audit v1.16.0
0 vulnerabilities found - Packages audited: 3820
Done in 0.96s.

@paulerickson what did you run the audits against? npm audit and yarn audit both show 0 for me in this repository. npm certainly has improved performance recently, but Yarn is still noticeably faster and in my opinion provides a nicer interface for finding and updated outdated dependencies.

Oh, right I'm sorry—I ran that against myuw-profile repo just to compare (before fixing and opening my PR

I'm actually going to close this PR and rework things a bit more in anticipation of some additional widget types that Jim and I talked about yesterday afternoon.


dbt Cloud Job Status API response throws Cannot deserialize value of type java.time.Duration from String "10.0"

Describe the issue
Since Wed, Nov 6, 2024 9:04 AM, when checking status of DBT Cloud job it throws the error:
Error is Cannot deserialize value of type java.time.Duration from String "10.0"

Environment

Kestra Version: 0.19.8

@mgabelle the fix was already pushed, can the issue be closed?

@mgabelle the fix was already pushed, can the issue be closed?

Yes!


doesnt parse week of year the say way it formats

> Timex.format!(~D[2018-01-01], "%U", :strftime) |> Timex.parse("%U", :strftime)
{:error, "Expected `week of year` at line 1, column 1."}

seems like parse should be an exact reverse of format

Fixed in master


chore: bump x/net to 0.33.0 to mitigate CVE-2024-45338

Seems like the dependaboat is failing to create auto-bump PR for cve-2024-45338 at this moment. Creating this PR for bumping this dependency manually. Guard is not affected by this vulnerability.

Latest scanning result from govulncheck:
Scanning your binary for known vulnerabilities...

Fetching vulnerabilities from the database...

Checking the binary against the vulnerabilities...

=== Symbol Results ===

No vulnerabilities found.

=== Package Results ===

Vulnerability #1: GO-2024-2631
    Decompression bomb vulnerability in github.com/go-jose/go-jose
  More info: https://pkg.go.dev/vuln/GO-2024-2631
  Module: gopkg.in/square/go-jose.v2
    Found in<EMAIL_ADDRESS>    Fixed in: N/A

=== Module Results ===

Vulnerability #1: GO-2022-0646
    CBC padding oracle issue in AWS S3 Crypto SDK for golang in
    github.com/aws/aws-sdk-go
  More info: https://pkg.go.dev/vuln/GO-2022-0646
  Module: github.com/aws/aws-sdk-go
    Found in<EMAIL_ADDRESS>    Fixed in: N/A

Vulnerability #2: GO-2022-0635
    In-band key negotiation issue in AWS S3 Crypto SDK for golang in
    github.com/aws/aws-sdk-go
  More info: https://pkg.go.dev/vuln/GO-2022-0635
  Module: github.com/aws/aws-sdk-go
    Found in<EMAIL_ADDRESS>    Fixed in: N/A

Your code is affected by 0 vulnerabilities.
This scan also found 1 vulnerability in packages you import and 2
vulnerabilities in modules you require, but your code doesn't appear to call
these vulnerabilities.


Cody Web: fix cody web remote files link uri

Fixes https://linear.app/sourcegraph/issue/SRCH-633/links-in-the-prompt-has-incorrect-url-in-cody-web
This affects only cody web package and has no impact on other clients
Test plan

Start a new chat and include files and remote repositories via mentions
Check that links in the Context list have proper URL

when we first retrieved them

If you mean that we built a proper context item when we resolved it and picked it in the mentioned suggestion panel, then yeah, we built a context item there, too, but we constructed URI in a way that this later could be parsed and recognized as a remote file or symbol context item.
The fix here is actually marking this item as source: ContextItemSource.Unified so later in FileLink.tsx we could run remote URI building logic. I didn't know about this when I was implementing it for the first time.


chore(deps): update commitlint monorepo to v8.2.0

This PR contains the following updates:

Package
Type
Update
Change

@commitlint/cli
devDependencies
minor
8.1.0 -> 8.2.0

@commitlint/config-conventional
devDependencies
minor
8.1.0 -> 8.2.0

Release Notes

conventional-changelog/commitlint
v8.2.0
Compare Source
Features

cli: add helpurl flag (#789) (75cef4e)
config-conventional: use parser with short breaking change support (#821) (4b5300a)
resolve-extends: accept absolute path in extends (#825) (ecac29f)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

:tada: This PR is included in version 2.152.10 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Razor generated output is not processed by TagHelpers

If one tag helper produces some output, let's say href attribute, this attribute is not processed by other tag helpers (no matter what order is set).
For instance let's say I want to make all hrefs absolute. With tag helper I can prepend url with my domain, however it fails if I have
...
I guess that's because (in cshtml) it doesn't have href attribute (this is my TagHelper: https://github.com/ShadowDancer/razor-tag-order/blob/master/src/RazorTagOrder/MyTagHelper.cs ).
This is intended behavior? If so any proposed workarounds other than creating tag helper for each exception?
PS. here is example project: https://github.com/ShadowDancer/razor-tag-order

This is intended behaviour. MyTagHelper explicitly says (at line 5) that it should only be associated with elements in .cshtml files that have href attributes.
Your Href property would also be bound to an href attribute value in a .cshtml file (if any). Must use output.Attributes to determine what HTML will generated or what other tag helpers have added.


Support draft-zyp-json-schema-04 (draft-fge-json-schema-validation-00)

Links:

http://tools.ietf.org/html/draft-zyp-json-schema-04
http://tools.ietf.org/html/draft-fge-json-schema-validation-00

Notes:

[x] changes to 'required'
[x] deprecate 'extends'
[ ] basic/naive support for 'allOf', 'anyOf' (see issue #17)
[ ] add aliases for some 'format' values

Original issue: http://code.google.com/p/jsonschema2pojo/issues/detail?id=91

Ahoy! how is progress on this front?

@samskiter no progress on this front yet:
https://groups.google.com/forum/#!topic/jsonschema2pojo-users/f5ijBuG04LM

First off - thank you for sharing your generator with the community.  Its a very well done implementation that I look forward to carving out some time to contribute to.
What about only supporting a single schema reference when implementing allOf?  Basically just support the extends functionality that exists in draft 3.  If there is more than one throw an exception.
I don't believe that it is appropriate to try hack support for multiple inheritance into Java.  If you have to support that type of schema, I think it's appropriate to create a shim schema for pojo creation that will generate code that will output valid JSON.  For those of us playing in the single inheritance world that shouldn't be hard.
For any other feature that isn't supported yet just throw an exception or skip the generation (a command line option of course).  This way we can all play with the new draft and move forward.
I understand the mentality of 100% support for a standard but in this case the type system has evolved beyond what java can support.  What about adopting a midset of supporting the features that have parity and waiting for the draft to evolve before creating (elegant) hacks?
Again, thanks for your contribution!

:+1: to what @3bird said :wink:

I agree, support of allOf with one schema reference kind of important

I would concentrate on allOf support, there are 2 ways:

As said above, treat it as extends and allow only one reference, limited.
Combine all properties together, basically it will not extend anything, but will aggregate all fragments together. Proper inheritance chain can be done via interface(s) “javaInterfaces” as you would normally do in java in such a case.

I can help with this, if needed.
P.S.
anyOf or oneOf could piggyback on allOf treatment, there are some questions ( required, etc ) but this is small price to pay vs not to support that at all.

I like (2) - the idea of using interfaces of getters to support the multiple inheritance that jsonschema allows

First of all thanks for this great tool. OneOf addition might be a great support.

@maksimlikharev - something like the following: ?
Very keen to see how I can help in implementing the "allOf"
Given:
{
	"id": "http://xxx.xxx.com/schemas/person",
	"title": "Person",
	"type": "object",
	"properties": {
		"name": {
			"description": "person name",
			"type": "string"
		}
	}
}

{
	"id": "http://xxx.xxx.com/schemas/Employee",
	"title": "Employee",
	"type": "object",
	"allOf": [
		{ "@ref": "http://xxx.xxx.com/schemas/person" }
	],
	"properties": {
		"employeeID": {
			"description": "employee id associated with this person",
			"type": "string"
		}
	}
}

For each JSON object we generate a concrete class...  ( perhaps with an option to suppress ?)
public class Person implements IPerson {
...
public String getName() {
...
}
}
with the interface class:
public interface IPerson {
	String getName();
}

As Employee is composed of "allOf" the interface class
public interface IEmployee extends IPerson {
	public String getEmployeeID {
	...
	}
}

such that the Employee class now needs to have a concrete implementation for both Person and Employee
public class Employee implements IEmployee{
	public String getName() {
	...
	}

	public String getEmployeeID () {
	...
	}
}

Have I missed something obvious?

@neilredway How would you GSon/Jackson-annotate the Employee class so it serializes properly to JSON?

I updated the previous post.  I didn't think it would have needed anything extra would it?
I am sure I have missed something....

My bad :bow: I thought Employee was a composition of embedded objects, each representing a member of the allOf, but no, it's all top level simple-typed fields :blush:

@neilredway We have a bit of a problem with the interface option because things like getters and setters are optional. At the class level (ignoring the interfaces for now) you'd be merging the schemas to create a class containing the superset of fields, right? I think this is a valid approach.
I understand you're trying to introduce some useful polymorphism into your model, but this complicates things a lot. I think you may also be making an OO-related assumption about the schema author's intention when using allOf that may not be true in all cases.
The interface option introduces another case in which Person is generated differently, depending on the contents of other schemas (Should it implement IPerson or not? If it sits alone, it doesn't, if it has others that use it, it does). Whenever we have this situation arise (schemas producing different code depending on the context in which they're used) it creates a lot of confusion.
I think the merging approach will definitely get us useful allOf support.

{
	"id": "http://xxx.xxx.com/schemas/person",
	"title": "Person",
	"type": "object",
	"properties": {
		"name": {
			"description": "person name",
			"type": "string"
		}
	}
}

{
	"id": "http://xxx.xxx.com/schemas/employee",
	"title": "Employee",
	"type": "object",
	"allOf": [
		{ "@ref": "http://xxx.xxx.com/schemas/person" }
	],
	"properties": {
		"employeeID": {
			"description": "employee id associated with this person",
			"type": "string"
		}
	}
}

{
	"id": "http://xxx.xxx.com/schemas/candidate",
	"title": "Candidate",
	"type": "object",
	"allOf": [
		{ "@ref": "http://xxx.xxx.com/schemas/person" }
	],
	"properties": {
		"candidateID": {
			"description": "candidate id associated with this person",
			"type": "string"
		}
	}
}

The generation would look like this:
Person implements IPerson

IEmployee extends IPerson
Employee implements IEmployee

ICandidate extends IPerson
Candidate implements ICandidate

Now if they have chosen not to generate getters/setters then these interfaces just become marker interfaces.

The interface option introduces another case in which Person is generated differently, depending on the contents of other schemas (Should it implement IPerson or not? If it sits alone, it doesn't, if it has others that use it, it does). Whenever we have this situation arise (schemas producing different code depending on the context in which they're used) it creates a lot of confusion.

I am not sure I following this statement.
If I have something like New Starter/onboarding which is a combination of employee and candidate records
{
	"id": "http://xxx.xxx.com/schemas/newstarter",
	"title": "newstarter",
	"type": "object",
	"allOf": [
		{ "@ref": "http://xxx.xxx.com/schemas/employee" },
		{ "@ref": "http://xxx.xxx.com/schemas/candidate" },
	],
	"properties": {
		"newstarterID": {
			"description": "identifier of the new starter to an organisation ",
			"type": "string"
		}
	}
}

In this case:
INewStarter extends IEmployee,ICandidate
NewStarter implements INewStarter

My 2 cents - I'm really keen for the interface method. Anecdotally - we have a structure that would really suit polymorphism and separating code around that polymorphism is really valuable. In fact if I were to write by hand I would definitely use that approach.

@neilredway In the example you've given of employee, candidate and newstarter, IEmployee and ICandidate presumably only exist in the case that newstarter references those schemas. If it does not, they don't, and this is what I mean when I mention a type being generated differently based on the content of another schema. Unless IEmployee and ICandidate will always exist? That's a lot of extra cruft that most people don't want or need. This would have to be configurable - it feels like we're overcomplicating this somewhat. This isn't a showstopper, but I think there needs to be some concrete benefits for this extra complexity.
@samskiter It would be useful if you could elaborate a bit on the use-case you have in mind. Another issue that I see here is that this tool will produce a bunch of interfaces but be unable to use them. One might reasonably expect that references to a schema would use its interface, but this isn't possible since it requires polymorphic deserialization. If you're hoping that this will introduce a level of polymorphism into the generated model, unfortunately I don't think this is possible.

I didn't understand the second part of your paragraph unfortunately. To elaborate our use case:
We have a common library project, intended to be used across many projects. Those sub projects define a data type with a json schema and it uses 'allOf' to get some common fields defined in a schema in the parent project. The parent project also does things with some of the common fields.
Effectively the parent library is parameterisable to the specific data type of the child. I'll generate the common type for the parent and the specific type for the child and would like them to inherit so that the parent doesn't have to use the json twice - once to deserialize to it's common type, and once again to expose to the child to deserialize to it's child type and then wouldn't know or be able to help do anything with the child type.

Just going back to this, would you consider a PR that adds allOf support if and only if that allOf is equivalent to "extends" ? i.e. an array of length 2 where the first element is a ref.

Hello,
I am curently only interested in supporting the oneOf case, so here are my 5 cents regarding oneOf:
The oneOf support:
Essentially what we have here is a union type -- the actual value of the property may be any of the given (disjoint?) types.
Given a schema like this (the gist of it at least):
{
    "title": "device",
    "type": "object",
    "properties": {
        "name": { "type": "string" },
        "warranty": {
            "oneOf": [
                { "type": "boolean" },
                { "$ref": "#/definitions/warranty" }
            ]
        }
    }
}

in Ceylon language (that has union types built in), I could express this as a class like this:
shared class Device(name, warranty) {
    shared String name;
    shared Boolean|Warranty warranty;
}

// and use it like this:
Device device = ...;
if (is Warranty w = device.warranty) {
    println("The warranty for ``device.name`` expires on ``w.expirationDate``.");
}
else {
   println("The device ``device.name`` does not have a warranty");
}

Java does not have union types, so in Java I would have to rely on some intermediary container for oneOf type values. Something along these lines:
public class Device {
    ...
    private String name;

    private DeviceWarranty warranty;

    ...
    public class DeviceWarranty {
        private final Object value;
        public Boolean toBooelan() {
            if (value instanceof Boolean) {
                return (Boolean) value;
            }
            return null;
        }
        public Warranty toWarranty() {
            if (value instanceof Warranty) {
                return (Warranty) warranty;
            }
            return null;
        }
    }
}

// using it would look roughly like this
Device device = ...;
DeviceWarranty deviceWarranty = device.getWarranty();
Warranty w = deviceWarranty.toWarranty();
if (w != null) {
    System.out.println("The warranty for " + device.getName() + " expires on " + w.getExpirationDate() + ".");
}

Are there any updates on the "oneOf" implementation?

+1


Improve parameter validation

Codecov Report

Merging #43 into master will increase coverage by 4.33%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
+ Coverage   77.95%   82.28%   +4.33%
==========================================
  Files          10       10
  Lines         449      463      +14
  Branches      101      108       +7
==========================================
+ Hits          350      381      +31
+ Misses         50       41       -9
+ Partials       49       41       -8

Impacted Files
Coverage Δ

torch_optimizer/accsgd.py
80% <0%> (-4.22%)
:arrow_down:

torch_optimizer/lamb.py
78.94% <100%> (+4.4%)
:arrow_up:

torch_optimizer/adabound.py
73.23% <100%> (+10.92%)
:arrow_up:

torch_optimizer/diffgrad.py
85.18% <100%> (+4.41%)
:arrow_up:

torch_optimizer/adamod.py
82.45% <100%> (+4.27%)
:arrow_up:

torch_optimizer/yogi.py
83.67% <100%> (+4.95%)
:arrow_up:

torch_optimizer/radam.py
88.23% <100%> (+3.38%)
:arrow_up:

... and 4 more

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 1dca019...31d0da6. Read the comment docs.


Serverside rendering of questions and logic?

Amazing concept.
What I could not find if its possible to render questions and then" conversational logic / flow " serverside?
That is the webform/site would load all questions and logic from the server. Thus not the full form is in the webpage.
Is this possible and are there some examples on how one would implement this? Kind regards

Hi @voordev. Excellent question. You could use flowstepcallback like in this example to do an AJAX request and get the next question based on previous question. Does that make sense?

@voordev Since I have not heard from you I assume you resolved your issue. I'll close this for now.


chore: avm team as generated codeowners

Please read contributing guidelines and remove this line.

#5325  👈
master

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

Join @Maddiaa0 and the rest of your teammates on  Graphite


Getting Started command outdated

The following command in Getting Stated is outdated:
python main_onnx.py --model inputs/examples/workloads/alexnet_inferred.onnx --accelerator inputs.examples.hardware.TPU_like --mapping inputs.examples.mapping.alexnet_on_tpu_like
The name of the hardware and mapping have changed, the correct command is the following (using Eyeriss instead of TPU):
python main_onnx.py --model inputs/examples/workloads/alexnet_int8_inferred.onnx --accelerator inputs.examples.hardware.Eyeriss_like --mapping inputs.examples.mapping.alexnet_on_eyeriss_like
Other part of the text in the Getting Started page of the doc need to be updated too.
Best,
Victor

Thanks for noting this Victor! The documentation has been updated.


fix: prevent message sending during IME composition

HI. I found an issue when typing in a nonalphabetical language like Japanese.
In languages that use an Input Method Editor (IME), such as Japanese, the 'Enter' key is used to confirm character conversions. Thus, when typing in Japanese on the chat screen, pressing the 'Enter' key to select a Kanji would inadvertently send an incomplete message.
This update addresses and resolves this issue.

Hi, I found the problem has been fixed on the main branch, so I'll close this PR.


MobX and Cannot update a component from inside the function body

Intended outcome
The linked component is a very common pattern around our (large) codebase. You have some class component, that defines a member property that accessing the parent component's props.
@observer
class Component extends React.Component {
  SubComponent = observer(() => {
    return
{this.props.foo}
;
  });

  render() {
    return (

        <this.ChildComponent />

    );
  }
}

I'm not entirely sure this is solveable, but thought we should open an issue nonetheless.
With the upgrade to the most recent version of react we've seen some new error
How to reproduce the issue
Codesandbox
https://codesandbox.io/s/thirsty-raman-w5pmo
https://codesandbox.io/s/eloquent-sky-sbo23
Actual outcome
Click the button,  open the console, and you'll see a warning from react:
Warning: Cannot update a component from inside the function body of a different component.
    in ParentObserver (at App.js:26)

In https://github.com/facebook/react/issues/18178#issuecomment-595846312, Dan suggests that it could be a library issue - In this case, there's a lot of mobx stuff.

Broadly it seems that clicking the button causes
the class component to  update ( updateClassInstance)
This updates the observable props ( set)
This then triggers the Child component to re-render, as its reactions runs.
I do think this is also maybe one of those: 'bad patterns' that is mentioned in the thread.
Related issue: https://github.com/facebook/react/issues/18178

Well, to be honest, that looks like a nice foot gun to by dynamically creating a component based on props.  Why do you consider for example this approach as wrong?
const ChildObserver = observer(({ foo }) => {
  return
foo: {foo}

})

@observer
class ParentObserver extends React.Component {
  render() {
    return (

        <ChildObserver foo={this.props.foo} />

    )
  }
}

Oh actually, it's silly altogether because that component is not even recreated, it's initialized once with the initial value of those props and it will never get updated. So I am curious what is your expected gain from this pattern of yours.

it's initialized once with the initial value of those props and it will never get updated.

I'm curious why you say this.
Mobx-react makes class components have observable props:
https://github.com/mobxjs/mobx-react/blob/master/src/observerClass.ts#L34-L39
This in turn makes the ChildComponent update, right?
Otherwise how does the count in the codesandbox increment?

Yeah, you are right, I keep forgetting about that specific perk of a class observer. Functional components don't have this.
Either way, I still don't see any benefit of your pattern over the one I inlined.

Maybe we should remove that perk of the class observers? Didn't an early release of mobx-react 6 do that?
I don't think that'd fix the issue, but at least it'd remove this footgun

No, we are certainly not going to remove that now and break a bunch of the code. I will keep this open for now if someone else wants to chime in, but this is really such an odd pattern that I would recommend you to either stick to V5 or refactor this.

If we would remove this perk, ChildComponent wouldn't have a way to update itself, so it would be failing silently anyway.
Under the hood it's basically trying to call setState() of ChildComponent from within a parent component, which is forbidden.
Unfortunatelly, the warning was added just recently (as mentioned in linked issue), so it was sort of working up until now...
You can get similar effect with computed (or useMemo, you just have to specify the deps manually):
@observer
class Component extends React.Component {
  @computed
  get getChildren() {
    return
{this.props.foo}
;
  };

  render() {
    return (

        this.getChildren()

    );
  }
}

Alright, I guess there is no path forward here, so let's close this. Hopefully, there will be a time where component classes will be a thing of the past and these hacks won't be necessary anymore.


Added debug doc

Issue #, if available:
Apart of #405
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

In addition to adding the doc, we should probably link to it from the README.


Update 1-env-guide-overview.md

What are you changing in this pull request and why?

hey @belasobral93, i'm going to go ahead and merge this for you - thanks again!


Constraint and upgrade hashicorp/http provider response_body

The hasicorp/http response body attribute was deprecated on v2.2.0, removed on v3.0.0, reinstated on v3.0.1 and it is foreseeable that it will  removed again in the future. So this module

crashes with hashicorp/http==3.0.0
should constraint hashicorp/http >=2,<3 (at least >=2, !=3.0.0)
should replace body for response_body
should then constraint hashicorp/http >=2.2,<4

See the breadcrumbs:
https://github.com/hashicorp/terraform-provider-http/pull/137
https://github.com/hashicorp/terraform-provider-http/issues/165
https://github.com/hashicorp/terraform-provider-http/pull/166


TEP-0142: Introduce StepResults in Steps, StepActions

This PR introduces StepResult in Steps. This will allow us to hold StepAction's result declarations and use it later for replacements and other logic that happens later down the chain. It will be populated by the controller when it fetches StepActions in a followup PR.
Mostly this is auto-generated and refactored code.

Changes
Refactoring:

PR https://github.com/tektoncd/pipeline/pull/7317 introduced StepActionResults.
Since StepResults in Step has the same struct, I moved all the supporting code from v1alpha1/ to v1/ instead of duplicating it multiple times.
In StepActions, we update the result's type to Result: []v1.StepResult.

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
[WIP] Introduce StepResults in Steps for StepAction's Result storage.

/kind feature

/test check-pr-has-kind-label

/retest

/kind feature

/hold wait for https://github.com/tektoncd/community/pull/1107 to be merged first.

/hold cancel


V3: new session-based protocol

NOTE: We need to decide if this should wait for the 2.1 cut.
This addresses #2723.
This change is essentially a new protocol for V3. Although
backward compatible, it changes the connection model.
Basically, the newer V3 features will work only if you used
the new protocol.
The new model deprecates keyspace_shard, tablet_type and options
from ExecuteRequest and moves them into the Session. This means
that the Session is generally not empty, and may be updated
by any call to Execute or ExecuteBatch, even if the statements are
not transactional. Consequently, transactional methods like Begin,
etc. are deprecated in favor of Execute("begin").
Transaction modes will now be supported by new SET syntax, which
will correspondingly update the Session variable.
This also makes a connection that contains a session non-multiplexable.
We'll need to resolve whether it's still worth exposing this flexibility
to the clients, and if so, how.
For now, I've updated the Go driver to use the "modern" protocol.
However, the low level rpc (Impl) continues to support the older
functions like Begin, etc. This allows us to test the legacy
functionality.
All other clients: Python, PHP and Java are currently unchanged.
Given that this is a major protocol change, it hints at a 3.0,
but the changes are 2.1 compatible with the following exceptions:

Go driver uses the new protocol.
vtclient binary requires -target instead of -tablet-type, etc.

All tests are passing including PHP & Java clients. In terms
of upgrade:

PHP and Java can be upgraded by just updating the code.
Python will probably require a brand new library. The existing
vtdb contains way too much baggage, and it may not be worth
retrofitting this new incompatible protocol onto what's
currently there. I'm looking for a name. vtdb2, vitessdb?

Just to clarify, will all functionality of existing clients (java/php at least) continue to work without modification if this were to be merged? What are the "newer V3 features?"
In terms of multiplexing, I think that is still possible depending on the client implementation, no? The JDBC currently wouldn't work, but I've been looking at it and making VTGate.java a light wrapper around RpcClient would be pretty straightforward. In that way, we could use VTGate to store the the connection-specific Session, similar to VtGateTx

Existing clients should continue to work because they're not expected to issue statements to VTGate.Execute that modify the Session. If they did, and subsequently called VTGate.Begin, all that state will be lost because Begin returns a brand new Session.
Newer clients will be changed to call Execute('begin"), which updates the existing session thereby preserving other Session variables.

Also to clarify publicly -- this change won't affect any clients that use the mysql protocol, correct?

The "newer V3 features" are all statements that are capable of changing the Session like use, set autocommit, etc.
@demmer: For mysql clients, they shouldn't be affected. In fact, behavior should improve as we add more features.
The thin wrapper approach is what needs discussion. On one hand, most drivers can't exploit this feature. So, we're mostly complicating the API for no gain. On the other hand, there may be clients that may actually find this useful.
One compromise I thought of: After you obtain the first connection, export an Impl() function that returns the underlying RPC object which can be used to build other connections. Still not sure if this would be practical.

Looking further at this and comparing to the design listed at https://github.com/youtube/vitess/issues/2723, I think this gets us the session vars part, but not the V3 parsing part. i.e.:

V3 will parse all queries and then perform one of these actions:

Set Session variable. Examples: begin, autocommit.
Forward to first (or only) shard of a keyspace. Example: DBA statements.
Perform V3 routing for normal queries.
Return error on dangerous or unrecognized constructs.

Thoughts on that part?

Yeah. Those parts will be in subsequent PRs. We have to separate this PR from the rest because we want a version where the clients are old and servers are new.
So, after this PR, I'll create the ones where clients use the new style. Then we'll follow with support of new constructs like SET, USE, etc.

The client side implementations have issues that need to be resolved:

A session can be updated by any call to Execute. This means that the connection object is not multiplexable any more. We have a couple of options:

Build two levels of connection objects: Lower level is multiplexable, and the higher level one will store the session and is not multiplexable. If this is the case, what will be the API and how will the drivers exploit it?
Keep it simple: Connections exclusively own their underlying RPC connection and don't allow multiplexing.

Should we still thrive to expose a uniform model for different languages, or should each implementation align itself with what the language prefers? Most language drivers don't support multiplexable connections.
For Python, the existing client has too much legacy baggage. The V3 and V2 APIs are intertwined; they share the 'begin' call. I'm thinking a new and clean API may be the better way to go. If so, we have to decide on naming: vitessdb?
Ironically, Python's PEP 249 allows you to expose multiplexable connections. However, we may not be able to exploit it because most existing apps that use MySQL will break; Multiplexable connections require the cursor to be closed for freeing session-specific resources. This is something that they don't typically do.

While we discuss and resolve these issues, I'll focus on enhancing server-side functionality.

Hey @sougou can you summarize what features this merge includes? Hard to keep track in all of the review comments.

@bbeaudreault I've updated the PR comments to describe the contents. Specifically, I've explained the design that the rest of the clients must use.


Added first draft of performance graphic.

Thank you for the draft. Already looks much better than what I had in mind. Please now do the following:

Pretty formatting of number of states , for every thousand
The KW line, not horizontal over the whole graph as this looses the info that they solved 40 periods. So, just vertical at 40 periods.
Please follow the general outline of the graph for the noise in the criterion function, the code is here. The goal is to have all graphs aligned as much as possible. See for example the position of the legend, fontsizes etc ....
Please move all your work outside of the extensions directory, this is supposed to only include stuff that is finished. Create a new directory computations/explorations/performance


[ entropy_src, dv ] Support for indefinitely long sequences

New "indefinite" push-pull sequence for generating arbitrary long sequences

Will send host sequences indefinitely until stop() method invoked
Has a virtual callback method for generating custom sequences, which must be overriden
by a derived class.
Not implemented in the default indefinite sequence, which therefore only generates
uniform random variables

Base, smoke and RNG sequences rewritten to use indefinite sequences
Scoreboard modified to support dropped seeds.

If a given RNG-derived sequence item does not match what is read from TLUL, it is assumed
that the corresponding seed has been dropped.
The scoreboard goes through the TLM FIFO examining all available seeds.  If none match,
then the TL transaction is found to be in error.
NOTE: This mechanism has yet to be implemented for the CSRNG interface.

Signed-off-by: Martin Lueker-Boden<EMAIL_ADDRESS>

This looks good: thanks for simplifying things a bit!
Reading the code, I'm still wondering whether we could avoid storing the segments in the scoreboard at all and instead just store a big list of values at the TL width. If I understand the code correctly, we're essentially treating the DUT as a leaky fifo of that width, which happens to get filled in bursts of the CSRNG bus width.
Not necessarily for this PR, but it might get rid of quite a lot of the complicated double loops.

Hi Rupert,  Thanks for the reviews.
Regarding the packing reformat: 384 bit seeds are the fundamental unit here.  If a seed is dropped it is dropped entirely.
As @senelson7 points out, there is the other HW interface going off to CSRNG which is actually more important.  (I started with this TL one because that is what the original smoke test has been using, so in some sense it was "closer at hand").     In that interface, seeds are always kept together as one CSRNG_BUS_WIDTH units.    The same applies to the ENTROPY_DATA CSR interface.  If you read 32 bits from a particular seed, you the following 32-bits will also be from the same seed.

Ahah! Now I understand. Thanks for the explanation.


"Current date" within popup is stale

Say you call $("#el").DateTimePicker() at 1pm... and you sit on the page for 2 minutes.  By the time you focus on the field, thus opening the popup, the popup will still indicate that it's 1pm and not 1:02pm.
Seems like it would be better to recalculate the current time every time the popup is opened?

Hi,
You can achieve this by using following code -
HTML -

DateTime :

<input type="text" data-field="datetime" readonly>

Javascript -
$(document).ready(function()
{
	$("#dtBox").DateTimePicker(
	{
		beforeShow: function(oInputElement)
		{
			var oDTP = this;

			if($(oInputElement).val() === "")
				oDTP.settings.defaultDate = new Date();
		}
	});
});

See (Example)[https://github.com/CuriousSolutions/DateTimePicker/blob/master/demo/Callback-beforeShow.htm].

Thank you so much; great idea.


[Bug]: duplicated entries returned by referrers API

zot version
ghcr.io/project-zot/zot-linux-amd64:v2.0.1
Describe the bug
In one of my ZOT repositories, I have a OCI v1.1.0 manifest A with its subject pointing to another manifest B. When I get the referrers of B (via GET /v2/<name>/referrers/<digest_of_b>), I can see one entry with descriptor of A.
If I add a tag to A (via PUT /v2/<name>/manifests/<digest_of_a>) and get the referrers of B again, there are two duplicated entries in the returned result of GET /v2/<name>/referrers/<digest_of_b>, both pointing to A.
To reproduce

Configuration: Running ghcr.io/project-zot/zot-linux-amd64:v2.0.1 based on ext4 file system
Client tools: oras v1.2.0 and curl for listing referrers
Steps

Create a subject and a referrer artifact.
List referrers of subject (get one entry).
Tag the referrer artifact.
List referrers of subject (get two duplicated entries)

> ## Create a subject and a referrer artifact.
> oras push localhost:7000/test:subject
...
Pushed [registry] localhost:7000/test:subject
ArtifactType: application/vnd.unknown.artifact.v1
> oras attach --artifact-type billy/test -a test=true localhost:7000/test:subject
...
Attached to [registry] localhost:7000/test@sha256:ba84e32aa0da494820c26b3d53f642c80f98fbb719aa5bd0fef9056ba14d5442
Digest: sha256:84cf75ff09cf72fa7a30c9e29ec1c11cb6d6a30a79367a4dd892b6b8a6d67c71

> ## List referrers of subject (get one entry).
> curl -u hello:oras-test http://localhost:7000/v2/test/referrers/sha256:ba84e32aa0da494820c26b3d53f642c80f98fbb719aa5bd0fef9056ba14d5442 -v | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying <IP_ADDRESS>:7000...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 7000 (#0)
* Server auth using Basic with user 'hello'
> GET /v2/test/referrers/sha256:ba84e32aa0da494820c26b3d53f642c80f98fbb719aa5bd0fef9056ba14d5442 HTTP/1.1
> Host: localhost:7000
> Authorization: Basic aGVsbG86b3Jhcy10ZXN0
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: Authorization,content-type,X-ZOT-API-CLIENT
< Access-Control-Allow-Methods: GET,OPTIONS
< Access-Control-Allow-Origin: *
< Content-Type: application/vnd.oci.image.index.v1+json
< Date: Mon, 01 Jul 2024 03:12:26 GMT
< Content-Length: 356
<
{ [356 bytes data]
100   356  100   356    0     0  44500      0 --:--:-- --:--:-- --:--:-- 44500
* Connection #0 to host localhost left intact
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.index.v1+json",
  "manifests": [
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:84cf75ff09cf72fa7a30c9e29ec1c11cb6d6a30a79367a4dd892b6b8a6d67c71",
      "size": 687,
      "annotations": {
        "org.opencontainers.image.created": "2024-07-01T03:11:06Z",
        "test": "true"
      },
      "artifactType": "billy/test"
    }
  ]
}

> ## Tag the referrer artifact.
> oras tag localhost:7000/test@sha256:84cf75ff09cf72fa7a30c9e29ec1c11cb6d6a30a79367a4dd892b6b8a6d67c71 new
Tagging [registry] localhost:7000/test@sha256:84cf75ff09cf72fa7a30c9e29ec1c11cb6d6a30a79367a4dd892b6b8a6d67c71
Tagged new

> ## List referrers of subject (get two duplicated entries)
> curl -u hello:oras-test http://localhost:7000/v2/test/referrers/sha256:ba84e32aa0da494820c26b3d53f642c80f98fbb719aa5bd0fef9056ba14d5442 -v | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying <IP_ADDRESS>:7000...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 7000 (#0)
* Server auth using Basic with user 'hello'
> GET /v2/test/referrers/sha256:ba84e32aa0da494820c26b3d53f642c80f98fbb719aa5bd0fef9056ba14d5442 HTTP/1.1
> Host: localhost:7000
> Authorization: Basic aGVsbG86b3Jhcy10ZXN0
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: Authorization,content-type,X-ZOT-API-CLIENT
< Access-Control-Allow-Methods: GET,OPTIONS
< Access-Control-Allow-Origin: *
< Content-Type: application/vnd.oci.image.index.v1+json
< Date: Mon, 01 Jul 2024 03:15:52 GMT
< Content-Length: 625
<
{ [625 bytes data]
100   625  100   625    0     0  78125      0 --:--:-- --:--:-- --:--:-- 78125
* Connection #0 to host localhost left intact
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.index.v1+json",
  "manifests": [
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:84cf75ff09cf72fa7a30c9e29ec1c11cb6d6a30a79367a4dd892b6b8a6d67c71",
      "size": 687,
      "annotations": {
        "org.opencontainers.image.created": "2024-07-01T03:11:06Z",
        "test": "true"
      },
      "artifactType": "billy/test"
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:84cf75ff09cf72fa7a30c9e29ec1c11cb6d6a30a79367a4dd892b6b8a6d67c71",
      "size": 687,
      "annotations": {
        "org.opencontainers.image.created": "2024-07-01T03:11:06Z",
        "test": "true"
      },
      "artifactType": "billy/test"
    }
  ]
}

Expected behavior
Returned result of referrers API should be deduplicated.
Screenshots
No response
Additional context
No response

@qweeah thanks for catching this case. First, would like to clarify if this is indeed a bug or unexpected behavior.


News extraction sometimes results in incomplete articles (cut off too early)

For some articles, news extraction results in incomplete article (cut off too early), e.g.:
https://api.worldnewsapi.com/extract-news?api-key=<api-key>&url=https://www.channelnewsasia.com/singapore/hdb-resale-flat-prices-2023-increase-bto-supply-4020341
returns:
{
  "title": "Resale flat prices for 2023 rose 4.8%, less than half of 2022's increase",
  "text": "SINGAPORE: Resale flat prices for 2023 rose by 4.8 per cent, less than half of the 10.4 per cent increase in 2022, according to the Housing and Development Board (HDB)’s flash estimates. The resale price index, which reflects the general price movements in the resale market, grew to 180.2 in the fourth quarter - an increase of 1.0 per cent over the previous quarter, HDB’s flash estimate showed. This is lower than the 1.3 per cent growth in the third quarter of 2023 and lower than the average quarterly growth of 2.5 per cent in 2022, HDB said in a press release on Tuesday (Jan 2). The rate of increase in resale prices has continued to moderate following the government’s implementation of a strong pipeline of supply, as well as the introduction of cooling measures to promote a stable and sustainable property market, said HDB. Among the cooling measures implemented in December 2021, September 2022 and April 2023 were a wait-out period of 15 months before private property owners could purchase a non-subsidised HDB resale flat and the lowering of loan-to-value limit for HDB housing loans. “More broadly, as global economic activity is expected to ease further into 2024, with domestic mortgage rates at elevated levels, households should continue to exercise financial prudence in their flat purchase,” HDB said. The resale volume of the fourth quarter in 2023 is also the lowest compared to the last three years, HDB added. The resale volume in Q4 2023 (up to Dec 28) is 6,440, which is 2.3 per cent lower than the previous quarter (6,592 up to Sep 28). For the full year up to Dec 28, 2023, the total resale volume is 26,628 - 3.8 per cent lower than the total resume volume last year (27,686).",
  "url": "https://www.channelnewsasia.com/singapore/hdb-resale-flat-prices-2023-increase-bto-supply-4020341",
  "image": "https://onecms-res.cloudinary.com/image/upload/s--tcWypW2I--/fl_relative,g_south_east,l_mediacorp:cna:watermark:2021-08:cna,w_0.1/f_auto,q_auto/c_fill,g_auto,h_338,w_600/v1/mediacorp/cna/image/2021/12/23/dsc_8440.jpg?itok=Obh1GXUW",
  "publish_date": "2024-01-02 03:28:00",
  "authors": [
    "Lee Chong Ming"
  ],
  "language": "en"
}

https://www.channelnewsasia.com/singapore/hdb-resale-flat-prices-2023-increase-bto-supply-4020341
As you can see, the scraper doesn't include the text after the "Related" section:

I first noticed this problem in the search-news endpoint, so it seems it's a general issue with the scraper.
And yeah, I know it's hard to make a scraper general and versatile enough to scrape every news site because they're so heterogenous, but hopefully this can be fixed (maybe with some heuristics), what do you think? :)

@Boscop you're right. the last part is indeed missing. and you're also right that it is really tricky to make the heuristics (of which there are plenty already) work 100% of the time. While this specific example, I can't do anything about immediately, I have some ideas on how to improve it in the short term.


We got hacked

OMG! Our DMZ is totally secure, and our attack surface is truly minimal. How could this happen!
Please provide details.
This was reported in August, so we must get moving fast! (but lemme have some coffee first)

I reaaally hope they didn´t steal any of our code...


Add catalog table 'pg_proc'

The UDF team needs the pg_proc table in the catalog:
https://www.postgresql.org/docs/current/static/catalog-pg-proc.html
We should do the same thing as the index offsets and just do a simple hack for the array attributes in the table.

@camellyx @AngLi-Leon @mengranwo - Are you guys working on this?

What's the status of this issue?

Hi Andy,
We had a meeting with the UDF team last week. I believe the UDF team is
working on adding the pg_proc table.
Thank you,
Yixin
On Tue, Apr 25, 2017 at 9:55 PM, Andy Pavlo<EMAIL_ADDRESS>wrote:

What's the status of this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cmu-db/peloton/issues/588#issuecomment-297215220, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF3OcJrYYwkviU6kVyinfOJX90dL-lrnks5rzqQHgaJpZM4MtfJ8
.

--
Yixin Luo, PhD Student of
Computer Science Department
Carnegie Mellon University
Phone:<PHONE_NUMBER>    Email<EMAIL_ADDRESS>

Yes, we have added the pg_proc table.

Fixed in #773


Cannot cleanup previous encryption rule state.

level=warning msg="Cannot cleanup previous encryption rule state." error="Delete previous IPv6

How to reproduce:
minikube start --network-plugin=cni --memory=4096
minikube ssh -- sudo mount bpffs -t bpf /sys/fs/bpf
curl -LO https://github.com/cilium/cilium/archive/v1.6.tar.gz
tar xzvf v1.6.tar.gz
cd cilium-1.6/install/kubernetes
helm template cilium \
   --namespace kube-system \
   --set global.etcd.enabled=true \
   --set global.etcd.managed=true \
   > cilium.yaml
kubectl create -f cilium.yaml

@tgraf emailed report had a set of iptables errors as well were these unrelated?

@jrfastab I think they were unrelated.

I'm guessing minikube runs with ipv6 disabled by the output.


PSA/PSK Importer

I try to import BNS Mesh and animation in the past I managed to import clearly with the animation to play
but now after downloaded this updated one it's look like that

Blade And Soul Jin Female Mesh with Jin Female Animation

Show me this mesh and animation in UModel's viewer (screenshot of animated mesh).

you think

First screenshot shows nothing. Second, I think, shows the mesh which you're saying is "bad", however I asked you to play animation in UModel - you didn't do that. So, it's rather useless for me.

how I doing it?

Well, you should check tutorials then. If you don't know how to use umodel, then it's quite possible that you're doing something wrong - and then opening "issues" here,

ok I check and let you know thank anyway @gildor2


material design

Changing the design to follow with what we have in the docker-desktiop extension.
(Btw, the big diff is due to package-lock.json and yarn.lock.)

I've been thinking of ways to reuse this UI on the web/desktop version.
One simple way would be to implement the UI only in the web version, and have the desktop load it in a iframe. The desktop already connects to the web server to listen for events, it would also download the UI.

Could work, but would have to be a dedicated page exclusive for embedding. And make sure to fix the current UI slow load time.