After server update saved into cookies refresh token can produce invalid access token

If you've dropped your backend application and updated it, encountering issues with access tokens no longer being valid for new requests, despite seemingly successful refresh token use, a few core reasons might be contributing to this problem:

Secret Key Changes or Configuration Mismatch:
Description: JWTs, including those used by djangorestframework-simplejwt, are typically signed using a secret key (SECRET_KEY in Django settings). If this key changes when you drop and update your backend, previously issued tokens (both access and refresh) would be considered invalid because they were signed with the old key.
Impact: Access tokens refreshed or created after the update won't be properly validated if they were signed with a different secret key than the current one being used for verification.
Algorithm or Token Settings Changes:
Description: Any changes in how tokens are created, such as modifications in the signing algorithm or token payload structure between the old and new backend versions, can cause validation issues. This might include changes in SIMPLE_JWT settings.
Impact: Tokens generated with old settings might not be compatible with the new settings or expectations, resulting in validation failures.
Stateful Token Validations:
Description: Although JWTs are stateless, some systems implement additional, stateful validations for enhanced security, such as checking against a database of revoked or active tokens. If you had such a mechanism and the relevant data was lost or reset during the backend update, the system might lose the context needed to validate tokens correctly.
Impact: The absence of necessary stateful validation data can result in tokens being wrongly invalidated or not recognized by the new system setup.
Solutions:
To resolve these issues and ensure a smooth transition during backend updates, consider the following approaches:

Persistent Secret Key: Ensure the SECRET_KEY used for signing tokens remains consistent across updates. This key should be stored securely and not be part of the data dropped during updates.
Versioned Token Settings: If possible, maintain compatibility with old token settings or implement versioning in your token validation logic to allow a grace period during which tokens from the old system are still accepted.
Token Transition Plan: Implement a strategy for transitioning tokens during backend updates. This might involve forcing a re-login for all users to issue new tokens compatible with the updated backend or providing a migration path for existing tokens.
Clear Communication: Inform users about the potential for session invalidation due to backend updates. Provide instructions for re-authentication or troubleshooting steps if they encounter issues.
Robust Testing: Before deploying backend updates, thoroughly test the migration and token validation processes in a staging environment that mirrors your production setup as closely as possible.


Source SCSS on devtools

Is there any further documentation on how to set up the Gulp file to generate SCSS source maps? My dev tools are rendering the global and bootstrap.min CSS files only atm.

Hi @fainemesquita, thank you for your message. In order to generate the source map you have to add a few lines of setup codes inside the gulp file but do not worry it's easy to add. Here is a link https://www.npmjs.com/package/gulp-sass for more detailed information. We will add the source maps in our coming update v1.1 Stream UI Kit soon.


misc/docker/synology: staticcheck

Closing this, see my comment here:

https://github.com/perkeep/perkeep/pull/1405#issuecomment-894727096


PSID, webview and the messenger_extensions parameter

Bot Info

SDK Platform: Node.js
SDK Version: 3.15
Active Channels: Facebook
Deployment Environment: Azure App Service

Issue Description
Some features in Facebook Messenger's webview do not work if the incoming message does not contain the messenger_extensions: true property. In particular, one cannot get the user ID (PSID) of the user and execute the getContext() function of the Facebook SDK.
Currently botbuilder does not provide a way to set the messenger_extensions parameter, unless you create the entire message by yourself in the Facebook native format and place it into the channelData property of the message.
Expected Behavior

For HeroCards, there needs to be a way to set a parameter which ultimately results in this: the message sent from Bot Framework to Facebook contains the property messenger_extensions: true.

Hi @catcher-in-the-try
Thank you for this suggestion.  I've added it to the Facebook Messenger Feature Request issue: https://github.com/Microsoft/BotBuilder/issues/4360  We are currently using this to track all Facebook Messenger feature requests.


H5 problem，it works fine in chrome, but in other browers and in app webview，it doesn't work。

The console log doesn't print "Sorting web worker WASM setup complete. Sorting web worker ready." I suspect the sort worker wasm compatibility.

Please excuse my ignorance, but what exactly do you mean by H5? Also, would you be able to share your setup code? That might help me troubleshoot.

Thanks for your reply.
H5 I means the web page in mobile device, like andriod phone or iphone.
My problem is the same as the issue "https://github.com/mkkellogg/GaussianSplats3D/issues/56". The UI display “Processing splats...” the whole time. I can access to the web page and see the scene in the PC, not successed in mobile.
But my debug message is different: "CompileError: WebAssembly.compile(): invalid memory limits flags (enable via --experimental-wasm-threads) ……". And I already use "sharedMemoryForWorkers" to disable share memory.
Here is my setup code.
`
import * as GaussianSplats3D from "@mkkellogg/gaussian-splats-3d";
import VConsole from "vconsole";
const vconsole = new VConsole();
const viewer = new GaussianSplats3D.Viewer({
cameraUp: [0, -0.01, 0],
initialCameraPosition: [0, 0, 4],
initialCameraLookAt: [0, 0.7, 0],
integerBasedSort: false,
sharedMemoryForWorkers: false,
});
viewer
.addSplatScene("../assets/data/pagoda.ply", {
showLoadingUI: true,
})
.then(() => {
viewer.start();
});
`

In addition, in mobile, is not all of browers doesn't work. It works in chrome@100, but in my phone defalut browers or in app's webview, the UI display “Processing splats...” the whole time. The OS of my phone is Android 11.

Have you solved the problem now? I had the same problem

Loading the first online demo (Garden) on my iphone under safari and chrome crashes the browser after the optimization phase. In both cases an error flashes and the window is refreshed, the load starts again, optimization begins and then crashes the browser. After the second time it says "A problem repeatedly occured on "...?mode=0"

@robinsonkwame It's hard to say exactly what issue(s) you might be encountering. If it's an out-of-memory related problem, you could try setting the freeIntermediateSplatData parameter to true, but of course you'd have to do that locally. Do any of the smaller scenes work for you (truck or bonsai)?

Ah, those fail as well. I think what I'll do is try to get my app working as expected on desktop and trust there's a way to reduce the resource demand such that I debug enough on mobile, either on device or by slowly limiting available memory on a browser simulating mobile via chrome tools. Sent from my iPhone, please excuse any typos. On Sep 19, 2024, at 11:04 AM, Mark Kellogg @.***> wrote:
@robinsonkwame It's hard to say exactly what issue(s) you might be encountering. If it's an out-of-memory related problem, you could try setting the freeIntermediateSplatData parameter to true, but of course you'd have to do that locally. Do any of the smaller scenes work for you (truck or bonsai)?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Way to auto fix pydocstyle's D205?

I am running docformatter on pre-commit. It does save a ton of time for ICs.
Last flag i have been trying to autoformat is pydocstyle D205  (D205: 1 blank line required between summary line and description).
Is there any setting that I can use to ensure there is a new line between summary (a one liner) and description?
Thanks for your help, and thanks for maintaining this awesome project!

Can you provide an example (or more) of docstrings where that's not the case?


For Each Target - fixing up builds per platform / target

Currently the overrides are kind of all or nothing.  A user should evaluate a separate workspace in order to change things for one build.  This can be changed to expose per-system attributes.

Closing in favor of #251
Overrides can express logic.  This logic can check build or host platform and switch accordingly.


On GCC PRETTY_FUNCTION it's not constexpr

Due topic on GCC code works runtime not compile time, e.g.
static_assert(ctti::type_id() != ctti::type_id("hello"), "compile-time type-id comparison");
yields compile error. Be careful.

Due topic on GCC code works runtime not compile time, e.g.
static_assert(ctti::type_id() != ctti::type_id("hello"), "compile-time type-id comparison");
yields compile error. Be careful.

Be careful again, bug was fixed here https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66639
https://github.com/gcc-mirror/gcc/commit/ddd0d18c9c07025d578f445dc9a3544020861197
So it works on gcc 9.1.0 and above


Windows building unable to make

Hey,
I tried building on windows using the steps provided in WINDOWS.md (Without any modification to sources files yet)
I was able to do most of it till the "make" every time what ever the directory I tried on it show the error :
make: *** No targets specified and no makefile found.  Stop.
Tried on both Windows 10/11 machine
with both terminal and powershell (admin and non admin do no change anything :) )
I do not own Clion to try on it.
No idea what I did wrong there
Here full logs in case it could help :)
CMake Warning:
 Ignoring extra path from command line:

  "C:/Users/Administrator/Documents/GitHub/lgx2userspace/TC-Mingw.cmake"

CMake Warning:
 Ignoring extra path from command line:

  "../TC-Mingw.cmake"

-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
Dangerous LGX (GC550) support will not be compiled into the lgx2userspace executable.
Detected non-linux system
Building liblgx for Windows
-- Conan: Using autogenerated Findlibusb.cmake
-- Library libusb-1.0 found C:/Users/Administrator/.conan/data/libusb/1.0.26/_/_/package/5a61a86bb3e07ce4262c80e1510f9c05e9b6d48b/lib/libusb-1.0.lib
-- Found: C:/Users/Administrator/.conan/data/libusb/1.0.26/_/_/package/5a61a86bb3e07ce4262c80e1510f9c05e9b6d48b/lib/libusb-1.0.lib
-- Conan: Using autogenerated FindSDL2.cmake
-- Library SDL2main found C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2main.lib
-- Found: C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2main.lib
-- Library SDL2 found C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2.lib
-- Found: C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2.lib
-- Library SDL2 found C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2.lib
-- Found: C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2.lib
-- Library SDL2main found C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2main.lib
-- Found: C:/Users/Administrator/.conan/data/sdl/2.0.20/_/_/package/fa88e8551f1d81168eeb9f59d3a183e3a584c5f1/lib/SDL2main.lib
PLATFORM LIBS mingw32;SDL2::SDL2main;SDL2::SDL2;libusb::libusb;-static-libgcc;-mwindows
Building Windows executable
GTK+ frontend only supported on Linux
-- Conan: Detected VS runtime: MD
-- Conan: checking conan executable
-- Conan: Found program C:/Users/Administrator/AppData/Local/Programs/Python/Python310/Scripts/conan.exe
-- Conan: Version found Conan version 1.56.0
-- Conan executing: C:/Users/Administrator/AppData/Local/Programs/Python/Python310/Scripts/conan.exe install . --remote conancenter --build missing --settings arch=x86_64 --settings build_type=Release --settings compiler=Visual Studio --settings compiler.version=17 --settings compiler.runtime=MD --settings compiler.cppstd=14 --settings os=Windows
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.cppstd=14
compiler.runtime=MD
compiler.version=17
os=Windows
os_build=Windows
[options]
[build_requires]
[env]

conanfile.txt: Installing package
Requirements
   libusb/1.0.26 from 'conancenter' - Cache
   sdl/2.0.20 from 'conancenter' - Cache
Packages
   libusb/1.0.26:5a61a86bb3e07ce4262c80e1510f9c05e9b6d48b - Cache
   sdl/2.0.20:fa88e8551f1d81168eeb9f59d3a183e3a584c5f1 - Cache

Installing (downloading, building) binaries...
libusb/1.0.26: Already installed!
sdl/2.0.20: Already installed!
conanfile.txt: Generator txt created conanbuildinfo.txt
conanfile.txt: Generator cmake_find_package created Findlibusb.cmake
conanfile.txt: Generator cmake_find_package created FindSDL2.cmake
conanfile.txt: Aggregating env generators
conanfile.txt: Generated conaninfo.txt
conanfile.txt: Generated graphinfo
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Administrator/Documents/GitHub/lgx2userspace/winbuild
PS C:\Users\Administrator\Documents\GitHub\lgx2userspace\winbuild> make
make: *** No targets specified and no makefile found.  Stop.```

Happy holidays! :wave:
Can you give me a little more information about your setup?
I see that you're using Visual Studio is that correct? It might be that it's generated a .sln file that you can open using Visual Studio to then build the project?
I'll try and make more explicit instructions, but let me know if this helps at all! Good luck!

Hey,
Thank you, happy holidays you too :)
About my Software used to build :
cmake version 3.24.2
Conan version 1.55.0
Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.3.4

About the OS itself:
OS Name	:	Microsoft Windows 11 Pro 64x
Version	:	10.0.22000 Build 22000

About the machine :
Processor	:	AMD Ryzen 5 2600 Six-Core Processor, 3400 Mhz, 6 Core(s), 12 Logical Processor(s)
RAM		:	16.0 GB
GPU		: 	NVIDIA GeForce GTX 1070

I install MinGW using same steps as there :
French tutorial to install MinGW for netbean
On done I launched a powershell and did install conan with pip as pointed in your documentation
And proceeded with the building steps
About the .sln when I try to build from there
it complain pulse audio is not found with quite a lot of warning, I will remake it clean and do proper logs dump :)
if you need more information I'd be glad to help ^^

Hmm, I'll try and figure out why this is happening - I tried to generate a config.h file that will disable Pulse Audio being built if you're building on Windows.
I think I'm going to pull out all the OS specific things (Video 4 Linux, Pulse Audio) out into separate OS specific libraries to make compiling a little easier.
I'm still in the process of trying to understand why 'hand' compiled SDL2 is tons slower than pre-built for ubuntu, so the annoying thing is, you may get to a built binary but then find out that actually the graphics performance isn't enough to be able to consume a stream.
I'm also looking into what it will take to make a 'virtual webcam' on Windows (and Mac) though I think Windows 11 might be the baseline and I currently don't have any hardware capable of running windows 11 :(.
In the meantime though, if you try opening Visual Studio and going to:
Project Settings -> C/C++ -> Preprocessor -> Preprocessor definitions
You should see something like WIN32;_DEBUG;_WINDOWS;_MBCS;$(NoInherit)
If you add __MINGW32__ to the list of declarations, that should trick it into thinking you're building using MINGW32 which should prevent Pulse Audio (and Video 4 Linux) dependencies being built!

okay so I did all that, it was still complaining about pulse audio
so beside checking with #ifndef __MINGW32__ to #ifndef _WIN32 in any files it was checking, this way I way I was absolutely sure.
So after that it complained about getopt.h being no available on windows so I provided one that work the same way.
getopt.h
getopt.c
After that it complained about
unistd.h
in file lgxdevice.cpp
I just commented the import and changed C++ Standard to 17
and changed function usleep to _sleep with same usage.
After all that it only complained about flag -Wextra being no available, since I was unsure I just made them in a condition like that :
if(CMAKE_COMPILER_IS_GNUCXX)
    set(CMAKE_CXX_FLAGS "-Wall -Wextra")
else()
    set(CMAKE_CXX_FLAGS "-Wall")
endif()

I was able to build but it not work (no frames, image and sound)
Maybe my dirty steps could point to something?
I will do more trial and error later on I may have missed something :)

I've been trying to simplify the build process and make it uniform between platforms as much as possible.
I've created a GLFW based implementation of the lgx2userspace CLI application that doesn't use SDL and instead uses OpenGL and some shaders to leverage the GPU for doing the YUV → RGB conversion.
I think this should limit issues purely down to transfer speed of USB.
I've not been able to cross compile the GLFW executable as of yet however, so that might take me sometime to produce another release.

I know this doesn't solve the underlying issue of you being able to build the project but release/0.3.0 has a GLFW variant which may improve performance for you.

I tried both build SDL & GLFW.
Both got the same result nothing launch at all :)
no error, no black windows nothing even with -g argument
and building still has same issues and with work around that the same result ^^

Ok this is interesting. Annoyingly I built it as a window application, not console, so gathering console output might not be possible, but, I did add in a check to make sure USB3 is being used.
It might be that the cable you are using isn't USB3 perhaps, unless you're using a stock cable!
Thanks for testing, I feel like we're getting a little closer, but for the next build, I'll have dialog boxes when errors occur for Windows.

I'm also going to see if I can't get visual studio compiling the application which will help with your situation.

Is there any chance you can run:
lsusb -vd 07ca:
On the machine from a Linux distro?

I am finding my Linux usb and I will try :)

here the result I have, if needed I can do the same with both cable but this one is the from the card itself (I had it with a label like "AverMedia GC550" and it work under mac app without trouble both image and sound)
lsusb -vd 07ca:

Bus 004 Device 003: ID 07ca:4710 AVerMedia Technologies, Inc. GC550
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x07ca AVerMedia Technologies, Inc.
  idProduct          0x4710
  bcdDevice            2.07
  iManufacturer           1 AVerMedia
  iProduct                2 GC550
  iSerial                 3<PHONE_NUMBER>03
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0060
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              400mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           6
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15

Everything in there looks good (at least what mine looks like when it's capturing data successfully!)
Thanks for grabbing that, I'm going to try and beef up the Window's error logging to see if we can't get more information.

I've pushed a change that adds error logging for windows that results in an error dialog being displayed.
Assuming it's not just a random crash in some obscure part of the code, it should output something meaningful!
If you can give CLion a go, it might make it easier to compile on Windows whilst I figure out visual studio.

I definitely make it easier,
So I have been able to build a GC550 build.
Now without any tweak or nothing so that a progress :)
Just now the frame is all bugged like issues #21 (with all default settings I just built it with cmake -DCMAKE_BUILD_TYPE=Debug .. -DENABLE_LGX_GC550_SUPPORT=ON
Since I had no clue what video output it was using I just modified both VideoOuput.cpp to include GLFW & SDL to be sure to tell apart them.
By default I could tell it was using SDL and I see that it has the Vsync flag already so no clue why it fail
And no idea how to build GLFW at the moment ^^

Hi @Baoulettes that's great progress!
There should be a specific lgx2userspace-glfw.exe file built which will use the GLFW renderer.
I'm really hoping using the GFX card will give you the performance needed! Let me know how you get on!

I was able to build it properly without change, so far I just did "build project" and not build "build lgxuserspace"  (doing build lgxuserspace only will build only SDL variant :))
But sadly GLFW build start to appear but right after the window appear it crash, sometime the window remain white some other time it start black and crash instantly

The 0xC00000FD means a 'stack overflow'. I think I need to look at memory allocations in the project and move to heap allocation. I'll try to get that done very shortly.

This commit should resolve the issue you are having with the GLFW variant.

I've been trying to get good rendering going on the Windows version inside of Virtualbox using GLFW. I had to backport the GLSL code to version 1.20 which thankfully was quite straightforward but surprisingly, there is next to no difference between the SDL and GLFW version on Windows.
What I have found though, is that the video render time is causing issues due to the single threaded nature of the application as it stands.
The Windows log output was:
audioOutput - average ns: 272
streamUpdate - average ns: 2218380
videoDisplay - average ns: 6054391

Whilst the smooth linux output was:
audioOutput - average ns: 224
streamUpdate - average ns: 2329956
videoDisplay - average ns: 1009948

In a virtualised environment, video rendering takes 6 times as long as it does compared to native.
All I can take from this is that if rendering takes more than a millisecond, the frames that come after it will be corrupt, even if the streaming speed (the time spent reading from the USB) is fast (2ms).
I'm going to see if I can't introduce some kind of double or triple buffering to try and make the experience more smooth, but it will come at a cost of latency, so I'd like it to be optional if possible.

nice now it does work exactly the same as SDL (GLFW seem smoother)
Meaning :
Smooth frame per seconds without skip
"Flickering" bottom half of the frame
No sound
Good colors
Both have same behaviour with all my cables ^^

Thanks @Baoulettes
Ok so to confirm now:
On your Windows machine, regardless of OS, you've been unable to get stable video output?
I'm going to see if I can downsample the video to reduce the amount of processing required and rendering, which should hopefully see some noticeable improvements, of course at the detriment of quality though!
I'm also trying to find a sufficiently portable sound library, I'm looking at libao right now, but there is no conan package which will make things a little more difficult for the Windows side of things.

This is going to be the best I can do for now I think! The latest commit on main has video output scaling.
If you try the SDL output and GLFW with '-S4' as the program arguments, it'll output at 1 quarter scale.
If this isn't fast enough, I'm not sure your machine is going to be powerful enough to render output successfully.
When I was testing in Virtualbox, the USB read was taking 20 ms. This means it's impossible to achieve 60fps output, but it also means that reading from the device will forever result in corrupt frames.
I have an awful feeling that Zadig may add a latency that I can't compensate for.
If you get a chance to play around with this today, please try to get output with -v added as a program argument. (The application will only output to console if you run the program in debug mode!)

so trying to launch with arguments : -v -S4 -x it load with same artefact, a bit less frequent but still (funny I had it on my macos on first revision)
it is funny to think Zadig would bring latency since older version before GLFW implementation loaded frame properly on that same machine, the 0.2.0 .exe load it properly without sound
I will see every commit and see I can spot something that really strange it used to be super fine without sound and now that fail

it is funny to think Zadig would bring latency since older version before GLFW implementation loaded frame properly on that same machine, the 0.2.0 .exe load it properly without sound

!!!
I didn't appreciate that before!
I did remove compiler optimisations; it's a real long shot, but they could play a part.
Just to confirm as well then - you're using the exact same hardware, but you're using bootcamp to run Windows on the Macbook?
It'd be incredibly useful to see the timings for things, I'm going to make -v write to a lgx2userspace.log file instead to make life easier.
@Baoulettes I really appreciate this, it's helping lots and lots!

I have two computer one that is an imac late 2013 that show same performance as the one I sent spec there

About the OS itself:
OS Name	:	Microsoft Windows 11 Pro 64x
Version	:	10.0.22000 Build 22000

About the machine :
Processor	:	AMD Ryzen 5 2600 Six-Core Processor, 3400 Mhz, 6 Core(s), 12 Logical Processor(s)
RAM		:	16.0 GB
GPU		: 	NVIDIA GeForce GTX 1070

and the one I recorded the video with :)
both computer has the exact same issues on windows build, it just the imac is running windows 10 over windows 11 I run on the ryzen computer

Argh, so I've just been looking into MacOS support also. (Just pushed)
I get the same behaviour as in your video. SDL2 as provided by brew out performs SDL2 as built via conan. This used to be the case on my Ubuntu machine also, though my Ubuntu machine is an absolute beast so I never noticed.
I'm really gutted that Conan provided dependencies don't mirror those shipped out via brew or apt.
I imagine if I were to get the libs for Windows also, the performance would be much better than hand-compiling via Conan.
I could only get semi stable output on -S4 on my 2020(?) Mac Mini with the conan built dependencies, and now using the brew provided ones, I can run full resolution.
I really don't understand how a GPU based YUV->RGB conversion isn't consistently fast though.
What an adventure this has proven to be.
I'll look at using pre-built binaries for SDL on windows too to see if it fixes the performance for me in my VirtualBox environment. If it does, I imagine performance will be consistent across all other machines too.

I will try using chocolatey build for everything Conan use on windows and see if that work better and edit this message

Using the available binaries from libsdl.org, I can notice quite a difference on virtualbox, though, there is still video corruption.
I need to get out the measuring tools and actually profile some of this stuff so I can be 100% certain, but I'm not entirely certain why there would be such a drop in performance when compiling from source, vs using provided binaries.
Ideally, I want the building process to be a one button click kind of affair, though there is always going to be the set up for the compilation environment.
The other thing I can do is just make releases more of a continuous thing. If I can get that working then I'll have to put a pin in using conan, though it felt like it would have been a slam dunk!


Training terminates after pruning generates an empty SparseTensor

Thanks for your outstanding work!
During training, this function returns an empty 'keep' (pasco/models/decoder_v3.py, line 319),  which means Semantic Head predicts all voxels as non-occupied.

This empty 'keep' will cause errors in subsequent training.
I found a similar function that didn't used in the project, this function has an additional condition to check if 'keep' is empty. (pasco/models/decoder_v3.py, line 290)

I wonder why 'predict_completion_sem_logit' is used instead of 'predict_completion' in the latest version and how to solve the aforesaid issue when using 'predict_completion_sem_logit'.

Hi,
predict_completion directly predicts occupied/empty voxels, while predict_completion_sem_logit first predicts the semantic class and then converts it to occupied/empty.
I added a check here, but the issue still occurs during some training runs, especially when using multiple subnets. I haven’t been able to fully resolve this problem yet.

Thanks for your response.
I add a min_occ_thres to restrict the minimum number of voxels in 'keep' and it seems worked


Add reference on disabling embedding

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


c float comp

add reset method
compare reset nxp

For future reference: https://en.cppreference.com/w/cpp/language/zero_initialization


Topic_5

Keypoints 1 to 5 and 8 completed. Added points 6 and 7.
I also added the class diagram and a dump of the database I used.

Please read my comments, apply fixes where necessary and I will code review.


METADATA/ JSON not showing

I've basically gotten everything else to work but I am still confused on where to pull the apiURL and apiKey from! Anyone able to help that would be greatly appreciated!

yeah i'll try to see if that happens to me as well! I haven't tried anything more than 10 so far! They need to communicate more with the community on here honestly it's like they don't even want to help and expect you to know all the solutions yourself!


Not possible to use due to wrong license

"Microsoft 365 Business" plan, includes the Intune, so it can deploy the Office 365 Pro Plus desktop applications.
Only Office 365 Pro Plus, can be centraly deployed (GPO, Intune etc.) which is ok.
Howerver, this M365 Business license does not include license for Office 365 Pro Plus, instead it includes Office 365 Business edition.
So basically, users can deploy it, but can not activate the Office desktop applications.
Please check with product group / team and update the product info and documentation on how to deploy Office desktop apps in Microsoft 365 Business environment.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0ca7312a-c908-d32d-e1e3-3e9227300c67
Version Independent ID: e2b941e6-9048-3be7-3d2b-3b59424b126b
Content: Automatically install or uninstall Office on Windows 10 devices
Content Source: microsoft-365/business/auto-install-or-uninstall-office.md
Service: o365-administration
GitHub Login: @Sirkkuw
Microsoft Alias: sirkkuw

OK - so you can deploy from the M365B admin center as well as the Intune portal with Microsoft 365 Business license and the Office Business SKU.

This is not correct, and still the same issue.
Yes, I can deploy from Microsoft 365 Business admin center, as well as Intune portal.
However, the app that is deployed to windows10 computer is "Office 365 Pro Plus", which is not included in Microsoft 365 Business license, so user can not activate it.
Deployment is working, but wrong "thing" is deployed.
So, how can then user with Microsoft 365 Business license, active this deployed Office 365 Pro Plus? (error is, it should be only Office 365 Business desktop applications, which does not support intune or any central deployment)...


[ShadowContainer] Cache issue on CornerRadius

GitHub Issue (If applicable): closes #782
PR Type
What kind of change does this PR introduce?

Bugfix

What is the current behavior?
We do not have cache control for CornerRadius.
What is the new behavior?
Now we have the cache control for corner radius.
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tested code with current supported SDKs
[ ] Tested the changes where applicable:

[ ] UWP
[ ] WinUI
[ ] iOS
[ ] Android
[ ] WASM
[ ] MacOS

[ ] Updated the documentation as needed:

[ ] General Doc Update
[ ] Controls Doc Update
[ ] Extensions Doc Update
[ ] controls-styles.md
[ ] lightweight-styling.md (LightWeight Styling Resource Keys)

[ ] Runtime Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
[ ] Contains NO breaking changes
[ ] Associated with an issue (GitHub or internal)
[ ] Commits must be following the Conventional Commits specification.

Other information

Internal Issue (If applicable):

@Mergifyio backport legacy/3x release/stable/4.2


Fix JVM pause monitor test

What changes are proposed in this pull request?
JVM pause monitor test can fail sometimes due to data races.
The thread sleep isnt always accurate, so it uses the more precise timer (the same that the actual pause monitor uses) and it increases the wait time by one, because the check in the monitor class is exactly for 250, which would fail if the time was exactly that.
It also ensures the logs are flushed on write.
Does this PR introduce any user facing changes?
No.

alluxio-bot, merge this please


Add validator data retention by pubkey

Hello,
I needed to retain data indefinitly for certain pubkeys and saw you already had a retain []phase0.ValidatorIndex parameter in pruning methods PruneValidatorEpochSummaries and PruneValidatorBalances.
I've made the choice to change validator index to pubkey since I know ahead of time which pubkey are going to be my validator, but not the indices. So i can set all my pubkeys even if my deposits are not yet made. Could do a quick adaptation to handle both index and pubkeys.
Thanks,
Sylvain

I did not notice any changes in deletion time. (my bottleneck is io)
Also, i guessed postgresql would ignore the join if i did not have a WHERE clause related to the joined table.
But, in any way I've updated so that it only add USING if retains isn't empty.

Thanks for making the changes.
I think that the SQL is now broken in the case that there are no items in retain, it looks like it will not include the USING but still reference t_validators in the WHERE clause.

It should be okay now.
I've tested it with and without retain values.

Thanks for your work on this.


AS API: Allow passing headers when making GraphQL requests

This may also need to be implemented for other languages. Headers can be passed the same way as HTTP handles headers.

@ospencer is this for headers other than auth?

I hadn't really thought about it—this was mostly for one-off auth (if you couldn't use Atmo's auth handling), though there might be some use cases where it'd be useful for other headers (analytics, etc).


Exception during weaving on project that does not use Name.Of

I have another exception when building a project that includes the NameOf.Fody library, but does not use it:
Error	873	Fody: An unhandled exception occurred:
Exception:
Sequence contains no matching element
StackTrace:
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at NameOf.Fody.ModuleWeaver.Execute() in c:\Development\NameOf\NameOf.Fody\ModuleWeaver.cs:line 28
   at lambda_method(Closure , Object )
   at InnerWeaver.ExecuteWeavers() in c:\ConsoleBuildAgent\work\ed448661dbb30d2e\FodyIsolated\InnerWeaver.cs:line 135
   at InnerWeaver.Execute() in c:\ConsoleBuildAgent\work\ed448661dbb30d2e\FodyIsolated\InnerWeaver.cs:line 53
Source:
System.Core
TargetSite:
TSource Single[TSource](System.Collections.Generic.IEnumerable`1[TSource], System.Func`2[TSource,System.Boolean])
    CN

Good catch! I've fixed that in NuGet package 0.8.3.


Fix the Checkout Step Completed event to correctly handle options

The Checkout Step Completed event will refuse to send unless you send both a step and an option value of some sort (paymentMethod or shippingMethod), when the documentation says you can send it without either one (and step will default to 1, which it did but was incorrectly filtered away). This PR fixes both of those issues as well as renames paymentMethod and shippingMethod to their documentation-specified names of payment_method and shipping_method. This PR does not add any additional supported option values (though they are supported in GA).

Closing per the above.


xc4.2 (clang?) warnings fixed

fixes a few warnings in Xcode 4.2. I guess you could also make symbolWithString return a NuSymbol*.

Not present anymore afaics.


[SUGGESTION] ability to paste "stamps" in generation

Is your feature request related to a problem? Please describe.
Territect should be able to put various stuff while generating too (like buildings) , it would be interesting to make some mostly generated saves
Describe the solution you'd like
A new layer mode : stamp . You need to make stamps with a button that is put next to button that opens main menu . It works almost like TPT stamps but they are automatically cut to edges so it takes less memory (idk if it works like that) . They(stamps) can be put at minimal Y and maximal Y like veins . It should be also possible to select middle point of generation (default is middle , and 8 non default directions)
https://prnt.sc/S4Ocuv-ljlm_ screenshot so it is easier to understand my english
Describe alternatives you've considered
pre made built in script buildings , ships etc or maybe a generator of ones (so script doesnt take lots of space ?)
Additional context
the stamp size probably should be limited ? just to make it easier to put multiple stamps in embed link
maybe 128x128 or so

This is in line with a feature I have planned for a future version where you can control the relative position of veins. This is meant to make things like clusters of ore or trees easier to generate, but it will also be powerful enough to allow you to build structures like buildings or ships inside the editor.
As you pointed out, the amount of space stamps would take up in the embed box would be pretty large. This could be maneuvered around through various forms of compression and overall isn't a big concern for smaller or decently-sized stamps containing only a few unique elements as long as preserving particle properties isn't necessary.
I might consider adding this feature in a future version. If the tools I add later are strong enough to make it unnecessary, then that will be that, but a quick way of inserting more complex hand-made structures could be in line with Territect's goals.


701 Add --max-threads flag for core framework mem test

Cherry-picked #679 / https://github.com/CppMicroServices/CppMicroServices/commit/805ebac003341c541ce233dae034fbb6b4550d68 without changes

Codecov Report

Merging #753 (def3bf7) into c++14-compliant (94e8d03) will decrease coverage by 0.99%.
The diff coverage is n/a.

Additional details and impacted files

@@                 Coverage Diff                 @@
##           c++14-compliant     #753      +/-   ##
===================================================
- Coverage            90.56%   89.56%   -1.00%
===================================================
  Files                  249      124     -125
  Lines                13399     8320    -5079
===================================================
- Hits                 12135     7452    -4683
+ Misses                1264      868     -396

Impacted Files
Coverage Δ

compendium/LogService/src/LogService.cpp
0.00% <0.00%> (-100.00%)
:arrow_down:

util/include/cppmicroservices/util/MappedFile.h
0.00% <0.00%> (-83.34%)
:arrow_down:

framework/src/bundle/BundleRegistry.cpp
80.48% <0.00%> (-10.68%)
:arrow_down:

...ork/include/cppmicroservices/detail/CounterLatch.h
87.09% <0.00%> (-9.68%)
:arrow_down:

...mework/src/service/ServiceReferenceBasePrivate.cpp
86.00% <0.00%> (-6.10%)
:arrow_down:

framework/src/service/ServiceListeners.cpp
95.06% <0.00%> (-4.94%)
:arrow_down:

...mework/include/cppmicroservices/ServiceReference.h
96.00% <0.00%> (-4.00%)
:arrow_down:

framework/include/cppmicroservices/detail/Log.h
97.14% <0.00%> (-2.86%)
:arrow_down:

framework/src/service/ServiceRegistry.cpp
91.19% <0.00%> (-2.15%)
:arrow_down:

framework/src/bundle/BundleResourceBuffer.cpp
69.35% <0.00%> (-1.85%)
:arrow_down:

... and 174 more


DOP-1232 - Set image automation type as background

Style refactor:

Set automation image type as background style.
Move feature indicator as new div tag.
Remove scroll on editor at automation type screen.

Fixes: DOP-1232 (Related to)

The DOP-1232 does not seem the ticket related to.

Maybe the enumerated points could have been treated in a commit each one:

Set automation image type as background style.
Move feature indicator as new div tag.
Remove scroll on editor at automation type screen.

What do you think?


When listing jobs, show their priority

Signed-off-by: Zack Cerza<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1802/
Test PASSed.


Error with Nifti Images.

Hi I was trying the collage module on the example jupyter notebook through the docker image. However on trying to pass a numpy array of a nifti image,  collage.execute() results in an error. I am adding the error below, please let me know if anything more is required to replicate this error. Thanks
use_3D = True
...
print(image_data.shape)

>(183, 250, 250)

Error while calculating the collage features.
# Run CoLlage Algorithm.Prepare

full_images = collage.execute()

>Image shape = (183, 250, 250)
Mask size = 54x62x61
Image shape (cropped and padded) = (64, 72, 63)
Note: Dividing image values by 255 to convert to 0-1 range
Calculating pixel gradients:
Calculating pixel gradients done.
Calculating dominant gradient angles using SVD for each image patch of size 5x5
Window patch shape for dominant angle calculation = (11, 11, 1)
Calculating dominant gradient angles done.
Dominant angles shape = (54, 62, 63, 2)
Calculating haralick features of angles:
Calculating features for angle 0:
Rescaling dominant angles to 64 unique values.
Rescaling dominant angles done.

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-157-f386c7d9cfe2> in <module>
      1 # Run CoLlage Algorithm.Prepare
----> 2 full_images = collage.execute()

/usr/local/lib/python3.8/dist-packages/collageradiomics.py in execute(self)
    565         for angle_index in range(angles_shape[3]):
    566             print(f'Calculating features for angle {angle_index}:')
--> 567             haralick_features[:,:,:,:,angle_index] = self.calculate_haralick_textures(dominant_angles[:,:,:,angle_index])
    568             print(f'Calculating features for angle {angle_index} done.')
    569         if self.verbose_logging:

/usr/local/lib/python3.8/dist-packages/collageradiomics.py in calculate_haralick_textures(self, dominant_angles)
    484         for z in range(depth):
    485             for y,x in product(range(height), range(width)):
--> 486                 if self.mask_array[y,x,z]:
    487                     haralick_image[y,x,z,:] = self.calculate_haralick_feature_values(dominant_angles_binned[:,:,z], x, y)
    488

IndexError: index 61 is out of bounds for axis 2 with size 61

@umgpy We are working on this. Could you please provide the image and mask being used so we may verify the problem and solution?

@nathanhillyer I may not be able to provide the image that I was using since it's part of our internal dataset, however I have replicated the error with the publicly available TCIA dataset. Image and mask used are uploaded here.
`# Run CoLlage Algorithm.Prepare
full_images = collage.execute()
Image shape = (240, 240, 155)
Mask size = 14x17x24
Image shape (cropped and padded) = (24, 27, 26)
Note: Dividing image values by 255 to convert to 0-1 range
Calculating pixel gradients:
Calculating pixel gradients done.
Calculating dominant gradient angles using SVD for each image patch of size 5x5
Window patch shape for dominant angle calculation = (11, 11, 1)
Calculating dominant gradient angles done.
Dominant angles shape = (14, 17, 26, 2)
Calculating haralick features of angles:
Calculating features for angle 0:
Rescaling dominant angles to 64 unique values.
Rescaling dominant angles done.

IndexError                                Traceback (most recent call last)
 in
1 # Run CoLlage Algorithm.Prepare
----> 2 full_images = collage.execute()
/usr/local/lib/python3.8/dist-packages/collageradiomics.py in execute(self)
565         for angle_index in range(angles_shape[3]):
566             print(f'Calculating features for angle {angle_index}:')
--> 567             haralick_features[:,:,:,:,angle_index] = self.calculate_haralick_textures(dominant_angles[:,:,:,angle_index])
568             print(f'Calculating features for angle {angle_index} done.')
569         if self.verbose_logging:
/usr/local/lib/python3.8/dist-packages/collageradiomics.py in calculate_haralick_textures(self, dominant_angles)
484         for z in range(depth):
485             for y,x in product(range(height), range(width)):
--> 486                 if self.mask_array[y,x,z]:
487                     haralick_image[y,x,z,:] = self.calculate_haralick_feature_values(dominant_angles_binned[:,:,z], x, y)
488
IndexError: index 24 is out of bounds for axis 2 with size 24
`

@umgpy Thank you, we've corrected this issue on the latest version.
Please run docker pull radxtools/collageradiomics-examples:latest and try it out.

@nathanhillyer Thank you for the quick fix, I shall give it a try.

@nathanhillyer Thank you for the quick fix, I shall give it a try.

@nathanhillyer Thank you for the quick fix, I shall give it a try.


Download URL for Import deals

As a client making import deals I need to provide the SP with a url from where they can download the car files. That seems to be missing from the DealRequest struct?

minor point: I think this would be classified an "end to end" deal in our terms because Boost can automatically download it from the provided url. So the user doesn't have to import it.
+1 for this feature though- I think having the flexibility to set transfer params is useful for a lot of use cases 😃

My understanding was
end-to-end: client pushes the data when deal is accepted
import: SP pulls the data when they want
is that not correct?

if you provide a download URL (http, ftp, etc) in the transfer params, Boost will automatically try to download it as soon as the deal lands. So, the SP doesn't actually decide to pull the data when they want - in that regard it's not an import deal in the traditional sense, SP does not have to do any importing.
I'm thinking of Import deals as those with absolutely no transfer params, so the SP must perform some actions on their end to get the carfile into Boost out of band

I started working on this, there is actually a "source" field on the deal request and my intention is to use that as a source on where to get the file. The idea is to add a CID and the source (multiaddr or http or libp2p) then delta pulls it from the source, make an online deal etc.
there's going to be two modes here:

e2e deal - requires the file to be pulled by delta since it needs to compute for commp, transfer to SP.
import deal - we require pre-computed commp and just add the transfer params which will pull the data from a different source.

If it's an e2e deal:

delta needs to pulls the data from the source.
compute commp
make a deal.
The transfer here can be optional since we can set the transfer params to use the "source" field of the deal request and let the miner/sp pull it.

if it's an import deal:

pre-computed commp is required
delta just uses the source as transfer param
make a deal using the transfer param
The transfer params will use "source" field of the deal request and let the miner/sp pull it.

Would be good to also support http url for source.
This issue is currently the blocker for me to be able to integrate data prep tools with delta.

https://github.com/application-research/delta/pull/118

Given that delta uses boost under the hood, i don't think this actually supports the out-of-band/import deal flow. Even if this is set on the delta side, boost will never use it.

So I think it does do the thing @jcace describes above for e2e deals, but it does not handle import deals.

Hmm maybe, that's a bit hacky though. Also will need each SP to implement their own tooling to parse + handle this.


Allow subclassed strings to be used

In Home Assistant, strings coming from YAML configuration are subclassed in a NodeStrClass. The check in this lib is only checking if it's a str, not checking if there are subclasses.

Thanks!

New version, 1.1.2 pushed to pypi.

Thanks! I'll give it a bump


Gradle doesn't build (likely due to this being very out of date)

Error:Execution failed for task ':app:dexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

I don't really get this issue. Are you sure that's problem of my library? If so can you please provide some more information to help me investigate it.


lemur create_config command failed

Unable to Create configuration using 'lemur create_config". Getting the error as shown below:
(lemur) lemur@osboxes:/www/lemur/lemur$ lemur create_config
/www/lemur/lib/python3.5/site-packages/sqlalchemy/sql/functions.py:68: SAWarning: The GenericFunction 'array_agg' is already registered and is going to be overriden.   "is going to be overriden.".format(identifier))
Traceback (most recent call last):
File "/www/lemur/bin/lemur", line 11, in <module>     load_entry_point('lemur', 'console_scripts', 'lemur')()
File "/www/lemur/lib/python3.5/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point     return get_distribution(dist).load_entry_point(group, name)
File "/www/lemur/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point     return ep.load()
File "/www/lemur/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2434, in load     return self.resolve()
File "/www/lemur/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2440, in resolve     module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/www/lemur/lemur/__init__.py", line 19, in <module>     from lemur.auth.views import mod as auth_bp
File "/www/lemur/lemur/auth/views.py", line 129     headers = {"Authorization": f"Bearer {access_token}"}
SyntaxError: invalid syntax

Looks like you need to use Python 3.6 or above for the string formatting.


updatecli: link to the original Pull Request

What
Add the original Pull Request that contains the changes in the specs to be in the description of the Pull Request created with the updatecli automation. This will help with track what APM Agents use it.
Test
Given the updatecli and gh cli
When running
$ GIT_USER=foo \
GIT_EMAIL=1 \
GITHUB_TOKEN=*** \
updatecli apply --config .ci/updatecli.d/update-specs.yml --push=false --debug

Then
...
✔ content: found from file "https://github.com/elastic/apm-data/commit/main.patch":
From 5d596b8bb0cbf31aac8ea65e611a8d5d7d5b482d
...
----
https://github.com/elastic/apm-data/pull/178
----
...

In other words, this change will modify PRs like https://github.com/elastic/apm-agent-python/pull/1849, that won't contain the link to the commit but also the PR.

https://github.com/elastic/apm-agent-python/pull/1957 is the new approach


Fix sudo configuration

Override /etc/sudoers with configuration that allows root and the sudo group to run any command.
Members of the sudo group do not have to specify a password.

I've not worked in depth in Unix systems for almost 25 years so I don't think I'm the right person to review this change.

@daviburg, thanks for the honest feedback.
@IgorMilavec, can you take a look? Works fine for me.

@daviburg, how do we proceed with this one? I need this to complete the integration tests for https://github.com/sshnet/SSH.NET/pull/910.

@daviburg, how do we proceed with this one? I need this to complete the integration tests for sshnet/SSH.NET#910.

I've studied what I can to unblock this.
So, before the change sed -i command was used for an in-place update of the /etc/sudoers security configuration file. There is a substitution syntax s/#\s*%sudo\s*ALL=(ALL)\s*ALL/%sudo which I do not understand.
After the change simple appends to the same configuration file are made with two echo >> commands. As this is a docker file I assume the script is only executed once per host, hence we do not have to worry about repeat execution.
The first append gives root access to all commands per sudoers. Frankly I'm surprised root doesn't already have such access by definition.
The second append gives sudo users the ability to run any command without repeat password entry. I can see how that helps with non-interactive scripts for test execution. And sudo users are already privileged accounts.
So, my unix-ignorant self believes this change is ok and I'll sign-off.

Instead of modifying the default sudoers configuration file, we now just create one from scratch.


generate predicate.json from UI filter selction

It would be nice to have predicate.json (https://www.gbif.org/developer/occurrence#predicates) automatically generated based on the filter I select in the UI at https://www.gbif.org/occurrence/download

I like the idea. Currently you would have to trigger the download and then look at the API query (possible cancel the actual download).


NanoSAM experiment

NanoSAM experiment.
Could be further optimized for performance in the future.

do we have any video/image for the demo?

Updated README @Erol444 Feel free to test out and merge if works as expected.


Problem with certificate validity check for the Netherlands

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug is specific for iOS only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[X] Bug is not already reported in another issue

Technical details

Device name: iPhone XR
iOS version: 14.7.1
App version: 2.6.1

Describe the bug
When checking the vaccination certificate for the Netherlands, I only get this:

I don't fully understand what the app is trying to tell me here (;
Steps to reproduce the issue

Add a DCC
Check for the validity in the Netherlands

Expected behaviour
Clear description why the certificate is not valid.
Additional context
Please check the behavior under Android.

@thomasaugsten
Could CWA display the schema version and the date of certificate creation in the UI if this is important for compatibility?

@thomasaugsten and @mlenkeit
I'm wondering, whether the information in this "open status" screen can be enhanced somehow to enable users to better understand what they're supposed to do with these information...
If the answer was yes, I'd create a wishlist issue for that. But for this I have to open questions:
Goal for the "open status" in wallet and verifier apps is to provide information to the user that the validity of the certificate can't be checked, because there is a lack of information or the schema version for the check doesn't fit. The "checking rules" are displayed as text above of the contents of the certificate, so that user may estimate whether the certificate may actually be valid or not.
The text/strings for the "checking rules" are directly provided by the participating member countries. Whether the member countries provide translations or not is apparently their matter of taste.
In result, some countries provide texts in German, English, Spanish, French and Italian, other countries only provide English texts (even for their own inhabitants - like the Netherlands currently). Additionally, the texts can be rather different even they express the same rules (e.g., Netherlands & Slovenia: "At most one v-event." Other countries: "Vaccine Certificate can only relate to a single Vaccine event for Covid-19"/"One type of event of vaccination")
=> Is there any task force or working group, that could be able to harmonize texts provided in the description strings and also probably coordinate translation efforts? If you could provide an address, maybe the community could place a request there? I think that could help users in all countries independet of their wallet/verifier apps...
Not all of the cards in the "open status" screen provide information of the validated DCC, for example:

Number of "events" found in the DCC ("Exactly one type of events")
Number of "vaccination events" found in the DCC ("At most one v-event")
Does CertLogic pass on these details to CWA so that they could used to display these results (e.g., number of "events" found in the DCC), or only a simple "true/false" or "pass/fail"?

Thanks in advance for your answer!

@vaubaehn

I'm wondering, whether the information in this "open status" screen can be enhanced somehow to enable users to better understand what they're supposed to do with these information...

Technically, that's possible, although it may require enhancements of the CertLogic dependencies. Feel free to raise a with list issue for that. I would assume that the chance of implementing such a change will depend on how frequent rules evaluate to open "in the wild".

Is there any task force or working group, that could be able to harmonize texts provided in the description strings and also probably coordinate translation efforts?

I would suggest filing an issue in https://github.com/eu-digital-green-certificates/dcc-quality-assurance

Does CertLogic pass on these details to CWA so that they could be used to display these results (e.g., number of "events" found in the DCC), or only a simple "true/false" or "pass/fail"?

CertLogic only returns pass/fail/open for a given rule. The rule itself has affectedFields which CWA uses to determine the fields to display in case of fail/open. During upload of the rules, it is checked that all fields used by CertLogic are covered by affectedFields. We do not really get additional details from the rule evaluation result though.

What does "This works as expected. Netherlands requieres a schema version 1.3" exactly mean?
The official dutch app (https://play.google.com/store/apps/details?id=nl.rijksoverheid.ctr.verifier) shows a green status with my certificate while I get the error from above in CWA.

@error401de

What does "This works as expected. Netherlands requieres a schema version 1.3" exactly mean?

You are referring to https://github.com/corona-warn-app/cwa-documentation/issues/671#issuecomment-888222254
so it means that the Business Rules (for travel) for the Netherlands requires Schema Version 1.3, which is not necessarily the same as the app from the Netherlands.
When was your certificate issued?

It was issued in June, actually at the first day it was possible in Baden-Württemberg.

FYI: @thomasaugsten said in https://github.com/corona-warn-app/cwa-app-android/issues/3847#issuecomment-889940530:￼

[...] we are working on this to downgrade the Dutch rules

@mlenkeit
Thanks for your helpful response!

Feel free to raise a wishlist issue for that. I would assume that the chance of implementing such a change will depend on how frequent rules evaluate to open "in the wild".

I will do that next week. I assume that DCCs and the need to check their validity will stay part of our lives for quite a while. While I think it's unlikely to see more "open states" currently, the chances may rise in the future, when developments in the pandemic situation may require changes of DCCs and their schemes, but not all participating countries can react on those in a timely manner...
Additionally, some basic considerations reported here in context of "open status" do also apply for the "failed state" information screen, as texts of failing rules and DCC contents are derived and displayed in a similar manner like for "open". You may easily try with your 1/2 VaccDCC 😉 .

I would suggest filing an issue in https://github.com/eu-digital-green-certificates/dcc-quality-assurance

Thank you for the suggestion! I will try my chances there next week.

Technically, that's possible, although it may require enhancements of the CertLogic dependencies.

CertLogic only returns pass/fail/open for a given rule. The rule itself has affectedFields which CWA uses to determine the fields to display in case of fail/open. During upload of the rules, it is checked that all fields used by CertLogic are covered by affectedFields. We do not really get additional details from the rule evaluation result though.

Hm, I see. Doesn't sound too easy to implement for above mentioned cards (the others are quite sufficient, imho), but maybe we can discuss this via the wishlist issue I'm going to open soon.
Again, thank you, and have a nice week-end!

@vaubaehn

You may easily try with your 1/2 VaccDCC 😉 .

Interesting point! According to this, Spain allows entry with only 1/2, which contradicts the information on https://reopen.europa.eu/en/from-to/DEU/ESP, where it says "COVID-19 Vaccination Certificate. Valid 14 days after receiving the complete regimen". That needs to be a separate issue.

@MikeMcC399

Spain allows entry with only 1/2, which contradicts the information on https://reopen.europa.eu/en/from-to/DEU/ESP, where it says "COVID-19 Vaccination Certificate. Valid 14 days after receiving the complete regimen".

If the information on https://reopen.europa.eu/en/from-to/DEU/ESP is valid, then it's indeed a bug in their businessrules and an argument to also open source the national business rules (or the compiled JSON from gateway) for public bug bounty :)

@vaubaehn

I looked into the rule set, and the rule to check for amount of doses is simply missing for them.

Can you help me jump start to be able to read the rule set? Where can I see it? There are so many repositories and documents these days it's quite difficult to find one's way around.
I have opened https://github.com/corona-warn-app/cwa-documentation/issues/675 anyway for Spain.

@MikeMcC399
You will find the business rules test data here:
https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata
The rules that were PROD yesterday and delivered to CWA here:
https://covidapps.slack.com/archives/C0194ML0MLN/p1627562570043600?thread_ts=1627556597.041700&cid=C0194ML0MLN

The same also happens with test certificates...

@Ein-Tim

The same also happens with test certificates...

Are you saying you get exactly the same screenshots as you originally posted?
Did you have both a vaccination certificate and a test certificate stored? If yes, what happens if you only have a test certificate stored?

@MikeMcC399

Are you saying you get exactly the same screenshots as you originally posted?

Not exactly the same, but very close. Here's a screenshot (RAT, sample taken today):

Did you have both a vaccination certificate and a test certificate stored?

Yes.

If yes, what happens if you only have a test certificate stored?

I just tried and I get the same result.

@Ein-Tim
Good to have the exact screenshots for the test certificate case!
Maybe you could activate the Error Reports and check the schema (version) of the test certificate. See https://github.com/corona-warn-app/cwa-app-android/issues/3838#issuecomment-889380286 relating to finding the information for a vaccination certificate. I guess it would be similar for a test certificate.

@MikeMcC399
I don't see the schema version in the log when adding the test certificate to the app.
Because I was curious I also tested with a vaccination certificate, I don't see the schema version in the log there neither.

@Ein-Tim
Did you capture logs when you tried to validate the certificates?

@MikeMcC399
Yes, also no schema version. As you know I'm under iOS, so could be that this is implemented different there.
Here are the logs

Logging while adding the test certificate
Info 2021-07-31T20:04:02Z
[ENA/ELSService.swift:177] [startLogging()]
===== ELS logging active =====

Info 2021-07-31T20:04:02Z
[ENA/ELSService.swift:180] [startLogging()]
Release Build.

Info 2021-07-31T20:04:02Z
[ENA/ELSService.swift:191] [startLogging()]
Environment: prod

Info 2021-07-31T20:04:02Z
[ENA/ELSService.swift:194] [startLogging()]
CWA version number: Optional(ENA.Version(major: 2, minor: 6, patch: 2))

Info 2021-07-31T20:04:02Z
[ENA/ELSService.swift:195] [startLogging()]
iOS version number: Version(major: 14, minor: 7, patch: 1)

Info 2021-07-31T20:04:06Z
[ENA/HealthCertificateQRCodeScannerViewModel.swift:145] [startCaptureSession()]
AVCaptureDevice.authorized - enable qr code scanner

Info 2021-07-31T20:04:08Z
[ENA/HealthCertificateService.swift:132] [registerHealthCertificate(base45:)]
[HealthCertificateService] Registering health certificate from payload: 🙈🙉🙊

Info 2021-07-31T20:04:08Z
[ENA/HealthCertificateService.swift:161] [registerHealthCertificate(base45:)]
[HealthCertificateService] Successfully registered health certificate for a new person

Debug 2021-07-31T20:04:09Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s?<PHONE_NUMBER>093155 >= 300)

Logging while adding the vaccination certificate
Info 2021-07-31T20:07:10Z
[ENA/ELSService.swift:177] [startLogging()]
===== ELS logging active =====

Info 2021-07-31T20:07:10Z
[ENA/ELSService.swift:180] [startLogging()]
Release Build.

Info 2021-07-31T20:07:10Z
[ENA/ELSService.swift:191] [startLogging()]
Environment: prod

Info 2021-07-31T20:07:10Z
[ENA/ELSService.swift:194] [startLogging()]
CWA version number: Optional(ENA.Version(major: 2, minor: 6, patch: 2))

Info 2021-07-31T20:07:10Z
[ENA/ELSService.swift:195] [startLogging()]
iOS version number: Version(major: 14, minor: 7, patch: 1)

Info 2021-07-31T20:07:11Z
[ENA/HealthCertificateQRCodeScannerViewModel.swift:145] [startCaptureSession()]
AVCaptureDevice.authorized - enable qr code scanner

Info 2021-07-31T20:07:12Z
[ENA/HealthCertificateService.swift:132] [registerHealthCertificate(base45:)]
[HealthCertificateService] Registering health certificate from payload: 🙈🙉🙊

Info 2021-07-31T20:07:13Z
[ENA/HealthCertificateService.swift:161] [registerHealthCertificate(base45:)]
[HealthCertificateService] Successfully registered health certificate for a new person

Debug 2021-07-31T20:07:13Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 11.621754050254822 >= 300)

Logging while validating the test certificate
Info 2021-07-31T20:01:07Z
[ENA/ELSService.swift:177] [startLogging()]
===== ELS logging active =====

Info 2021-07-31T20:01:07Z
[ENA/ELSService.swift:180] [startLogging()]
Release Build.

Info 2021-07-31T20:01:07Z
[ENA/ELSService.swift:191] [startLogging()]
Environment: prod

Info 2021-07-31T20:01:07Z
[ENA/ELSService.swift:194] [startLogging()]
CWA version number: Optional(ENA.Version(major: 2, minor: 6, patch: 2))

Info 2021-07-31T20:01:07Z
[ENA/ELSService.swift:195] [startLogging()]
iOS version number: Version(major: 14, minor: 7, patch: 1)

Debug 2021-07-31T20:01:12Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s?<PHONE_NUMBER>002289 >= 300)

Error 2021-07-31T20:01:12Z
[ENA/URLSession+Convenience.swift:167] [errorDescription]
notModified

Error 2021-07-31T20:01:12Z
[ENA/VaccinationValueSetsProvider.swift:57] [fetchVaccinationValueSets(with:cachedFallback:)]
Fehler bei der Schlüssel-Übermittlung

Info 2021-07-31T20:01:13Z
[ENA/HTTPClient.swift:657] [validationOnboardedCountries(eTag:isFake:completion:)]
Content was not modified - 304.

Info 2021-07-31T20:01:13Z
[ENA/HealthCertificateValidationOnboardedCountriesProvider.swift:122] [processOnboardedCountriesFailure(error:completion:)]
Download new onboarded countries aborted due to not modified content. Taking cached countries.

Info 2021-07-31T20:01:15Z
[ENA/HealthCertificateValidationService.swift:73] [validate(healthCertificate:arrivalCountry:validationClock:completion:)]
Successfully passed technical validation. Proceed with updating value sets...

Error 2021-07-31T20:01:15Z
[ENA/URLSession+Convenience.swift:167] [errorDescription]
notModified

Error 2021-07-31T20:01:15Z
[ENA/VaccinationValueSetsProvider.swift:57] [fetchVaccinationValueSets(with:cachedFallback:)]
Fehler bei der Schlüssel-Übermittlung

Info 2021-07-31T20:01:15Z
[ENA/HealthCertificateValidationService.swift:128] [updateValueSets(healthCertificate:arrivalCountry:validationClock:completion:)]
Successfully received value sets. Proceed with downloading acceptance rules...

Info 2021-07-31T20:01:16Z
[ENA/HTTPClient.swift:706] [getDCCRules(eTag:isFake:ruleType:completion:)]
Content was not modified - 304.

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:426] [rulesDownloadingFailure(ruleType:failure:completion:)]
Download new acceptance rules aborted due to not modified content. Taking cached rules.

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:156] [downloadAcceptanceRules(healthCertificate:arrivalCountry:validationClock:valueSets:completion:)]
Successfully downloaded/restored acceptance rules. Proceed with downloading invalidation rules...

Info 2021-07-31T20:01:16Z
[ENA/HTTPClient.swift:706] [getDCCRules(eTag:isFake:ruleType:completion:)]
Content was not modified - 304.

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:426] [rulesDownloadingFailure(ruleType:failure:completion:)]
Download new invalidation rules aborted due to not modified content. Taking cached rules.

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:186] [downloadInvalidationRules(healthCertificate:arrivalCountry:validationClock:valueSets:acceptanceRules:completion:)]
Successfully downloaded/restored invalidation rules. Proceed with assembling FilterParameter...

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:222] [assembleCommonRules(healthCertificate:arrivalCountry:validationClock:valueSets:acceptanceRules:invalidationRules:completion:)]
Successfully assembled common FilterParameter: 🙈🙉🙊. Proceed with assembling common ExternalParameter...

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:239] [assembleCommonRules(healthCertificate:arrivalCountry:validationClock:valueSets:acceptanceRules:invalidationRules:completion:)]
Successfully assembled common ExternalParameter: 🙈🙉🙊. Proceed with rule validation...

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:281] [validateRules(healthCertificate:valueSets:acceptanceRules:invalidationRules:filterParameter:externalParameter:completion:)]
Successfully validated combined rules: 🙈🙉🙊. Proceed with combined rule interpretation...

Info 2021-07-31T20:01:16Z
[ENA/HealthCertificateValidationService.swift:304] [interpretateRulesResult(validatedRules:completion:)]
Validation result is: validationOpen. Validation complete.

Debug 2021-07-31T20:01:16Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 0.2731499671936035 >= 300)

Debug 2021-07-31T20:01:16Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 0.27863192558288574 >= 300)

Debug 2021-07-31T20:01:16Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 0.28317296504974365 >= 300)

Debug 2021-07-31T20:01:16Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 0.2873539924621582 >= 300)

Debug 2021-07-31T20:01:16Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 0.2929079532623291 >= 300)

Debug 2021-07-31T20:01:16Z
[ENA/VaccinationValueSetsProvider.swift:84] [shouldFetch()]
timestamp >= 300s? 0.2983769178390503 >= 300)

@Ein-Tim You can check this with the "Verifiable Credential Debugger"

@thomasaugsten
At https://github.pathcheck.org/debug.html I get this:
EU Digital Covid Certificate Verifiable QR
{
  "tag": 18,
  "value": [
    { "Map": [ [ 1, -7 ] ] },
    { "Map": [ [ 4, "9v3FozjKAUo" ] ] },
    {
      "Map": [
        [ 1, "DE" ],
        [ 4,<PHONE_NUMBER> ],
        [ 6,<PHONE_NUMBER> ],
        [
          -260,
          {
            "Map": [
              [
                1,
                {
                  "t": [
                    {
                      "ci": "URN:UVCI:V1:DE:6HY8EVH4W9XMQNRD968YF9FQCF",
                      "co": "DE",
                      "is": "Robert Koch-Institut",
                      "ma": "1363",
                      "sc": "2021-07-31T15:44:29Z",
                      "tc": "SCHNELLTESTZENTRUM im FORUM SCHWANTHALERHÖHE",
                      "tg": "840539006",
                      "tr": "260415000",
                      "tt": "LP217198-3"
                    }
                  ],
                  "dob": "2005-03-07",
                  "nam": {
                    "fn": "xxx",
                    "gn": "Tim",
                    "fnt": "XXX",
                    "gnt": "TIM"
                  },
                  "ver": "1.0.0"
                }
              ]
            ]
          }
        ]
      ]
    },
    "n7R5OMIFTMrXTykh6MdHPLKm2EGx5aMWhadGRAYeQ7XghJz7lRclob0zeITk6DnSNeShb001q4epkwtMROiAsA=="
  ]
}

Does "ver": "1.0.0" mean that they are using schema version 1.0?
I censored my last name, please still let me should I have exposed other personal data (besides of my first name and the testing site).

This is correct schema 1.0 and this is not testable with the current NL rules.
We will encourage the rat provider to use the current schema version
There are no more private information encoded.

@thomasaugsten
Thanks for the fast feedback and the confirmation. Also thanks for making sure that there are no other personal informations encoded.
Have a good night!

@Ein-Tim
Thanks for posting the logs. Now we know that the iOS logs are very different from the the Android ones.
Hopefully NL will update their rules soon so that 1.0.0 schema certificates can be used.

This is a rather weird situation that, IMHO, should be handled better. I know work is being done to fix the Dutch rules (or their interpretation) but the list of warnings being generated by the CWA is confusing, if not misleading.
When the problem is a schema version mismatch, the CWA should give exactly that as a warning, not a list of confusing errors that actually are no errors.
I opened up a duplicate in the iOS repo which I will now close. But this isn't a satisfying situation. It is unclear, according to the CWA warnings, if Incan travel tougher Netherlands or not.

@jwildeboer
I agree that it is unsatisfying and hopefully the technical issues will be solved quickly.
Is https://reopen.europa.eu/en/from-to/DEU/NLD (also with other links on that page) helpful to learn more about the conditions for travel?

Internal Tracking ID: EXPOSUREAPP-8786

Is https://reopen.europa.eu/en/from-to/DEU/NLD (also with other links on that page) helpful to learn more about the conditions for travel?

Not really. It tells me what I already know - I'm fully vaccinated so there should be no problem.
But I now know there might be a problem when my certificate is checked at entry and that problem is related to the schema version. Something I learned here on github and not from the app ;)
I will of course take my yellow booklet with me and the printed certificate I got from the pharmacy.
Early adopter problem, AFAICS. But how was I supposed to know a Schema update happened and my certificate was v1.0 and we are now at 1.3?

@MikeMcC399 Please see also:
https://covidapps.slack.com/archives/C0194ML0MLN/p1627920307008000?thread_ts=1627556597.041700&cid=C0194ML0MLN

@jwildeboer

When the problem is a schema version mismatch, the CWA should give exactly that as a warning, not a list of confusing errors that actually are no errors.

The problem here is, that it is not clear whether the schema mismatch leads to an "unacceptable" certificate or not. The solution by the eHN group is, to set such a certificate to "open" (="unclear") and to provide a complete list of all rules with their related contents of the certificate, aming that a human being will check the certificate's contents for validity.
So, this is intended behavior for all verifier apps (like CovPassCheck) to let gate keepers (e.g., border control) check rule-by-rule for validity. But also wallet apps (CWA in this case) should provide the same information to let users check whether their certificate might lead to problems at border control.
But I fully agree, that the current information and formatting is rather confusing and insufficient, and should urgently be enhanced.

@mlenkeit and @all

Is there any task force or working group, that could be able to harmonize texts provided in the description strings and also probably coordinate translation efforts?

I would suggest filing an issue in https://github.com/eu-digital-green-certificates/dcc-quality-assurance

In parallel to your recommendation I was also asking the creator of CertLogic for his suggestions. But he also took the opportunity to raise this issue in his work group and provided some information (https://github.com/ehn-dcc-development/dgc-business-rules/issues/56#issuecomment-890143683):
There is/was (still) work in progress on translating the EU template that member states may adopt for themselves.
I would conclude to maybe wait patiently for two more weeks to see, if these descriptions/translations will actually be adopted.
If not, I will create an issue in the repo you suggested.

https://github.com/ehn-dcc-development/dgc-business-rules/issues/56#issuecomment-891796329
Updated rules for NL can be expected from next week-end on! 🎉

For now (Acceptance Rules from 06.08.2021) the schema version of all previously existing NL business rules have not been set to "1.0.0" yet. If they're not adapted soon, it may take a while longer, until wallet apps won't give the "open" status.
The only change I could figure out so far, is, that for certificate type "test" 2 new rules have been added. They will take effect on 08.08.2021, and they have the schema version 1.0.0 and also translations into DE/EN/FR/ES/IT & NL.
This will give an interesting output in wallet apps, as

some rules have an English discription only, and others are translated, and
some rules have schema version 1.3.0 and two have version 1.0.0

Interesting enough to create my own test certificate (schema version 1.2.0) and to see, what will CWA make out of it. (And time runs out to test these things, as with CWA 2.7 only certificates with a valid signature may be imported.)

And CWA did well: while the test sample collection time already expired, CWA shows it as "failed" in German language (because this rule has translations). And it showed it at all as expired, because this rule has schema version 1.0.0.
For all other rules, CWA presented them as "open" in English, because they are schema version 1.3.0 and no translation is available yet.
So, while the NL rules are mixed up even more, CWA presented the status (open/failed) correctly in available languages.
Acceptance_Rules-NL-20210806.json.txt

Hi @mlenkeit ,
please have a look at https://github.com/ehn-dcc-development/dgc-business-rules/issues/56#issuecomment-897085214.
For now I'm only picking up the announced European Health Network Technical Interoperability meeting on Friday.
Probably you are one of the SAP representatives who were advised to ask TSI to put issues discussed here to their agenda?
I'm guessing, @daniel-eder may be one of the participants from TSI side?
Next to the schema issue, could this also be a good platform to discuss the introduction of localizations for the English-only rule descriptions currently in PROD?
For the other annotations made in above referenced comment, I'll need to think a bit deeper... tomorrow 😉

@vaubaehn
I tried today with a
"ver": "1.0.0"
1/2 vaccination certificate
and Netherlands and it is still throwing up the multiple errors:
GR-NL-0000 (1.0.0)
GR-NL-0001 (1.0.0)
VR-NL-0000 (1.0.0)
VR-NL-0001 (1.0.0)
VR-NL-0002 (1.0.0)
VR-NL-0005 (1.0.0)
It should only have failed the
VR-NL-0002 (1.0.0) rule (Vaccination doses must be equal or greater than expected doses)

I then tried with a
"ver": "1.3.0"
1/2 vaccination certificate
and this correctly failed only
VR-NL-0002 (1.0.0) rule (Vaccination doses must be equal or greater than expected doses)

I was a bit confused about whether the checking of vaccination certificates with schema (ver) 1.0.0 with the Business Rules for the Netherlands is supposed to work already in production on CWA, but re-reading your notes it seems that this needs to be discussed in a meeting taking place tomorrow, Friday, Aug 13, 2021. Correct?

@MikeMcC399
True, the previous Business Rules that resulted in "open status" with schema version 1.3.0 have not been changed yet. Instead, some important rules for the period of test validity have been added - with schema version 1.0.0, which causes some funny effects now.

I was a bit confused about whether the checking of vaccination certificates with schema (ver) 1.0.0 with the Business Rules for the Netherlands is supposed to work already in production on CWA, but re-reading your notes it seems that this needs to be discussed in a meeting taking place tomorrow, Friday, Aug 13, 2021. Correct?

I was understanding the comment https://github.com/ehn-dcc-development/dgc-business-rules/issues/56#issuecomment-897085214 in that way, that NL subgroup could downgrade the schema version (without discussion in their meeting), but they are not sure whether that was an adequate solution. So that subject might be picked up in that meeting.
That lead me to a bit long analysis (https://github.com/ehn-dcc-development/dgc-business-rules/issues/56#issuecomment-898033415) where I conclude that a downgrade in this case is an appropriate solution.
Let's see how the plot continues...

New information from here: https://github.com/ehn-dcc-development/dgc-business-rules/issues/56#issuecomment-898721774
Updated rules and hopefully validation with status "pass" for NL can be expected from Thursday, August 19, 2021.

After a fast check I can confirm that the new rules for NL are online.
They're coexisting with the old ones (with their expiry dates in 2030), but obviously the rule runner engine is able to pick 'the right one' for validating, so all (valid) certificates should show as 'pass' or 'fail' after August 19.
Please not that the new 'downgraded' rules will take effect on 2021-08-19T00:00:00+02:00, which is different from time zone UTC of the former rules for schema 1.3.0 (2021-xx-yyT00:00:00Z) - so, rule runner engine also handles the time zones well!
What did not happen yet for the new rules, is localization.
@mlenkeit , could you kindly push that subject to TSI so that they can take it on their agenda? The next TechIOP meeting will be on Friday. I think it's a good place to discuss this, as the technical subgroups could forward it to their responsible institutions (if necessary at all), and they are the ones who will need to implement it into their rules. That could improve UX by a lot. Thank you in advance!

You can already now confirm that this has been fixed by checking the validity of the certificate for any date in the future but today, tomorrow & the day after tomorrow. Or to make it clear: Select the 19.08.2021 as date of entry and the certificate will show the correct status.
I will still leave this open until 19.08.2021 and close it then.

could you kindly push that subject to TSI so that they can take it on their agenda? The next TechIOP meeting will be on Friday.
@vaubaehn we cannot make any promises. These meetings typically have a packed agenda and the priority of the individual topics is usually beyond our control.

hi @mlenkeit ,

we cannot make any promises. These meetings typically have a packed agenda and the priority of the individual topics is usually beyond our control.

You have my full understanding. But I guess we both (or: "we all", if I may speak for the user community) see the advantage for UX, when localizations find their way into the descriptions of business rules one day. And as it is not too easy to approach to TSI directly from our side in this regard, it is good that we have one spokesman with you in this subject, who can from time to time knock onto TSI's door...
I can imagine how huge is your work load in general, so I hope to not bother you too much with this specific issue. (If you contracted me as your junior assistant, for sure I would keep your back free from these tasks :wink: ) Anyway I will reduce my pings a bit now, so - thanks for all your replies and your support, and have a good time for now!

This has been fixed on 19.08.2021 though a server-side update.
Closing as fixed.

Thanks everybody for contributing here.

Corona-Warn-App Open Source Team

A similar problem now popped up with France...
Looking to some rules in https://github.com/eu-digital-green-certificates/dgc-business-rules-testdata, there are more other countries in the pipeline with schema 1.3.0...
Will try to open an issue for this in the dgc-business-rules-testdata issue somewhere next week.

This is already addressed. I think this will be fixed soon.

@thomasaugsten thanks for your response, great. If you don't mind I will open an issue there anyway, as this may also affect other country teams, and when they read along there by chance, it could be more easy to prevent future issues. Ok?

France is fixed

@thomasaugsten Thanks for notifying!

There are also issues with Switzerland, does anybody know a status about that?

@error401de

There are also issues with Switzerland, does anybody know a status about that?

Switzerland seems to be a different issue.
CWA reports "There are currently no entry rules for the selected country ..." see FAQ
https://www.coronawarn.app/en/faq/#cert_eu_travel and
https://www.coronawarn.app/en/faq/#dcc_no_rules


Epic: Authorization Consent

@jgrandja
Is this related to the resource owner consent in authorization code grant flow ? If so, why is this on hold. Shouln't it be available for contribution ?

@paurav-munshi Please check the project roadmap in ZenHub. Authorization consent epic is planned to be available for contribution in the upcoming week.

@anoopgarlapati I think I missed it in the road map when I was looking at it. Thanks for clarifying.

Thank you for pointing that out @anoopgarlapati.
@paurav-munshi

Is this related to the resource owner consent in authorization code grant flow ?

Yes it is. However, it's not needed at the moment to realize the full authorization_code grant flow.  My intention is to auto-approve the requested scopes for the initial iteration and then bring in the consent page afterwards.


Corrected typo error in Loader.jsx file

Describe your changes
Screenshots - If Any (Optional)
Issue ticket number and link - If Any
Checklist before requesting a review

[ ] I have performed a self-review of my code.

[ ] Followed the repository's Contributing Guidelines.

[ ] I ran the app and tested it locally to verify that it works as expected.

[ ] I have starred the repository.

Additional Information (Optional)

@AniketNS I can't seem to find the light-dark mode commit here


Update WolverineRuntime.Descriptions.cs

changes [/gray] to [/]
Fixes https://github.com/JasperFx/wolverine/issues/342
Untested, not sure how to test it, any guidance would be amazing!

Honestly? This is the very rare occasion where I'm perfectly good with just pulling it in. I don't think this is anything that'd be likely to be broken later.
And thank you!


Time to write it in rust

:)

That is a good suggestion. However the code base is horrendous. Moreover the actual knowledge gained from the rewrite is minimal. Perhaps a non-toy version would be a better alternative, compared to a simple rewrite.


Uniform Standards Request: Experimental Repository

Hello!
We believe this repository is Experimental and therefore needs the following files updated:

[x] The Experimental badge
[x] The Experimental Statement in the README.md
[x] Getting Started Tutorial
[x] README.md
[x] LICENSE
[x] CI/CD
[x] OWNERS.md
[x] Developer Certificate of Origin
[x] At least one maintainer

If you feel the repository should be maintained or end of life or that you'll need assistance to create these files, please let us know by filing an issue with https://github.com/packethost/standards.
Packet maintains a number of public repositories that help customers to run various workloads on Packet. These repositories are in various states of completeness and quality, and being public, developers often find them and start using them. This creates problems:

Developers using low-quality repositories may infer that Packet generally provides a low quality experience.
Many of our repositories are put online with no formal communication with, or training for, customer success. This leads to a below average support experience when things do go wrong.
We spend a huge amount of time supporting users through various channels when with better upfront planning, documentation and testing much of this support work could be eliminated.

To that end, we propose three tiers of repositories: Private, Experimental, and Maintained.
As a resource and example of a maintained repository, we've created https://github.com/packethost/standards. This is also where you can file any requests for assistance or modification of scope.
The Goal
Our repositories should be the example from which adjacent, competing, projects look for inspiration.
Each repository should not look entirely different from other repositories in the ecosystem, having a different layout, a different testing model, or a different logging model, for example, without reason or recommendation from the subject matter experts from the community.
We should share our improvements with each ecosystem while seeking and respecting the feedback of these communities.
Whether or not strict guidelines have been provided for the project type, our repositories should ensure that the same components are offered across the board. How these components are provided may vary, based on the conventions of the project type. GitHub provides general guidance on this which they have integrated into their user experience.

Done!


csbeta_6.0_to_6.1.zip is missing from archive.org

I'm not sure if it was deleted or simply hasn't been uploaded, but this patch is missing from your archive.org uploads.

Thanks for noticing! Sometimes the archive.org uploader just doesn't grab everything - I'm not sure what that's about. It happened on Frag-Net's Action Quake 2 page as well. It should be fixed now!


Moving all cadmiumcr/rfcs issues to cadmiumcr/cadmium (ie here)

As all cadmium shards have their own repo, there is no point for users to open issues here, unless it's for new proposals which are not covered by existing shards, which cadmiumcr/rfcs is about.
IMO, it would be more obvious to move all rfcs/proposals here and close cadmium/rfcs.
We should also move your templates (very useful) here.
@watzon : WDYT ?

I agree actually, let's do that

You rock man, thanks for acting so fast :fist_oncoming:

No problem. Thanks for all the work you've been doing here. I'm gonna start getting back into this project soon. Maybe try and figure out how to consolidate the docs.

They've been transferred. I'll close cadmium/rfcs

No problem. Thanks for all the work you've been doing here. I'm gonna start getting back into this project soon. Maybe try and figure out how to consolidate the docs.

Good luck with the docs, I tried to make crystal spec work on the gathered shards for a few hours and faced so many issues/conflicts... And finally gave up :-/

They've been transferred. I'll close cadmium/rfcs

Thanks for that. Actually rfcs is still opened, I can't close it, I don't have the rights on it.