[#642] CockroachDB

There are still a couple of things I need to check but I want to check if it works with CI
Fixes #642

Identifier generation from the database only works if we do an insert and select id  query. It seems that we can always do that at the moment, so I've removed the check: https://github.com/hibernate/hibernate-reactive/pull/647/commits/e0e3c136f3e1c31e5414e653bb8113dd7f10658c

CockroachDB seems to have problems with temporary tables. It seems we use them when dealing with hierachies: I've disabled those tests

Database identifier generation with CockroachDB uses timestamp and it seems to return negative values when the type of the id is not Long

DavideD requested a review from gavinking 13 seconds ago

Sorry, didn't mean to ask for a review right now

CockroachDB seems to have problems with temporary tables. It seems we use them when dealing with hierachies: I've disabled those tests

Yeah, that should be just the HQL build update queries. It looks like you've just disabled those tests, which is fine.

Database identifier generation with CockroachDB uses timestamp and it seems to return negative values when the type of the id is not Long

That sounds a bit weird. I wonder if that's what it does in my dialect for H6, or is it just like that in H5?

Database identifier generation with CockroachDB uses timestamp

Rm, according to CockroachDB1920IdentityColumnSupport in H5 it should be serial4 or serial8. So I'm not sure I've understood your comment.

Rm, according to CockroachDB1920IdentityColumnSupport in H5 it should be serial4 or serial8. So I'm not sure I've understood your comment.

Mmh.. yeah... it's one of those area that I need to look a bit better

I think this is now ready to be merged:

The issue with temporary tables is solved by enabling the feature in CockroachDB at startup;
The problem with the id was on our side, when the id is too big for the desired type we do a narrow primitive type conversion. I've changed it so that now we throw an exception. I suspect the right solution would be to reuse the castingIdentifierGeneratorHelper class in ORM, but it should be good enough for now;
A user can use the scheme cockroachdb in the url but it should also work if they specify postgres and select the CockroachDB dialect;
The credentials for CockroachDB we  use for testing are different than the ones for the other datastores because we are running it in insecure mode. I could replace the name of the dabatase to keep it consistent but, ultimately, it doesn't seem worth the effort for now;
The first three commits are not really related to this PR, but I've noticed those changes while I was working on it and decided to include them anyway.

Ultimately, this PR is a bit bigger than I've anticipated but I've tried to keep the commits self contained hoping that it will make it easier to follow the logic of the changes.

Merged https://github.com/hibernate/hibernate-reactive/pull/647


Fabric: node IPs

Description
This PR extends the internalnode API and adds the src IP used by host network pods to contact other pods.

/merge


Odd glitching at level change, missing navigation image

I'm working on a site to show virtual microscope slides at:
http://slides.cldavis.org/IAAAM/test.html
I'm trying to use Digitalocean's version of S3 and a CDN (keycdn) to serve the files. I'm only using levels 9-15 to keep the number of files down to a minimum.
I've mostly got the switching working; however, the navigator doesn't show an image now and I get weird glitching while zooming in and out. I think this might be the way I've got the addTiledImage coded, but that was the only way I could get it working. Any suggestions are greatly appreciated - I'm sure this is due to my lack of Javascript ability!
Relevant code:
Viewer setup
    var viewer = OpenSeadragon({
        id: "view",
        prefixUrl: "/openseadragon/images/",
        showNavigator:  true,
        navigatorAutoFade: true,
        autohidecontrols: true,
        showRotationControl: false,
});

Slide change code:
function changeImage(image,mpp,height,width) {

var TS = new OpenSeadragon.TileSource( {
        height: height,
        width: width,
        tileSize: 254,
        tileOverlap: 1,
        minLevel: 9,
        maxLevel: 15,
        getTileUrl: function( level, x, y ){
                return "http://virtualslides-c103.kxcdn.com/IAAAM2018/" + image$
        }
});

viewer.scalebar({
xOffset: 50,
yOffset: 50,
barThickness: 3,
stayInsideImage: true,
});

viewer.scalebar({
pixelsPerMeter: mpp ? (1e6 / mpp) : 0,
});
}

I am just guessing, but I'd say you're not seeing anything in the navigator because you don't have tiles below level 9; the navigator is very zoomed out, so it wants those lower level tiles. We don't have a mechanism for it to use the higher level tiles if the lower level ones aren't available, so it just gives up.
By glitching, do you mean the distortion on the bottom tiles? This looks like your edge tiles are padded instead of cropped. I recommend cropping them instead if you can. You can see some discussion on this in https://github.com/openseadragon/openseadragon/issues/1418. If you need to have them padded, you'll need to build the latest master of OpenSeadragon, since we haven't yet released that fix.

Ok - thanks! It seems to work when hosted on the server as opposed to S3, so I'll probably just switch to that route. I appreciate the look!


X25519 in JsonWebKey?

Hey @OR13 is there a reason that OKP / X25519 is not supported by this lib or is it just not in there yet? If it's the latter I can attempt a PR
https://github.com/transmute-industries/verifiable-data/blob/577fd3663858ac6ac3f4b4091e10246fead7a4bb/packages/json-web-signature/src/JsonWebKey.ts#L23

I'm guessing we'll also need to add 'ECDH-ES+A256KW' to https://github.com/transmute-industries/verifiable-data/blob/main/packages/jose-ld/src/types/JWA_ALG.ts

I see now that x25519 isn't meant for signatures and only encryption? 😅
It does seem like it should be added to JsonWebKey though so that we can use this fine library for didcomm encryption. Let me know how you think I should proceed

I believe this isn't a well formed JsonWebKey2020 as it doesn't have a publicKeyJwk :)
https://github.com/transmute-industries/verifiable-data/blob/577fd3663858ac6ac3f4b4091e10246fead7a4bb/packages/x25519-key-pair/src/X25519KeyPair.ts#L21

I think you are looking for something like this:
https://github.com/transmute-industries/verifiable-data/blob/main/packages/jose-ld/src/__tests__/JWE.x25519.ECDH-ES.test.ts
We use this for our universal wallet import / export format... and there is a reported bug in the latest version I have not gotten around to fixing:
https://github.com/transmute-industries/verifiable-data/pull/66

@brianorwhatever I am reading this as a feature request for adding X25519 support for JsonWebKey... we already support similar functionality for NIST curves here: https://github.com/transmute-industries/verifiable-data/blob/main/packages/jose-ld/src/tests/JWE.p384.ECDH-ES.test.ts
it wouldn't be that much extra work to wrap X25519KeyPair in the same way we are wrapping WebCryptoKeyPair.

The JWE.x25519.ECDH-ES is exactly what I am looking for not sure how I missed it last week. Thanks for deciphering my nonsense 😄

@brianorwhatever I am nervous about our implementation of it.... I really prefer to compare cross implementation tests for these kinds of things... particularly with https://www.npmjs.com/package/jose

Also related tests: https://github.com/transmute-industries/did-key.js/blob/main/packages/did-key-x25519/src/tests/jose.test.ts

So adding something like this was along the lines of where I was going before I realized that it doesn't really make sense in a json-web-signatures package.. approaches I can think of:

move JsonWebKey class into a new json-web-key package
yolo it into the json-web-signatures package
add it into the web-crypto-key-pair package here https://github.com/transmute-industries/verifiable-data/blob/e759685b9ef5283f20cbf84cfaf2901b8f7e6356/packages/web-crypto-key-pair/src/key/getCryptoKeyFromJsonWebKey2020.ts

if you pick an option of those I can create a PR. I'm leaning towards 3 myself

yeah, I agree leaning towards 3... the main reason I didn't do that upfront was (hopelessly) dreaming of a zero dependencies key representation that used window.crypto.subtle when available... but that would never support Ed25519 / X25519 / Secp256k1 / Bls12381.... that seems like a good enough reason to add support for them, and drop the 0 dependency dream.

I suggest using did:jwk moving forward... see https://github.com/transmute-industries/did-transmute


Single click to open menu - Double click to toggle

Normal behavior for menu apps is that a single click opens the menu to edit/view settings. But I still think it would be good to be able to double click to toggle the DNS.

Hi

Yo


Fixing alignment issue with long usernames

Longer gh-name gets misaligned on a exercise card. It'd look better centered

Hi @gabrysia694
Can I work on this?

Hi @rprav-n, of course! I’ll assign you to it right away

Hi @gabrysia694
It seems that the issue was caused by the text color of the phrase "Added by" being set to white in dark mode, which resulted in misalignment.
And do we still need the alignment to be centred?
Here's the screenshot:

Hi @gabrysia694
It seems that the issue was caused by the text color of the phrase "Added by" being set to white in dark mode, which resulted in misalignment.
And do we still need the alignment to be centred?
Here's the screenshot:

you're right, my bad! then fixing "Added by" color in dark mode should fix the issue, no need to center the alignment

Are the above changes fixed?


Xmind also imports and exports OPML

Hi Dave, great work for us organizers!
When I just reviewed your fine list of OPML capable mind mappers, I missed Xmind (https://xmind.app/de/download/).
That's capable of importing and exporting OPML but for exporting you'll need a Pro version.
Nevertheless - if the free version is my tool of choice spreading on all the operating systems, importing work from other tools is nicely done thanks to your OPML standard.

Sorry, international link: https://xmind.app/download/


Manual review of token replacement needed

PR: https://github.com/solana-labs/token-list/pull/14803
Assuming this is going to be Keone as usual. Ta for the hard work you put in here doing these issue reports! Need a manual review/update for a clients token that was pushed up earlier.

This is a pull update to replace a token which was given to me by a client earlier that I had pushed up earlier in the day.
The token is for NFT Candymachine whitelist which requires a token of 0 decimals of which that token wasn't set up with, so new one has been created for the project.
Old token (9 decimals) - D77wfRvxzFgdAHd1C1gE5JuwuSq4QLSTxc3huB52WBXH
https://explorer.solana.com/address/D77wfRvxzFgdAHd1C1gE5JuwuSq4QLSTxc3huB52WBXH
New Token (0 decimals) - 48A1pXHvottXTf954CMhZyoG7MdFjngLJCDKJS6iJUth
https://explorer.solana.com/address/48A1pXHvottXTf954CMhZyoG7MdFjngLJCDKJS6iJUth

A perfect issue report, kind sir.  Props.


Fix: CHANGELOG.md - Add missing entries

Add missing entries, we need to keep this file up to date and require a change when PR.

Can we consider using #xxx instead of https://github.com/bluebanquise/bluebanquise/pull/xxx to reference PRs?

Sure 😊
Done

Good catches. Tired...
Updated ! 😊


List rendering issue with keys

Describe the bug
List rendering ignores the key attribute while rendering vuex-orm resources
Steps to reproduce the bug
https://codesandbox.io/s/nostalgic-raman-t2qo9?file=/src/components/App/App.js

you can try adding posts traditionally (with ref array)
switch with vuex resources
compare time / see that every children is re-rendered

Expected behaviour
Children should not be re-rendered as the key (uid) is set.
Versions

Vuex ORM: 0.36.3
Vue: 3.0.0

Link to minimal reproduction
https://codesandbox.io/s/nostalgic-raman-t2qo9?file=/src/components/App/App.js

Hi,
I've the same issue. Imagine the simplest example: list with items.
List:

just get all items by all() getter
iterates them
and for each item call row/item component

Item (row)

get item id as an property (not whole object!)
gets item object from database through find() getter
render data

The issue is when I update content of some property - e.g. item name - whole list and all items are re-rendered. Why?
In case I'll do it without vuex-ORM, only have array of objects (or object, where key is id - like vuex-ORM *.data state), only changed item is re-rendered.
I've read about hydrating records from vuex-orm database records to produce Model instances, also I've read about cached getter results in vuejs component => this is the reason, why every time everything is re-rendered: query every time returns new instances with same data.
I've also tried many approaches how to avoid this:

make my own getters, which returns only plain objects instead of Model instances,
return only array of ids for list getter,
return comma-separated ids for list getter

@kiaking @cuebit Is there any way how to solve this?
My issue is simple: when I try to update items in a bulk way, it causes re-render after each item is updated (e.g. got ~100 items from server, dispatch 'update' action with array of data), browser get stuck until re-render is done for each updated item.
It makes me serious troubles, so, I'm thinking about excluding vuex-orm from project. It helps me a lot with data structure, relations between models, it's great. It work well until e.g. ~30 items for each entity (I have 7 entities at this time) But I can't afford performance problems in case there will be hundreds items :(
Versions

"@vuex-orm/core": "^0.36.4",
"vue": "^2.6.14",
"vuex": "^3.6.2",


Update package manager section in Readme

We switched to uv for package management but the Readme still has instructions for poetry.  I have a PR here but when I follow those steps I still get this package not found error:
Traceback (most recent call last):
  File "/Users/jtim/Dropbox/Mac/Documents/DLSS/DLME/dlme-airflow/bin/get", line 11, in <module>
    from dlme_airflow.models.provider import Provider
ModuleNotFoundError: No module named 'dlme_airflow'

If I need to do something different, can you put that in the Readme. If I'm doing everything right but you also get this error, can you open another ticket to document it.

Thanks for doing this @jacobthill -- what do you run to generate that error?

@edsu bin/get princeton al_madani > test.json

Does uv run bin/get princeton al_madani > test.json work?


chore(docs-dev): add missing markdown reference for astTransformers

Summary
Add missing markdown reference for astTransformers in documentation
Test plan

Doc page should display properly the option astTransformers
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build 5025

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.822%

Totals

Change from base Build 5024:
0.0%

Covered Lines:
1065

Relevant Lines:
1100

💛  - Coveralls


[graphics][highlight]From 2.0.15, sdl uses the alpha of color.

From https://www.libsdl.org/projects/SDL_ttf/:
Changes:

2.0.15:
 * Updated to FreeType version 2.9.1
 * Text rendering functions now use the alpha component of the text colors
 * Added support for characters greater than 0xFFFF (e.g. emoji) in the UTF-8 APIs

This led to issues on windows using the newest kivy.deps.sdl2 where randomly the text was faded. I verified that this fixed the issue.

I've installed Kivy 1.11.0 from Kivy's wheel for Python 3.7 64 bit, and unfortunately the problem was solved for a moment then reappeared for me.
Screenshot (contains console log) : https://gyazo.com/f32377f600c05dc4351832b76e9a37bd
Original post about my issue on Stackoverflow (where the screenshot was originally posted) : https://stackoverflow.com/questions/56208785/kivy-app-loads-with-other-colors-than-defaults-every-launch-bug
Sorry for just copying links though, I'm on my phone right now, I can't do much but I wanted to contribute.

Can you post a full log?

Can you post a full log?

Here is the full log :
[INFO   ] Logger: Record log in C:\Users\LeSplooch\.kivy\logs\kivy_19-05-20_95.txt [INFO   ] Kivy: v1.11.0.dev0, git-85f3577, 20190516 [INFO   ] Kivy: Installed at "C:\Program Files\Python37\lib\site-packages\kivy\__init__.py" [INFO   ] Python: v3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] [INFO   ] Python: Interpreter at "C:\Program Files\Python37\python.exe" [INFO   ] deps: Successfully imported "kivy.deps.gstreamer" [INFO   ] deps: Successfully imported "kivy.deps.angle" [INFO   ] deps: Successfully imported "kivy.deps.glew" [INFO   ] deps: Successfully imported "kivy.deps.sdl2" 0.1.20 [INFO   ] Factory: 184 symbols loaded [INFO   ] Image: Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored) [INFO   ] Text: Provider: sdl2 [INFO   ] Window: Provider: sdl2 [INFO   ] GL: Using the "OpenGL" graphics system [INFO   ] GL: GLEW initialization succeeded [INFO   ] GL: Backend used <glew> [INFO   ] GL: OpenGL version <b'4.6.13547 Compatibility Profile Context 25.20.15031.9002'> [INFO   ] GL: OpenGL vendor <b'ATI Technologies Inc.'> [INFO   ] GL: OpenGL renderer <b'AMD Radeon (TM) R9 380 Series'> [INFO   ] GL: OpenGL parsed version: 4, 6 [INFO   ] GL: Shading version <b'4.60'> [INFO   ] GL: Texture max size <16384> [INFO   ] GL: Texture max units <32> [INFO   ] Window: auto add sdl2 input provider [INFO   ] Window: virtual keyboard not allowed, single mode, not docked [INFO   ] Base: Start application main loop [INFO   ] GL: NPOT texture support is available [INFO   ] WindowSDL: exiting mainloop and closing. [INFO   ] Base: Leaving application in progress...

The solution is to either use kivy.deps.sdl2==0.1.18 (you seem to be on 0.1.20) or to upgrade to master (e.g. the nightly wheel).

The solution is to either use kivy.deps.sdl2==0.1.18 (you seem to be on 0.1.20) or to upgrade to master (e.g. the nightly wheel).

I already am using the nightly wheel, I'm on version 1.11.0 for Python 3.7 as you can see in the logs. I've also tried downgrading from kivy.deps.sdl2==0.1.20 to kivy.deps.sdl2==0.1.18 but now I just can't get a window.

Your version of master is too old and doesn't have the fix. Please update to a nightly wheel from this week.

Can you please give me a link to where I'm supposed to get it ? Because the last wheels I can get from this link are exactly the same as the one I already have installed : 1.11.0.dev0. And even tho I've tried downloading it again I have the exact same issue.

Now on Kivy 1.11.0.rc1, same issue, can't get a window.
Then again : 39 log files were generated. Here is the zip :
logs.zip
The log file my app has pointed to is the one that ends with _80, but I've zipped them all just in case you can find anything that can help.

The logs are not complete as they cut off after the first few lines.
I would suggest that you create a new virtual environment, install  with pip install kivy.deps.sdl2==0.1.18 kivy kivy.deps.glew and try from there. I suspect either your sdl2 didn't properly downgrade or something else. A virtualenv will let you start from fresh.

Thanks a lot for your patience. I'll try this in a few minutes, then post the result here.

I can't get a venv to work because python_d.exe can't be found. I'm sorry but it's starting to be way too much to do to get a simple module working. I'll wait for Kivy to be really stable.

Sorry, we're in the middle of doing a release so you got caught up downloading a kivy version that was incompatible. I'm not sure about the rest of your issues though.
Installing a venv should not require python_d.exe. Did it say that in a error? To install virtualenv just do python -m pip install --upgrade pip virtualenv. Then create a new venv by running python -m virtualenv kivy_venv. That will create the venv named kivy_venv. To activate it just run kivy_venv/activate if you're in windows cmd shell. Finally, you can now install kivy.

Oh, I said that because I didn't want to bother you with explaining me how to deal with a venv, but thanks a lot for still replying and helping me. No worries at all, I'm sure Kivy is amazing, I just had no luck because it turns out the current version has some bugs but it happens to best of us as developers, I understand.
I'll try your solution and give you a feedback, thanks again I insist.

Oh, sorry, I didn't see your edits - github only sends emails when you make a new post. It's almost always better to make a new post, unless your edit is right away.
Thanks for checking it out and confirming it is fixed. I didn't mean to guilt you into it, it's just that I wanted to provide the info in case you wanted to try it and I also wanted to know whether this issue was actually resolved.

Simple question : when a venv gets activated, do I need to reactivate my original Python environment afterwards to make it the default again ?

You can either close your terminal, or if you want to use the terminal with the original python, just do deactivate. It works in bash, I haven't tried it on windows CMD though.
Here are some info I'm posting on all the related issues from the last week that were due to the dependency updates in case you try to install again and things are not working. But feel free to wait for the actual release when things have stabilized before trying to install again:
I made a new kivy candidate release that hopefully resolves the issues and uploaded it to pypi. I also made new wheels for kivy dependencies. Given the existing issues with the binary dependencies I also took the opportunity to migrate our dependencies from kivy.deps.xxx to kivy_deps.xxx.
Here's complete instructions for how to install it.
python -m pip install --upgrade pip setuptools wheel virtualenv
python -m virtualenv kivy_venv

If you're in windows cmd shell do:
kivy_venv\Scripts\activate

otherwise do:
source kivy_venv/Scripts/activate

Next do (note that to install the new kivy rc2 you need to add --pre to pip):
pip install kivy_deps.glew kivy_deps.sdl2 kivy_deps.gstreamer kivy kivy_examples --pre
python kivy_venv/share/kivy-examples/demo/kivycatalog/main.py

Or any other tests and let me know if you run into any issues.

No worries I'll make new posts from now on.
You're welcome, I'm glad if it helped you too. It was more about me being desperate than anything else haha, don't worry you didn't guilt me into anything, as I've just said I'm glad to help and it's even more true when I see you're in the same spirit.
Thanks again for helping me with venvs, they look a lot sexier now and think I'll use them in most of my projects to avoid mysterious bugs/conflicts like the one I had with Kivy. And this is thanks to you only.
If I ever make a project that gets successful using Kivy you can be sure I'll mention both you and Kivy somewhere in it or when I'll talk about my project, in a "special thanks to" section or something like that.
BTW, still no bug to report as for now, everything runs smoothly.


Camera shutter sound is missing

In AOSP9/arm32, camera shutter sound is missing.

Will stay as it is; on AOSP10 it works as expected

The front camera stays completely out of focus all the time. With no way to change that. XZ3 device


”Tătăruși”, ”Iorcani”, ”Pietrosu”, ”Uda”, ”Vâlcica” are listed in the drop-down menu

Description:
When user writes ”Tătăruși”, ”Iorcani”, ”Pietrosu”, ”Uda”, ”Vâlcica” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Tătăruși"

Expected results
The location appears in the drop-down menu as "Sat Tătăruși, IAȘI (Tătăruși)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Iorcani"

Expected results
The location appears in the drop-down menu as "Sat Iorcani, IAȘI (Tătăruși)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Pietrosu"

Expected results
The location appears in the drop-down menu as "Sat Pietrosu, IAȘI (Tătăruși)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Uda"

Expected results
The location appears in the drop-down menu as "Sat Uda, IAȘI (Tătăruși)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Vâlcica"

Expected results
The location appears in the drop-down menu as "Sat Vâlcica, IAȘI (Tătăruși)".


Adding class and id to image?

Will you considering possibility that user can add custom class and id to image? Now is only possible to add image url and alt.

Markdown does not support more than the alt tag and the URL.

You can use Markdown Extra to add classes.

@hootlex  , can you post any example. how to add a class to img tag in simpleMDE using markdown extra


[feature] elasticsearch support

I think integrating this not only with RDBMS like Postgres (as seen in the roadmap) but also Elasticsearch would be quite awesome.

How complex would it be (being new to all rust, graphql and in particular roapi) to contribute https://github.com/graphql-compose/graphql-compose-elasticsearch a new query frontend to roapi using this graphql interface already provided by elastic?

Am I correct that you are suggesting querying elasticsearch through ROAPI?

Correct i.e. besides having CSV, parquet or delta files I think having Elasticsearch as a source would be awesome.

I would be more than happy to merge a PR that adds ES support :) ROAPI is designed to have query frontend and storage backend fully decoupled, so to add a new backend like ES, you won't need to touch change any of the query logic. The existing graphql query frontend will just work out of the box for any newly added backend.
To add ES backend support, there are two ways. The easy way is to read data from an ES index into in memory record batches using ES APIs. This is how we supports google spreadsheet, see: https://github.com/roapi/roapi/blob/main/columnq/src/table/google_spreadsheets.rs. The more efficient way to implement this support is to implement a ES datafusion data provider extension that translates table scan operation into ES API calls, the table provider trait is defined at https://github.com/apache/arrow-datafusion/blob/4f4153ba26a1b0141b2ee36fd521607389d9f611/datafusion/src/datasource/datasource.rs#L77.

Is there any chance to get i.e. the existing graphql interface (linked above) to play nicely? Or would a full-blown integration be required?


Landing page design bug

screenshot of design:

Screenshot of current implementation:

In the above image, there is a gap between the header and the bluish background for the cards, which does not conform to the 1st image/design.
The gap between the header and the first row of cards and the space between two cards (between the rows and column or between individual cards) is the same in the design.

Fixed the issue


Plasma5 quick launch Alt-F2 shortcut stopped working

Issue description
Pressing Alt-F2 is supposed to bring up Plasma5 quick launch. xev shows that Alt and F2 are working properly.
Steps to reproduce
Unknown
Workaround
Logout and login
Technical details

system: "x86_64-linux"
host os: Linux 4.14.47, NixOS, 18.03.git.0f73fef (Impala)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.0.2
nixpkgs: https://github.com/NixOS/nixpkgs/tree/0f73fef53a97ff68205715d6ab6c0362db95b32f

So, when is it not working? After some time? Before you logout, could you verify that krunner is still running?
If you have time and want to test Plasma 5.13, you could use my pr: https://github.com/NixOS/nixpkgs/pull/40893
Maybe your problem is gone with the new Plasma version.

In that case the most likely cause is that krunner occasionally crashes. I don't mind to run krunner with full debugging symbols all the time, but I don't have time to figure out how.

suffering from this bug too. Started right after upgrading from 19.10 to 20.04. And still not working.

I noticed something like this after updating, and it appears that it was an issue with the plasma settings, and resetting the Alt-F2 binding to KRunner fixed it.

Was a shortcut collision with application run command  for me. @michaelpj's hint was golden.

@anti-stale looks like this is a config issue with newer plasma5 packages. Needs to be addressed upstream.
For now it's fine with me. Maybe with others not so much.


Select all - Uncaught TypeError: Cannot read properties of undefined (reading 'checked')

Environment

Operating System: Linux
Node Version:     v20.8.0
Nuxt Version:     3.11.1
CLI Version:      3.11.1
Nitro Version:    2.9.5
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      routeRules, devtools, css, extends, modules, tailwindcss, dayjs, image, security, nitro, build, runtimeConfig
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Version
v.2.15
Reproduction
https://ui.nuxt.com/components/table
Description
Hi,
There is a error when click select all - "Uncaught TypeError: Cannot read properties of undefined (reading 'checked')"
You can see it in documantation also - https://ui.nuxt.com/components/table
        function onChange(event) {             if (event.target.checked) {                 selectAllRows();             } else {                 selected.value = [];             }
Additional context
No response
Logs
No response

Hello @goshku,
I'm working on it :)


Colour contrast of language toggle button

Language: English
Tool(s): colour contrast analyser
Browser/Screen reader: Firefox and IE
WCAG 2.0 reference: 1.4.3 Contrast (minimum)
Details: AQA found that the contrast fails for the language toggle button both out of focus and in focus.

was fixed in a previous commit


upgrade cloud_firestore to 3.1.0

Please, upgrade cloud_firestore from 2.5.3 to 3.1.0

Please, upgrade cloud_firestore from 2.5.3 to 3.1.0

You can use dependency overrides for rewrite cloud_firestore version
 dependencias:   ... dependency_overrides:   cloud_firestore: ^3.1.0

Version 1.0.3 has the latest version of all the packages 🎉


chore: sync v11 loading and inline-loading components

Related Ticket(s)
#10093
Description
This PR updates the loading and inline-loading components to match their v11 React counterparts
Changelog
New

playground stories with assistive text knobs

Changed

display style rule for non-overlay loading components

so far I've only been able to replicate on Windows/Firefox but not Windows/Chrome, need to look into it more


[1] First commit.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: alainmenag sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I've committed 2 new changes. Do I need to close this pull request and create a new one?


Can't create custom storage volumes on cephfs storage

Box
Ubuntu 18.04
root@alpha-0001:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic

root@alpha-0001:/# uname -a
Linux alpha-0001 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:11 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Latest snap:
root@alpha-0001:/# snap list
Name  Version    Rev    Tracking  Publisher   Notes
core  16-2.42.1  8039   stable    canonical✓  core
lxd   3.18       12317  3.18      canonical✓  -

Cluster
I have a working cephfs (i can mount it manually and add/remove data)
root@alpha-0001:/# ceph fs ls
name: forest, metadata pool: forest_meta, data pools: [forest_data ]

I'm running LXD clustered and added the storage
First node:
config:
  core.https_address: <IP_ADDRESS>:8443
  core.trust_password: secret
cluster:
  server_name: alpha-0001
  enabled: true
  member_config: []
  cluster_address: ""
  cluster_certificate: ""
  server_address: "<IP_ADDRESS>:8443"
  cluster_password: ""
networks: []
storage_pools:
- config:
    source: forest/lxd
  description: ""
  name: local
  driver: zfs
- config:
    cephfs.cluster_name: ceph
    source: forest
  description: ""
  name: remote
  driver: cephfs
profiles:
- config:
    boot.autostart: "1"
  description: Clients LXD profile
  devices:
    eth0:
      nictype: bridged
      parent: clients
      type: nic
    root:
      path: /
      pool: local
      type: disk
  name: default

Other nodes (with unique names/addresses obviously)
cluster:
  server_name: alpha-0002
  enabled: true
  cluster_address: <IP_ADDRESS>:8443
  cluster_certificate: |
    -----BEGIN CERTIFICATE-----
    -----END CERTIFICATE-----

  server_address: <IP_ADDRESS>:8443
  cluster_password: secret
  member_config:
  - entity: storage-pool
    name: local
    key: source
    value: "forest/lxd"
  - entity: storage-pool
    name: local
    key: zfs.pool_name
    value: "forest/lxd"
  - entity: storage-pool
    name: remote
    key: source
    value: "forest"

Cluster setup completes without errors, storage shows up fine:
root@alpha-0001:/# lxc storage list
+--------+-------------+--------+---------+---------+
|  NAME  | DESCRIPTION | DRIVER |  STATE  | USED BY |
+--------+-------------+--------+---------+---------+
| local  |             | zfs    | CREATED | 1       |
+--------+-------------+--------+---------+---------+
| remote |             | cephfs | CREATED | 0       |
+--------+-------------+--------+---------+---------+

Errors
I can't create volumes:
root@alpha-0001:/# lxc storage volume create remote testing
Error: mkdir /var/snap/lxd/common/lxd/storage-pools/remote/custom/testing: read-only file system

root@alpha-0002:/# lxc storage volume create remote testing
Error: mkdir /var/snap/lxd/common/lxd/storage-pools/remote/custom: file exists

I've set the cluster up manually and automated, both resulting in this problem.
Is there something i missed? Do i need to set some kind of permissions on the cephfs?

Can you show nsenter -t $(pgrep daemon.start) -m -- grep ceph /proc/mounts?

root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- grep ceph /proc/mounts
tmpfs /var/lib/snapd/hostfs/var/lib/ceph/osd/ceph-0 tmpfs rw,relatime 0 0
<IP_ADDRESS>:6789:// /var/snap/lxd/common/lxd/storage-pools/remote ceph rw,relatime,name=admin,secret=<hidden>,acl,mds_namespace=forest,wsize=33554432 0 0

Ok, so the Ceph filesystem is indeed mounted, good.
Can you try:

nsenter -t $(pgrep daemon.start) -m -- mkdir /var/snap/lxd/common/lxd/storage-pools/remote/test
nsenter -t $(pgrep daemon.start) -m -- rmdir /var/snap/lxd/common/lxd/storage-pools/remote/test

If that similarly fails with the read-only error, then that'd suggest some kind of ceph fs issue preventing new writes.

root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- mkdir /var/snap/lxd/common/lxd/storage-pools/remote/test
root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- ls /var/snap/lxd/common/lxd/storage-pools/remote
test
root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- rmdir /var/snap/lxd/common/lxd/storage-pools/remote/test
root@alpha-0001:/# lxc storage volume create remote testing
Error: mkdir /var/snap/lxd/common/lxd/storage-pools/remote/custom/testing: read-only file system
root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- ls /var/snap/lxd/common/lxd/storage-pools/remote
custom
root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- ls /var/snap/lxd/common/lxd/storage-pools/remote/custom
root@alpha-0001:/#

When i mount it manually as root like this:
root@alpha-0001:/# cat /etc/fstab
<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>:/ /mnt/cephfs ceph relatime,name=admin,secret=AQDxJ8Rd6XXfLRAAXRCbEtKF9bXoLZwj1tjwEw==,mds_namespace=forest 0 0

root@alpha-0001:/# mount | grep cephfs
<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>:/ on /mnt/cephfs type ceph (rw,relatime,name=admin,secret=<hidden>,acl,mds_namespace=forest,wsize=33554432)

I can create subdirectories, do you have any idea what's going on?

Ah, when i mount it like this:
<IP_ADDRESS>:6789:/ on /mnt/cephfs type ceph (rw,relatime,name=admin,secret=<hidden>,acl,mds_namespace=forest,wsize=33554432)

Everything is fine.
When i mount it like this:
<IP_ADDRESS>:6789:// on /mnt/cephfs type ceph (rw,relatime,name=admin,secret=<hidden>,acl,mds_namespace=forest,wsize=33554432)

I'm getting these errors. I don't know what path // is pointing to, but it seems to be causing this behaviour.

Oh, that's interesting.
What's your lxc storage show remote showing? I suspect we need to better handle source=/.

I'm using the default, storage has been setup with:
- config:
    cephfs.cluster_name: ceph
    source: forest
  description: ""
  name: remote
  driver: cephfs

I don't get why cephfs.path is showing forest here as i did not pass that as config.
root@alpha-0001:/# lxc storage show remote
config:
  cephfs.cluster_name: ceph
  cephfs.path: forest
description: ""
name: remote
driver: cephfs
used_by: []
status: Created
locations:
- alpha-0001
- alpha-0002
- alpha-0003

Now that i know the path is causing problems, i tried to setup the storage with the cephfs.path config set, but this seems to be ignored:
- config:
    cephfs.cluster_name: ceph
    cephfs.path: forest
    source: forest
  description: ""
  name: remote
  driver: cephfs

results in:
root@alpha-0001:/# lxc storage show remote
config:
  cephfs.cluster_name: ceph
  cephfs.path: forest
description: ""
name: remote
driver: cephfs
used_by: []
status: Created
locations:
- alpha-0001
- alpha-0002
- alpha-0003

and:
root@alpha-0001:/# nsenter -t $(pgrep daemon.start) -m -- grep ceph /proc/mounts
tmpfs /var/lib/snapd/hostfs/var/lib/ceph/osd/ceph-0 tmpfs rw,relatime 0 0
<IP_ADDRESS>:6789:// /var/snap/lxd/common/lxd/storage-pools/remote ceph rw,relatime,name=admin,secret=<hidden>,acl,mds_namespace=forest,wsize=33554432 0 0

Ok, that should be easy enough for me to try and replicate here. We've completely rewritten the cephfs support in master so there's a good chance that the bug is gone already, but certainly worth checking.

Reproduced the issue, though in my case, this led to a complete system lookup when trying to touch a file...

Sent a fix


F5 collectors need to use the REST API instead of Ansible

Some tenants are affected by this F5 bug: https://cdn.f5.com/product/bugtracker/ID1108181.html
There is not a workaround when using Ansible, so the collectors need to call the REST API directly instead. Sample code can be found in this gist: https://gist.github.com/ascension2020/9e1cfd62b70dca4d7dc820d0d37b1b4e
There are other advantages to calling the REST API directly. The most important one is that the output can be returned in JSON.
As part of this project, it would also be good to break the F5 collectors out into their own file, just like we did with meraki_collectors.py
This affects the following collectors:
f5_get_arp_table
f5_get_interface_descriptions
f5_get_interface_status
f5_get_node_availability
f5_get_pool_availability
f5_get_pool_data
f5_get_pool_member_availability
f5_get_pools_and_members
f5_get_vip_availability
f5_get_vip_destinations
f5_get_vip_summary
f5_get_vip_data
f5_get_vlan_db

No longer needed (bug is so infrequent that the effort/reward involved with converting all collectors to the rest API to something sense).


refactor: move pkg/extensions/search/common/oci_layout.go un…

…der pkg/test/

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:

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

@nicoldr why do we need pkg/search/common/ anymore now?

We have here the logic for tags and labels, also the functions to get all kinds of details contained in these labels and tags

@nicoldr why do we need pkg/search/common/ anymore now?

We have here the logic for tags and labels, also the functions to get all kinds of details contained in these labels and tags

"common" with what? typically represents some shared code with other parts of the codebase. If this is confined to search/ alone, would just move it up to under pkg/search/ itself.

@nicoldr why do we need pkg/search/common/ anymore now?

We have here the logic for tags and labels, also the functions to get all kinds of details contained in these labels and tags

"common" with what? typically represents some shared code with other parts of the codebase. If this is confined to search/ alone, would just move it up to under pkg/search/ itself.

Hello, Ram. I tried today the scenario in which we move all the code inside common directly under search, but import problems appeared. I had a meeting with Andrei and a new issue was created, and there you can see propositions to move for all the parts that are under search/common right now. Can you take a look at the issue and see if the suggested changes seem alright to you? New issue: #1342
Since it will be quite a work to do there, that PR would be independent from this one and can be reviewd separately


Clear text body

Reference:  #404 how to get the text values of appointment.getBody() without HTML Tags?

Hi @nickersd, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

I think exchange already offers to get the plain-text. See this post for more information.

@nickersd any feedback if the suggested example resolves your situation?

I had no situation.  I was using jsoup before and was just looking to contribute. This pull can be ignored.


Invalid notification action for git when subscribing to :sync or :checkout

FC037 warns on valid actions for git:
file = "/tmp/hey.txt"
execute "something #{file}" do
  subscribes :sync, "git[/tmp/repo]", :delayed
  subscribes :checkout, "git[/tmp/repo]", :delayed
  only_if { File.exist?(file) }
  action :nothing
end

Warning message:
FC037: Invalid notification action: cookbooks/company/providers/myprovider.rb:49

Confirmed against master


cmd/link: unable to ingest ARM objects and resources on Windows

There are a number of issues/bugs in the linker that prevent it from being able to ingest PE objects for arm, or prevent it from being able to ingest PE resource objects as produced by clang, which is the only compiler we've got for windows/arm.
I've fixed these issues already, so this issue is to coordinate the inclusion of those CLs into Go.
I'm hoping this can be done for 1.16.
CC @cherrymui @ianlancetaylor @bradfitz @alexbrainman @aclements @rsc

Gopher Bot has now added links for all 5 patches.

@zx2c4 , I'm a little unclear on which release we should be targeting these CLs for. Is there a subset that fixes important bugs while also being low risk? Are you thinking they all need to go in to get windows/arm usable?

I was thinking they all go in now. They're all pretty low risk and none are really invasive in the least. Without it, it's hard to make a real windows/arm app.

This is about linking against PE objects generated by a C toolchain, right? Could you use -ldflags=-linkmode=external to let the C linker handle them? (And it should default to external linking, why not?)

This is about linking against PE objects generated by a C toolchain, right? Could you use -ldflags=-linkmode=external to let the C linker handle them? (And it should default to external linking, why not?)

External linking doesn't work with the toolchains available for windows/arm. I was thinking of getting windows/clang cgo support squared away at some point, maybe for 1.17, but that seems like a way larger project than fixing a few small things here and there.

External linking doesn't work with the toolchains available for windows/arm.

Sorry I'm a bit confused. Are you saying that the C toolchain can produce PE objects but cannot link them to executables? How would the C toolchain work, then? Or you mean the Go linker doesn't invoke the C linker correctly?

I mean that the Go toolchain doesn't invoke the C linker correctly. I haven't started very far down that path, but I suspect the first thing involved in repairing that will be conditionalizing the linker script that we're currently passing to gcc (p := writeGDBLinkerScript(), argv = append(argv, "-Wl,-T,"+p)). This doesn't seem overly difficult of a project, but it does seem like a project, and I haven't really started on it yet or looked too deeply into what's required.

Sorry, I think we're all still a little fuzzy on this.
Just to clarify, is it accurate to say the goal here is to support internal linking with C objects on windows/arm because external linking doesn't currently work?
Given that windows/arm doesn't have cgo support right now, where are these C objects coming from? How does external linking without cgo even come up?
Did this previously work and something changed or broke, or is this something that never worked on windows/arm?
In general, all other platforms have quite limited support for internally linking with C objects. Really, it's just meant to be enough to support the limited use of C in std itself, and the moment user code reaches for C we switch to external linking. Is this just about the C code in std itself (I'm honestly not sure what there is on Windows), or user C code?

Just to clarify, is it accurate to say the goal here is to support internal linking with C objects on windows/arm because external linking doesn't currently work?

No. I have no desire at all to use external linking. I thought cherry was suggesting that as some kind of temporary hack. But I would really rather not, as internal linking is faster and doesn't require me to haul a large toolchain around.

No, I did not suggest external linking as a temporary hack. In general, cgo is supported with external linking. Internal linking is used by default in only limited cases. You can opt in internal linking, but it is not a general solution, because we don't want to reimplement a complete C/C++ linker.
As you noted, cgo is not yet supported on windows/arm. What C objects are you trying to link against? Since cgo is not supported, it wouldn't work to call into C code anyway.

Oh, okay. I'm not trying to link against "C objects". Rather, I'm just linking against simple resource objects -- ones with .rsrc sections and nothing else -- which the Go linker already mostly supports, with a few caveats that my series fixes up.

Overview of the series, which lets .rsrc objects work with windows/arm:

https://golang.org/cl/268237 -- cmd/link: recognize arm header of PE objects

We recognize magic bytes for 386 and amd64 objects but not arm objects, so this adds the magic detection.

https://golang.org/cl/268238 -- cmd/link: deal with ADDR32NB relocations the same way as ADDR32 on arm

Existing code forgot to handle a common relocation type, used in .rsrc objects.

https://golang.org/cl/268239 -- cmd/link: ignore SEH marking on PE objects

We can ignore a marking on PE objects instead of erroring out, also used in .rsrc objects.

https://golang.org/cl/268258 -- cmd/link: do not mark resource section as writable

This fixes what was probably a typo. Nobody expects for the resource section to be writable at runtime!

https://golang.org/cl/268337 -- cmd/link: handle grouped resource sections

This lets lets the linker handle .rsrc objects that are split into .rsrc$01 and .rsrc$02 sections, as is very commonly the case (and the only case with the tools available on windows/arm).

Oh, okay. I'm not trying to link against "C objects". Rather, I'm just linking against simple resource objects -- ones with .rsrc sections and nothing else

@aclements think of icons stored in executable file. If Windows find these icons in your executable file, it will display them when you look at your executable. These icons are converted into an object file by external tools like windres (see comment in src/cmd/link/testdata/testPErsrc-complex/rsrc.syso in CL 268337). And then Go linker reads these object files and adds them as .rsrc PE section to a built executable.
Go linker was always able to handle resources generated by GCC version of windres. But according to Jason GCC windres is not available on Windows arm. BTW, @zx2c4 what about https://github.com/akavel/rsrc ? Why couldn't we use that instead?
Alex

@aclements think of icons stored in executable file. If Windows find these icons in your executable file, it will display them when you look at your executable. These icons are converted into an object file by external tools like windres (see comment in src/cmd/link/testdata/testPErsrc-complex/rsrc.syso in CL 268337). And then Go linker reads these object files and adds them as .rsrc PE section to a built executable.

Right. The important takeaway here being that the Go linker already has special support for resource sections, and the existing test case uses an object that was generated with the "windres" tool. The "windres" tool available with arm, however, does not work, and that's what my patches fix.

Go linker was always able to handle resources generated by GCC version of windres. But according to Jason GCC windres is not available on Windows arm. BTW, @zx2c4 what about https://github.com/akavel/rsrc ? Why couldn't we use that instead?

Extremely limited and incomplete. If we're taking that route, I'll just write my own tool instead. And if it's between writing my own tool and patching the linker with a few totally trivial patches to make things work fine with the "windres" that works on arm, then I'll go with the patches.
In other words, the tiny series is the most straightforward way to accomplish the goal of shipping windows/arm software, and fits in with already existing capabilities (ability to ingest .rsrc files). I'm confused why fixing a few things to work with arm would require so much discussion.

Side question: why doesn't windres work on Windows ARM?  When I wrote the first version decades ago I don't recall any platform dependencies.

Side question: why doesn't windres work on Windows ARM? When I wrote the first version decades ago I don't recall any platform dependencies.

Simply because there's no binutils or gcc for windows/arm, and attempts on the mailing list in the past have fallen on the floor. So the only mingw compiler on windows/arm is from clang's toolchain, whose windres outputs more standard resource objects.

The binutils appear to support arm-pe.  I was just able to do
../configure --target=arm-pe
make all-binutils

and I got a windres program.  But I haven't tried using it.  And perhaps there are problems building it natively on Windows ARM, i don't know.

Last I looked, the gnu toolchain would produce objects for old wince arm, but not new nt armv7.

Oh, okay. I'm not trying to link against "C objects". Rather, I'm just linking against simple resource objects -- ones with .rsrc sections and nothing else -- which the Go linker already mostly supports, with a few caveats that my series fixes up.

Thanks. This was the critical context I was really missing on this CL series.

I'm confused why fixing a few things to work with arm would require so much discussion.

It wasn't clear to any of us until your message I quoted above that what you were trying to accomplish was quite limited in scope. Your other messages had mentioned both resources and other PE objects, and that seemed to run against the design of the Go linker on other platforms and like far too much to land during the freeze (irrespective of the size of the CLs themselves). All this discussion was to get to the point where the scope and intent were clear.
Now that we understand, I think we should go ahead and land these CLs for 1.16. I don't know that we really need a freeze exception for this, but I'll write one up.

Filed #43182 for a freeze exception.

It wasn't clear to any of us until your message I quoted above that what you were trying to accomplish was quite limited in scope.

Ahh okay. Sorry for being muddled in my descriptions, but glad we found clarity. Thank you for filing the freeze exception.


Version check in admin

Add the ability for MailSlurper to lookup the current version information from the master branch in Github and display an alert box on the admin screen if the version of MailSlurper being run is behind.

Hi Adam,
This would be good for us if we could view an html email in a new tab on chrome. Any chance? Best,
Mark Horrocks email<EMAIL_ADDRESS>  From: Adam Presley<EMAIL_ADDRESS>
To: mailslurper/mailslurper<EMAIL_ADDRESS>Sent: Friday, 18 March 2016, 20:57
Subject: [mailslurper] Version check in admin (#43)
Add the ability for MailSlurper to lookup the current version information from the master branch in Github and display an alert box on the admin screen if the version of MailSlurper being run is behind.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

Hi @markhorrocks. This sounds like something that can certainly be done. I've made a new ticket for this, #44. How do you see this working? A button on the preview pane that opens in a new tab? Please comment over on issue #44. Thanks!

Hi Adam,
Yes, that would be how I see it working. It needs to open in a separate browser so the emails can be tested on various platforms. Basically, what you have now allows us to test the email selection and sending functionality of the app but we also want to check that the emails themselves look correct as they are built by the app. A built in viewer wouldn't be the solution I believe.
cheers, Mark Horrocks email<EMAIL_ADDRESS>  From: Adam Presley<EMAIL_ADDRESS>
To: mailslurper/mailslurper<EMAIL_ADDRESS>Cc: Mark Horrocks<EMAIL_ADDRESS>Sent: Thursday, 24 March 2016, 9:01
Subject: Re: [mailslurper] Version check in admin (#43)
Hi @markhorrocks. This sounds like something that can certainly be done. I've made a new ticket for this, #44. How do you see this working? A button on the preview pane that opens in a new tab? Please comment over on issue #44. Thanks!—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub


⚠ ClamAV has degraded performance

In 2cc3457, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 52 ms

Resolved: ClamAV performance has improved in e26fece.


Linux: Use system-ui for workbench's font

Visual Studio Code's workbench currently uses -apple-system, BlinkMacSystemFont, Segoe WPC, Segoe UI, HelveticaNeue-Light, Ubuntu, Droid Sans, sans-serif as a font. But many Linux distributions use different system fonts (for example Open Sans in elementary and Cantarell in Fedora).
Font stack should have system-ui. system-ui always represents default UI font.

We possibly have duplicates for this.
/cc @Tyriar

Duplicate https://github.com/Microsoft/vscode/issues/10144


Updated exploit_detail.md (English Translation)

Translated exploit_detail_ja.md to English with the help of DeepL translator

thanks !


Make Performance/StringIdentifierArgument aware of string interpolation

Closes #386, see there for benchmark script. The improvement isn't quite as large as for the other cases of this cop but it's still measurable. In addition it makes the code more uniform.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


chore(deps): update semantic-release monorepo (major)

This PR contains the following updates:

Package
Type
Update
Change

@semantic-release/exec
devDependencies
major
3.3.8 -> 4.0.0

semantic-release
devDependencies
major
15.14.0 -> 16.0.0

Release Notes

semantic-release/exec
v4.0.0
Compare Source
Bug Fixes

package: update execa to version 4.0.0 (662a148)
use correct peerDependencies for semantic-release (fda4ecf)
package: update aggregate-error to version 2.0.0 (f18fbd4)
package: update execa to version 2.0.2 (6579bb3)
package: update execa to version 3.0.0 (ae40d3f)
return false in addChannel if step is skipped (d12a029)
return false in publish if package if step is skipped (48fc813)

Features

add addChannel plugin step (bdeda6c)
require Node.js >=10.13 (e4367de)
require Node.js >=8.15 (454965e)

BREAKING CHANGES

Require Node.js >= 10.13
Require Node.js => 8.15

semantic-release/semantic-release
v16.0.0
Compare Source
Bug Fixes

add channel to publish success log (5744c5e)
add a flag indicate which branch is the main one (2caafba)
Add helpful detail to ERELEASEBRANCHES error message (#1188) (37bcc9e)
allow multiple branches with same channel (63f51ae)
allow to set ci option via API and config file (2faff26)
call getTagHead only when necessary (de77a79)
call success plugin only once for releases added to a channel (9a023b4)
correct log when adding channel to tag (61665be)
correctly determine next pre-release version (0457a07)
correctly determine release to add to a channel (aec96c7)
correctly handle skipped releases (89663d3)
display erroring git commands properly (1edae67)
do not call addChannelfor 2 merged branches configured with the same channel (4aad9cd)
do not create tags in dry-run mode for released to add to a channel (97748c5)
fetch all release branches on CI (b729183)
fix branch type regexp to handle version with multiple digits (52ca0b3)
fix maintenance branch regex (a022996)
fix range regexp to handle version with multiple digits (9a04e64)
handle branch properties set to false (751a5f1)
harmonize parameters passed to getError (f96c660)
ignore lasst release only if pre-release on the same channel as current branch (990e85f)
increase next version on prerelease branch based on highest commit type (9ecc7a3)
look also for previous prerelease versions to determine the next one (9772563)
modify fetch function to handle CircleCI specifics (cbef9d1)
on maintenance branch add to channel only version >= to start range (c22ae17)
remove confusing logs when searching for releases to add to a channel (162b4b9)
remove hack to workaround GitHub Rebase & Merge (844e0b0)
remove unnecessary await (9a1af4d)
simplify get-tags algorithm (00420a8)
throws error if the commit associated with a tag cannot be found (1317348)
update plugin versions (0785a84)
update plugins dependencies (9890584)
verify is branch is up to date by comparing remote and local HEAD (a8747c4)
pacjage: update @semantic-release/github and @semantic-release/npm (d55fda3)
package: update @semantic-release/commit-analyzer to version 7.0.0-beta.2 (725780b)
package: update @semantic-release/github to version 5.3.0-beta.5 (c1c96a8)
package: update @semantic-release/github to version 5.6.0-beta.1 (6053b89)
package: update @semantic-release/npm to version 5.2.0-beta.3 (390e966)
package: update @semantic-release/npm to version 6.0.0-beta.3 (65c4122)
package: update @semantic-release/github (9a30f35)
package: update @semantic-release/npm and @semantic-release/github (d6731b9)
package: update aggregate-error to version 2.0.0 (5d6fd7c)
package: update execa to version 3.0.0 (9537927)
package: update marked to version 0.6.0 (d0891bf)
package: update micromatch to version 3.1.10 (e5344cd)
package: update micromatch to version 4.0.2 (5618641)
package: update p-each-series to version 2.1.0 (2c655b2)
package: update semver-diff to version 3.1.1 (581998c)
remove unnecessary branch parameter from push function (968b996)
revert to the correct refspec in fetch function (9948a74)
update plugins dependencies (73f0c77)
repositoryUrl: on beta repositoryUrl needs auth for pre-release flows (#1186) (3610422)

Features

allow addChannel plugins to return false in order to signify no release was done (e1c7269)
allow publish plugins to return false in order to signify no release was done (47484f5)
allow to release any version on a branch if up to date with next branch (916c268)
require Node.js >=10.13 (0716a45)
require Node.js >=8.15 (f1d983d)
support multiple branches and distribution channels (7b40524)
use Git notes to store the channels on which a version has been released (b2c1b2c)
package: update @semantic-release/commit-analyzer to version 7.0.0 (e63e753)

Performance Improvements

use git tag --merge <branch> to filter tags present in a branch history (cffe9a8)

BREAKING CHANGES
Require Node.js >= 10.13

Use Git notes to store the channels on which a version has been released.
This feature change the way semantic-release keep track of the channels on which a version has been released.
It now use a JSON object stored in a Git note instead of Git tags formatted as v{version}@{channel}.
The tags formatted as v{version}@{channel} will now be ignored.
If you have made releases with v16.0.0-beta on branches other than the default one you will have to update your repository.
If you have never used v16.0.0-beta nothing has to be done in your repo.
The changes to make consist in:

Finding all the versions that have been released on a branch other than the default one by searching for all tags formatted v{version}@{channel}
For each of those version:

Create a tag without the {@channel} if none doesn't already exists
Add a Git note to the tag without the {@channel} containing the channels on which the version was released formatted as {"channels":["channel1","channel2"]} and using null for the default channel (for example.{"channels":[null,"channel1","channel2"]})
Push the tags and notes
Update the GitHub releases that refer to a tag formatted as v{version}@{channel} to use the tag without it
Delete the tags formatted as v{version}@{channel}

Git CLI version 2.7.1 or higher is now required
The --merge option of the git tag command has been added in Git version 2.7.1 and is now used by semantic-release

Regexp are not supported anymore for property matching in the releaseRules option.
Regex are replaced by globs. For example /core-.*/ should be changed to 'core-*'.

The branch option has been removed in favor of branches
The new branches option expect either an Array or a single branch definition. To migrate your configuration:

If you want to publish package from multiple branches, please the configuration documentation
If you use the default configuration and want to publish only from master: nothing to change
If you use the branch configuration and want to publish only from one branch: replace branch by branches ("branch": "my-release-branch" => "branches": "my-release-branch")

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:ghost: Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

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

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

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

master+v2.154.6
GitHub release

Your semantic-release bot :package::rocket:


Updates by Asylcreek

I took out the already existing plates and replaced them with two new ones.

I just realized i didn't take out all the conflicting plates.


changes I would make

I did my best to look at the code and make the api more idiomatic Go. I also moved all the summary documentation to a doc.go file. That needs to be cleaned up. I also made sure the comments are compliant with golint. You should run that tool.
All the tests you had are working but I would double check that as well.  Of course, you can reject the whole PR or just use it to cherry pick what you want.

Thank you Bill!
I'll try to understand and follow the idiomatic Go way from now on.


Question: Homology dimension clarification

Hi, I was hoping you could provide some clarification on the homology parameter that is used in methods such as rivet.betti.
As stated in "Persistent Homology for Virtual Screening", the ith Betti number corresponds to the number of i-dimensional holes

However, from working with the API in this repository and exploring the RIVET GUI, I am not sure how the homology parameter comes into play. That is, even if I set, homology=0 for example, I seem to have access to information about 1-dimensional and 2-dimensional holes:

Therefore, I was hoping to get a better understanding of what the homology parameter is doing, e.g. if I am working with 3D coordinates of molecules and I want to calculate L2 hilbert-distance between two molecules, what determines whether I should set homology=0, 1, 2...?
Thanks in advance for any help!

Hi Yaif,
Perhaps regrettably, the term "Betti number" is used for two different
invariants in this kind of mathematics.  The first use, more common in
topology and in TDA, is as in the quote you give from the preprint.  The
second use, which is quite common in commutative commutative algebra, is
for the invariant RIVET is visualizing via colored dots (green, red,
yellow) in the left panel of your screenshot.  In the case of your
screenshot, this is an invariant of the 0th homology module.  when working
with 2-parameter persistence, I  generally refer to the latter invariants
as "bigraded Betti numbers," and as you can see, the RIVET interface also
uses this language.  Please see the "mathematical preliminaries" section of
the RIVET documentation for a brief explanation of this invariant.
https://rivet.readthedocs.io/en/latest/preliminaries.html
In the language of commutative algebra, the former notion of Betti number
(when considered at all indices) is often instead called the "Hilbert
function" of the module.  It is shown via greyscale shading in your
screenshot.
On Tue, Sep 1, 2020 at 10:03 AM Yair Schiff<EMAIL_ADDRESS>wrote:

Hi, I was hoping you could provide some clarification on the homology
parameter that is used in methods such as rivet.betti
https://github.com/rivetTDA/rivet-python/blob/7cd2d5eeffcb2913286359e9624f68899f0e5bc1/pyrivet/rivet.py#L247
.
As stated in the "Persistent Homology for Virtual Screening"
https://chemrxiv.org/articles/PHoS_Persistent_Homology_for_Virtual_Screening/6969260,
the ith Betti number corresponds to the number of i-dimensional holes
[image: Screen Shot 2020-09-01 at 9 57 41 AM]
https://user-images.githubusercontent.com/35781889/91860375-95477280-ec39-11ea-90c8-2c54b6550087.png
However, from working with the API in this repository and exploring the
RIVET GUI, I am not sure how the homology parameter comes into play. That
is, even if I set, homology=0 for example, I seem to have access to
information about 1-dimensional and 2-dimensional holes:
[image: Screen Shot 2020-09-01 at 9 59 30 AM]
https://user-images.githubusercontent.com/35781889/91860625-e48da300-ec39-11ea-8256-43131bc527fa.png
Therefore, I was hoping to get a better understanding of what the homology
parameter is doing, e.g. if I am working with 3D coordinates of molecules
and I want to calculate L2 hilbert-distance between two molecules, what
determines whether I should set homology=0, 1, 2...?
Thanks in advance for any help!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rivetTDA/rivet-python/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC72KBFVBVSFVBX66R5LA2TSDT5MTANCNFSM4QRYFCGQ
.

@mlesnick, thank you for the quick response and explanation.
To clarify, if I want to calculate the L2 hilbert distance as described in the preprint, then using the example from the api tour notebook, I would need to adjust it as follows:
aspirin_h0_betti = rivet.betti_file('aspirin-ZINC000000000053.sdf.txt', homology=0, x=10, y=10)
tylenol_h0_betti = rivet.betti_file('tylenol-ZINC000013550868.sdf.txt', homology=0, x=10, y=10)
aspirin_h1_betti = rivet.betti_file('aspirin-ZINC000000000053.sdf.txt', homology=1, x=10, y=10)
tylenol_h1_betti = rivet.betti_file('tylenol-ZINC000013550868.sdf.txt', homology=1, x=10, y=10)
aspirin_h2_betti = rivet.betti_file('aspirin-ZINC000000000053.sdf.txt', homology=2, x=10, y=10)
tylenol_h2_betti = rivet.betti_file('tylenol-ZINC000013550868.sdf.txt', homology=2, x=10, y=10)

# We can compute distance between these using Hilbert functions
from pyrivet import hilbert_distance
distance = 0
distance += hilbert_distance.distance(aspirin_h0_betti, tylenol_h0_betti)
distance += hilbert_distance.distance(aspirin_h1_betti, tylenol_h1_betti)
distance += hilbert_distance.distance(aspirin_h2_betti, tylenol_h2_betti)
print("Distance with Hilbert functions:",  distance)

is that correct? or am I still misunderstanding something


refactor: remove border when no expertise/requirement/keyDates

for Open projects

Besides that, all empty fields are hidden!


Error: Invalid parameter "prefix"

Hello,
Steps done
I successfully built ros2 branch for cartesian_controllers (all modules) and cartesian_controllers_universal_robots.
I run my ursim_cb3 for UR10 in docker.
Modified: robot.launch.py line 21 to my robot IP:
"robot_ip", default_value="<IP_ADDRESS>", description="The robot's IP address".
In setup.urdf.xacro I changed ur10e to ur10 in relevant lines.
Problem
I run:
ros2 launch cartesian_controllers_universal_robots robot.launch.py

Output:
2 packages had stderr output: cartesian_controller_simulation cartesian_controller_tests
[INFO] [launch]: All log files can be found below /home/mat/.ros/log/2023-12-15-***
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): executed command failed. Command: /opt/ros/humble/bin/xacro ros_ws/install/cartesian_controllers_universal_robots/share/cartesian_controllers_universal_robots/urdf/setup.urdf.xacro robot_ip:=<IP_ADDRESS>
Captured stderr output: error: Invalid parameter "prefix"
when instantiating macro: ur_robot (/opt/ros/humble/share/ur_description/urdf/ur_macro.xacro)
in file: ros_ws/install/cartesian_controllers_universal_robots/share/cartesian_controllers_universal_robots/urdf/setup.urdf.xacro

Software
ROS version: ROS2 humble
System: Ubuntu 22.04.
Robot: ursim_cb3 with UR10 or actual robot.
Just to mention I get to work successfully github.com/UniversalRobots/Universal_Robots_ROS2_Driver with joint_space_controller by launching following command:
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=<IP_ADDRESS>

My goal is to test cartesian controllers on UR10 robot (both ursim and actual robot) in similar way like mentioned ur_robot_driver.
Any suggestion how to proceed?

@pietrzakmat Thanks for spotting and solving this!
If you wish, you could open an PR. I'm happy to merge this.


feat: Support Moore Threads GPU

This PR introduces support for Moore Threads GPUs, leveraging MUSA (Moore Threads Unified System Architecture)’s capabilities to accelerate Stable Diffusion inference.
Testing Done

Local build -> pass
Docker build -> pass
Tested Stable Diffuison v2.1 -> pass (the model is loaded and utilized on the MTT S80)

$ docker build -t sd-musa -f Dockerfile.musa .
$ docker run -it -v $PWD:/ws sd-musa -m /ws/v2-1_768-nonema-pruned.safetensors -p "fantasy medieval village world inside a glass sphere , high detail, fantasy, realistic, light effect, hyper detail, volumetric lighting, cinematic, macro, depth of field, blur, red light and clouds from the back, highly detailed epic cinematic concept art cg render made in maya, blender and photoshop, octane render, excellent composition, dynamic dramatic cinematic lighting, aesthetic, very inspirational, world inside a glass sphere by james gurney by artgerm with james jean, joe fenton and tristan eaton by ross tran, fine details, 4k resolution" -o /ws/output.png

Thank you for your contribution.

Thank you


[rtabmap] Fix platform and linkage support

rtabmap-res_tool is moved to a separate port because it is a host dependency, and actual dependencies of rtabmap are heavy and non opt-out. Only minimal patching needed.
CC @matlabbe.

/mnt/vcpkg-ci/installed/x64-linux/share/vtk/vtk-prefix.cmake(1):  set(_vtk_module_import_prefix ${CMAKE_CURRENT_LIST_DIR} )
/mnt/vcpkg-ci/installed/x64-linux/share/vtk/vtk-prefix.cmake(2):  get_filename_component(_vtk_module_import_prefix ${_vtk_module_import_prefix} DIRECTORY )
/mnt/vcpkg-ci/installed/x64-linux/share/vtk/vtk-prefix.cmake(3):  get_filename_component(_vtk_module_import_prefix ${_vtk_module_import_prefix} DIRECTORY )
/mnt/vcpkg-ci/installed/x64-linux/share/vtk/vtk-config.cmake(110):  set(${CMAKE_FIND_PACKAGE_NAME}_PREFIX_PATH ${_vtk_module_import_prefix} )
/mnt/vcpkg-ci/installed/x64-linux/share/vtk/vtk-config.cmake(112):  unset(_vtk_module_import_prefix )
/mnt/vcpkg-ci/installed/x64-linux/share/vtk/vtk-config.cmake(113):  list(INSERT CMAKE_PREFIX_PATH 0 ${${CMAKE_FIND_PACKAGE_NAME}_PREFIX_PATH} )

Ouch. vtk breaking vcpkg CMAKE_PREFIX_PATH for debug configurations. (Because of vcpkg moving cmake config.)
I think we can just remove this line. CC @Neumann-A

That seems to be https://github.com/microsoft/vcpkg/pull/37119/commits/95052b826401ecbcde023f29b8fab7c29f1358a5 what I fixed in the 5.12 PR

The vtk patch is part of  #37119.

In local testing of the rtabmap feature, the failure occurred due to the inability to install liblzma, which is a known issue.


Prototype system for initializing model state

🎉 New feature
Closes #2318
Summary
This adds a system called SetModelState that accepts an xml configuration containing <model_state> tags intending to serve as a prototype for new syntax for the <state> tag in SDFormat 1.12. Currently, only <joint_state> tags are supported; support should also be added for <link_state>.
Example <model_state> syntax from examples/worlds/set_model_state.sdf

Using degrees

        <model_state>
          <joint_state name="j1">
            <axis_state>
              <position degrees="true">60</position>
              <velocity degrees="true">-30</velocity>
            </axis_state>
          </joint_state>
        </model_state>

Using radians

        <model_state>
          <joint_state name="j1">
            <axis_state>
              <position>1.047</position>
              <velocity>-0.523</velocity>
            </axis_state>
          </joint_state>
        </model_state>

Test it
gz sim -v 4 examples/worlds/set_model_state.sdf

The rotors should start at a 60 degree angle and rotate clock-wise at 30 degrees / second.
Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

For specifying link velocity, there has been a request to change the link_state specification for velocity to not use the pose type (see https://github.com/gazebosim/sdformat/issues/1366). As mentioned in that issue, an alternative is to specify velocity as two vector3 types since there is no vector6 type in SDFormat and this avoids confusion about the order of the data.
<model_state>
  <link_state name="link1">
    <linear_velocity>{vx} {vy} {vz}</linear_velocity>
    <angular_velocity>{wx} {wy} {wz}</angular_velocity>
  </link_state>
</model_state>

Can this be used to set the model state of a model in which no gz-sim-set-model-state-system, for example to permit to have a generic model for a robot, that is include in a .world and in which world-specific positions are specified?

Yes, I would like to push these syntax changes upstream to the the <state> specification in SDFormat 1.12. I'm treating this pull request and system as a prototype for those syntax changes.

One difference between this prototype and what we could achieve by updating the //world/state specification is that this plugin allows specifying the initial state of a model from within the //model element, whereas the //world/state element must be defined at the world level. I think it is convenient to set model state from within the model, so I would also propose adding a //model/state tag as well, which would add complexity and require defining an order or precedence, but I think it would be a valuable addition.

I've updated the world file to use SDFormat 1.11 and auto-inertials in https://github.com/gazebosim/gz-sim/pull/2359/commits/7cab1bb44ece6d20986c9832afee436b5c3a69d2


[1.19.2] Cannot plant seeds on Peat Farmland

The title is self explanatory, can't seem to plant seeds on Peat Farmland even the vanilla ones.

Fixed for next update-  thanks for the report.


BUG: after failed tx every keysign will fail

BUG: When a keysign fails all further keysigns can't be initiated until the apps gets restarted.
To Reproduce
Steps to reproduce the behavior:

failed keysign
initiate new tx
try to sign new keysign
See error

Expected behavior
new keysign initiates without restarting app
Screenshots

Desktop (please complete the following information):

OS: 14.5
Version 26

Smartphone (please complete the following information):

Device: iPhone
OS: 17.4.1
Version 26

Additional context
Add any other context about the problem here.

I am having a very hard time to reproduce it , any more context can you provide for this one? @realpaaao

@johnnyluo could relative consistently reproduce it when initiating a keysign and aborting it directly. After that pairing device was just waiting on keysign to start. Maybe got fixed due to other fixes?
Will try to reproduce again and come back to you

Closing, can't reproduce anymore


cleos set contract fail

The latest version，when i running this command "cleos set contract eosio build/contracts/eosio.bios" ,I get a error like this:
[root@COMDEV0628 eos]# cleos set contract eosio build/contracts/eosio.bios
Reading WAST/WASM from build/contracts/eosio.bios/eosio.bios.wasm...
Using already assembled WASM...
Publishing contract...
2808368ms thread-0   main.cpp:2555                 main                 ] Failed with error: Assert Exception (10)
!"unresolvable": env.set_proposed_producers
Before running the command, I have deleted the build directory and run ./eosio_build.sh

cleos set contract eosio ${eos_path}/contracts/eosio.bios contracts/eosio.bios/eosio.bios.wast ${eos_path}/contracts/eosio.bios/eosio.bios.abi

@liyongpengCtrip it seems like version mismatch between the system contract and nodeos.
set_proposed_producers function was renamed from set_active_producers, your system contract uses set_proposed_producers while nodeos doesn't provide it
try recompiling everything from the same version of source code


Code style pass for null conditions

Overview

Update to use the null coalescing expression ?? when Unity objects aren't involved

https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0029-ide0030

Simplify conditional checks when explicit true and false are used

For example, if (foo != null ? foo.IsValid : false) can just be if (foo != null && foo.IsValid)
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0075

Use conditional delegate calls instead of explicit null checks

https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide1005

/azp run

/azp run


Add nix shell banner

Entering nix develop should print a welcome message similar to how https://github.com/yusdacra/rust-nix-templater does

If we can do this in a general way (abstracted way as an external repo to be used as a flake input, with minimal Nix stub) that would be ideal. cc @yusdacra

The devshell message there comes from https://github.com/numtide/devshell, which is a lightweight devshell with nice features. haskellPackages would need to use that for a devshell message. But haskell-template could probably just use devshell and set up a shellHook that sources the haskellPackages shell and add a commands using devshell configuration.

Done in https://github.com/srid/haskell-template/pull/72


Add Shadowdark support

Meta-issue to keep track of Shadowdark (SD) support todos. Minimal system basics are already on add-shadowdark. Those first few are related to the sheet itself:

[x] Gear - similar to Cairn (slots and coins as paddles on side or as separate small boxes on top)
[x] Talents - same as gear, possibly a filter for talent origin
[x] Spells - add SRD spell option (as a small dialog window with Svelecte and simple spell display), spell level filter, spellcasting ability, spell-attack modifier, simple spells known table
[x] Attacks - should be linked with items (similar to how 5e works)
[ ] Level-Up - if a character reaches an XP threshold (add settings option to enable this always no matter the xp), allow the player to level-up; small dialog with talents rolling and general changes overview

And the following should be in the GM's overview:

[ ] Initiative tracker - could be the same as 5E's tracker
[ ] Monsters view - similar to Cairn monsters, would probably need to be simplified to take less space (so the initiative tracker fits)

Misc stuff:

[ ] JSON import - when the character schema is finalised, add SD JSON schema validation

Simple Figma mockup of how the sheet could look:

Basic character sheet was added in #128.


Setting classes: true starts with invalid class set

Versions:

VueJs: 2.5
Vee-Validate: 2.0.0.rc26

Description:
Passing classes: true causes some elements to start with the invalid class attached.
Steps To Reproduce:
A fiddle that I was using for a blog post:
https://jsfiddle.net/me8bamxz/4/

On an unrelated note it also seems that the localization broke when I upped the version from rc23 to rc26

That is weird, I cannot produce it locally and the second field doesn't seem to be affected by this behavior, I will invistigate and report back.
As for the localization, there are some breaking changes introduced in rc.26 and another fixes still pending and will be released if I can verify and close this issue.

I found the issue, when the directive fires the updated hook in those following timings:

When the valid/invalid flags are in an undetermined state null (shortly after binding).
When the silent validation sets both flags to their initial state.

The fix was to make the classes only apply when the field has been validated at least once by user interaction or the validation API.


Proposed changes for a Hive V1 API.

wanted to put this here before i forget (just a brain dump that we can talk about later):
if we treat the installconfig as a single-use install-only object (whether configmap or secret shouldn't matter), then we could auto-populate the clusterDeployment.Spec mutable fields from the contents in the installconfig. (more brain dump: would adopting an existing cluster simply be a new clusterDeployment with an empty reference to the installConfig?)
then surfacing new mutable fields (for new clusters) becomes a matter of inspecting the installconfig and populating the clusterDeployment.Spec, and just setting the actual defaults for existing clusterDeployments that pre-date making the field mutable?

Large update posted after a second round of discussion with Hive team. I think amongst the team, we're ok with where this is right now. It's kept a little bit light, no major refactoring of controllers or logic in Hive, just stabilizing and cleaning up based on what we've learned so far.
We do not plan to copy data into or out of the installconfig and clusterdeployment, there are a few bits that will be duplicated.
Not everything left in the ClusterDeployment will be mutable day 2, but the problem is better than it was before. Attempting to do so led us to a much larger refactor and CRD split that we were not comfortable considering for v1, more of a v2alpha1.

CC @jewzaam @mwoodson @jhernand if any of you would like to review and comment.

Commit https://github.com/openshift/hive/pull/631/commits/c29e6c4f91b2ed5497b0f91892085fc1526cb8cd adds a field for injecting additional install manifests. After talking with Derek he requested this as way to do things like use Calico networking which involves specifying no network config in InstallConfig, and a custom manifest with network operator config.
@knobunc can you confirm this would work and seems reasonable for something like switching to Calico.
@openshift/openshift-team-hive I nested this, and install config, within a Spec.Installation. Not married to it, just grouping again because these are install inputs and immutable. Let me know what you think.

Commit c29e6c4 adds a field for injecting additional install manifests. After talking with Derek he requested this as way to do things like use Calico networking which involves specifying no network config in InstallConfig, and a custom manifest with network operator config.

We could use that same mechanism to pass extra host data for workers for baremetal clusters during the installation, if that's a thing we want to do.

For comparison from Google: https://cloud.google.com/config-connector/docs/reference/resources#containercluster

I have added another commit outlining a proposal the team came up with this morning for how we can migrate to v1 without forking and abandoning prod/stage until they can get Hive running on 4.3. Please let us know what you think.

@gyliu513 if you and/or your team would like to review, here is our current proposal for changes we'd like to make to transition to a stable v1 API. Still may be some changes to come, but it's been through a number of rounds of discussion so hopefully it's getting close. Please let us know what you think.

Just pushed an update that clarifies a few things after discussions with SD.

/cc @hardys @stbenjam

Latest commit adds a proposal to move the current high level MachinePool -> MachineSets mapping out of ClusterDeployment, into a separate MachineSetGenerator CRD, and make it optional.
After install we want to sync the MachineSets the installer generated back to a SyncSet in Hive, one time. After this the SyncSet is authoritative and syncing to the cluster.
If a MachineSetGenerator is tied to that MachineSet SyncSet, it will reconcile the contents of it as we do in-cluster today.
If no MachineSetGenerator is tied to the MachineSet SyncSet, it is available for the Hive user to fully configure their MachineSets in-cluster.
We also added notes on how we believe Autoscaling and machine config pools can be reconciled with SyncSets without any explicit logic in Hive.
We still need to look into the health checking and status questions.

Updated again today, we've removed the feature for full access to MachineSets.
Clarified a proposal for MachinePool's and autoscaling and added an example of the proposed CRD.
@derekwaynecarr at this point I am assuming autoscaling support is not critical to implement, just that we should have a plan to accomodate it with v1 api in future. Let me know if this is mistaken.

Question for those following this PR,
Today, if you request a MachinePool of size 10 and do not specify explicit AZs, assuming 5 AZs are available to your account, you get 5 MachineSets in the cluster each of size 2, one per available AZ.
If we were to expand to add support for Autoscaling configuration and you specified min 10 replicas max 20, would you expect this to result in 5 MachineSets each configured to autoscale between 2-4 nodes? Does this seem like expected behavior?
Similar would apply if you specified an explicit list of AZs, we would breakdown the counts and spread them out over whatever was requested.

@dgoodwin have you ever consider using hive to manage the managed OCP services on different clouds? I opened an issue at https://github.com/openshift/installer/issues/2637 and hope can get some comments from both installer and hive team in RH. Thanks!

Yes we have been thinking about this, a member of our team was reassigned to do a PoC on that (cc @csrwng) and we've been talking about getting it incorporated into Hive. This is mentioned a little in this proposal as "hosted control plane". Definitely something we would like to get added once it's ready.

Should we merge this for historical purposes or just close? If we merge, we could clean it up in future into a "what changed in v1 doc". I would not advocate doing this now however.

Should we merge this for historical purposes or just close? If we merge, we could clean it up in future into a "what changed in v1 doc". I would not advocate doing this now however.

I like the idea of merging it and cleaning it up in the future. I don't have much faith that it will ever be cleaned up though.


Erroneous NumberFormat locale - pt_PT

Describe the bug
pt currency should be formatted as EUR and not BRL.
Based on the example at https://api.flutter.dev/flutter/intl/NumberFormat/locale.html, create a NumberFormat with:

var formatter = NumberFormat.currency(locale: 'pt'); // or pt_PT and eu
formatter.format(3);
Result is BRL 3 but should be EUR 3

To Reproduce
Add a minimal working example or, if not possible or available, any code which might help to reproduce the problem
void main(List<String> arguments) {
var formatter = NumberFormat.currency(
    locale: 'pt_PT',
    decimalDigits: 2
);
formatter.format(3);
}

import 'package:intl/intl.dart';

void main() {
  var formatter = NumberFormat.currency(
      locale: 'pt_PT',
      decimalDigits: 2
  );
  print(formatter.format(3));
}

does print 3,00 EUR. The locale pt means pt_BR, so it will not print EUR.

it does not print 3,00 EUR, it prints BRL, I've mentioned it
var formatter = NumberFormat.currency(locale: 'pt'); // or pt_PT and eu
The result is always BRL

Interesting. What does running https://dartpad.dev/?id=33450ca181a781f5e1909144c7aa834f print for you?

In fact, from your example I see EUR. I've tried again and now it works. I'm not sure what was wrong, thanks anyway


Error when trying to import AuthProvider using Context API

What version of Remix are you using?
1.18.1
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce
app/contexts/auth.js
import React, { useState, createContext, useContext } from 'react'

export const AuthContext = createContext({
  currentUser: null,
  setCurrentUser: () => { }
})

export const AuthProvider = ({ children }) => {
  const [currentUser, setCurrentUser] = useState({
    name: 'Example',
    email<EMAIL_ADDRESS>  })

  return (
    <AuthContext.Provider
      value={{
        currentUser,
        setCurrentUser
      }}
    >
      {children}
    </AuthContext.Provider>
  )
}

export const useAuthContext = () => useContext(AuthContext)

I tried using it in the entry.client.jsx, but without success:
import { RemixBrowser } from "@remix-run/react";
import { startTransition } from "react";
import { hydrateRoot } from "react-dom/client";
import { AuthProvider } from "./contexts/auth";

startTransition(() => {
  hydrateRoot(
    document,
    <AuthProvider>
      <RemixBrowser />
    </AuthProvider>
  );
});

The same error occurs if you try to use it in the root.jsx:
import { AuthProvider } from "./contexts/auth";

export default function App() {
  return (
    <html lang="en">
      <head>
        <meta charSet="utf-8" />
        <meta name="viewport" content="width=device-width,initial-scale=1" />
        <Meta />
        <Links />
      </head>
      <body>
        <AuthProvider>
          <Header />
          <Outlet />
          <Footer />
        </AuthProvider>
        <ScrollRestoration />
        <Scripts />
        <LiveReload />
      </body>
    </html>
  );
}

Expected Behavior
The same code works in Next.js, so I hope it works in Remix as well.
Actual Behavior

Don't worry. This issue is caused when trying to import a .js file. I was saving my context files as .js and not .jsx. A user on Discord helped me to solve this issue.

I think there should be a warning about the extension though!


Refactor frontend side functions to only return 1 thing Plus error

Already working on it!

To comment on this refactor, it's just better practice. First i didn't know you could pass on a golang error to js trought wails.
This is a quick refactor, since there are already functions that do this in the ServerController this is just a small refactor which will be changed later on.


Predictions

Context
In addition to managing models, we should be able to see & edit current prediction models via the UI,
as well as basic storage of model data.
Tasks

[x] Add Model View Page
[x] Move EditModel to component
[x] Move Model to component
[x] Add ability to create Prediction via the UI
[x] Add ability to list Preductions via the UI
[x] Add S3 Storage for Raw Models
[ ] Add ability to upload Raw Model via API

Known Issues

[ ] Models can't be deleted if they have predictions
[ ] Handle error messages when deleting predictions
[ ] Handle error messages when updating/creating predictions