Memory initialization errors

I get errors when running the cuda-memcheck tool checking for correct memory initialization.
For example; I have successfully build and run the examples, but when I run
cuda-memcheck --tool initcheck ./Linear_Regression_Example

I get 10000 errors (one for each fit) complaining about an "uninitialized global memory read of size 4", coming from line 1205 of Gpufit/Gpufit/cuda_kernels.cu
It appears that the contents of the array n_iterations[fit_index] has not been initialized prior to being read by that line of code. I am not sufficiently familiar with the code to know where best to initialize this array (? perhaps GPUData::init, but this is called for each chunk of fits?), maybe prior to the while loop in LMFit::run()?? , or perhaps in the Device_Array constructor in gpu_data.cuh ??, or somewhere else?
Details are
OS: Ubuntu 18.04
GCC: 7.4.0
cmake: 3.14.3
Boost: 1.65.1
CUDA: 10.1.105-1
Nvidia Driver: 418.56
GPU: GTX1080ti
Gpufit: 0ec0658... May 24 16:02:38 2019 +0200
I modified line 98 of /Gpufit/Gpufit/CMakeLists.txt to the following (pass additional debugging flags to the compiler);
    list( APPEND CUDA_NVCC_FLAGS --std=c++11;--ptxas-options=-v;-g;-G;-lineinfo;)

I used the following commands to build;
mkdir Gpufit-build
cd Gpufit-build
cmake -DCMAKE_BUILD_TYPE=DEBUG ../Gpufit
make

I can successfully run the examples eg.
./Linear_Regression_Example

I then run the memory initialization test with  eg;
cuda-memcheck --tool initcheck ./Linear_Regression_Example

and get the errors.

Thank you for finding and reporting this error so explicitly.  The array n_iterations_ is used without being initialized. This is fixed in a17f2a7da2ec0056fcb9bdfdcb18ad506f9217ab by initializing the array in GPUData::init. It is true that this function is called for every chunk of fits. The size of n_iterations_ is equal the number of fits per chunk and needs to be reinitialized for every chunk.


False-positive Unreachable case warning for mix-in type test

Compiler version
3.5.2
https://scastie.scala-lang.org/7iPISGKwTfOBxOKWIRIiaw
Minimized code

trait Figure

sealed trait Corners {
  self: Figure =>
}

enum Shape extends Figure:
  case Triange extends Shape with Corners
  case Square extends Shape with Corners
  case Circle extends Shape
  case Ellipsis extends Shape

def hasCorners(s: Shape): Boolean = s match
  case hasCorners: Corners => true //  <--- reported as `Unreachable case`
  case _ => false

println(hasCorners(Shape.Circle))

Output

warning: Unreachable case

true

Expectation
true

Last good stable version: 3.3.4
First bad stable version: 3.4.0
It seems bisect is failing a lot, the cause could be in any of the following commits:
1b2a16ee043140826f697f2e10c8da7e7cb6df39
f432d08f98c43e6a1607e48d13212a704e7587fd
2dd9f45b5a5ecce2e3ee60400089f8aa286b751c
ec097a948b5a10a0d1d150503cef4d26a8ab527a
cc @sjrd


Cargo needs a forklift

It should be able to collide with a crate / canister to pick it up and drive at fullspeed with it.

This is basically what the Ripley is for, right? I've never seen it used for its intended purpose, even now that you can build one at round start.

Ripley just needs more mech modules which will come with other mechs.

The Ripley kit provided on the salvager shuttle does not include clamps, I usually attempt to build rapport with Science to ask for clamps whenever I'm Salvager or Cargo Tech (most rounds), but don't recall ever actually receiving them.


cannot play video

Hi, after some lessons downloaded,I tried to play in vlc , but it looks like it cannot play the video, the vlc will get error. or do I need to wait to download all the 600 lessons so that I can play the video ?
Thank you in advance

@iamfreee ,
The video being download is cannot be played in VLC, cannot recognize input format.

Hi, maybe because the website was updated.
I cannot test right now, i'm on vacation sorry.

@ezekel, can u see the size of the downloaded files? Can you open de file downloaded with notepad and see if it is html?
Can you upload it so i can debug it?
Thanks

@ezekel Did you entered a valid laracasts account?

@iamfreee , oh I don't have laracasts account. so I need to register first ?

Laracasts account is not free, you have to pay.
Closing this issue.


Not Detecting Downlight

I have successfully set up an RGB downlight inside "TuyaSmart" app.
Homebridge log doesn't seem to be showing any activity of finding the light. I have enabled debug logging and the only output from this plugin is [TuyaLan] Starting discovery... [TuyaAccessory] Discovery started. which is on initial Homebridge startup, no updates since.
Downlight: https://www.kmart.com.au/product/mirabella-genio-9w-led-wi-fi-dimmable-downlight/2754330
I also grabbed the schema if that helps
Found 1 device:
[
	{
		name: 'Downlight',
		id: 'xxxxxxxxxxxxxxxxxxxx',
		key: 'xxxxxxxxxxxxxxxx',
		def:	{
			schema: '[{"mode":"rw","code":"switch_led","name":"\\u5f00\\u5173","property":{"type":"bool"},"iconname":"icon-dp_power2","id":20,"type":"obj","desc":""},{"mode":"rw","code":"work_mode","name":"\\u6a21\\u5f0f","property":{"range":["white","colour","scene","music"],"type":"enum"},"iconname":"icon-dp_list","id":21,"type":"obj","desc":""},{"mode":"rw","code":"bright_value","name":"\\u4eae\\u5ea6\\u503c","property":{"unit":"","min":10,"max":1000,"scale":0,"step":1,"type":"value"},"iconname":"icon-dp_sun","id":22,"type":"obj","desc":""},{"mode":"rw","code":"temp_value","name":"\\u51b7\\u6696\\u503c","property":{"unit":"","min":0,"max":1000,"scale":0,"step":1,"type":"value"},"iconname":"icon-dp_half","id":23,"type":"obj","desc":""},{"mode":"rw","code":"colour_data","name":"\\u5f69\\u5149","property":{"type":"string","maxlen":255},"iconname":"icon-dp_light","id":24,"type":"obj","desc":""},{"mode":"rw","code":"scene_data","name":"\\u573a\\u666f","property":{"type":"string","maxlen":255},"iconname":"icon-dp_box2","id":25,"type":"obj","desc":""},{"mode":"rw","code":"countdown","name":"\\u5012\\u8ba1\\u65f6\\u5269\\u4f59\\u65f6\\u95f4","property":{"unit":"","min":0,"max":86400,"scale":0,"step":1,"type":"value"},"iconname":"icon-timer1","id":26,"type":"obj","desc":""},{"mode":"wr","code":"control_data","name":"\\u8c03\\u8282","property":{"type":"string","maxlen":255},"iconname":"icon-setting","id":28,"type":"obj","desc":""}]',
			extras: '[{"id":22,"inputStyle":"","inputType":"percent"},{"id":23,"inputStyle":"","inputType":"percent"},{"id":26,"inputStyle":"","inputType":""}]',
		}
	}
]

I managed to get the signature too:
[TuyaLan] Ready to handle Downlight (SimpleLight:3.3) with signature {"20":false,"21":"white","22":10,"23":446,"24":"012303e8000a","25":"000e0d00002e03e802cc00000000","26":0}

I'm working on a very similar light at the moment, the non-RGB version of that same Mirabella Genio downlight. I have it communicating but not updating on the latest RC,  v1.5.0-rc.12 as per this issue.
The downlight is from here: https://www.kmart.com.au/product/mirabella-genio-wi-fi-dimmable-9w-led-downlight/2754331
Signature: Ready to handle Downlight (SimpleLight:3.3) with signature {"20":true,"21":"white","22":1000,"23":193,"25":"000e0d00002e03e8000000c80000","26":0}
Schema:
[
  {
    name: 'Genio CCT Downlight 2',
    id: '80304313dc4f229a2367',
    key: '1a1e5510ca545f4c',
    def: {
      schema: '[
      		{"mode":"rw","code":"switch_led","name":"\\u5f00\\u5173","property":{"type":"bool"},"iconname":"icon-dp_power2","id":20,"type":"obj","desc":""},
      		{"mode":"rw","code":"work_mode","name":"\\u6a21\\u5f0f","property":{"range":["white","colour","scene","music"],"type":"enum"},"iconname":"icon-dp_list","id":21,"type":"obj","desc":""},
      		{"mode":"rw","code":"bright_value","name":"\\u4eae\\u5ea6\\u503c","property":{"unit":"","min":10,"max":1000,"scale":0,"step":1,"type":"value"},"iconname":"icon-dp_sun","id":22,"type":"obj","desc":""},
      		{"mode":"rw","code":"temp_value","name":"\\u51b7\\u6696\\u503c","property":{"unit":"","min":0,"max":1000,"scale":0,"step":1,"type":"value"},"iconname":"icon-dp_half","id":23,"type":"obj","desc":""},
      		{"mode":"rw","code":"scene_data","name":"\\u573a\\u666f","property":{"type":"string","maxlen":255},"iconname":"icon-dp_box2","id":25,"type":"obj","desc":""},
      		{"mode":"rw","code":"countdown","name":"\\u5012\\u8ba1\\u65f6\\u5269\\u4f59\\u65f6\\u95f4","property":{"unit":"","min":0,"max":86400,"scale":0,"step":1,"type":"value"},"iconname":"icon-timer1","id":26,"type":"obj","desc":""},
      		{"mode":"wr","code":"control_data","name":"\\u8c03\\u8282","property":{"type":"string","maxlen":255},"iconname":"icon-setting","id":28,"type":"obj","desc":""}
      	]',
    },
  },
]```

Off to try to figure out how to update this myself!

Now have this working, without any changed needed to homebridge-tuya-lan. All I needed to do was to modify my homebridge config.json with the following information, as per this issue. Discoverability was an issue, so I have manually pointed to the IP address.
"platform": "TuyaLan",
            "devices": [
                {
                    "name": "Kitchen Downlight",
                    "type": "TWLight",
                    "manufacturer": "Mirabella",
                    "model": "Genio Downlight CW",
                    "id": "xxxxxxxxxxxxxxx",
                    "key": "xxxxxxxxxx",
                    "ip": "<IP_ADDRESS>",
                    "dpPower": 20,
                    "dpBrightness": 22,
                    "dpColorTemperature": 23,
                    "minWhiteColor": 0,
                    "maxWhiteColor": 1000,
                    "scaleBrightness": 1000,
                    "scaleWhiteColor": 1000
                }
            ]

@IchabodFletchman – this additional config may work for your device as well?

@crmunro
That is great that you have gotten it to work and appreciate the info.
I haven't been so fortunate. I tried to configure mine with the same details (TWLight, Power, Brightness, etc) and my static IP address for the light.
I wasn't successful with that, so I tried adding it as a 'RGBTWLight' with the details from the user in your above link:
{
  "name": "RGB Downlight",
  "type": "RGBTWLight",
  "manufacturer": "Mirabella",
  "model": "Genio 9W LED Wi-Fi Dimmable Downlight",
  "id": "xxxxxxxxxxxxxxx",
  "key": "xxxxxxxxxxxxx",
  "ip": "<IP_ADDRESS>",
  "dpPower": "20",
  "dpMode": "21",
  "dpBrightness": "22",
  "dpColorTemperature": "23",
  "dpColor": "24",
  "maxWhiteColor": "221",
  "colorFunction": "HSB",
  "minBrightness": 10,
  "scaleBrightness": 1000,
  "scaleWhiteColor": 1000
},

The light shows inside HomeKit, but the power toggle doesn't work at all, and there aren't any brightness and RGB options.
The only log I'm getting from HomeBridge (with both light types) is:
[10/19/2019, 11:47:02 PM] [TuyaLan] Discovered RGB Downlight (45527580c44f339880da) identified as RGBTWLight (3.3)
[TuyaAccessory] Changing ping gap for RGB Downlight to 9s
[10/19/2019, 11:47:02 PM] [TuyaLan] Connected to RGB Downlight
[TuyaAccessory] Sending first query to RGB Downlight (3.3)
[TuyaAccessory] Odd message from RGB Downlight with command 10: ˢ�[���J�P�}�i�C���<WG��m]��ڕ�3
[TuyaAccessory] Raw message from RGB Downlight (3.3) with command 10: 000055aa000000000000000a0000002c00000001cba2aa5bf5a5894adc50a57dfb69fc43bbfcec3c5747c9cd6d5dafa4da959f338ebc27c20000aa55

And I'm not getting any logs when tapping the on/off state in Homekit, not sure if it's supposed to since I don't have any other Tuya devices to use.
Does the brightness/dimming work with your downlight?
If your light works 100%, I might pickup a couple of whites only, I only bought the RGB ones because they were only $4 more, I believe I would rarely use the RGB function in a downlight anyway.

@IchabodFletchman it appears as if your key might not be correct which can be due to a number of reasons, so what I would suggest is that you acquire the key again and make sure that the key you are using is correct. Setup Instructions
Sent with GitHawk

@TheHomekitWayFinder - Thanks heaps for that! I'm not sure why my key changed, I must have done something to reset the key at some stage during my troubleshooting, didn't think to check that myself.
I'm happy to report that this Downlight is fully operational. RGB/White/Dimming.
 I might pick up some other stuff and see if I can get them running in HomeKit!

@TheHomekitWayFinder - Thanks heaps for that! I'm not sure why my key changed, I must have done something to reset the key at some stage during my troubleshooting, didn't think to check that myself. ...

@IchabodFletchman no problems. Yeah I know about the mirabella devices however I’m not sure whether the sensors will work as from what I have determined the sensors only communicate when the door or window is open or closed and therefore homebridge doesn’t discover the device as I picked up one the other week and I haven’t managed to get it working. I also have a Kogan AC Unit and that works well. All of the Kogan stuff along with the mirrabella stuff and Grid connect stuff (available are Bunnings) all use Tuya and work really well in HomeKit. If you want sensors I recommend buying HomeKit certified sensors at the moment such as Eve sensors or if you don’t wanna spend $70+ on a sensor then you can always pick up a Aqara Hub and their sensors which apparently work well with HomeKit, I have just ordered one to try for motion, temperature, door window sensors but it also supports plugs and many other devices but because it comes from China you have to pay exchange rates so when you get the hub for about $39 US on special then it works out about $75 AU. But then the sensors are like $15 each on special and they’re constantly on special
Sent with GitHawk

Funny enough, I ordered an Aqara hub with a few button switches and temperature sensor and vibration sensor last week. I bought them through eBay from Victoria.
They should arrive during the week... hopefully


Documentation updates

Needed to make sure this stuff was all up to date since some of these
had slipped through the cracks.

:+1:


Example calculating duration of condition and 10 minute aggregates

It would be nice to see a trill example showing how to one would calculate the duration of a condition and use that for deciding which values should be returned.
Lets say we need to check a stream containing temperature values and if they are above a specified threshold (i.e 70 degrees) for more than 20 minutes, then output a "TEMPERATURE LIMIT EXCEEDED" error value. Once the condition is no longer satisfied, we output a "TEMPERATURE NORMAL" value.
Another great example would be to show a basic 10 minute aggregation calculation that takes values arriving at a few seconds apart(times may vary) and aggregate (SUM or AVERAGE) a single 10 minute value that is outputed every 10 minutes and aligned with the clock. I.e 12:00, 12:10, 12:20 etc..

I'm looking into this from the thread on the main Trill repo, but it's a great idea to add it here. As soon as I have something for you, I'll make sure it gets added as a sample.


[GUI]The forward and backward mouse buttons don't work

With the latest version, the forward and backward mouse buttons don't work anymore, they worked fine before, but now they only work by clicking on the buttons above the jadx!

env
win 11
openjdk version "<IP_ADDRESS>" 2022-02-08 LTS

@xmhwws previous hard-coded configuration was causing issues for some users (#1718, #1960).
In the latest version, a shortcuts customization feature was added, so now you can go to Preferences->Shortcuts->Menu/Toolbar and set mouse buttons for Back (variant) and Forward (variant) ('variant' here mean it is a second keys set to trigger action, first keys set assigned to keyboard buttons by default).

Set it up inside the menu and it now works properly with the forward and backward mouse buttons.
Thanks.


Implement PersistState for random scheme

Context
To load/save random AD scheme wallets to the sqlite database, the class members of PersistState must be implemented.
Decision

Acceptance Criteria

The DBLayer can be instantiated with RndState.
Loading and saving wallets works for random AD scheme wallets.

Development Plan

[x] implement instance PersistState DBLayer
[x] Arbitrary instance for RndState
[x] Make DBLayer property tests polymorphic so that the instance is tested

PR

Number
Base

#622
master

#654
master

QA

Existing tests should be changed so that RndState is tested as well as SeqState. See SqliteSpec.hs.

lgtm.


KEY_BRACKETLEFT and KEY_BRACELEFT are mixed up on Windows

Godot version
3.3.4 and 3.4
System information
Windows 10, US QWERTY keyboard
Issue description
The [ key on a US QWERTY keyboard reports as KEY_BRACELEFT instead of KEY_BRACKETLEFT from InputEventKey.scancode.  The same is true for the new physical_scancode prop as well.  This mixup also applies to the right bracket ] (KEY_BRACKETRIGHT/KEY_BRACERIGHT).
This is on Windows for a Windows build (plus running from in editor, of course).  And, yet, on an HTML5 build, [ reports correctly as KEY_BRACKETLEFT in a browser.  (Except when hitting Shift+[ in a browser which reports as KEY_BRACELEFT -- which is, uh, maybe a browser quirk?  Ignore that for now perhaps.)
Steps to reproduce
Here's a code fragment:
func _input(event):
	var code : int
	if event is InputEventKey and not event.echo:
		code = event.scancode
		#code = event.physical_scancode
	else:
		return
	match code:
		#KEY_BRACKETLEFT: # [  (BUG: does not work on windows, shift+[ does not work in browser)
		KEY_BRACELEFT: # {  (BUG: [ on win, shift+[ on browser)
			print(code)

Minimal reproduction project
No response

Indeed, the key mapping seems off, this would probably fix it:
diff --git a/platform/windows/key_mapping_windows.cpp b/platform/windows/key_mapping_windows.cpp
index d84e156ab6..a520cbd8dc 100644
--- a/platform/windows/key_mapping_windows.cpp
+++ b/platform/windows/key_mapping_windows.cpp
@@ -217,9 +217,9 @@ static _WinTranslatePair _vk_to_keycode[] = {
        { KEY_SLASH, VK_OEM_2 }, // (0xBF) //Windows 2000/XP: For the US standard keyboard, the '/?' key

        { KEY_QUOTELEFT, VK_OEM_3 }, // (0xC0)
-       { KEY_BRACELEFT, VK_OEM_4 }, // (0xDB)
+       { KEY_BRACKETLEFT, VK_OEM_4 }, // (0xDB)
        { KEY_BACKSLASH, VK_OEM_5 }, // (0xDC)
-       { KEY_BRACERIGHT, VK_OEM_6 }, // (0xDD)
+       { KEY_BRACKETRIGHT, VK_OEM_6 }, // (0xDD)
        { KEY_APOSTROPHE, VK_OEM_7 }, // (0xDE)
        /*
 {VK_OEM_8 (0xDF)

The whole list might be worth reviewing and checking against https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes, it's fairly old code and might have other yet unnoticed bugs or missing bits. CC @godotengine/windows @bruvzg


Query String parameters should be URL encoded

After discussion, it sounds like we've settled on leaving the path alone (save for replacing / and : with -) and having the keys and values in the query string be URL-encoded.

What was the issue with : again?

: was the path component separator used in Mac OS before OS X, so some applications (potentially including Finder) really don't like it when file names contain :.

Resolved by #17.


Pass cluster_name_label on to Spilo containers

Pass cluster_name_label configuration on to Spilo containers as environment variable KUBERNETES_SCOPE_LABEL.
Partial fix for #436.

Coverage remained the same at 23.766% when pulling b3fc775803c2180549b4d0ce62f65c7b688bacbd on aknuds1:bugfix/pass-cluster-name-label-to-spilo into 5cfcc453a90e2a8d12b9a916d62aecbd6f867708 on zalando-incubator:master.

Thanks helping out, we will have a look.

@erthalion Thanks, I'll implement your suggestions.

@aknuds1 yeah, looks good. I'll test it a bit today and merge afterwards. Thanks again for the contribution!

Thanks @erthalion! I still have the problem though that the pods aren't able to start Postgres, do you have any idea how to fix this?
2019-01-04 09:11:53,227 INFO: no action.  i am a secondary and i am following a leader
2019-01-04 09:11:59,593 ERROR: get_postgresql_status
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/patroni/api.py", line 488, in query
    cursor.execute(sql, params)
psycopg2.OperationalError: server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/patroni/api.py", line 437, in get_postgresql_status
    self.server.patroni.postgresql.lsn_name), retry=retry)[0]
  File "/usr/local/lib/python3.6/dist-packages/patroni/api.py", line 412, in query
    return self.server.query(sql, *params)
  File "/usr/local/lib/python3.6/dist-packages/patroni/api.py", line 493, in query
    raise PostgresConnectionException('connection problems')
patroni.exceptions.PostgresConnectionException: 'connection problems'


Provide example for variants configuration with Kotlin DSL

Hi DataDog Team,
I'm struggling with setting up a configuration per variant in a Kotlin Script Gradle file. Can you provide an example how it should look like?
datadog {
    site = "US" // Variants with no configurations will use this as default
    variants {
        fr {
            site = "EU"
            mappingFilePath = "path/to/fr/mapping.txt"
        }
    }
}

Hello @thomasflad! Thanks for reporting this issue, indeed variants property configuration is not compatible with Kotlin DSL.
When using Groovy, it is capable to doing some conversions thanks to the meta-programming capabilites.
Kotlin DSL on another hand is statically typed, so some things should be more explicit. For the moment, the example you posted will look like following in Kotlin DSL:
datadog {
    site = "US"
    withGroovyBuilder {
        "variants" {
            "create"("fr") {
                setProperty("site", "EU")
                setProperty("mappingFilePath", "path/to/fr/mapping.txt")
            }
        }
    }
}

Here I used withGroovyBuilder which may not look nice, but at least does the job. Alternatively you can write configuration in Groovy and apply it using dynamic-groovy-plugin.
In the meantime we will do the necessary changes to be compatible with Kotlin DSL for variants property and will try to ship the fix soon.


Adds Haskell Bindings

context - work in progress, do not merge (yet?) - mostly a shared playground.
cc @hrantzsch @reactormonk @sjsyrek @aische

sweephs-exe: /home/travis/build/scanse/sweep-sdk/libsweep/src/dummy.cc:70: sweep_device_s sweep_device_construct_simple(const char *, sweep_error_s *): Assertion `error' failed.


Lack of Terms and Conditions & Privacy policy agreement for Ledger

There's no terms and Conditions & Privacy policy agreement for Ledger profile creation flow

Fixed.


Micro dead?

no commits since almost a week. Whats going on?

Unfortunately, I have had absolutely no time for side projects this past week, but micro is in no way a dead project. I plan on doing a large refactor and rewrite of the code, and the project has been on my mind, even though I have no time to actually write code.

Thanks, Zachary!


Fix grabbing bug on objects with joints

Any object with a joint will report itself as "Position Locked"; made for some weird behavior when testing with hinged interaction behaviours/objects.
This adds an extra check to ensure that the object that joint is connecting to is kinematic.

Looks good!


Data is submitted with an old pickle protocol

When cfut calls cloudpickle.dumps, the second argument is set to either True or False. I'm not sure what the intent was, but cloudpickle (v1.2.1 at least) interprets it as the pickle version to use so cfut will use either v1 (if the argument is True) or v0 (if it's False).
Given that both v0 and v1 are ancient and produce much larger binaries, I suggest cfut should default to protocol=None (which cloudpickle will assume to mean the pickle.DEFAULT_PROTOCOL (which is v4 since python 3.4).
Places where this happens currently
cfut.ClusterExecutor#submit
cfut.remote.worker (2 places)

Yep, sounds good to me! Please open a PR if you have a chance.


Use ActionDispatch::Request#remote_ip

This is preferred over Request#ip as the latter may resolve to proxy IP

closing this, @DavidRawk-Blake, thanks though - maintainers upstream are not going to merge this.


Slimmed down CI runners and published artifact urls

Description

Publish artifact urls in job summaries fixes #1105
Remove redundant apt installs for packages that exist in the conda env fixes #1106
Checks now performs a build first. This allows pylint to accurately warn for undefined members. fixes #956
Custom pylint checker to validate correct importing of morpheus._lib fixes #727

Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.

/merge


Update one-sided-test.md

🚀 Deployed on https://6761d6e4f655b930931b4cab--cozy-fox-0defec.netlify.app


Add --trimpath to go tests

This is a follow-up from #2. The tests should have caught this issue, so I've updated the tests to catch this next time.

Closing since this is stale at this point.


split repository into workspace of three crates

the only gnarly thing currently is error management, because errors are passed both ways between logical and physical and it is not ultimately clear to me, what belongs where.


HDDS-8175. getFileChecksum() throws exception in debug mode.

What changes were proposed in this pull request?
The blockChecksumForDebug would throw exception due to some of the checksum data is not a single CRC, it would be better to use toMultiCrcString() to avoid exception for debug information.
What is the link to the Apache JIRA
Please check HDDS-8175 for more details, thanks.
How was this patch tested?

follow the Command Line Interface
create key README.md into  /vol1/bucket1/

ozone sh key put /vol1/bucket1/README.md README.md

then verify the exception didn't throw in DEBUG mode after checksum command.

ozone sh key checksum /vol1/bucket1/README.md

Also, the two implementations of populateBlockChecksumBuf look identical. Can we move it up to BaseFileChecksumHelper? (Please leave this as last step, just in case I'm missing some detail in these classes.)

Ah good catch we missed it in #7264


Typo "Getting Started)"

Button label has a stray close paren:
is "Getting Started)"
should be "Getting started"

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

ID: 53dd65b1-6f9d-9431-5850-9cee636aeabd
Version Independent ID: 0012e819-bb2b-2955-d87b-d6f145fb6af7
Content: Overview - Azure App Service
Content Source: articles/app-service/overview.md
Service: app-service
GitHub Login: @msangapu-msft
Microsoft Alias: msangapu

Hi @marktap thanks for the feedback! I have submitted a PR to fix the typo. The change should go-live in the public docs shortly.


docker install script fails on a grid full vm

root@VM376afe27:/code/threefoldtech/builders/scripts/installers# ./docker.sh
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package docker-engine
++ sudo apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists... Done
++ sudo apt-get install ca-certificates curl gnupg lsb-release -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
lsb-release is already the newest version (11.1.0ubuntu4).
lsb-release set to manually installed.
ca-certificates is already the newest version (20211016ubuntu<IP_ADDRESS>).
ca-certificates set to manually installed.
curl is already the newest version (7.81.0-1ubuntu1.7).
curl set to manually installed.
gnupg is already the newest version (2.2.27-3ubuntu2.1).
gnupg set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
++ mkdir -p /etc/apt/keyrings
++ curl -fsSL https://download.docker.com/linux/ubuntu/gpg
++ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
++ sudo tee /etc/apt/sources.list.d/docker.list
+++ dpkg --print-architecture
+++ lsb_release -cs
++ echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu   jammy stable'
++ chmod a+r /etc/apt/keyrings/docker.gpg
++ apt-get update
Get:1 https://download.docker.com/linux/ubuntu jammy InRelease [48.9 kB]
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:3 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [12.7 kB]
Hit:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Get:5 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Hit:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Fetched 172 kB in 1s (127 kB/s)
Reading package lists... Done
++ apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  bridge-utils dns-root-data dnsmasq-base ubuntu-fan
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  docker-buildx-plugin docker-ce-rootless-extras docker-scan-plugin libltdl7 libslirp0 slirp4netns
Suggested packages:
  aufs-tools cgroupfs-mount | cgroup-lite
The following packages will be REMOVED:
  containerd docker.io runc
The following NEW packages will be installed:
  containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-scan-plugin libltdl7 libslirp0 slirp4netns
0 upgraded, 10 newly installed, 3 to remove and 19 not upgraded.
Need to get 111 MB of archives.
After this operation, 111 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libltdl7 amd64 2.4.6-15build2 [39.6 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libslirp0 amd64 4.6.1-1build1 [61.5 kB]
Get:3 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.6.16-1 [27.7 MB]
Get:4 http://archive.ubuntu.com/ubuntu jammy/universe amd64 slirp4netns amd64 1.0.1-2 [28.2 kB]
Get:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.10.2-1~ubuntu.22.04~jammy [25.9 MB]
Get:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:23.0.0-1~ubuntu.22.04~jammy [13.2 MB]
Get:7 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:23.0.0-1~ubuntu.22.04~jammy [22.0 MB]
Get:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:23.0.0-1~ubuntu.22.04~jammy [8,759 kB]
Get:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.15.1-1~ubuntu.22.04~jammy [9,570 kB]
Get:10 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-scan-plugin amd64 0.23.0~ubuntu-jammy [3,623 kB]
Fetched 111 MB in 3s (36.2 MB/s)
(Reading database ... 79412 files and directories currently installed.)
Removing docker.io (20.10.12-0ubuntu4) ...
'/usr/share/docker.io/contrib/nuke-graph-directory.sh' -> '/var/lib/docker/nuke-graph-directory.sh'
Warning: Stopping docker.service, but it can still be activated by:
  docker.socket
Removing containerd (1.5.9-0ubuntu3.1) ...
Removing runc (1.1.0-0ubuntu1.1) ...
Selecting previously unselected package containerd.io.
(Reading database ... 79150 files and directories currently installed.)
Preparing to unpack .../0-containerd.io_1.6.16-1_amd64.deb ...
Unpacking containerd.io (1.6.16-1) ...
Selecting previously unselected package docker-buildx-plugin.
Preparing to unpack .../1-docker-buildx-plugin_0.10.2-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-buildx-plugin (0.10.2-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-ce-cli.
Preparing to unpack .../2-docker-ce-cli_5%3a23.0.0-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce-cli (5:23.0.0-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-ce.
Preparing to unpack .../3-docker-ce_5%3a23.0.0-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce (5:23.0.0-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-ce-rootless-extras.
Preparing to unpack .../4-docker-ce-rootless-extras_5%3a23.0.0-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce-rootless-extras (5:23.0.0-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-compose-plugin.
Preparing to unpack .../5-docker-compose-plugin_2.15.1-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-compose-plugin (2.15.1-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-scan-plugin.
Preparing to unpack .../6-docker-scan-plugin_0.23.0~ubuntu-jammy_amd64.deb ...
Unpacking docker-scan-plugin (0.23.0~ubuntu-jammy) ...
Selecting previously unselected package libltdl7:amd64.
Preparing to unpack .../7-libltdl7_2.4.6-15build2_amd64.deb ...
Unpacking libltdl7:amd64 (2.4.6-15build2) ...
Selecting previously unselected package libslirp0:amd64.
Preparing to unpack .../8-libslirp0_4.6.1-1build1_amd64.deb ...
Unpacking libslirp0:amd64 (4.6.1-1build1) ...
Selecting previously unselected package slirp4netns.
Preparing to unpack .../9-slirp4netns_1.0.1-2_amd64.deb ...
Unpacking slirp4netns (1.0.1-2) ...
Setting up docker-scan-plugin (0.23.0~ubuntu-jammy) ...
Setting up docker-buildx-plugin (0.10.2-1~ubuntu.22.04~jammy) ...
Setting up containerd.io (1.6.16-1) ...
Setting up docker-compose-plugin (2.15.1-1~ubuntu.22.04~jammy) ...
Setting up libltdl7:amd64 (2.4.6-15build2) ...
Setting up docker-ce-cli (5:23.0.0-1~ubuntu.22.04~jammy) ...
Setting up libslirp0:amd64 (4.6.1-1build1) ...
Setting up docker-ce-rootless-extras (5:23.0.0-1~ubuntu.22.04~jammy) ...
Setting up slirp4netns (1.0.1-2) ...
Setting up docker-ce (5:23.0.0-1~ubuntu.22.04~jammy) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Fri 2023-02-03 11:02:55 UTC; 17ms ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
    Process: 906632 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
   Main PID: 906632 (code=exited, status=1/FAILURE)
        CPU: 215ms
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
Errors were encountered while processing:
 docker-ce
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

manually executing apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y again gave no errors and everything seems to work


FactoryComponent + TypedGridView + GridPosition

Hello, I need to combine FactoryComponent + TypedGridView + GridPosition for my project, because I want to add MultiSelection for my Grid.
I tried to combine it, but it always doesn't work. Is it possible to use it together, or You can advise me another solutions?
Thank you.


[CU-338n06m] versioning working

N versions working
https://user-images.githubusercontent.com/56770560/194683152-57ef89f6-00b9-49e2-ac85-30431e0d6cc2.mp4

@lucasazuma when you finish a conversation, click on 'resolve conversation' to make it easier to see the PR


[Suggestion] Wheelchair model adjustment + metal wheelchair

I am wondering if it would be possible to adjust the Wheelchair model so that it has four wheels rather then balancing on two.
I am also wondering if a metal version could be made, which would be more suitable for modern based stuff, possible with a dyeable frame.
Guess a metal frame idea could also apply to other mobility aids too.

Yes, Blockbench will suffice for making any model you might desire for the wheelchairs, but the smaller wheels won't turn as that requires quite a heady bit of calculating and management to get working even for the walkers. However, at the likely scale of those wheels, it should hardly be noticeable.

I'm afraid I don't know too much about modifying entities via resourcepacks, I hear another mod is needed to make resourcepacks able to show modified entity models? Would this be true for the wheelchairs too?

Absolutely not, the wheelchair models were specifically made with "fake" block models and item models so that they can be altered without the need of a third-party mod. The only part of them that can't be changed with a resource pack is the positioning and rotation of the wheels (though the wheels themselves can be changed as they are simply item models).

Yup, adding some legs was easy, I just need to figure out how to get the wheels in now

That should just be a matter of tweaking the texture path, I expect there's a fair few tutorials on making resource packs that cover it. It can be a bit of a learning curve though, no doubt.

got the path stuff working out

Ah congratulations!

Would it be okay to upload the resource pack to modrinth? I have two versions planned
One that just adds the wheels to the wooden wheelchairs, and one that retextures the mobility aids to be in various colors.

By all means! I very much welcome community support for this project.

How are the wheelchair textures in the mod's entity textures used? It appears they are pulling from the game's textures and not using those?


Restructure primelauncher cmake logic

moves the primelauncher cmake logic into its subdirectory allowing everything related to it to be self contained
specify that primelauncher shall use the Gui Subsystem. This will Not start a console by default and remove that "Console already exists?" warning that constantly confuses users.

If the cmake format check is about to complain, I will scream

reverted GUI subsystem stuff since it would require more work that I didn't think about.
It will be made into a new PR


one-to-many and many-to-one filtering by non id field doesn't work

https://github.com/ppetzold/nestjs-paginate/pull/749
I created 2 unit tests that showed that where by not id field doesn't work
the error is
`
Error: Cannot query across one-to-many for property toys
at SelectQueryBuilder.createPropertyPath (/Users/vsamofal/projects/nestjs/nestjs-paginate/src/query-builder/QueryBuilder.ts:1404:27)
at SelectQueryBuilder.getPredicates (/Users/vsamofal/projects/nestjs/nestjs-paginate/src/query-builder/QueryBuilder.ts:1447:40)
at getPredicates.next (<anonymous>)
at SelectQueryBuilder.getWhereCondition (/Users/vsamofal/projects/nestjs/nestjs-paginate/src/query-builder/QueryBuilder.ts:1621:50)
at SelectQueryBuilder.andWhere (/Users/vsamofal/projects/nestjs/nestjs-paginate/src/query-builder/SelectQueryBuilder.ts:1183:29)
at Brackets.whereFactory (/Users/vsamofal/projects/nestjs/nestjs-paginate/src/paginate.ts:203:55)
at

`
the error is in paginate.ts line 203.
I can fix it by myself, but would appreciate some input from creators on this
For some reason, the query builder is rejecting this

I think I know what is the problem and going to try to fix it, it's because of ObjectLiteral usage for andWhere, it doesn't work properly in typeorm unfortunately, they even don't have any examples in docs on how it should work with an object

closed with #759


added allow text input to date time picker

Q
A

Bug fix?
[ ]

New feature?
[x ]

New sample?
[ ]

Related issues?
Adds enhancement  #928 , partially #Y, mentioned in #Z

What's in this Pull Request?
set allowTextInput to true
added handleTextChange for specific error message when entering a string
added loc string for english textErrorMessage
added DateTimePickerTextErrorMessage to the IDateTimePickerInterface
added missing dependency for unit testing used in setup.js
added init test for date time picker to mount, render, update, and unmount

@modern-dev-dude did you just include a lot of changes by accident? Was that a pull from dev or something like that?

@modern-dev-dude did you just include a lot of changes by accident? Was that a pull from dev or something like that?

I believe I pulled from dev before removing the nullish coalescing operator commit. If I need to rebase let me know.

@modern-dev-dude could you please do that? The PR is now displaying a large number of changes

@joelfmrodrigues
I opened a new PR removing all the extra commits
Closing this pr now so there is no dups
https://github.com/pnp/sp-dev-fx-controls-react/pull/971


Allow guzzle 7

Hi,
We have recently tagged a new version 7 of guzzle.
https://github.com/guzzle/guzzle/releases/tag/7.0.0
🎉

I've been following the migration guide and I confirm there is no more things to do.

Can someone please make a release from this?

Released in version 2.5.0.


[Task]: Received locked NFT showing as minted instead of received

Task description
Received locked NFT showing as minted instead of received
Requirements

[ ] Fix wrong type for NFT activity

Creation checklist

[ ] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

Cant reproduce it, tried sending internal and external transfers and it displays correctly in all cases.
Closing issue for now, please reopen if the issue re-spawns


too many log

com.protruly.gallery3d.app D/skia: jpeg_decoder mode 0, colorType 4, w 1080, h 1920, sample 1, bsLength 0!!
many log like this
how to close it

There's nothing I can do about Skia logging, but you should be able to suppress it with your app's logging configuration.


Re-enable sanitizer tests broken due to buggy atos

There was a regression in atos, but now a new-enough Xcode version that
includes the fixed atos is now available on Swift CI bots.  We can
re-enable the tests.
Radar-Id: rdar://problem/85471075

@swift-ci Please test


[BUG] CJK Fonts not working in chromium 122 / puppeteer-core 22.3 ?

Environment

chromium Version: 122.0.0
puppeteer / puppeteer-core Version: 22.3.0
Node.js Version: 20
Lambda / GCF Runtime: Node 20

I have use Sparticuz to generate pdfs that contain Asian characters.
I init like so:
await chromium.font(process.env.font_cjk)
await puppeteer.launch({
	args: chromium.args,
	defaultViewport: chromium.defaultViewport,
	executablePath: await chromium.executablePath(),
	headless: chromium.headless
})

Previously in Node 18 I was using:
"@sparticuz/chromium": "^118.0.0"
"puppeteer-core": "^21.4.0"

And this worked perfectly.
However, after upgrading to Node 20 and:
"@sparticuz/chromium": "^122.0.0"
"puppeteer-core": "^22.3.0"

Asian fonts no longer work, and are blank, even though the call to chromium.font appears to work as expected, and no errors are thrown.
Reverting back to Node 18 and the previous packages fixes this issue.
Have there been any changes to how I should be loading / using fonts?
Thanks for this great library and for your help.

dupe of #92


Handle error for rc path isDirectory

Closes: #38

Should we be throwing if an incorrect path was provided?
Currently, if we pass an incorrect path:

logVerbose an error message
create a new rc path in the default path

For example:
If we run:
// No file, dir, or anything in the path
npx @push-based/user-flow -p app/nothing/exist/here.json collect

// Paths leads to a directory and not a file
npx @push-based/user-flow -p packages/ngx-fast-icon-demo/perf collect

We receive  a console prompt to set up the new rc file:
? What is the URL to run the user flows for? › https://coffee-cart.netlify.app/

This means the error log is only visible if we pass the verbose param -v.
Is there a reason we do not throw on error every time the read file is called and the file does not exist or is a dir?

Is there a reason we do not throw on error every time the read file is called and the file does not exist or is a dir?

if you run collect without a file we generate is on the fly based on defaults for the rcPath.
If a rc file is incomplete and the user runs collect again it will prompt .
While prompting we can re-ask with a hint.
In all other cases we can definitely just throw. This is also what I would start with and skip the re-asking for now.

BTW, I'm not sure if i merged it, but I had a PR with a separate error message for "is directory, has to be file"

if you run collect without a file we generate it on the fly based on defaults for the rcPath.
If an rc file is incomplete and the user runs collect again it will prompt.

Then I will change it so:

If the path leads to a directory it will throw an error.

And look into having it throw an error if the -p param was passed and the file does not exist in that location.

BTW, I'm not sure if I merged it, but I had a PR with a separate error message for "is a directory, has to be a file"

I don't think it was merged because:

I checked that the error was occurring as the PR described
Our readFile method did not handle errors caused by attempting to read a directory
There was no PR linked to the issue

Cool!


Builds for osx-arm64?

Comment:
This package is super useful for astronomers such as myself. However, many of us now have MacBooks with the new arm64 M1 chip. Is it possible/easy to add an osx-arm64 build for the astromatic packages (astromatic-source-extractor astromatic-scamp astromatic-swarp astromatic-psfex), in addition to the linux/osx ones?  (https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/)
Right now it is possible to work around the problem by configuring your conda environment to use osx packages instead of osx-64 (see e.g https://stackoverflow.com/questions/71515117/how-to-set-up-a-conda-osx-64-environment-on-arm-mac), but it is confusing and makes it harder for people to use the code since the solution might not be immediately obvious.
(Example issue affecting me on a coding project: https://github.com/winter-telescope/winterdrp/issues/352)

Comment:
This package is super useful for astronomers such as myself. However, many of us now have MacBooks with the new arm64 M1 chip. Is it possible/easy to add an osx-arm64 build for the astromatic packages (astromatic-source-extractor astromatic-scamp astromatic-swarp astromatic-psfex), in addition to the linux/osx ones? (https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/)

There should be a conda package for the osx-arm64 target now. See https://anaconda.org/conda-forge/astromatic-source-extractor
Since I don't have access to an osx-arm64 machine, could you please check if it works?


why am i stuck on a screen with something about an expectation ecured page

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
why am i stuck on a screen with something about an expectation ecured page

why am i stuck on a screen with something about an expectation ecured page

Can you show a screenshot please?

I have the same problem[
https://github.com/pizzaboxer/bloxstrap/assets/165416644/8dd4f731-176d-44e2-8c0c-ea508ce651cb
](url)

I start by trying to open a roblox game and the screen stays grey, i don't know what to do.

I start by trying to open a roblox game and the screen stays grey, i don't know what to do.

Can you confirm if this issue happens only with Bloxstrap please? https://github.com/pizzaboxer/bloxstrap/wiki/Switching-between-Roblox-and-Bloxstrap

Issue has been awaiting clarification for over a month, closing as stale. If you have anything further to add, just respond and I'll reopen.


build(deps): Upgrade CCM Version to v0.4.0

https://github.com/nutanix-cloud-native/cloud-provider-nutanix/releases/tag/v0.4.0

How confident are we with this version? I'm a bit concerned about possible regressions.

How confident are we with this version? I'm a bit concerned about possible regressions.

I'm more confident with this version than without it. This contains changes for the long lived client cache w/ session auth. Without this we might end up in the same issue we did with CAPX DOS-ing PC IAM APIs.

I am a little skeptical to introduce this at this late stage. We should not change at this time if its not broken till we can observe it. Given CCM only runs on single cluster, and till we have prometheus counters to prove the count of APIs are high, I agree that we should atleast fix the part of using token instead of basic auth in general. this fix also adds cache changes which technically will have only one cluster in it.
Also we need to identify the tests we need to do in order for ccm to get tested after every upgrade thru caren.

mainly providerID and machine instance recreation related cases (https://github.com/nutanix-cloud-native/cloud-provider-nutanix/blob/main/pkg/provider/instances_v2.go)

I agree that it's coming in later than it should have. With that said, I'd like to make a case for why it is needed. The current helm chart version (v0.3.4) points to a released image that is over 1y old. The main functional change this bump brings about is introducing session auth changes to make sure we don't DOS PC with Basic auth requests. While we can be pedantic about correlating with instrumented metrics, in their absence, the best effort testing we did a couple of months with session auth changes on CAPX still showed meaningful difference in PC request metrics. Now, as for testing:

Any change that happens on CCM goes through a E2E test which ensures basic cluster CRUD works with that CCM version
CAPX is already using v0.4.0 CCM in the E2Es and all CAPX E2Es that we run on PRs plus E2Es from periodic conformance tests are passing.
We have a E2E as part of CAREN PRs which also ensures basic cluster CRUD works


Extension to non-human entities (restaurants, bars, barber shops, ...)

Current German Corona legislation requires certain shops (restaurants, bars, barber shops, ...) to document visitors data. This comes with huge privacy risks (especially since this data can be exploited for marketing purposes).
When the app is released, will this legislation be removed or is a digital alternative still needed?
Since these shops are high-risk areas (e.g. a chef in a restaurant tested positively should inform all guests even though he/she is further away than Bluetooth range), it would make sense to introduce non-human entities (e.g. the restaurant itself).
A possible workflow could be:

User scans the constant entity identifier in form of a QR-Code (e.g. on the door/menu/...) when entring the entity.
When someone (everyone or only employees?) in the entity is tested positively, the entity's identifier is marked positive and triggers notification of all devices who have this identifier in their storage.

This would be location tracking through the backdoor. I think this would not increase the acceptance. I
And another con - what if someone doesn‘t like the app? Still leaving his data? Yes ! So this would look like an unequal handling from the restaurant guests point of view. This could be interpreted as pressuring for app usage.

This would be location tracking through the backdoor. I think this would not increase the acceptance.

I think IDs are only stored locally on the device. So how is location tracking possible?
In case you should find any possibility, it is also possible to randomly generate the tokens by the entity and show them on a display (just because it is more convenient to place bluetooth devices everywhere in the building/terrasse).

And another con - what if someone doesn‘t like the app? Still leaving his data? Yes ! So this would look like an unequal handling from the restaurant guests point of view. This could be interpreted as pressuring for app usage.

When people want to trust their personal data to the entity, they can, I don't. It is a free decision for every person. Furthermore, it is a clear improvement to the current situation, therefore I don't count your argument as a reason for keeping the status quo.
The only alternative is to remove the legal requirement completely.

Hi @darkdragon-001 ,
thanks for the proposal. We had similar ones in #57 , #144 and #234 (moved from the iOS repo). As mentioned there, extending the official Corona-Warn-App with such functionality is out of scope.
Best regards,
TK
Corona-Warn-App Open Source Team


Link to  Data repositories in  Profile

The profile page shows no information about any data repositories?  What has happened to it?

All attempts at publication now fail instantly?

Apologies Henry. If you restart the server and try it again it should be working now.


Telescope extension error

I keep getting this error, I don't really know what is the cause, I see it has something to do with Telescope. I really don't know how to fix it
Error detected while processing /Users/.../.local/share/nvim/site/pack/packer/opt/session-lens/plugin/session-lens.vim:
line    6:
E5108: Error executing lua [string "luaeval()"]:1: loop or previous error loading module 'telescope._extensions.session-lens.main'

Hi @eddyekofo94, this is actually an issue in Session Lens. You might not have called the loading of the extension there.

I found my problem was with packer, I had the plugin as optional like:
    use {'rmagatti/session-lens', opt = true }
when it should be loaded at start up like:
   use {'rmagatti/session-lens'}


Help needed. redis: connection pool timeout

redis version       : 3.2.12
go-redis version : e7f788704f5a5e72a697d716cc67694b523539f5(2019-05-26T05:49:28Z)
cluster nodes	   : 6, Deployed in two different data centers
go-client 		   : Deployed in one of the data centers
client NumCPU   : 4
steps	           :
(1) create client
client = redis.NewClusterClient(&redis.ClusterOptions{
Addrs:         clusterAdds,
Password:      password,
ReadOnly:      true,
RouteRandomly: true,
ReadTimeout:   7 * time.Second,
DialTimeout:   3 * time.Second,
})
codec := cache.Codec{
	Redis: client,
	Marshal: func(v interface{}) ([]byte, error) {
		return json.Marshal(v)
	},
	Unmarshal: func(bytes []byte, v interface{}) error {
		return json.Unmarshal(bytes, v)
	},
}
(2) get data from redis
codec.Get(key, data)
(3) a large number of "redis: connection pool timeout" errors occur,how can I troubleshoot this problem?

That likely means that Redis is too slow and can't serve all the requests.

Have you solved this problem?

See Debugging Go Redis


The authentication windows prompts every time requested.

Hi, I`m using graph in my Uwp project, with the support from login button control. And I use IProvider.Graph as the service client object as what the sample does.
My app is intended to synchronize lots of files between onedrive and local files, so that many local files will be uploaded to a specific onedrive folder.
For now, with the help of this control,.I can successfully login, and start the uploading sequence.
But the problem is, after uploading several files( approximately 7-10 files), the authentication windows will start  to prompt eveytime the graphserviceclient trying to upload a file.
If I close the authentication window, the login button control is also logged out.
I spent days search for solutions, but with no luck.
Please tell me where could the problem be.
The provider? My tenant setting?(should it be administrator?)The login button control? Or I should have my application verified?
Thank you very much.

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

ID: 79d988ef-1369-6d90-baab-7b8a54a0b8b4
Version Independent ID: 95bbff5a-6062-f4d4-19d6-337ed415ef9d
Content: LoginButton XAML Control - Windows Community Toolkit
Content Source: docs/graph/controls/LoginButton.md
Product: community-toolkit
GitHub Login: @michael-hawker
Microsoft Alias: mhawker

Thanks @miracletower for the report, can you share the specific code calls you're calling from the Graph API?
We just provide the object from the Graph SDK, so once you've logged in, it should just be using everything from the Client Library.  You may get more traction filing an issue directly on their repo as we also use their auth providers built on top of the Identity library.
FYI @darrelmiller

@michael-hawker Thank you so much for you reply.
Since my project is quite complicated, I wrote a new specific project to demonstrate this issue - batch uploading files in the app's localstate folder would start to fail after 7 ~ 10 ones successed before, unless you re-input you live id and password each time the authentication windows prompted (even when the login button is in Logged-in state).

here is the files on my drive( each time from 7 to 10, could be uploaded on the start).

GraphDemo.zip
GrahDemo is the Uwp Project, please launch it firstly, use the built in button to open its local state folder ( for you convenience) and copy my sample data files into it. then click the start button.
LocalState.zip
the core code is as below:
` private IProvider _provider;
private Microsoft.Graph.GraphServiceClient _graphClient;
//files to be synchronized
List filesToBeSynchronized;
    private bool checkLoggedin()
    {
        if (_provider == null)
        {
            _provider = ProviderManager.Instance.GlobalProvider;
            _graphClient = _provider.Graph;
        }
        return _provider != null && _provider.State == ProviderState.SignedIn;
    }

private async void Start_Click(object sender, RoutedEventArgs e)
{
if (!checkLoggedin())
{
return;
}
//All files are uploaded to a folder called "snowwriting"
//so get file id for the folder access in advance.
targetFolderId = await initializeTargetFolderId();
if (string.IsNullOrEmpty(targetFolderId))
{
var dlg = new MessageDialog("The target folder is now available.", "failure");
await dlg.ShowAsync();
return;
}
btnStart.IsEnabled = false;
generateLocalFileList();
txtStatus.Text = "synchronizing...";
foreach (string file in filesToBeSynchronized)
{
//upload the file, and set its description to original local directory path,
#region authentication windows prompts after 7 files uploaded
//After uploaded 7 files, the authentication windows prompts on each uploading request.
await uploadFile(file, Path.GetDirectoryName(file));
#endregion
}
txtStatus.Text = "synchronizing finished";
btnStart.IsEnabled = true;
}
private async Task<string> initializeTargetFolderId()
    {
        var driveItems = await _graphClient.Me.Drive.Root.Children.Request().GetAsync();
        //try to get the id of folder "snowwriting", which is the target uploading folder
        //create the folder if it does not exists.
        var appRootItem = driveItems.Where(d => d.Name == "SnowWriting").FirstOrDefault();
        if (appRootItem == null)
        {
            var driveItem = new Microsoft.Graph.DriveItem
            {
                Name = "SnowWriting",
                Folder = new Microsoft.Graph.Folder { },
                AdditionalData = new Dictionary<string, object>() { {<EMAIL_ADDRESS>"rename" } }
            };
            appRootItem = await _graphClient.Me.Drive.Root.Children.Request().AddAsync(driveItem);
            if (appRootItem == null)
                return string.Empty;
        }
        return appRootItem.Id;
    }

    private async Task uploadFile(string filePath, string dirPathforDescription)
    {
        try
        {
            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
            // Read byte[] from file
            byte[] bytes = new byte[fileStream.Length];
            fileStream.Read(bytes, 0, bytes.Length);
            fileStream.Close();

            using (MemoryStream ms = new MemoryStream(bytes))
            {
                string fileName = System.IO.Path.GetFileName(filePath);
                if (bytes.Length <= 4 * 1024000)
                {
                    var result = await _graphClient.Me.Drive.Items[targetFolderId].ItemWithPath(fileName).Content.Request().PutAsync<Microsoft.Graph.DriveItem>(ms);
                    if (result != null)
                    {
                        //After uploading the file, set the file's description to it's orginal local path;
                        Microsoft.Graph.DriveItem item = new Microsoft.Graph.DriveItem { Description = dirPathforDescription };
                        await _graphClient.Me.Drive.Items[result.Id].Request().UpdateAsync(item);
                    }
                }
                else
                {
                    // Get the provider.
                    // POST /v1.0/drive/items/01KGPRHTV6Y2GOVW7725BZO354PWSELRRZ:/_hamiltion.png:/microsoft.graph.createUploadSession
                    // The CreateUploadSesssion action doesn't seem to support the options stated in the metadata.
                    var maxChunkSize = 320 * 1024; // 320 KB - Change this to your chunk size. 5MB is the default.
                    var uploadSession = await _graphClient.Drive.Items[targetFolderId].ItemWithPath(filePath).CreateUploadSession().Request().PostAsync();

                    var provider = new Microsoft.Graph.ChunkedUploadProvider(uploadSession, _graphClient, ms, maxChunkSize);

                    // Setup the chunk request necessities
                    var chunkRequests = provider.GetUploadChunkRequests();
                    var readBuffer = new byte[maxChunkSize];
                    var trackedExceptions = new List<Exception>();
                    Microsoft.Graph.DriveItem itemResult = null;
                    //upload the chunks
                    foreach (var request in chunkRequests)
                    {
                        // Do your updates here: update progress bar, etc.
                        // ...
                        // Send chunk request
                        var result = await provider.GetChunkRequestResponseAsync(request, readBuffer, trackedExceptions);

                        if (result.UploadSucceeded)
                        {
                            itemResult = result.ItemResponse;
                        }
                    }
                    if (itemResult != null)
                    {
                        //After uploading the file, set the file's description to it's orginal local path;
                        Microsoft.Graph.DriveItem item = new Microsoft.Graph.DriveItem { Description = dirPathforDescription };
                        await ProviderManager.Instance.GlobalProvider.Graph.Me.Drive.Items[itemResult.Id].Request().UpdateAsync(item);
                    }
                    // Check that upload succeeded
                    if (itemResult == null)
                    {
                        // Retry the upload
                        //await uploadFile(filePath);
                    }
                }
            }
        }
        catch (Microsoft.Graph.ServiceException e)
        {
            //Assert.Fail("Something happened, check out a trace. Error code: {0}", e.Error.Code);
            var dlg = new MessageDialog($"Something happened, check out a trace. Error code: {e.Error.Code}", "sync error");
            await dlg.ShowAsync();
        }

    }

`
I have no idea if this is a ristriction for uploading files or what, but it really stops my project to get its last step done.

Thanks @miracletower for the detailed info, can you copy your post & file that issue over on the .NET SDK Client repo?
Have you noticed if any exceptions are thrown or more details outputted when the auth window pops-up the first time again after starting the uploads?

The post action that brings up the auth window is as below:
var result = await _graphClient.Me.Drive.Items[targetFolderId].ItemWithPath(fileName).Content.Request().PutAsync<Microsoft.Graph.DriveItem>(ms);
And the file from which the uploading start to fail is not specified.
Futhermore, there isn't any exceptions.
since the unexpected pop-up is being "awaited" as a part of the "Content.Request().PutAsync" code.
Thank you very much.
@michael-hawker

Thank you.


Portfolio: application deploy

Portfolio Online version
Since I have deployed my portfolio project earlier, I created this issue to show a link to the online version of my project.
Find below a link to my project as requested.

Link : https://alhajideen.github.io/Portfolio-setup/

I anticipate your questions, suggestions and corrections 😄 .

Hi @Alhajideen ,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights
✅ Correct use of Github workflow
✅ No linter error
✅ README is okay
Optional suggestions

[OTIONALl]  You can use this format [name of the link](the actual link address)  to make your readme more appealing as this will only display the name of the link and not the whole link address😄 .

Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Component for github corners

Open Source Opportunity
Would be great to have a Vue component for http://tholman.com/github-corners/
<template>
  <github-corners position="top-right" repo="egoist/docute"></github-corners>
</template>

functional component would suit such use case.

Hi Egoist,
Thank you for posting about this opportunity.
I made a simple Vue component that serves this purpose.
It was good to get some basic experience with Vue.
You can find it here:
https://roeefl.github.io/vue-github-corners/
Your input or suggestions regarding this would be welcome.
~Roeefl

Looks nice, but maybe provide a prebuilt version, btw is there any trade-off to force you not to use functional component?

Hi man,
this was my first component. I actually am not familiar with what a prebuilt version means or what using a functional component means either.
now that you mentioned those though, I'll be sure to look into them.
Thanks!

I just have made vue-gh-corners for using by myself. 😶

Demo Here

Thanks Poi for saving me. 😺
You can use it if you want. 🙃


Provide rule to check that all schemas have a type

With the understanding that some APIs make use of schemas that have no type (i.e., this might default to being optional), our API expects all schemas to have a type, but this is only policed manually at present.  It'd be very helpful to have this enforced by the validator.

That does seem like a helpful validation - I'll look into adding this soon

https://github.com/IBM/openapi-validator/pull/448

:tada: This issue has been resolved in version 0.29.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 0.80.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Type inference starts to fail to infer argument type when making return type of method more precise

See this example
class A<T> {
  A();
}

class B<T> implements A<T> {
  B();
}

main() {
  final obj = foo<int>() ?? A();
  final obj2 = fooMorePreciseReturn<int>() ?? A();
  print(obj.runtimeType);
  print(obj2.runtimeType);
}

A<T>? foo<T>() => null;
B<T>? fooMorePreciseReturn<T>() => null;

This will print surprisingly
A<int>
A<dynamic>

So when making functions like foo return a more precise type, the type inference stops inferring that A() should be an A<int>(). Though it knows the class relationship from B<T> to A<T> and could infer it to be int.
(reported by @osa1 )
@chloestefantsova  @lrhn @eernstg Is this expected behavior?

Inference for the e1 ?? e2 expression will use NonNull(T) as the context type for e2 when there is no context type for the expression as a whole. It is a general property of our type inference that it is able to infer actual type arguments of subtypes of the types mentioned constraints, but not supertypes. For example:
class A<X> {}
class B<X> implements A<X> {}

void main() {
  Object o = B<int>();
  if (o is A<int>) {
    o = B(); // Infer `B()` with context type `A<int>`.
    print(o.runtimeType); // `B<int>`.
  }
  if (o is B<int>) {
    o = A(); // Infer `A()` with context type `B<int>`.
    print(o.runtimeType); // `A<dynamic>`.
  }
}

So I'd say that it is expected. It may or may not be an appropriate choice to transfer information about the type arguments from the context type in the case where that context type will not be a supertype of the type of the target expression after inference (in the situation with context type B<int> above, the type of the expression will be A<S> for some S, and that's never a subtype of B<int>).
Also, perhaps you have some additional comments on this, @stereotype441 or @leafpetersen?

For more context, we discovered this while rolling https://github.com/google/protobuf.dart/pull/903 to g3.
In that PR I updated return types of some generated methods from List<X> to PbList<X>, and PbList is a subtype of List.
The roll CL shows the breakage: cl/584816240.
Another related issue is that giving local types in this case sometimes generates omit_local_variable_types warnings even though the local types fix the type errors.

This is a language issue so I am going to transfer this to dart-sdk/language repo.


Added Terraform Plan Step

Should I rename these to test?
Suppose they serve 2 purposes here?

Request rebase of this off main to fix the route53 example issue.
This one will need some careful thought as about the intention behind these tests

Some thoughts:
Route53 change - I'd rather keep this here, the commits won't be squashed so the history will keep track of it and this closed PR will contain the required context of why it was fixed.
Name - I believe these should be called test and treated as such, they are effectively sample implementations of the terraform code which do add value to the QA of the module as they contain relevant information from the provider system on if the module can be deployed which I argue is valuable.
I will update the name of the folders to test and re-request and approval.

Happy to take a steer from you on this one @cmbuckley
My main motivation for these tests is to let us create working modules proactively.
This raises a question on how we steer this project. It's not necessarily needed if we create modules for projects and use this repo as reference. Then the tests would be the implementation but changes we want to make that we don't want on project go untested.


Re-implement file upload features

In #80 the code was fixed to not require the special commons upload jar, which is working but it now lacks a couple of features which we need to be re-implemented, most likely in javascript.

File upload progress bars
Fast failure for invalid uploads (invalid mime type)

Also the multipart parsing is now handled by tomcat which has some maximum sizes which need configuring somewhere.

@doolse - do you have a good understanding of what will need to change and/or do you think this is something you can tackle early next week?

Yeah i'll have a crack at it


ENH: Automatic theme switching on macOS

This PR comes from https://github.com/mne-tools/mne-python/pull/10565#issuecomment-1132764545 and adds support for automatic theme switching on macOS. It is a draft until it has been tested on macOS.
How to test?
On a macOS machine, plot any 3d figure (alignment, stc, coreg, ...etc) then switch the system theme.
Expected result
The window, the widgets and the icons should follow the new theme.

Closes #9182

Related:
Yesterday's release of darkdetect allows automatic theme switching detection on Windows and Linux:
https://github.com/albertosottile/darkdetect/releases/tag/v0.6.0

Yesterday's release of darkdetect allows automatic theme switching detection on Windows and Linux:

👀 – this is great! But Qt application still don't change to dark (native look) on Windows and Linux unless stylesheets are used, right?

But Qt application still don't change to dark (native look) on Windows and Linux unless stylesheets are used, right?

I'm afraid so

automatic theme switching detection on Windows and Linux:

Too bad it's only for Windows and Linux, it would be nice to use the same approach for all systems if possible.
I looked at the code for the linux part, is it only for Gnome desktop? Anyway, I'll give it a try locally, thanks for the heads-up :+1:

Detection/switching on macOS has worked for a long time I thought? And yes, it seems to be GNOME-specific.

This has worked on macOS for years.

This has worked on macOS for years.

But not with Qt out of the box…

This has worked on macOS for years.

But not with Qt out of the box…

MWE:
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
import sys

class PushButton(QWidget):
    def __init__(self):
        super(PushButton,self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("PushButton")
        self.setGeometry(400,400,300,260)
        self.closeButton = QPushButton(self)
        self.closeButton.setText("Close")
        self.closeButton.clicked.connect(self.close)
        self.closeButton.move(100,100)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = PushButton()
    ex.show()
    sys.exit(app.exec_())

Switching between light and dark only affects the title bar:
https://user-images.githubusercontent.com/2046265/170003170-82782163-0f8e-407a-ad6b-8f43a3ba047d.mov

Works for me. I've used this for years with MNELAB. macOS is the only platform where this works, Windows and Linux require a workaround (e.g. with a listener thread constantly polling for the theme).
https://user-images.githubusercontent.com/4377312/170004295-12563293-0286-4c39-adf4-53f7c275ce7a.mov

Son of a gun, you're right – seems the only reason it didn't work for me here is because I used an x86 Python install on my M1 Mac. With a native arm64 build, it works as in your video.

Well in your case, you use the default 'dark' style macOS palette but this PR is about applying the one from qdarkstyle :)

darkdetect() offers to detect theme change on Windows and Linux with their new listener but this PR relies on Qt PaletteChange event for that. That's why I say:

it would be nice to use the same approach for all systems if possible.

There is also the option to use the darkdetect+qdarkstyle combination only on Windows and Linux (the operating systems that do not change the Qt palette automatically) and just update the icon theme when necessary for macOS, similarly to mnelab.

I agree, anything consistent across the main OSes/desktops would be great. But it seems that darkdetect tries to fill the gap 👍

Yep! Not only something consistent, but Qt should support native light/dark modes on Windows and Linux too. On Windows and Linux the app needs to use stylesheets, which doesn't look like native apps.

Yes I would love that, but @larsoner was opposed. I don't think our custom dark theme looks native on macOS. It feels a little strange.

I don't remember why I was opposed -- but in any case, currently qdarkstyle isn't really used on macOS for dark stylesheets when in dark mode, at least on PyQt6 where dark theming is correct. And I think for PyQt5 it overrides as little as possible already. So in any case, +1 for using native light/dark styling where they actually work from me.
There are cases where I think we can't get around using qdarkstyle, though, like when you ask for dark theme but your system is currently in light mode. Maybe this is what you're thinking of experiencing @hoechenberger ?
As an aside, I looked for quite some time to see if there is a way to tell Qt "even though my system is in light mode, use the native dark mode Qt styling" but I couldn't find a way to do it. They don't just apply an internal stylesheet to do it, it's coded in a class somehow somewhere IIRC using private attributes/methods so I didn't see a way we could use them.

As an aside, I looked for quite some time to see if there is a way to tell Qt "even though my system is in light mode, use the native dark mode Qt styling" but I couldn't find a way to do it. They don't just apply an internal stylesheet to do it, it's coded in a class somehow somewhere IIRC using private attributes/methods so I didn't see a way we could use them.

Could it be the macOS system itself that changes the Qt palette somehow? It would explain why we need to filter PaletteChange event on macOS to update the icons. In this scenario, it's even possible that the stylesheet is stored on the macOS side. I am just guessing here of course, I did not investigate.

Could it be the macOS system itself that changes the Qt palette somehow?

Could be, with stuff like:
https://github.com/qt/qtbase/blob/067b53864112c084587fa9a507eb4bde3d50a6e1/src/widgets/widgets/qtoolbar.cpp#L28-L30
https://github.com/qt/qtbase/tree/067b53864112c084587fa9a507eb4bde3d50a6e1/src/plugins/platforms/cocoa
etc. So maybe there is some way for us to dig into the cocoa platform plugin and say, in the case that a user is in light mode but requests dark mode, "cocoa, restyle this as dark mode" after a light-mode window is been created (or tell it to use dark mode before it creates a light mode one, but this seems harder). But we're getting pretty deep in the internals of Qt here...
What might be a low effort possible solution would be to post a question like this to the Qt forums somewhere, and hope someone knows how to do it. If the solution is easy, we implement it; if nobody responds, if someone is bored they can look into the Qt internals to figure out if there's a way to tell Cocoa to restyle (in the same way that the user changing their OS mode changes things); and until then we just use qdarkstyle and live with the blue.

I'm motivated but I need to find the time to do it... Let's see. I could imagine that there are tons of threads about light/dark mode switching on Windows/Linux already, but I haven't even searched the forum properly.

I agree with @hoechenberger. The priority should be to support automatic switching on all three OSs, preferably using a native styling (as opposed to stylesheets).

It sounds like we might just wait on this one (?) and even if we don't, will try to avoid having qdarkstyle set the stylesheet where possible. So I'll close for now!


AstrobiologyChapter2

Notes from Chapter 2 to 2.3.

I'm accepting the first submission, given how difficult it was.  But you'll see differences in the version on the website after I make some edits.  Please review those so that I'm not having to edit them every time.


Use operator methods in JS interop

I have built a JS bindings package that read WebIDLs and MDN to generate JS wrappers with package:js: https://pub.dev/packages/js_bindings
When I try to use the package, it throws this error while compiling:
JS interop classes do not support [] and []= operator methods.
Will you support operator methods in JS?
How can I work this around?
This tracker is for issues related to:

dart2js
Dart SDK version: 2.13.1 (stable) (Fri May 21 12:45:36 2021 +0200) on "macos_x64"

Thanks @jodinathan for filing this issue. I'll mark this as a duplicate of the general bug #35084 where we are tracking the general effort of revamping JS-interop using a static approach.
Many of our historical limitations (like renaming members, using operators, processing inputs and outputs) are an unfortuante result of our current implementation strategy. As I hinted in https://github.com/dart-lang/sdk/issues/46248, we do allow to use index operators with static extension methods. For example:
@JS()
class A { external A(); }
extension AExtension on A {
   String operator[](String y) => js_util.getProperty(this, y);
}


Fix failing Synapse Workspaces

Module pipeline failing on static validation. Template fails to compile with
Error BCP270: The scope used for this declaration is ambiguous. A resource or module must only reference a single scope.

Looks related to https://github.com/Azure/bicep/issues/8403

For the time being, added to Known Issues in #2033


Fix the "All accounts" on top in the List account (Firefox browser)

Describe the task
Fix the "All accounts" on top in the List account (Firefox browser)
Actual:

Expect: Fix the "All accounts" on top

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1400-build-1.0.5-2-2023-05-20T10-06-59UTC.zip
Validation passed!


Make it all configurable.

This is quite a big change. The idea came from @paulfitz’ message: with this one, it would be possible to create standalone widgets from the code of a "personalized" one.
With that, the name pug_py doesn’t say all it does: it’s now starting from a configuration, that will define an entrypoint (for example a pug or a py code) and possibly other editors.
Another change is that it now uses RapydScript instead of Transcrypt or Brython (or PyScript that I tested too), as it’s far easier to interact with js. The only caveat I saw is that, for functions which really expect a pure Array (like grist.docApi.applyUserActions), it’s necessary to call the Array constructor, or to convert a python list with Array.from(LIST).

I had tested in my self-hosted instance, where the widgets are hosted in the same domain as Grist itself. Now I’m facing cross-origin problems while hosting at docs.getgrist.com. Perhaps I’ll have to go back to Brython…
@berhalak if you had time (but I don’t want to abuse), would you mind looking at this and, if possible, explain me what I’m doing wrong?

@berhalak Never mind, I ended finding the problem. It came from RapydScript, which build an iframe, but which used, to pass messages between the iframe and its parent, a "pythonesque" equality. This one used an __eq__ property, and its access was forbiddent because of CORS.

So here is a very basic showcase, featuring a customizable Markdown widget.

And here is a new version of the Kanban widget, which could very easily be put into its own repository.

Sorry for the delay @jperon, it was busy week for me.

@berhalak Is there anything to do on my side, please? No hurry, but I’d like to have this merged before proposing widgets based on it if possible.
Many thanks!

@jperon currently @berhalak is on vacation. In any case, I'm not sure it is practical to review this PR in its current form, it is so large. I understand a lot of the files are copies of material from elsewhere, but they'd still need to be read for Grist Labs to sign off on their content.
I'm happy to say we are finally going to make progress on having a way to mark custom widget's as "community written" or something similar. As long as we have a way to let the user know who they are trusting when they use a widget, we can start decentralizing a little bit. The new way to mark a widget is slated to be done by the end of July, and may happen earlier.
Very sorry this bottleneck has dragged on so long...

Looks nice. One question about files in /js folders, I see jkanban and toastui* files. I think they are not needed?

The reason I left them there is that I intended to make this widget suitable for offline use. It can’t integrate the whole js libs world, for sure… but those ones looked to me as a reasonable bundle for quite common needs in a custom widget.

Sorry, related to https://github.com/jperon/kanban/issues/1, I realized that I had uncommitted local changes…

The reason I left them there is that I intended to make this widget suitable for offline use. It can’t integrate the whole js libs world, for sure… but those ones looked to me as a reasonable bundle for quite common needs in a custom widget.

We do have a bundling mechanism for widgets that can pull in external dependencies. We use it to make the calendar widget (developed as a custom widget) available offline in Grist Desktop.


prevent crash with decimal comma

Motivation and context

When uploading an mkv file (Matroska), the following message can be seen:
Error: Could not create the task on the server. ValueError: could not convert string to float: '27,576000000'.
Perhaps reason is the locale setting during export or in the environment.
How has this been tested?
Not tested yet, sorry. However, this is a trivial change.
Checklist

[X] I submit my changes into the develop branch
[ ] I have added a description of my changes into the CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[X] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

@gronki , could you please create a bug request and provide some enough information to reproduce on our side? I don't think we can accept the fix as is.

I created a bug report. I would love to attach a trouble-making file, but it contains confidential information so I am not allowed to do so.

@gronki , we will lock into the bug request. Have a gread day. I will close the PR because it isn't going to be merged.


SAK-31187 fix primary and secondary button size differences

Hi @juanjmerono.  This PR continues on the work done in https://jira.sakaiproject.org/browse/SAK-31187.  It'd be great to have the Morpheus team give it a once over. Thanks!
I've refactored sakai_button_color slightly so it shares padding/margin etc with sakai_button but still maintains it's custom background gradients...  Plus we also force button.btn-primary to use sakai_button_color so bootstrap buttons style as native Sakai color buttons which will fix the discrepancies reported in GradebookNG.
Also delivers #1858.

Hi @payten this change do not compile, check this log:
https://s3.amazonaws.com/archive.travis-ci.org/jobs/132355801/log.txt

Hm, sorry about that @juanjmerono.  I honestly thought it compiled locally for me! I've moved the order of operations to ensure the sakai_button include is defined before it's called.  That should do it.
I think it makes sense to combine sakai_button and sakai_button_color - they were quite similar and slight differences contributed to the alignment issues reported in the JIRA. Happy to break them apart again.. let me know what you guys prefer.

Thanks! Great fix, LGTM. Here you can see the diference with some screenshots

Great!


Introduce keyboard navigation via ctr+k (⌘ k)

As Sebastian and Mathew I would like to be able to use the keyboard to navigate busola menu similar to Github using ⌘ k

Acceptance Criteria

[ ] Follow Project DOD
[x] Introduce a ⌘ ? that will show the user the available commands
[ ] the commands will follow the kubectl short commands (shortNames)
[ ] This task covers basic command lines from the SHORTNAMES list and only navigates to list view
[ ] testing is performed to smoke test the feature
[x] Absolutely great to have https://www.npmjs.com/package/didyoumean

Tasks

[ ] Add Tasks

We could use https://docs.luigi-project.io/docs/global-search/, but sadly it doesn't support "did you mean" mechanism.


Remove the exit parameter from importing and exporting blocks

Small refactoring.
Importing and exporting blocks are now entirely futures, and we can therefore remove the exit parameter. If they want to interrupt an ongoing import or export, the user can simply stop polling the corresponding future instead.
This only breaks the API of the service builder, but not the API of substrate-cli. Hence no Polkadot PR is necessary.
I kept the API of substrate-cli the way it is, because I'm not sure how I would accomodate the changes for the Worker trait of Polkadot.

this is pretty cool :sunglasses:, needs a rebase

Fixed the conflicts


Add tui-visualization for resources and tasks

This makes it possible to see the current status of the scheduler. showing resources state and task state
closes #23

Didn't try it.. but tui-rs looks great so I can already imagine this will looks great too :)

Yes indeed was thinking of the same: maybe add some documentation to the readme? Because I don't know how to get out of the monitor process? Feels like VIM haha


[HUDI-6212] Hudi Spark 3.0.x integration

Change Logs
Hudi spark 3.0.x adoption
Impact
Hudi spark 3.0.x adoption
Risk level (write none, low medium or high below)
low
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Azure CI is green.


How to capture trace.dat without wload

How to  capture trace.dat only use FtraceCollector？

thanks

Hi @accksy, I'm not sure to understand the question. The trace.dat file will be created at the path pointed by output_path.
If you are asking about how to just collect a trace without running a workload like in that example, simply don't use wload.run() and use time.sleep() or anything else you want to do while tracing.

Thanks, you got my point. This solved my problem.


Marathon shouldn't start up if the the ZK state is not compatible

Marathon shouldn't start if the major number of the storage version persisted in ZooKeeper is greater than the major number of the current version.
The goal of this change is to avoid running with an incompatible state.

Instead of using a storage version you could introduce an indicator like described in https://github.com/mesosphere/marathon/issues/3005 showing that an migration is in progress. If this indicator is present, you could deny startup of marathon.

It doesn't start up anymore. Migration will fail if the storage version is too new.


Refactor make note component

Refactor code to make note an independent component.

Can't merge directly to main. Instead merge first with dev branch


Test phpunit through composer.json

Thanks.

How is it better to run phpunit over composer?
The recomended method in docs is to download and use the PHAR file.

Well phpunit wasent being run at all through travis ci. this way it is being tested.

But you don't have to include it through composer.
Take a look at one of my projects: hQuery.php
All I have in the .travis.yml file is this line:
script: phpunit tests/

Actually travis-ci has the proper version of phpunit for each PHP version preinstalled. You just call phpunit and no need to install it!

Well yes but not an up to date version of phpunit for example maybe for php 5.5 it would be phpuniut 4.x or 5.x for 5.4 its 4.5 and 4.5


Fix shutdownAllTasks API for non-existing dataSource

Fix shutdownAllTasks of overlord to return 404 instead of 200 if there's no task for the given dataSource.

I don't think this is a blocker for 0.13.0 release because it's not that critical.


Migrate HTTP helm registries to OCI only

Helm and Flux communities are actively switching to use OCI compatible registries to store helm charts. Flux will no longer add new functionality for HTTP-backed repositories. As such, we have to switch our app platform to OCI as well.
More in depth info and some tests useful for implementation can be found here.
Potential tasks/steps
### Tasks
- [ ] https://github.com/giantswarm/roadmap/issues/2399
- [ ] https://github.com/giantswarm/roadmap/issues/2382
- [ ] Make sure that we push helm charts to at least 2 OCI registries (ACR + backup)
- [ ] add standard and implement it in `architect-orb`(probably there?) to also package and push extended metadata to the OCI registry
- [ ] rewrite `Catalog` and `AppCatalogEntry` discovery from HTTP endpoint to OCI (https://github.com/giantswarm/roadmap/issues/2442)
- [ ] update `Catalogs` to replace HTTP registry with OCI
- [ ] remove HTTP regsitries on github

Notes:

Currently, only ACR can be used for images discovery. It's a bummer, but we also now use a single HTTP repo for that, so the situation won't be worse, and we can hopefully switch to multi-registry discovery as soon as they implement the necessary interface.

I was thinking of picking up on parts of the ticket and bumped into the following questions:

I feel the backup registry is not decided yet (or is it GitHub CR?), should we do more research on it or that is fine?
For Aliyun it might be possible to use out enterprise registry for OCI images, dont know about the discoverability tho
I am thinking that remove HTTP registries on github cannot be done for a very long time, because the logic is in app and chart operator
Regarding implementing App CR to HelmRelease translation layer (source):

thinking it should coexist with the current catalogs / appcatalogs, we should be able to create the OCIRepository with Flux as well, however what about the config layer coming from catalogs?
How do we indicate - or should we? - that an App is installed as a HelmRelease - out of band for WC apps - or we silently replace apps? Do we need some sharding (supported in flux 2.0) to even the load for large MCs and not deploy all with a single helm controller?

For the out of band question, we could also think of replacing chart operator in the WC with helm controller and then app-operator would create the HelmRelease with the catalog and all merged config values

... will add more as they come up

Team meeting notes from 2023.04.25
date: 2023.04.25
author: team meeting notes
Moving app platform to OCI
Intro
Motivation

Everything is moving towards OCI-R

Flux as well and new features for Helm will come to OCI backed registries only

The only(?) way to provide extra features, like software chain security (singing, SBoMs)
single artifact registry for images and Helm charts (and everything else)

Current status

we already support OCI in Catalog CR, app-op and chart-op
still, HTTP one is our "source of truth", the one we use for metadata and discovery
Flux won't support multi-registry (replicated) artifacts

use google CR, it's distributed
to be super safe, use pull-through cache with Harbor

Idea

make ACR our main OCI repo
push Helm Charts and meta-data there as well as to HTTP registry on github
make a replica of it (TODO: where? what about China?), not necessarily with discovery metadata

we can mark Catalog as with-metadata: True/False
there should be just 1 repository with with-metadata: True, as otherwise we will have to handle some complex "registries-are-out-of-sync" scenarios

new clusters can use OCI-only registries - two of them

what about old ones? Do we have to just wait until we can phase them out?

does app-op have to fetch metadata from OCI now? Does it make sense?

if not, does it make sense to push metadata to OCI?

Notes

@laszlo: we need to sync the current registry state to the new OCI one
@piontec: do we have to upgrade all app-ops to support OCI discovery or only the unique one?
@piontec: how good is google registry? replicated? geolocated? do we need it in aliyun?
q: do we need HTTP for discovery or not (is it only unique app-op that does discovery)

After a discussion with @uvegla today, we decided to postpone the best part of this epic for later, as it's not critical to do it right now.
What we decided is:

Do now

Evaluate features and arch of google and aliyun OCI registries. Pay attention to their HA/availability/architecture.
Leave everything else as it is.

Do later

Split app-operator and extract app-discovery-operator (ADO) out of it. Build ADO with kube-builder, most likely switching the discovery source from HTTP to OCI repo.
remove discovery logic from app-operator
[depending on repo discovery] potentially, add a replica of our OCI repo and configure new clusters to use 2 OCI registries

The discovery work is continue here.


String processing demo ideas

Hash table
search and replace
longest subsequence, substring

Or, should we do something else?
We'll talk about this on our first meeting

Just an idea, in 2160 we wrote a Levenshtein distance program. Kind of string process-y, but maybe more confusing than the other options.

substring
search
index a letter
split?
Palindromicity

Book summary is best for this?


when will you open the code ?

I have a research on the lane detection , and do some work about it , could you open your code, that i can do some test on it , thank you !

@CColten Thank you for your interest in the paper. Interestingly, the authors ( @SeokjuLee ) of the paper have arrived home from ICCV yesterday - still jet lagging. We will start on cleaning and publishing code asap!

Thanks for your reply！

@CColten Sorry to answer late. Our code is being reviewed by Samsung Electronics. The company is undergoing a merger and restructuring, which is delaying work.


Merge feauture/python-api into master

This merges all work done on feature/python-api for creating the opae.fpga Python package.
This introduces the following changes to the build system:

Build _opae.so extension module
This uses pybind11 to wrap the OPAE C++ Core API using macros and templates that perform compile
time introspection. The resulting binary is a Python extension module that can be imported by Python
scripts. Once imported, any calls into the Python methods defined (in opae.cpp) call the C++ code
that backs them.
Put _opae.so into the Python namespace package called opae.fpga.
This is accomplished using __init__.py files that define behavior as a namespace package.
Defines a CMake option (BUILD_PYTHON_DIST) and a CMake target (pyopae-dist) to create
the distributions.

The source distribution is opae.fpga-1.0.0.tar.gz
The binary distribution depends on what system and Python version is used to create it.
On a 64-bit Linux with Python 2.7.5, the resulting binary is `opae.fpga-1.0.0-cp27-cp27mu-linux_x86_64.whl
NOTE: The version listed here reflect the version in the codebase (1.0.0). This will change when the version in the build system changes.

Documentation that has been integrated into the documentation that is generated by sphinx.
Includes pybind11 source under the pyopae directory to simplify building of opae.fpga.

All PRs in this branch have been reviewed and tested using the mock driver as part of the CI flow. These same tests (with slight modifications) have been run manually using Python 3.4 with the mock driver as well as Python 2.7 using real hardware which pass in both environments.
TODO:

Reorganize the tests (into separate files) and to run on hardware transparently
Add a README.md to the source distribution

@tswhison Thanks!