feat(build-rs): Add the 'error' directive

What does this PR try to resolve?
My previous audit mostly focused on env variables and missed that cargo::error hadn't been added yet.
This also includes other clean up along the way to #14902 and fixing of some env variable handling that I'm working towards.
How should we test and review this PR?
Additional information

CC @CAD97


New preliminary sample: SpeakHere

Thanks! @BlueRiverInteractive could you try this sample and make sure it works with the latest bindings and merge it? Also make sure it uses our artwork. We should update it once we have AudioToolbox bindings.

Thanks!

Why was this sample removed? It didn't work with the latest bindings?


O(n^2) algorithm in model

Moved this from the model here.  Sorry, didn't notice that badge to report issues here.
You might already know this, but the implementation of mapListBy in the model implementation is algorithmically inefficient:
      const mapListBy = (identity, iterator) =>
        listBy(identity, state$, (ident) => iterator(ident, lens(L.find(it => identity(it) === ident))))

The problem is that L.find performs a linear, O(n), search over the array of length n and, to construct elements for the whole array, L.find is called n times for a total of O(n^2).  This is a significantly worse time complexity than what can be achieved.  For short lists it doesn't matter, but for long arrays it will make a significant difference.
If you look at the ways in which we're using fromIds(ids, toElem) in our production project (see the develop branch), you will notice that we actually use index lenses inside the toElem function.  This way the time complexity of the construction of an array of elements will be O(n).

It would seem that the version in core has a similar issue.  See:
            const item$ = list$.map(findByIdentityEq(identity, key)).share()

and:
  function findByIdentityEq(identity, key) {
    return items => {
      for (var i = 0; i < items.length; i++) {
        if (identity(items[i]) === key) return items[i]
      }
    }
  }

If I read the code correctly, this leads to mapListBy construction to have O(n^2) time complexity.

Cool. Nice notice, thanks! I have to check the fromIds implementation in more detail


xfce4-13.xfce4-dict: 0.8.0 -> 0.8.1

Motivation for this change
minor update
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Attempted: xfce4-13.xfce4-dict
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1
shrinking /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1/bin/xfce4-dict
shrinking /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1/lib/xfce4/panel/plugins/libxfce4dict.so
gzipping man pages under /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1/share/man/
strip is /nix/store/7iyn7gn33i7xxjgmwf25k20246y6nd9d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1/lib  /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1/bin
patching script interpreter paths in /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1
checking for references to /build in /nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1...
strip is /nix/store/7iyn7gn33i7xxjgmwf25k20246y6nd9d-binutils-2.30/bin/strip
/nix/store/hx5fwz9gnf8wp4s3xshs27wili6a9x44-xfce4-dict-0.8.1

Success on x86_64-linux (full log)
Attempted: xfce4-13.xfce4-dict
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1
shrinking /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1/lib/xfce4/panel/plugins/libxfce4dict.so
shrinking /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1/bin/xfce4-dict
gzipping man pages under /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1/share/man/
strip is /nix/store/90vmpr41dzsx350k5argycaf693hnl1l-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1/lib  /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1/bin
patching script interpreter paths in /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1
checking for references to /build in /nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1...
strip is /nix/store/90vmpr41dzsx350k5argycaf693hnl1l-binutils-2.30/bin/strip
/nix/store/5nw7yvb56acqvp4ycqn8lzbiwsdgq6q9-xfce4-dict-0.8.1


Error - Using insecure protocols with repositories, without explicit opt-in, is unsupported while integrating flutter as module.

We have used flutter as module and We have integrated singular flutter 1.0.0 successfully. while integrating module gradle is not able to build.

`FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven5(http://maven.singular.net/)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

@friedran @haxorcize @yuvalcar @flow3d , if you released this issue, pls try to acknowledge here also. Will be helpful = for the next time.

gladle plug in can be downgraded to < 7

Hi @happysingh23828.
We have updated our flutter SDK.
You can use our latest version and the problem is solved.

Thanks @omribaraksingular, I'll check this. 👍 .
closing the thread.


⚖ Register Validator: SG-1

Network Choice
drunemeton-1
Who are you?
SG-1 offers cutting edge validator architecture for the Interchain Era. As a dedicated validator in the cosmos ecosystem the the Cosmos Hub's early days, SG-1 is dedicated to providing the utmost quality of service and reliability to our delegators.
Based in Germany/Austria, SG-1 operates top of the line Staking services with robust alerting and monitoring. We support the networks we operate on from supporting them in testnet, to offering tooling and services to support building on each network.
Delegator address
okp4160vda78k84j9ch4gfzpxtc0jlj9qh2zzmmgyrj
gentx
{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"SG-1","identity":"48608633F99D1B60","website":"https://sg-1.online","security_contact":"clyde@sg-1.online","details":"SG-1"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"","validator_address":"okp4valoper160vda78k84j9ch4gfzpxtc0jlj9qh2zzwucdan","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"YNPYhXqMsugWtDtUN7ujdYHweLeWMr/UJS78zjN5Av4="},"value":{"denom":"uknow","amount":"10000000000"}}],"memo":"76c705a5e52c364c71aeb0b9384ae88e01f4e99f@<IP_ADDRESS>:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ao9YA0xJcJRaTRc+Rrk1qNSk9BUspWW/CALlvbSHpN5g"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["5YX2M5iZ2n/dwUgv1whKxumkd9ZLnJDy13dSEE+TZtw2QRTuG7kb46YUchhoeP22f8rOkujpn3MXkStkRV92YQ=="]}

😢 I couldn't process your request: Register process is closed for this network.

😢 I couldn't process your request: Register process is closed for this network.

😉 Here is the corresponding PR: https://github.com/okp4/networks/pull/724

Done by: https://github.com/okp4/networks/pull/724


Remove 'run' from generic binaries list

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

There is a new project called run and there does not seem to be any commands with this name already taken.
https://github.com/Homebrew/homebrew-core/pull/48100

Thanks again @dawidd6!

Thanks for merging this!


Keep getting this index out of range error. Any ideas?

I get the same message. It was working last week!

It seems the UI was updated. I'll fix it soon.

Actually, you don’t need to. I found a workaround. If you use python3 download_reloaded.py -user -p, it still downloads all the songs from your playlist without any error message. So I have created a dummy account for this purpose. Btw, I love this script, thanks for it. And keep it alive for as long as possible!
On 19Jun, 2020, at 12:28 PM, Monu<EMAIL_ADDRESS>wrote:
It seems the UI was updated. I'll fix it soon.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/monuyadav016/Saavn-Downloader/issues/27#issuecomment-646511902, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQAISZSFNQUWE4PRGAZLWGDRXMOUVANCNFSM4OCMCCTA.

@vaishakhgarg Actually it does. Since many have reported it. Also the functionality for users with accounts is different and does not rely on web scraping the ID for playlist and albums. So changes in UI can break functionality for those using it without having a jiosaavn account.

Duplicate of #26

Please fix this error soon.

@hyndraslic @vaishakhgarg @amail101 A small fix for downloading albums and playlist has been done. I'll have to figure out a fix for artist and individual songs. Download and update the scripts.

Thank you! It's working for me.now

@monuyadav016 awesome!! I've been refreshing the tab since morning for update.
Please don't ever discontinue this beautiful script.
Thanks a lot!

@monuyadav016 it is not working!!! the terminal is stuck at enter url:

can anyone help, I have reinstalled the script

It got stuck for a minute or two. Then it produced following output:
Unable to get albumID:
DONE

@faheembhati I don't even get that output

@faheembhati @vaishakhgarg I know this fix is not perfect because the updated UI is making it slow to obtain the ID. The json embedded in their web pages is broken. Fixing that is slow and the script would feel stuck and at times may not work. I'll have to look more into it. For now I recommend creating a temporary account and using it to download the playlist.

@faheembhati @vaishakhgarg I know this fix is not perfect because the updated UI is making it slow to obtain the ID. The json embedded in their web pages is broken. Fixing that is slow and the script would feel stuck and at times may not work. I'll have to look more into it. For now I recommend creating a temporary account and using it to download the playlist.

no problem man! the user playlist command is still working, you're awesome!

@faheembhati @hyndraslic @vaishakhgarg @amail101 I have fixed it properly now. You can update the scripts and test it. Now the downloads should be as fast as it was before.

@monuyadav016 Thanks for the quick update. Let me download and test it.

@monuyadav016 If a directory contains ":" it throws following error:
NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\Users\xxxxxx\Non-Artist\xxxx: xxxxxx'


Switch gl_TexCoord to vec2 in vertex shader header

I'm perhaps misunderstanding the code here, but it seems to me like gl_TexCoord should be a vec2, given mesh example code that looks like this:
mesh.coords = [[0, 0], [1, 0], [0, 1], [1, 1]];

I known what you're saying but gl_TexCoord is actually supposed to be a vec4. It's the same reason why gl_Vertex is a vec4 instead of a vec3. Sometimes you need all four values. When you pass smaller-sized vectors as vertex attribute values, the values for the missing fields are taken from the default value vec4(0, 0, 0, 1). The definition of gl_TexCoord (and gl_Vertex) can be found in the GLSL spec: https://www.opengl.org/registry/doc/GLSLangSpec.Full.1.10.59.pdf.

The behavior for default values isn't in the GLSL spec, but you can find it in the OpenGL spec: https://www.opengl.org/registry/doc/glspec30.20080811.pdf. That behavior is defined in section 2.7: Vertex Specification.

Gotcha :)


Added support for allusers on Windows.

Description:
The original script is creating only registry items for the current user HKEY_CLASSES_ROOT or precisely in HKEY_CURRENT_USER\SOFTWARE\Classes .
I have added support for optional registration for all Windows users or HKEY_LOCAL_MACHINE\SOFTWARE\Classes which requires elevated instance of node (Run as administartor) or it will throw corresponding error.

Type of change:

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.

Hi change the branch to allUserSupport because the main branch will go to production soon.
and this feature need to be implemented in all OS before going live.


Implement equals(), hashCode() and toString()

Sorry for the late answer. You are using the Java-7 Objects class in your pull request. This would require moving the project from Java-6 to Java-7. I am using EvalEx in a large project, which is based on Java-6.
Do you see any chance to stay with Java-6?

Sure, it's fixed so that it doesn't use the Objects class.

I merged this pr and made one change to it:

renamed function originalExpression() to getOriginalExpression()


feat: truncate-left for labels

Description
Adds a flag that allows truncation to the left side of text
Usage
(defwidget center []
  (label :text "ラウトは難しいです"
         :truncate-left true
         :limit-width 2
         :show-truncated true
  )
)

Showcase
The configuration above will result in something like:

Likewise, using false on the truncate-left property or omitting the property completely will default to right hand side truncation.
:truncate-left true :limit-width 4 :show-truncated false:

:truncate-left false :limit-width 5 :show-truncated true:

:limit-width 5 :show-truncated true:

Additional Notes
It might also be useful to allow users to specify some text to use instead of the ellipsis?
Checklist
Please make sure you can check all the boxes that apply to this PR.

[x] All widgets I've added are correctly documented.
[x] I added my changes to CHANGELOG.md, if appropriate.
[ ] The documentation in the docs/content/main directory has been adjusted to reflect my changes.
[x] I used cargo fmt to automatically format all code before committing

Thanks a lot, never really thought about this, but it should definitely exist!

I really wish the docs mentioned this property. I didn’t know about this and had to do something weird with regular expressions.

@mantacid The docs should now be fixed!


500 Error for Apple Music Sync

I had previously signed up as flybayer and connected Apple Music and Spotify. I was getting a bunch of new music I didn't care about from my Spotify graveyard. So to remove all those I canceled my Droptune account, and then created a new one with the same Twitter.
Right after first login to the new account, the Apple Music button says "Refresh Apple Music Library" instead of "Connect".
When I click "Refresh Apple Music Library" the button text changes to "Scanning .." but the API call returns a 500 error.
Looks like I hit an unexpected edge case 😬

This should be fixed!


spo list roleassignment add not working as expected

Priority
(Medium) I'm annoyed but I'll live
Description
I'm trying to programmatically create a lot of document libraries and associated permissions based on a CSV.  I've got most of the configuration I need working, however I'm struggling the assignment of permissions.
I've successfully broken inheritance, and now I want to assign permission based on Entra Security groups (I could live with 365 Group if I have to).
I'm using the command spo list roleassignment add --webUrl https:\mysite  --listTitle "Team" --GroupName "siteSecGroup" -roledefinitionName "Contribute"
This gives me the error Error: Group cannot be found
I've tried using --principalId and supplying the object ID, but that ones gives me the error: Error: Specified principalid 12345-1234-1234 is not a number
The documentation for these commands explicitly says that I can use Entra groups, so why does it not work?
If I create a Sharepoint group first (m365 spo group add)  I can add that group, but that doesn't match up with the EntraID group.
The same errors persist whether it's a security or m365 group.  I can assign either group manually through the document settings menu.
Am i doing something wrong?  I'd really like this working because assigning permissions to 100 document libraries is going to be extremely tedious!
Thank you!
Steps to reproduce
Create entra security group
Create document library
run the command: m365spo list roleassignment add --webUrl https:\mysite  --listTitle "Team" --GroupName "siteSecGroup" -roledefinitionName "Contribute"
Expected results
Group to be added to library permissions list
Actual results
--groupName produces the error:  Group cannot be found
--principalId produces the error:  Specified principalId is not a number
Diagnostics
Request:
{
"url": "https://tenantname.sharepoint.com/sites/sitename//_api/web/roledefinitions",
"method": "get",
"headers": {
"Accept": "application/json;odata.metadata=none",
"user-agent": "NONISV|SharePointPnP|CLIMicrosoft365/7.10.0",
"accept-encoding": "gzip, deflate",
"X-ClientService-ClientTag": "M365CLI:7.10.0",
"odata-version": "4.0",
"authorization": "Bearer ACCESSTOKEN"
},
"responseType": "json",
"decompress": true
}
Response:
{
"url": "https://tenantname.sharepoint.com/sites/sitename//_api/web/roledefinitions",
"status": 200,
"statusText": "OK",
"headers": {
"cache-control": "private, max-age=0",
"transfer-encoding": "chunked",
"content-type": "application/json;odata.metadata=none;odata.streaming=true;IEEE754Compatible=false;charset=utf-8",
"expires": "Wed, 10 Jul 2024 11:22:25 GMT",
"last-modified": "Thu, 25 Jul 2024 11:22:25 GMT",
"vary": "Origin,Accept-Encoding",
"p3p": "CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"",
"x-networkstatistics": "0,525568,0,0,13920,0,32822,4",
"x-sharepointhealthscore": "2",
"x-sp-serverstate": "ReadOnly=0",
"odata-version": "4.0",
"spclientservicerequestduration": "18",
"sprequestduration": "19",
"x-aspnet-version": "4.0.30319",
"x-databoundary": "EU",
"x-1dscollectorurl": "https://eu-mobile.events.data.microsoft.com/OneCollector/1.0/",
"x-ariacollectorurl": "https://eu-mobile.events.data.microsoft.com/Collector/3.0",
"sprequestguid": "d9bc3fa1-20a4-9000-825a-7e8ffe2d62ce",
"request-id": "d9bc3fa1-20a4-9000-825a-7e8ffe2d62ce",
"ms-cv": "oT+82aQgAJCCWn6P/i1izg.0",
"strict-transport-security": "max-age=31536000",
"x-frame-options": "SAMEORIGIN",
"content-security-policy": "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com *.stream.azure-test.net *.microsoftstream.com *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;",
"x-powered-by": "ASP.NET",
"microsoftsharepointteamservices": "<IP_ADDRESS>10",
"x-content-type-options": "nosniff",
"x-ms-invokeapp": "1; RequireReadOnly",
"x-cache": "CONFIG_NOCACHE",
"x-msedge-ref": "Ref A: AEF71239D46E469888B3BCF5ADE3F7F7 Ref B: LON21EDGE2416 Ref C: 2024-07-25T11:22:25Z",
"date": "Thu, 25 Jul 2024 11:22:25 GMT"
},
"data": {
"value": [
{
"BasePermissions": {
"High":<PHONE_NUMBER>,
"Low":<PHONE_NUMBER>
},
"Description": "Has full control.",
"Hidden": false,
"Id":<PHONE_NUMBER>,
"Name": "Full Control",
"Order": 1,
"RoleTypeKind": 5
},
{
"BasePermissions": {
"High": 432,
"Low":<PHONE_NUMBER>
},
"Description": "Can view, add, update, delete, approve, and customize.",
"Hidden": false,
"Id":<PHONE_NUMBER>,
"Name": "Design",
"Order": 32,
"RoleTypeKind": 4
},
{
"BasePermissions": {
"High": 432,
"Low":<PHONE_NUMBER>
},
"Description": "Can add, edit and delete lists; can view, add, update and delete list items and documents.",
"Hidden": false,
"Id":<PHONE_NUMBER>,
"Name": "Edit",
"Order": 48,
"RoleTypeKind": 6
},
{
"BasePermissions": {
"High": 432,
"Low":<PHONE_NUMBER>
},
"Description": "Can view, add, update, and delete list items and documents.",
"Hidden": false,
"Id":<PHONE_NUMBER>,
"Name": "Contribute",
"Order": 64,
"RoleTypeKind": 3
},
{
"BasePermissions": {
"High": 176,
"Low": 138612833
},
"Description": "Can view pages and list items and download documents.",
"Hidden": false,
"Id":<PHONE_NUMBER>,
"Name": "Read",
"Order": 128,
"RoleTypeKind": 2
},
{
"BasePermissions": {
"High": 48,
"Low": 134287360
},
"Description": "Can view specific lists, document libraries, list items, folders, or documents when given permissions.",
"Hidden": true,
"Id":<PHONE_NUMBER>,
"Name": "Limited Access",
"Order": 160,
"RoleTypeKind": 1
}
]
}
}
Retrieving the group by name SP_IHDemo_M365Test
Existing access token ACCESSTOKEN still valid. Returning...
Request:
{
"url": "https://tenantname.sharepoint.com/sites/sitename//_api/web/sitegroups/GetByName('SP_IHDemo_M365Test')",
"method": "get",
"headers": {
"Accept": "application/json;odata=nometadata",
"user-agent": "NONISV|SharePointPnP|CLIMicrosoft365/7.10.0",
"accept-encoding": "gzip, deflate",
"X-ClientService-ClientTag": "M365CLI:7.10.0",
"authorization": "Bearer ACCESSTOKEN"
},
"responseType": "json",
"decompress": true
}
Request error:
{
"url": "https://tenantname.sharepoint.com/sites/sitename//_api/web/sitegroups/GetByName('SP_IHDemo_M365Test')",
"status": 404,
"statusText": "Not Found",
"headers": {
"cache-control": "private, max-age=0",
"transfer-encoding": "chunked",
"content-type": "application/json;odata=nometadata;streaming=true;charset=utf-8",
"expires": "Wed, 10 Jul 2024 11:22:25 GMT",
"last-modified": "Thu, 25 Jul 2024 11:22:25 GMT",
"vary": "Origin",
"p3p": "CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"",
"x-networkstatistics": "0,525568,0,0,13990,0,36271,4",
"x-sharepointhealthscore": "0",
"x-sp-serverstate": "ReadOnly=0",
"dataserviceversion": "3.0",
"spclientservicerequestduration": "13",
"sprequestduration": "14",
"x-aspnet-version": "4.0.30319",
"x-databoundary": "EU",
"x-1dscollectorurl": "https://eu-mobile.events.data.microsoft.com/OneCollector/1.0/",
"x-ariacollectorurl": "https://eu-mobile.events.data.microsoft.com/Collector/3.0",
"sprequestguid": "d9bc3fa1-50a9-9000-825a-72699d0ef07b",
"request-id": "d9bc3fa1-50a9-9000-825a-72699d0ef07b",
"ms-cv": "oT+82alQAJCCWnJpnQ7wew.0",
"strict-transport-security": "max-age=31536000",
"x-frame-options": "SAMEORIGIN",
"content-security-policy": "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com *.stream.azure-test.net *.microsoftstream.com *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;",
"x-powered-by": "ASP.NET",
"microsoftsharepointteamservices": "<IP_ADDRESS>10",
"x-content-type-options": "nosniff",
"x-ms-invokeapp": "1; RequireReadOnly",
"x-cache": "CONFIG_NOCACHE",
"x-msedge-ref": "Ref A: 124F0DC0ABD24B6F8C31C051B52C097C Ref B: LON21EDGE2416 Ref C: 2024-07-25T11:22:25Z",
"date": "Thu, 25 Jul 2024 11:22:25 GMT"
},
"error": {
"odata.error": {
"code": "-2146232832, Microsoft.SharePoint.SPException",
"message": {
"lang": "en-US",
"value": "Group cannot be found."
}
}
}
}
Timings:
api: 865.9449ms
core: 16.1292ms
command: 908.4889ms
options: 0.298ms
total: 927.9853ms
validation: 0.4512ms
Error: Group cannot be found.
CLI for Microsoft 365 version
v7.10.0
nodejs version
20.15.1
Operating system (environment)
Windows
Shell
PowerShell
cli doctor
{
"os": {
"platform": "win32",
"version": "Windows 10 Enterprise",
"release": "10.0.19045"
},
"cliVersion": "7.10.0",
"nodeVersion": "v20.15.1",
"cliAadAppId": "OBSCURED",
"cliAadAppTenant": "common",
"authMode": "DeviceCode",
"cliEnvironment": "",
"cliConfig": {},
"roles": [],
"scopes": {
"https://graph.microsoft.com": [
"AllSites.FullControl",
"AppCatalog.ReadWrite.All",
"AuditLog.Read.All",
"Bookings.Read.All",
"Calendars.Read",
"ChannelMember.ReadWrite.All",
"ChannelMessage.Read.All",
"ChannelMessage.Send",
"ChannelSettings.ReadWrite.All",
"Chat.Read",
"Chat.ReadWrite",
"Directory.AccessAsUser.All",
"Directory.ReadWrite.All",
"ExternalConnection.ReadWrite.All",
"ExternalItem.ReadWrite.All",
"Group.ReadWrite.All",
"IdentityProvider.ReadWrite.All",
"InformationProtectionPolicy.Read",
"Mail.Read.Shared",
"Mail.ReadWrite",
"Mail.Send",
"Notes.Read.All",
"OnlineMeetingArtifact.Read.All",
"OnlineMeetings.ReadWrite",
"OnlineMeetingTranscript.Read.All",
"PeopleSettings.ReadWrite.All",
"Place.Read.All",
"Policy.Read.All",
"RecordsManagement.ReadWrite.All",
"Reports.Read.All",
"RoleAssignmentSchedule.ReadWrite.Directory",
"RoleEligibilitySchedule.Read.Directory",
"SecurityEvents.Read.All",
"ServiceHealth.Read.All",
"ServiceMessage.Read.All",
"ServiceMessageViewpoint.Write",
"Sites.Read.All",
"Tasks.ReadWrite",
"Team.Create",
"TeamMember.ReadWrite.All",
"TeamsAppInstallation.ReadWriteForUser",
"TeamSettings.ReadWrite.All",
"TeamsTab.ReadWrite.All",
"TermStore.ReadWrite.All",
"User.Invite.All",
"User.ReadWrite.All",
"profile",
"openid",
"email"
],
"https://tenantname.sharepoint.com": [
"AllSites.FullControl",
"AppCatalog.ReadWrite.All",
"AuditLog.Read.All",
"Bookings.Read.All",
"Calendars.Read",
"ChannelMember.ReadWrite.All",
"ChannelMessage.Read.All",
"ChannelMessage.Send",
"ChannelSettings.ReadWrite.All",
"Chat.Read",
"Chat.ReadWrite",
"Directory.AccessAsUser.All",
"Directory.ReadWrite.All",
"ExternalConnection.ReadWrite.All",
"ExternalItem.ReadWrite.All",
"Group.ReadWrite.All",
"IdentityProvider.ReadWrite.All",
"InformationProtectionPolicy.Read",
"Mail.Read.Shared",
"Mail.ReadWrite",
"Mail.Send",
"Notes.Read.All",
"OnlineMeetingArtifact.Read.All",
"OnlineMeetings.ReadWrite",
"OnlineMeetingTranscript.Read.All",
"PeopleSettings.ReadWrite.All",
"Place.Read.All",
"Policy.Read.All",
"RecordsManagement.ReadWrite.All",
"Reports.Read.All",
"RoleAssignmentSchedule.ReadWrite.Directory",
"RoleEligibilitySchedule.Read.Directory",
"SecurityEvents.Read.All",
"ServiceHealth.Read.All",
"ServiceMessage.Read.All",
"ServiceMessageViewpoint.Write",
"Sites.Read.All",
"Tasks.ReadWrite",
"Team.Create",
"TeamMember.ReadWrite.All",
"TeamsAppInstallation.ReadWriteForUser",
"TeamSettings.ReadWrite.All",
"TeamsTab.ReadWrite.All",
"TermStore.ReadWrite.All",
"User.Invite.All",
"User.ReadWrite.All"
]
}
}
Additional Info
No response

Thanks for the detailed report, @louderthanloud123! It's super helpful. I checked it out and could replicate the issue using the groupName option. The code doesn't look for Entra Groups, which we need to fix.
In the meantime, using the correct principalId should work. The ID you provided seems to be your Entra Group ID, which won't work. Add the security group as a member to the site and use m365 spo user list to fetch all users. You'll find your group there. Use the user ID from that result with the principalId option to add the role assignment to the list. That seems to be a current work around for it. But we'll have to look into fixing groupName.

Hi Jasey,
Thank you so much for your reply!  It’s appreciated 😊
How long does it take to fix something like that?  (are we talking days, weeks or months?), I’m away for a for a few days after today, so I can wait if it’s days lol
As for the workaround you suggest, I’m struggling to understand it, do you mean manually add the groups to the site retrieve the principalIDs then use that to assign the permissions on the libraries?  I’m going to be creating libraries across several sites (although only about 10 I think), so I probably couldn’t programmatically do this.
I’ve just done the spo user list, this is the group I manually added:
{
"Id": 18,
"IsHiddenInUI": false,
"LoginName": "c:0t.c|tenant|OBSCURED",
"Title": "SP_IHDemo_SECTest",
"PrincipalType": 4,
"Email": "",
"Expiration": "",
"IsEmailAuthenticationGuestUser": false,
"IsShareByEmailGuestUser": false,
"IsSiteAdmin": false,
"UserId": null,
"UserPrincipalName": null
}
Which value would I take from that?  The GUID that I obscured?
Thanks 😊
From: Jasey Waegebaert @.>
Sent: Thursday, July 25, 2024 1:13 PM
To: pnp/cli-microsoft365 @.>
Cc: Ian Hiseman @.>; Mention @.>
Subject: Re: [pnp/cli-microsoft365] spo list roleassignment add not working as expected (Issue #6179)
Thanks for the detailed report, @louderthanloud123https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_louderthanloud123&d=DwMCaQ&c=CUvFobU_VrxEwbIh9Lbz2SFMangVQAYaehHwrX-rWGU&r=0DT_SJm5LFUxWLZ8miDkEIPHvaZXV0Q3zdyswYjmSWc&m=GJm-s17gvnRhYp60VbPXXUGByCEbbnTeKPaeXFN4QEW1XA_XYzXCf_L4Uct7nzhm&s=9bhaGPTOcO17WXdb4E2jw4zu6UE8hB3XoTU4OTIewy0&e=! It's super helpful. I checked it out and could replicate the issue using the groupName option. The code doesn't look for Entra Groups, which we need to fix.
In the meantime, using the correct principalId should work. The ID you provided seems to be your Entra Group ID, which won't work. Add the security group as a member to the site and use m365 spo user list to fetch all users. You'll find your group there. Use the user ID from that result with the principalId option to add the role assignment to the list. That seems to be a current work around for it. But we'll have to look into fixing groupName.
—
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_pnp_cli-2Dmicrosoft365_issues_6179-23issuecomment-2D2250177658&d=DwMCaQ&c=CUvFobU_VrxEwbIh9Lbz2SFMangVQAYaehHwrX-rWGU&r=0DT_SJm5LFUxWLZ8miDkEIPHvaZXV0Q3zdyswYjmSWc&m=GJm-s17gvnRhYp60VbPXXUGByCEbbnTeKPaeXFN4QEW1XA_XYzXCf_L4Uct7nzhm&s=EK_O8CPn8yhmhuqxE7AKcTE0_yxmXiWhZfCnkG-L8Kc&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_BKDHB4QLYGX65FPC5QHYAJDZODTV7AVCNFSM6AAAAABLOK3MY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJQGE3TONRVHA&d=DwMCaQ&c=CUvFobU_VrxEwbIh9Lbz2SFMangVQAYaehHwrX-rWGU&r=0DT_SJm5LFUxWLZ8miDkEIPHvaZXV0Q3zdyswYjmSWc&m=GJm-s17gvnRhYp60VbPXXUGByCEbbnTeKPaeXFN4QEW1XA_XYzXCf_L4Uct7nzhm&s=DBiAK7-ie6Z1DbFLNflQENfQFZRp8zfuXstbC9gEsgU&e=.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>
Note: This E-Mail is intended for the addressee only and may include confidential information.
Unauthorised recipients are requested to please advise the sender immediately by telephone and then delete the message without copying or storing it or disclosing its contents to any other person. We have taken all reasonable precautions to ensure that no viruses are transmitted from Nottingham Rehab Limited to any third party. Copyright in this e-mail and attachments created by us unless stated to the contrary belongs to Nottingham Rehab Limited.
Any liability (in negligence or otherwise) arising from any party acting, or refraining from acting on any information contained in this e-mail is hereby excluded. Should you communicate with anyone at Nottingham Rehab Limited by e-mail, you consent to us monitoring and reading any such correspondence.
NRS Healthcare is a trading name of Nottingham Rehab Limited.
Registered in England and Wales No. 1948041.
Registered office: Sherwood House, Cartwright Way, Forest Business Park, Bardon Hill, Coalville, Leicestershire. LE67 1UB.
Nottingham Rehab Limited is within a group VAT registration No. 156 9195 71, member No 000.

Hey @louderthanloud123, timing depends on several factors. Bugs get higher priority, so think a few weeks. We also need to research the cause further since it was just a first impression.
For your user object, using Id should work. So, it would be --principalId 18.

Hi @louderthanloud123 thank you for reporting this. We will try to fix this ASAP.
Unfortunately, we are currently in a code freeze before a new release (so we don't introduce last-minute bugs that weren't tested). This means that this issue can be fixed no sooner than August 1st.
We're always happy to give you some workarounds to get you unblocked!
As @Jwaegebaert mentioned, using the SharePoint ID of the group should work when specifying --principalId.

Been looking into this issue. Seems like it was never possible to specify a Microsoft Entra group, however, the docs claim that it is possible. And this is pretty much the case for all roleassignment commands.
I suggest that we add 2 extra options entraGroupId and entraGroupName that add this functionality. Do you agree @pnp/cli-for-microsoft-365-maintainers?

Been looking into this issue. Seems like it was never possible to specify a Microsoft Entra group, however, the docs claim that it is possible. And this is pretty much the case for all roleassignment commands.

if it was never developed I wonder if actually the bug is that the docs are wrong and we should clear it out/ fix it up in docs and develop the support for this normal way as a new feature?

I suggest that we add 2 extra options entraGroupId and entraGroupName that add this functionality. Do you agree @pnp/cli-for-microsoft-365-maintainers?

This is a good idea although we need to be really clear in docs what is groupName and what is entraGroupName and when and which should be used. It may be misleading at start.

if it was never developed I wonder if actually the bug is that the docs are wrong and we should clear it out/ fix it up in docs and develop the support for this normal way as a new feature?

In my opinion, it's just a "bug" in our docs 😊. In my opinion it's an enhancement and not a bug indeed.

This is a good idea although we need to be really clear in docs what is groupName and what is entraGroupName and when and which should be used. It may be misleading at start.

Yes, definitely.

I have the same feeling. During that time it seems when writing spec/docs it was wrongly mentioned and then (probably) just copied/pasted in rest of permission commands.
@pnp/cli-for-microsoft-365-maintainers I suggest the following:

as a bug fix I suggest we fixup docs removing the mentioned Entra group as this is actually wrong nad was never supported. Open a fixup PR with this on high priority so we clear this out fast.
as second step and as a separate issue spec out this functionality for each roleassignment command to add this support. We should have an epic around that as well.

Sounds like a plan? Any feed?

I have the same feeling. During that time it seems when writing spec/docs it was wrongly mentioned and then (probably) just copied/pasted in rest of permission commands. @pnp/cli-for-microsoft-365-maintainers I suggest the following:
1. as a bug fix I suggest we fixup docs removing the mentioned Entra group as this is actually wrong nad was never supported. Open a fixup PR with this on high priority so we clear this out fast.

2. as second step and as a separate issue spec out this functionality for each roleassignment command to add this support. We should have an epic around that as well.

Sounds like a plan? Any feed?

Since there are only 2 roleassignment commands, I suggest squashing the issues together per command group. So: spo web roleassignment; spo list roleassignment, ...

@milanholemans very good comment 👍 Lets do that.
Awesome work guys on the issue 👏. You Rock 🤩

Thanks all, the work around does appear to work, although I may struggle program the whole process, I can probably still do enough to remove the tedium :D
Looks like I won't be implementing for another couple of weeks, so fingers crossed the functionality may end up working by then anyway :)  Appreciate the quick responses :)

I'll pick up the spo list roleassignment commands already to unblock you ASAP.

Hey @louderthanloud123, @milanholemans' changes have been merged, allowing the roleassignment commands to work with Entra groups. The update should be available soon, so you can test it out with the latest beta release using npm i -g @pnp/cli-microsoft365@next. Let us know if it works for you! Thanks for reporting this!
FYI @Adam-it, I've also merged the docs updates from Milan's PR since they were minor changes.

Hi All,
Works great :)  Thank you so much for the quick responses and fixes!  Saved me a lot of time!  I think I've found another issue with contenttype, but I'll raise a new thread for that once I've confirmed :)
Thank you again!


moved part of the code that is using objectMapper to Codable

this is only 1 stage of moving to Codable. Some part of the code may be changed/optimised on stage 2

@Veleal can you check to see why testNSTimeIntervalToInt is failing?

Fixed


Softdeleteable not Loggable

When those 2 extensions are combined the softdelete is not triggered in the audit-table of the entity.  Not even an update.  You would expect at least an update event is triggered because the timestamp of the deleteAt column is changed.

hi, yes that may be the case, have you tried switching listener positions to modify priority? so that softdelete triggers before timestampable?

i had the same problem, changed the order (as @l3pp4rd pointed out) and all was fine


Fails with namespaced models

Assuming the following structure:
app/models/foo.rb
app/models/foo/bar.rb
app/models/foo/goo.rb

In order for the annotation to work, the classes inside app/models/foo/ must be declared as:
class Foo::Bar and class Foo::Goo.
But now Rails seems to have a problem with it and can't find it anymore:
[...]/lib/active_support/dependencies.rb:495:in `load_missing_constant': Unable to
autoload constant Bar, expected [...]/app/models/foo/bar.
rb to define it (LoadError)

I have the following in my config/application.rb:
config.autoload_paths += %W(#{config.root}/app/models/foo)

If I remove the autoload line, I get: uninitialized constant Bar (NameError).
Can I fix this in my Rails app, or is it a bug?
I guess this is somehow the problem - or at least the source of my confusion: https://github.com/7even/active_record-annotate/blob/master/lib/active_record/annotate.rb#L58-61

In order for the annotation to work, the classes inside app/models/foo/ must be declared as:
class Foo::Bar and class Foo::Goo.

Yep.

But now Rails seems to have a problem with it and can't find it anymore

Do I get it right that you are declaring class Bar inside app/models/foo/bar.rb? If so, this breaks rails' file naming conventions: your class needs to be called Foo::Bar (that would also free you from appending app/models/foo to autoload paths).
This gem relies on these conventions to find a model class for each file found under app/models.

Thanks - seems I have to fix my Rails app then.


[Improve] Use new ReadBuilder and WriteBuilder API in modules

Search before asking

[X] I searched in the issues and found nothing similar.

Motivation
Now paimon has refactored the read/write api, so we should retire the old api interface in codes.
There are some examples:

Solution
No response
Anything else?
No response
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

I can do this task, could you please assign it to me? @JingsongLi @SteNicholas


Introduce DbOperationProviderMapper Class.

Checked in to the master branch. Will be a part of v1.9.6.


add 404 page

The 404 page is added to stop using the default GitHub page when there is a 404 error.
Before:

after:

btw, I couldn't find a way to translate this page into other languages, it always loaded the English version.

Can someone with write permissions review it? @expressjs/docs-captains @UlisesGascon

btw, I couldn't find a way to translate this page into other languages, it always loaded the English version.

I don't think it makes sense to translate a 404 page, as we believe that everyone who is searching the site has some knowledge about what a 404 would be and what it means.


Feature/metadata

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How To Stop The Drawer View From Closing When The View Behind Drawer Re-Renders

Current Behavior
As of right now I have a view that is refreshing/re-rendering every 10 seconds. If however the drawer is toggled open it is immediately closed when the view refreshes/re-renders.
Expected Behavior
Is there a way to allow the view to continue to re-render without closing the Drawer menu when it is open?

Please provide an example of this issue so we can help. Thanks!

Hi there @Mimble-Wimble,
In an effort to cleanup this project and prioritize a bit, since this issue had no follow up I'm going to close it.
If you are still having the issue with the latest version (especially if it's a bug report) please check the current open issues, and if you can't find a duplicate, open a new one that uses the new Issue Template to provide some more details to help us solve it.


"Error: failed to provision VM: Process exited with: 1. Reason was: ()"

Same issue as 79

[[ 9 -lt 50 ]]
counter=80
[[ 20 = 0 ]]
sleep 1
++ started_service_count
++ started_services
++ monit_summary
++ grep -E '(running|accessible|Timestamp changed|PID changed)'
++ wc -l
++ tr -d '
++ awk '{print $2}'
+++ /var/vcap/bosh/bin/monit summary
++ output='The Monit daemon 5.2.5 uptime: 2m

Process '''pcfdev-nginx'''              running
Process '''mariadb_ctrl'''              running
Process '''galera-healthcheck'''        running
Process '''gra-log-purger-executable''' running
Process '''garden'''                    running
Process '''etcd'''                      running
Process '''auctioneer'''                running
Process '''cc_uploader'''               running
Process '''converger'''                 running
Process '''file_server'''               running
Process '''nsync_listener'''            running
Process '''nsync_bulker'''              running
Process '''rep'''                       running
Process '''route_emitter'''             running
Process '''ssh_proxy'''                 running
Process '''stager'''                    running
Process '''tps_listener'''              running
Process '''tps_watcher'''               running
Process '''bbs'''                       running
Process '''syslog_drain_binder'''       running
Process '''consul_agent'''              running
Process '''blobstore_nginx'''           running
Process '''blobstore_url_signer'''      running
Process '''metron_agent'''              running
Process '''nats'''                      running
Process '''route_registrar'''           running
Process '''cloud_controller_clock'''    running
Process '''cloud_controller_ng'''       running
Process '''cloud_controller_worker_local_1''' running
Process '''cloud_controller_worker_local_2''' running
Process '''nginx_cc'''                  running
Process '''cloud_controller_migration''' running
Process '''cloud_controller_worker_1''' running
Process '''uaa'''                       running
Process '''doppler'''                   running
Process '''gorouter'''                  running
Process '''loggregator_trafficcontroller''' running
Process '''syslog-configurator'''       running
Process '''process-watcher'''           running
Process '''cf-redis-broker'''           running
Process '''broker-nginx'''              running
Process '''cf-redis-route-registrar'''  running
Process '''cf-mysql-broker'''           running
Process '''cf-mysql-route-registrar'''  running
Process '''quota-enforcer'''            running
Process '''rabbitmq-broker'''           running
Process '''rabbitmq-broker-route-registrar''' running
Process '''rabbitmq-management-route-registrar''' running
Process '''rabbitmq-server'''           running
System '''system_localhost'''           running'
++ [[ The Monit daemon 5.2.5 uptime: 2m
Process 'pcfdev-nginx'              running
Process 'mariadb_ctrl'              running
Process 'galera-healthcheck'        running
Process 'gra-log-purger-executable' running
Process 'garden'                    running
Process 'etcd'                      running
Process 'auctioneer'                running
Process 'cc_uploader'               running
Process 'converger'                 running
Process 'file_server'               running
Process 'nsync_listener'            running
Process 'nsync_bulker'              running
Process 'rep'                       running
Process 'route_emitter'             running
Process 'ssh_proxy'                 running
Process 'stager'                    running
Process 'tps_listener'              running
Process 'tps_watcher'               running
Process 'bbs'                       running
Process 'syslog_drain_binder'       running
Process 'consul_agent'              running
Process 'blobstore_nginx'           running
Process 'blobstore_url_signer'      running
Process 'metron_agent'              running
Process 'nats'                      running
Process 'route_registrar'           running
Process 'cloud_controller_clock'    running
Process 'cloud_controller_ng'       running
Process 'cloud_controller_worker_local_1' running
Process 'cloud_controller_worker_local_2' running
Process 'nginx_cc'                  running
Process 'cloud_controller_migration' running
Process 'cloud_controller_worker_1' running
Process 'uaa'                       running
Process 'doppler'                   running
Process 'gorouter'                  running
Process 'loggregator_trafficcontroller' running
Process 'syslog-configurator'       running
Process 'process-watcher'           running
Process 'cf-redis-broker'           running
Process 'broker-nginx'              running
Process 'cf-redis-route-registrar'  running
Process 'cf-mysql-broker'           running
Process 'cf-mysql-route-registrar'  running
Process 'quota-enforcer'            running
Process 'rabbitmq-broker'           running
Process 'rabbitmq-broker-route-registrar' running
Process 'rabbitmq-management-route-registrar' running
Process 'rabbitmq-server'           running
System 'system_localhost'           running = \e\r\r\o\r\ \c\o\n\n\e\c\t\i\n\g\ \t\o\ \t\h\e\ \m\o\n\i\t\ \d\a\e\m\o\n ]]
++ echo 'The Monit daemon 5.2.5 uptime: 2m
Process '''pcfdev-nginx'''              running
Process '''mariadb_ctrl'''              running
Process '''galera-healthcheck'''        running
Process '''gra-log-purger-executable''' running
Process '''garden'''                    running
Process '''etcd'''                      running
Process '''auctioneer'''                running
Process '''cc_uploader'''               running
Process '''converger'''                 running
Process '''file_server'''               running
Process '''nsync_listener'''            running
Process '''nsync_bulker'''              running
Process '''rep'''                       running
Process '''route_emitter'''             running
Process '''ssh_proxy'''                 running
Process '''stager'''                    running
Process '''tps_listener'''              running
Process '''tps_watcher'''               running
Process '''bbs'''                       running
Process '''syslog_drain_binder'''       running
Process '''consul_agent'''              running
Process '''blobstore_nginx'''           running
Process '''blobstore_url_signer'''      running
Process '''metron_agent'''              running
Process '''nats'''                      running
Process '''route_registrar'''           running
Process '''cloud_controller_clock'''    running
Process '''cloud_controller_ng'''       running
Process '''cloud_controller_worker_local_1''' running
Process '''cloud_controller_worker_local_2''' running
Process '''nginx_cc'''                  running
Process '''cloud_controller_migration''' running
Process '''cloud_controller_worker_1''' running
Process '''uaa'''                       running
Process '''doppler'''                   running
Process '''gorouter'''                  running
Process '''loggregator_trafficcontroller''' running
Process '''syslog-configurator'''       running
Process '''process-watcher'''           running
Process '''cf-redis-broker'''           running
Process '''broker-nginx'''              running
Process '''cf-redis-route-registrar'''  running
Process '''cf-mysql-broker'''           running
Process '''cf-mysql-route-registrar'''  running
Process '''quota-enforcer'''            running
Process '''rabbitmq-broker'''           running
Process '''rabbitmq-broker-route-registrar''' running
Process '''rabbitmq-management-route-registrar''' running
Process '''rabbitmq-server'''           running
System '''system_localhost'''           running'

started=50
[[ 50 -lt 50 ]]
echo '50 out of 50 running'
++ cc_status_code local.pcfdev.io
++ curl -s -I -o /dev/null -w '%{http_code}' -H 'Host: api.local.pcfdev.io' http://localhost/v2/info
[[ 200 != 200 ]]
++ uaa_response local.pcfdev.io
++ curl -s -H 'Host: login.local.pcfdev.io' http://localhost/healthz
[[ ok != \o\k ]]
cf api https://api.local.pcfdev.io --skip-ssl-validation
Setting api endpoint to https://api.local.pcfdev.io...
OK

API endpoint:   https://api.local.pcfdev.io (API version: 2.54.0)
Not logged in. Use 'cf login' to log in.

cf auth admin admin
API endpoint: https://api.local.pcfdev.io
Authenticating...
OK
Use 'cf target' to view or set your target org and space
cf create-org pcfdev-org
Creating org pcfdev-org as admin...
OK
Org pcfdev-org already exists
cf create-space pcfdev-space -o pcfdev-org
Creating space pcfdev-space in org pcfdev-org as admin...
OK
Assigning role SpaceManager to user admin in org pcfdev-org / space pcfdev-space as admin...
FAILED
Error performing request: Put https://api.local.pcfdev.io/v2/spaces/ba7114ec-fd46-499a-9903-4ab26d05b8a9/managers/381ddd50-078d-40b3-884f-726828c91493: dial tcp: i/o timeout
TIP: If you are behind a firewall and require an HTTP proxy, verify the https_proxy environment variable is correctly set. Else, check your network connection.

Sorry for the delay.
Even though you aren't behind a proxy, your issue does seem similar to #79 with the sporadic i/o timeouts in the run.log. Can you try using the --natdnshostresolver1 fix described in that issue?
The next release (which should be cut in the next few days) will also include this fix.

Hi @stwomack,
Can you let us know if 0.18.0 fixes your issue?

Traveling today; let you know asap
Steve Womack

On Jul 25, 2016, at 9:22 AM, Stephen Levine<EMAIL_ADDRESS>wrote:
Hi @stwomack,
Can you let us know if 0.18.0 fixes your issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Fixed ! 👍


Add cpp-base64 license text

Adds license text for cpp-base64

Related to:
https://github.com/R2Northstar/NorthstarLauncher/pull/104
https://github.com/R2Northstar/NorthstarMods/pull/259

This is needed for v1.6.0.


feat: Allow custom LambdaAccess implmentations

Expose LambdaAccess.bind() so users can implement their own access to webhooks. This can be used to setup a custom domain, for example.
class CustomDomainLambdaAccess extends LambdaAccess {
  bind(scope: Construct, id: string, lambdaFunction: lambda.Function): string {
    const api = new apigateway.LambdaRestApi(scope, id, {
      handler: lambdaFunction,
      proxy: true,
      cloudWatchRole: false,
      domainName: {
        domainName: 'webhook.my-custom-domain.com',
        certificate: acm.Certificate.fromCertificateArn(scope, 'cert', 'arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012'),
      },
      policy: PolicyDocument.fromJson({
        Version: '2012-10-17',
        Statement: [
          {
            Effect: 'Allow',
            Principal: '*',
            Action: 'execute-api:Invoke',
            Resource: 'execute-api:/*/*/*',
            Condition: {
              IpAddress: {
                'aws:SourceIp': ['<IP_ADDRESS>/32'],
              },
            },
          },
        ],
      }),
    });

    new route53.CnameRecord(scope, 'cname', {
      domainName: `${api.restApiId}.execute-api.us-east-1.amazonaws.com`,
      recordName: 'webhook',
      zone: route53.HostedZone.fromHostedZoneId(scope, 'hosted-zone', 'Z1234567890'),
    });

    return 'https://webhook.my-custom-domain.com/prod';
  }
}

new GitHubRunners(this, 'runners', {
  webhookAccess: new CustomDomainLambdaAccess(),
});

Closes #324

We actually wrote the following in-house:
class IAMAccess extends LambdaAccess {
    constructor(readonly grantee: IGrantable) {
        super();
    }

    _bind(_construct: Construct, _id: string, lambdaFunction: Function): string {
        let url = lambdaFunction.addFunctionUrl({
            authType: FunctionUrlAuthType.AWS_IAM,
        });
        url.grantInvokeUrl(this.grantee);

        return url.url;
    }
}

new GitHubRunners(this, "runners", {
    setupAccess: new IAMAccess(role_admin),
    statusAccess: new IAMAccess(role_read_only),
    ...
});

Since _bind() is internal and not meant to be used, that will not work in any other language. This Python code will not work as expected:
import aws_cdk as cdk
from cloudsnorkel.cdk_github_runners import GitHubRunners, LambdaAccess
import os

class InternalBind(LambdaAccess):
    def __init__(self):
        super().__init__()

    def _bind(self, scope, id_, func):
        raise RuntimeError('never going to get called')

app = cdk.App()
stack = cdk.Stack(app, 'stack', env={"account": os.environ['CDK_DEFAULT_ACCOUNT'], "region": os.environ['CDK_DEFAULT_REGION']})
GitHubRunners(stack, 'runners', webhook_access=InternalBind())

app.synth()

It fails with:
RuntimeError: access._bind is not a function

@kichik
Ok I got this working now with my private api gateway + custom domain solution.
setup url: runner.example.com/?token=xxxxxx
webhook url: runner.example.com/webhook
When I attach an existing app it works perfectly.
When I create a new app and it redirects back to route /complete-new-app, it fails.
My issue is this line that appends a stage to the github redirect url and in my case to the custom domain.
https://github.com/CloudSnorkel/cdk-github-runners/blob/4c4e2541b9e0b43ffed6e205e90c5f7fa7c76d44/src/setup.lambda.ts#L36
Do you have any idea how we could ignore custom domains ?
One approach would be to add a condition to detect if amazon.com is included ...

Do you have any idea how we could ignore custom domains ?

We might be able to find another parameter in both types of context to give us the full path including the stage so it works for both API Gateway and Lambda URL.

domainname + rawPath / http.path should work as combination...

We would need to make it works with Lambda URL, public API Gateway, private API Gateway, and API Gateway with domain.

We would need to make it works with Lambda URL, public API Gateway, private API Gateway, and API Gateway with domain.

Hmm I assume that the event object ApiGatewayEvent is the same at least for the public/private ApiGateway with or without custom domain.
Don't know how it is for the Lambda Function url... guess I need to test it.

It's similar but slightly different. It's basically this line.
https://github.com/CloudSnorkel/cdk-github-runners/blob/4c4e2541b9e0b43ffed6e205e90c5f7fa7c76d44/src/setup.lambda.ts#L8

Ah seems like I ignored this line, sorry.
I'll try to figure this out next week.


MERC-341 fix state validation in shipping estimator

when default country does not have states, show input field
update state validation; only validate when it is a dropdown

@mcampa @mickr @bc-ejoe

:+1:

:+1:  LGTM


Custom Alphabet returns same result with different salts

Using hash-ids-js v1.0.2
The sample code provided:
/* creating class object with custom alphabet */
var hashids = new Hashids("this is my salt", 0, "abcdefgh123456789");

/* encoding several numbers into one id */
var id = hashids.encode(1, 2, 3, 4);

/* decoding the same id */
var numbers = hashids.decode(id);

/* numbers is always an array */
console.log(id, numbers);

returns: 16h4cba3 [1, 2, 3, 4]
Changing the salt to "this is not my salt" returns: 14h5cba3 [1, 2, 3, 4]
But changing the salt to "this is my other salt": 16h4cba3 [1, 2, 3, 4]  // Repeats original value
Expectation is that each salt / encode value would result in completely different values like it does when the custom alphabet is not specified. This is extremely simplified, I found the behavior using much more complex salt values.

Different salts (but using same alphabet) may produce the same end results.  The salt is used to shuffle the alphabet in use. The resulting shuffle may end up being the same (or similar) to the result produced by other salts.
A good test would be to encode a larger range of ids, or a few ids with a larger integer value in your test above, and see fihte results differ.

Hi @LRSutton,
To add to @tmorehouse's answer -- consistent shuffle function uses a slightly modified version of Fisher–Yates to shuffle alphabet. It's a good balance between speed and randomness, but results are not perfectly unique.
Salt was really meant to be used as a company name, or project title. If you try "salt1" vs "salt2", you definitely will not get the best shuffle as you've already discovered.

I've been using 7-digit integers as the basis for the original challenge
set.  The salts are 23-digit numbers.  And even over a series of sats the
same integer gets the same value every time.

Lorin

On Fri, Nov 20, 2015 at 1:52 PM, Troy Morehouse<EMAIL_ADDRESS>wrote:

Different salts (but using same alphabet) may produce the same end
results. The salt is used to shuffle the alphabet in use. The resulting
shuffle may end up being the same (or similar) to the result produced by
other salts.
A good test would be to encode a larger range of ids, or a few ids with a
larger integer value in your test above, and see fihte results differ.
—
Reply to this email directly or view it on GitHub
https://github.com/ivanakimov/hashids.js/issues/20#issuecomment-158492674
.

Closing. @LRSutton, sounds like this might be the wrong tool for your use-case. If you do decide to stick with it, you could experiment with substituting the consistent shuffle function with something that provides better results.


Type one SPACE but cursor moves two.

Issue summary
Everything works good, but I found a problem, when input a SPACE, the cursor moves two SPACE. it make the output likes very strange. I tested on Edge, Chrome, get same result. but when copy the text from terminal, and paste to a editor, the SPACE nubmers are correct. That mean the input, and echo text content is good, but the display is incorrect ?
Expected behavior
I expected displaying like:
1 3 5 7
1234567

Actual behavior
1  3  5  7
1234567

Steps to reproduce
steps to reproduce:

input 1 SPACE 3 SPACE 5 SPACE 7 ENTER
input 1234567 ENTER

Browser and OS
windows 7 and windows 10, Edge and Chrome
Additional notes

I'm not able to reproduce this on BrowserStack can you create a demo where this can be observed? Do you see this on the demo: https://terminal.jcubic.pl/#demo

yes can reproduce on your demo. see the above picture.
I am using Chinese language, does it related to language of OS or browser ?

It looks like your OS doesn't have a monospace font. This should be installed on every system as it's default font. I would expect that you deleted the font from your system that is not working correctly.

This is how it works in Windows 10 and Edge in the browser stack:

As you can see the font is monospace not like in your case sans-serif. So the problem is with your system not with the library.

I tested on two laptop (Win10/Win10) and one desk PC (Win7). all get same test result.
I am checking the monospace font is correctly installed.
I don't intall any extenions or plug-ins in my brower.

Can you open dev tools and see what font you have when you inspec the terminal?

This is how it works in Windows 10 and Edge in the browser stack:

As you can see the font is monospace not like in your case sans-serif. So the problem is with your system not with the library.

your test result looks good. so I must install monospace ? or there any other way to config a mono space font, that had been intall in OS ?

Sorry I have no idea, you can ask on superuser or on Reddit. I would expect that the font is missing. Did you upgrade Windows recently? it looks like this is something common because there is an article about this on Microsoft website if you google "monospcae font missing Microsoft edge windows 10"

I can open browser's dev tools CSS panel, but where to see it ?

I found the root cause. the monospace of browser is configureable in browser's Settings. if set wrong font family. the display will be abnormal. I change the setting in browser. It looks good now.
Thank you for your help.


fix f2 bug

replaced F2 key with console command:
gt
https://github.com/bcgov/bcws-psu-research/commit/3eebffed7c9cdd3eaf856afd298b5a3710a9b667


Actions take time to trigger vs. using automation with Home assistant triggers.

Checklist

[X] I am using the latest version of Alarmo (latest version can be found here)
[X] I checked for similar existing requests (both open and closed) before posting.

Alarmo Version
v.1.10.3
HA Version
2024.6.3
Bug description
Actions created in the action tab take significantly longer to start vs. just doing it myself using Home Assistant automation:
I've setup actions for 'alarm triggering', 'almost triggering' and 'stop triggering' and 'turning off' scenarios. But they were so slow to fire, even in my own home. After I realised I could also make an automation to debug what is happening, I found that the automation is instant when triggering the same simple script vs. doing it native in Alarmo.
I found that just pressing test wouldn't replicate the issue and also fire instantly.
Steps to reproduce
Created an action {alarmo/actions}.
Enable alarm
Let action get triggered by correct scenario happening.
I have to wait for script to get called but it can take up to 30 sec to actually do something.
(vs the automation method is instant).
Relevant log output
Logs don't show much i guess.

Still an issue / haven't seen a fix

And here i am considering moving my automations into event triggers.
While not fixed, it would be nice to see an acknowledgement if this is reproduceable.

Haven't seen a fix

Dudes gone dark it seems..

Sorry for the lack of response from my side, but frankly I don't know how to speed up the automations.
There is no delay in the code, and automations should be executed instantly and in parallel (if multiple are triggered), so things are configured to be as quickly as possible.
If you have any experience with python, feel free to suggest code improvements (see automations.py file).
My knowledge about asynchronous programming may be lacking here.
Perhaps this could be due to your own configuration? Is there some automation triggered with internal waiting time?

Thanks for getting back to me. I remade the same automations using the native way and with the same yaml and it's immediate. Any way to make it implement it differently?

Pls unstale


vendor: update dependencies

Would you please update the vendor again? There is a new PR merged

Would you please update the vendor again? There is a new PR merged

Updated, thank you.


Implement the ability to exclude fields in inherited models

Sometimes you need to exclude a certain set of fields from inherited models, for example:
from typing import Optional

import pandera as pa
from pandera.typing import Series

class BaseModel(pa.SchemaModel):
    id: Series[int]
    brand: Series[str]
    number_of_wheels: Series[int]

class Ship(BaseModel):
    # the ship has no wheels, I want to exclude this field
    ...

A similar behavior can be achieved using Optional...
class Ship(BaseModel):
    number_of_wheels: Optional[Series[int]]

...but it will still appear as a field in the model:
<Schema DataFrameSchema(
    columns={
        'id': <Schema Column(name=id, type=DataType(int64))>
        'brand': <Schema Column(name=brand, type=DataType(str))>
        'number_of_wheels': <Schema Column(name=number_of_wheels, type=DataType(int64))>
    },
    checks=[],
    coerce=False,
    dtype=None,
    index=None,
    strict=False
    name=None,
    ordered=False
)>

And it's confusing because, from a common sense point of view, a classic ship has no wheels.
A cleaner way, from a design point of view, is to exclude the field from the model:
class Ship(BaseModel):
    number_of_wheels = None

<Schema DataFrameSchema(
    columns={
        'id': <Schema Column(name=id, type=DataType(int64))>
        'brand': <Schema Column(name=brand, type=DataType(str))>
    },
    checks=[],
    coerce=False,
    dtype=None,
    index=None,
    strict=False
    name=Ship,
    ordered=False,
    unique_column_names=False
)>

The only thing that confuses me is that pydantic doesn't allow to specify number_of_wheels = None either, the excluded fields are set via Config class.
    class Config:
        fields = {'clinic_id': {'exclude': True}}

I don't know if this was done intentionally to avoid a certain class of problems (which pandera doesn't have now, but may appear in the future)?
Pandera is very close in design to Pydantic, so I propose to discuss a preferred implementation of field exclusion

this use case makes a lot of sense!

The only thing that confuses me is that pydantic doesn't allow to specify number_of_wheels = None either, the excluded fields are set https://github.com/samuelcolvin/pydantic/discussions/2686#discussioncomment-634890.

So the field = None syntax makes a lot of sense to me, and it's very intuitive... @jeffzi are you aware of any particular reason pydantic does the exclude thing in the config instead?

Thanks @alphavector for the proposal.
Pydantic's exclude mechanism is intended to filter exported fields with .json() or .dict() methods (see docs). It does not interact with inheritance.
from pydantic import BaseModel, Field

class User(BaseModel):
    id: int
    username: str

    class Config:
        fields = {"username": {"exclude": True}}

user = User(id=1, username="test", password="123")

print(user)
#> id=1 username='test'

# Fields are excluded during export (json, dict, etc.)
print(user.json())
#> {"id": 1}

# No effect on inheritance

class ProtectedUser(User):
    password: str = Field(..., exclude=True)

print(ProtectedUser.__fields__)
#> {'id': ModelField(name='id', type=int, required=True), 'username': ModelField(name='username', type=str, required=True), 'password': ModelField(name='password', type=str, required=True)}

In addition, I think field = None would be intuitive in the case of Pydantic. It looks like you're setting a default None value to field but forgot the type annotation.  A while ago there was a request to add default coerce value to Pandera (#502). We could allow to assign default values directly like Pydantic. This PR would limit our ability to do so.
More importantly, Pydantic and pandera models follow classic inheritance principles. In @alphavector 's example, we should have a Vehicle class, a subclass Car with number_of_wheels and Ship without it.
My recommendation would be to create additional models with shared columns in a object-oriented programming fashion. I would only diverge from it if we have a very convincing use-case. @alphavector Could you give more context about the situation you've faced that led you to this proposal?

We could allow to assign default values directly like Pydantic. This PR would limit our ability to do so.

This is a great point. I sort of missed this... field = None would be confusing esp if we wanted to support syntax for filling in null values of a column with a default.

My recommendation would be to create additional models with shared columns in a object-oriented programming fashion. I would only diverge from it if we have a very convincing use-case. @alphavector Could you give more context about the situation you've faced that led you to this proposal?

Yes, perhaps if that use case presented itself we can try to solve for it, but as @jeffzi said it seems like the SchemaModel API adhere to OOP best practices, which in the example presented above would additively build more specific objects from more general ones.

I'm going to close this PR for now... @alphavector if you still feel strongly about supporting this functionality, please feel free to open up a feature request with your use case and an example. As @jeffzi pointed out, the BaseModel -> Ship example can be modelled differently to adhere to OOP inheritence principles.


Incompatible w/ Lualine tabline

You are only able to see the the open tab when using this colorscheme with lualine's tabline. I believe that this happens when you put buffers in the tabline too.
Imgur link of bug
Lualine config
   require'lualine'.setup {
   options = {
        icons_enabled = true,
        theme = 'auto',
        component_separators = { left = '|', right = '|'},
        section_separators = { left = '', right = ''},
        disabled_filetypes = {},
        always_divide_middle = true,
    },
    sections = {
        lualine_a = {'mode'},
        lualine_b = {'branch', 'diff',
            {'diagnostics', sources={'nvim_lsp'}
            }},
        lualine_c = {'filename'},
        lualine_x = {'encoding', 'fileformat', 'filetype'},
        lualine_y = {'progress'},
        lualine_z = {'location'}
    },
    inactive_sections = {
        lualine_a = {},
        lualine_b = {},
        lualine_c = {'filename'},
        lualine_x = {'location'},
        lualine_y = {},
        lualine_z = {}
    },
    tabline = {
        lualine_a = {'tabs'},
        lualine_b = {},
        lualine_c = {},
        lualine_x = {},
        lualine_y = {},
        lualine_z = {}
    },
    extensions = {}
    },

I like to receive PR for this bug.


Module 2 exercises [Prosper Kwame Detornu]

WS2_M2E2_Submission_Prosper Kwame Detornu.docx

Please "drag & drop" exercise 1 file below.

Please UPDATE THE TITLE of this "Issue" in the title bar above with your name.

If you haven't done so, please go back to Module 2 and make sure to take
the post-training survey.

Well done, Prosper. You clearly grasped the material outlined in Module 2 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


fix: Duplicate case labels found in switch case

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description

Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change.

Fixes #7951

if no issue exists, please create an issue and ask the maintainers about this first

Type of change
Removed Duplicate Case From Icons.tsx

@mohanarpit review this PR please


fixes #1435

really simple change to allow cmake to work when python isn't installed

I'm merging this myself because it's trivial


Empty translations

Some subtranslations are empty after commit 83dc5e45cea64f6af407532f00a92539e0a3db92
This commit introduced empty subtranslations (e.g. sk_SK for slovak language), which are loaded instead of main translations (e.g. sk).
It looks like the same problem as in django-cms - https://github.com/divio/django-cms/issues/5334
Deleting empty translations solved problem.

Can you describe which actions we need to take? Or submit a PR

The problem can be resolved  by deleting empty translations. I use only Slovak translation, deleting src/oscar/locale/sk_SK/ will solve this problem for slovak translation. Other possible candidates for deleting are in this commit: https://github.com/django-oscar/django-oscar/commit/83dc5e45cea64f6af407532f00a92539e0a3db92 (all files wich have only additions).

Well the issue is that the sk_SK translation exists in transifex, and since transifex has the worst UX ever I have no idea how to delete it there :( If you have a clue then please let me know

Another solution is to import translation from "sk" to "sk_SK" (sk_SK has higher priority before sk, currently sk_SK is empty and sk contains translations which are not loaded). Same problem has cs_CZ / cs and probably other languages.

We can use same approach as in divio/django-cms#5334 as just cleanup sub-locales.


Fix compilation on master

Fixing a bad merge where the PR was based on an out-of-date master
branch...

LGTM

Compiles on my machine, LGTM.


Use 'and' instead of '&&'

Puppet uses and, not &&.


MA3 stat

There is a difference in the MA3 stat between EflowStats and EflowStatslite . EflowStats calculates the CV as the standard deviation of flow for each year divided by the mean of flow for hte entire period of record.
This is not correct according to the definition.
The definition states MA3 is the mean of the yearly CVs, which implies that the CV is calculated on a yearly basis and thus should be the sd of flow for each year divided by the mean of flow for each year

Old MA3 C++ Code:
// Compute daily variability 1 (coefficient of variation = standard deviation/mean * 100)

// MA3		Mean of the coefficients of variation (standard deviation/mean) for each year.  Compute the
//			coefficient of variation for each year of flows.  Compute the mean of the annual coefficients
//			of variation.  (%)

	float ydata[366];		// Daily flow values for a year
	float stdv[150];		// Standard deviation for each year
	float qmean;			// Mean of the monthly means
	float qmedian;			// Median of the monthly means
	float qstdv;			// Standard deviation of the monthly means
	float temp;

	for(i=0;i<nyrs;i++)
	{
		k = 0;
		for(j=0;j<366;j++)
		{
			if(q[i][j] != 999999.)
			{
				ydata[k] = q[i][j];
				k++;
			}
		}
		stats(k,ydata,&qmean,&qmedian,&stdv[i]);
	}
	stats(nyrs,stdv,&qmean,&qmedian,&qstdv);
	MA3 = 999999;
	if(MA1 != 0.)
	{
		MA3 = (qmean/MA1)*100.;
	}

It appears the old code also calculates it in conflict with the definition.


Fix test "Get error when trying to double connect to a peer on Android"

@enricogior provided me with the logs:
https://gist.github.com/enricogior/080486fda48bfec59613fd926f0cae16
https://gist.github.com/enricogior/a2a07f599b491668f6c64ee129e5cdca

Could not reproduce. By the logs looks like access location permission was revoked. Also there are logs only from 2 devices.


IBoutlet Key not Coding-Compliant for the Key in PagingCell?

I am using an xib for the menu cell and I have successfully set up parchment and it works just fine without connecting the IBoutlets.
However, when I connect the xib to an @IBoutlet, I have " Key Value Coding-Compliant for the Key exception".
I have double-checked the IBoutlet name and the connection name and file owner. everything seems just fine. and I am not able to find the possible cause for this issue.

I am using IBoutlets in other classes as well, but only when I connect the menu IBoutlets, I got errors.
Anyone has encountered similar issues?

Hi @YanwuX! Looks like you might have setup the outlets incorrectly. Try setting the outlets on the PagingCell subclass instead of the File's Owner:

Thanks so much, I have connected it to the view and everything works


Add Scala 3.3 Support

Aside from the expected mechanical work and some additional type ascriptions adding Scala 3 support here wasn't too difficult.
Resolves: https://github.com/apache/incubator-pekko-management/issues/79

@nvollmar Due to how trivial it was to get Scala 3 to compile/test I went ahead and prototyped it to see if there was any potential problems.
While everything is compiling fine, there are tests that fail to pass just on Scala 3, i.e.
[error]         org.apache.pekko.management.cluster.bootstrap.SelfAwareJoinDeciderSpec
[error]         org.apache.pekko.management.cluster.bootstrap.SelfAwareJoinDeciderIPv6Spec

I am not that familiar with pekko-management so maybe this is something you can look into to?

@mdedetrich I've already solved that on my Scala 3 branch, I'll rebase upon yours

Awesome thanks. I have noticed that your banch seems to have more changes then what is necessary for Scala 3 support?
If so maybe as part of your rebasing only merge what is strictly necessary? Alternatively another way to do this is if you can point me to the fix I can add it to this branch, add co-authorship to you and then when my branch is merged then you can rebase with your additional improvements.

I fixed all warnings that popped up and enabled warn as errors.

Thanks, I just read the merge commit you made recently in more detail and indeed its an improvement on my run. Running the tests and if its all good I will merge it into this PR and then we can do a squash + merge.

@pjfanning @nvollmar PR is ready to review, note that the entire PR has already passed tests (see https://github.com/mdedetrich/incubator-pekko-management/pull/1)

@pjfanning We already agreed on this one, I applied further changes I did on top of it. I'll close mine.

Yes I know, still working on cleaning stuff up.

@pjfanning All issues resolved.


Notification icons not tinted in Split-Screen mode

Biometric icons on Status Bar is not tinted in Split-Screen mode if another app colorize status bar (Twitter for example)

Should be fixed


Allow GAs to edit Office in Flask Admin

fixed ability to edit office.
also had to remove this line from package.json  -  "preinstall": "npx npm-force-resolutions"

Closed as duplicate


Avoid extra allocations in Display implementations

As mentioned in this comment, some of the types implementing Display create intermediate Strings or Vecs that aren't strictly necessary to produce the correct result. They could be written in a more performant way.

Dupe of #139


Add pop-out button to open preview in a new window

It seems it can be useful in some use-cases if we can use a new window for the preview instead of an iframe:

https://github.com/kadirahq/react-storybook/issues/292

CC: @ritz078

I think this should be a keyboard shortcut. Button would work too, if we can find a good place to put it.


WSL should print an error if distro is missing /etc/passwd and bash

This came up when I was trying to get my custom linux distro to run in WSL (https://github.com/Microsoft/WSL-DistroLauncher/issues/57).  I didn't have an /etc/passwd file nor bash installed to /bin/bash.  However, when I launched wsl with wsl -d mydistro it just failed with no error message.  Also when I tried to run WslLaunchInteractive it would just return success with an exit code of -1.  After adding the /etc/passwd file with these contents root:x:0:0:root:/:/bin/msh it started working.  Seems like WSL should have given a message saying something like:
Error: failed to find '/bin/bash' and no '/etc/passwd' file was found to override the default shell path.

Rootfs can be downloaded here: https://github.com/marler8997/maros/releases/tag/ForTest
Microsoft Windows [Version 10.0.17763.292]

@marler8997 - Yep this is the right place.  When filing issues please make sure to include the requested information in the issue template, especially the version number.  Regarding a missing /etc/passwd file, in later builds, WSL will fall back to root if this file is not present (just verified this on 17763).

Solution seems reasonable.  Thanks for the info.

Wait a second.  I'm on build 17763.292.  I think I have to add one more condition to the error case.  My distro doesn't have bash.  So it looks like if you don't have an /etc/passwd file and no bash, then WSL will fail with no error message.

Here's my rootfs that should reproduce this behavior: https://github.com/marler8997/maros/releases/tag/ForTest

The lack of usable error feedback from wsl.exe is most unfortunate to be sure, but if you don't have /etc/passwd nor /bin/sh that's treading into "by-design fail because prerequisites missing" territory. You probably want wsl.exe --exec. The ask for better error feedback is legit enough I guess tho; can't really argue with that.

@therealkenc
Not to invalidate this issue, but do you have a link that describe the requirements for a distro?  I could not find anything that said /bin/sh and/or /bin/passwd were required or how WSL uses them.  Having a document that explains how WSL interacts with the rootfs of the distro would be very helpful.  Some type of reference document that says things like:
Files that matter to WSL

filename
description

/etc/passwd
WSL reads user information from this file such as uid, home directory, default shell, etc.  Refer to https://linux.die.net/man/5/passwd for more details.

/bin/sh
The default shell that WSL will launch with if the user does not have an entry in /etc/passwd.

...
...

But again, I also think that when WSL has some sort of failure that would cause it not to be able to launch a shell (i.e. when there's not entry in /etc/passwd and the default shell /bin/sh doesn't exist) that it should still print an error message.

Not to invalidate this issue, but do you have a link that describe the requirements for a distro?

No not me.

would be very helpful

Less helpful than you'd think, I expect, if one was was actually handed a list of things necessary to bring up a shell. It isn't WSL domain specific knowledge, and strictly speaking, depends on the nature of your shell  (which might depend on all sorts of things, or next to nothing). Ben has removed the requirement for /etc/passwd. If WSL /init has its own dependencies or makes other unnecessary assumptions hopefully those are picked off as they are pointed out (this has been happening over time).

it should still print an error message.

Well, yeah.

Yes I was saying that only the WSL specific requirements should be documented. If you take my rootfs and put it on a partition, it will boot up and the init program will launch the shell correctly. The /etc/passwd file is not required. However, it appears that WSL is a bit unique here, it doesn't take the normal Linux boot path of calling '/init'. Instead, it appears to take the UID it is launching the shell for, and tries to find the the shell from the /etc/passwd file. This is WSL specific behavior. Furthermore, now that it will fallback to using /bin/sh if no entry can be found for the requested UID in /etc/passwd is also specific to WSL.
Note that I'm not saying this behavior is wrong, in fact it makes a lot of sense and matches the semantics of /etc/passwd. However, this process that WSL uses to launch a shell should be documented. If I go to any other distro I can see which init program they are using and look at source code or docs to see how they "initialize" shell processes. With WSL I can't do that.

@marler8997 - You should think of WSL's init daemon as a combination between the inti daemon and /bin/login, which does parse the /etc/passwd file.  The /bin/sh requirement is also a hard requirement for Linux c libraries, which will not be functional without the /bin/sh binary (required by calls to the shell command, among others).

You should think of WSL's init daemon as a combination between the inti daemon and /bin/login, which does parse the /etc/passwd file.

Thanks for the info that's very helpful.  Do you have a link to the specific /bin/login project you're referring to?  That sounds like a great thing to document :)

The /bin/sh requirement is also a hard requirement for Linux c libraries, which will not be functional without the /bin/sh binary (required by calls to the shell function, among others).

My distro doesn't use any C libraries...so...I didn't realize it was missing :)  I just use the system calls.

http://man7.org/linux/man-pages/man1/login.1.html

The /bin/sh requirement is also a hard requirement for Linux c libraries

Call this a nit, but it is meant to be a constructive one (contrast pedantic). It is a soft requirement of posix libc. system(3) (or equivalent) can fail by design. If system(3) fails, it is up to the caller what to do about that fail. Which might mean write(2)ing an error out /dev/tty (and calling mknod(2) if  /dev/tty is missing). Or writing the error out a socket or some other communication mechanism to a logger on the windows side. Or whatever /init fancies, up to including setting the user's printer on fire as an indication of the failure. None of which necessitates /bin/sh as a hard requirement.

@therealkenc - Thanks for the clarification, I oversimplified a bit.

also misspoke saying "shell" instead of "system".

I knew what you meant :)


Why does my script run automatically？

System information:

MacOs Catalina 10.15.7
DBeaver community  7.3.0

Connection specification:

Mysql 5.7

Describe your question:
This is my procedure：

The program generates sql statements
I posted the sql statement to the running interface and did nothing
Click to run the sql script
The mistake is a duplicate entry
Check the execution log and find that there are two, one for success and one for failure.

I am not sure when the successful one was executed, because the two were too close, and it seems to only happen to me. I tried to paste sql on another machine, but this did not happen.

Could you please give a query example?

Could you please give a query example?

As shown below, it's just a simple insert, but more than 7000 rows need to be inserted, the sql will be a bit more than the following.
insert into dbname.tablename (id,name,email,password)
values(1,1,1,1),(2,2,2,2)....(7000,7000,7000,7000)

Just now I think I found the reason
When I click 'read data in sql console',
It will automatically execute this default query statement. When my table is very large and it has not yet returned, when I switch the default query statement to my own SQL statement, it will become the execution of my SQL statement.

Could you please give a query example?

I think i should new a SQL editor to run it instead of  'read data in sql console' .
🧎♀


[BUG] Background and foreground colors do not have a sufficient contrast ratio

Take a moment to review - is it really a bug? Or is it more of an enhancement or a typo in the documentation? A Bug is code that is broken, or when you try to implement a certain piece of code that is mentioned in the documentation, you have a result that is not the same as described.
Now if you are absolutely sure it is indeed a bug, please fill in the following template.

Mention what part of the design system the bug is related to
Is the bug part of a "Card", a "Button",  a "Anchor" the
More context in relation to the design system
If the bug is part of a component or a block, please mention which one. If the bug is related to the plugin, please mention if it is during installation, compiling or configuration.
Describe the bug
A clear and concise description of what the bug is. Help us understand what you are doing that is causing an error.
To Reproduce
Steps to reproduce the behavior:

Go to any anchor have the color aegold-600 & background-color bg-white
Test accessibility by wave tool or lighthouse chrome tab
Having low contrast color issue

Expected behavior
Passing color contrast checking
Screenshots
If applicable, add screenshots to help explain your problem. This is not mandatory, but definitely helpful.
A bit more context about the browser

Browser [e.g. chrome]

Is the issue on both Desktop and Smartphones?
Yes on both. Here is where I tested it:
Additional context
Add any other context about the problem here.

@Sa7aR-Kassem
Sharing with you a screenshot of the contrast testing tool for AEGOLD-600 which translates to a hex value of #92722A and a background color of white - which translates to #FFFFFF
Please confirm if you are using the same hex values and share a screenshot of your your test results that show it as a failed for a AA compatibility.

Closing this, as this is not an issue.

Hello @Sa7aR-Kassem
The screenshot shared by me is also from WebAIM.
I'm also now attaching screenshots from various other tools. But i noticed your background color is not white. In your screenshot, your background color is set to #f7f7f7 or rgb(247, 247, 247)
Surely, if you change the background color, the foreground will cause an issue.

I reviewed the DLS Figma again and noticed that you are using a background color of #f7f7f7 with a text color of #92722A, as well as a font size smaller than 16px. This results in a contrast issue, which is shown in the following screenshots:

For reference, you can find the relevant section in the Figma design here:
Design System Figma
I recommend updating the section to use a gray background color. For consistency, I'll apply a card with a white background, and the "View All" button will have a white background, as shown in the screenshot below. Please confirm if this approach works for you.

Hello @moiz-conceptlz ,
Any recommendation dear?


Add E2E tests for transaction types on block explorer

The Chore
Since transactions page is still blocked by capsule. The other option for testing transactions would be to mock individual transactions and validate elements on each transaction id page.
Transaction types:

[x] [OrderCancellation transaction #2108](https://github.com/vegaprotocol/frontend-monorepo/issues/2108)
[ ] [OrderAmendment transaction #2109](https://github.com/vegaprotocol/frontend-monorepo/issues/2109)
[ ] [WithdrawSubmission transaction #2110](https://github.com/vegaprotocol/frontend-monorepo/issues/2110)
[ ] [ProposalSubmission transaction #2111](https://github.com/vegaprotocol/frontend-monorepo/issues/2111)
[ ] [VoteSubmission transaction #2112](https://github.com/vegaprotocol/frontend-monorepo/issues/2112)
[ ] [LiquidityProvisionSubmission transaction #2113](https://github.com/vegaprotocol/frontend-monorepo/issues/2113)
[ ] [DelegateSubmission transaction #2114](https://github.com/vegaprotocol/frontend-monorepo/issues/2114)
[ ] [UndelegateSubmission transaction #2115](https://github.com/vegaprotocol/frontend-monorepo/issues/2115)
[ ] [LiquidityProvisionCancellation transaction #2116](https://github.com/vegaprotocol/frontend-monorepo/issues/2116)
[ ] [LiquidityProvisionAmendment transaction #2117](https://github.com/vegaprotocol/frontend-monorepo/issues/2117)
[ ] [Transfer transaction #2118](https://github.com/vegaprotocol/frontend-monorepo/issues/2118)
[ ] [CancelTransfer transaction #2119](https://github.com/vegaprotocol/frontend-monorepo/issues/2119)
[ ] [AnnounceNode transaction #2120](https://github.com/vegaprotocol/frontend-monorepo/issues/2120)
[ ] [BatchMarketInstructions transaction #2121](https://github.com/vegaprotocol/frontend-monorepo/issues/2121)
[ ] [NodeVote transaction (validator) #2122](https://github.com/vegaprotocol/frontend-monorepo/issues/2122)
[ ] [NodeSignature transaction (validator) #2123](https://github.com/vegaprotocol/frontend-monorepo/issues/2123)
[ ] [ChainEvent transaction (validator) #2124](https://github.com/vegaprotocol/frontend-monorepo/issues/2124)
[ ] [KeyRotateSubmission transaction (validator) #2125](https://github.com/vegaprotocol/frontend-monorepo/issues/2125)
[ ] [StateVariableProposal transaction (validator) #2126](https://github.com/vegaprotocol/frontend-monorepo/issues/2126)
[ ] [ValidatorHeartbeat transaction (validator) #2127](https://github.com/vegaprotocol/frontend-monorepo/issues/2127)
[ ] [EthereumKeyRotateSubmission transaction (validator) #2128](https://github.com/vegaprotocol/frontend-monorepo/issues/2128)
[ ] [ProtocolUpgradeProposal transaction (validator) #2129](https://github.com/vegaprotocol/frontend-monorepo/issues/2129)
[ ] [IssueSignatures transaction (validator) #2130](https://github.com/vegaprotocol/frontend-monorepo/issues/2130)
[ ] [OracleDataSubmission transaction (oracles) #2131](https://github.com/vegaprotocol/frontend-monorepo/issues/2131)
[ ] Create Successor Market Proposal
[ ] Submit Stop Order
[ ] Cancel Stop Order

In order for the transactions to show it requires the rest url which is not possible with Capsule. The alternative is to use Fairground or Stagnet which may go down.
Closing this ticket as:

don't want to introduce dependency on other environments being up to run tests
Transaction tests would not check for api changes so have limited benefit


Houdini init nukes existing svelte.config.js and ignores vite.config.js

Describe the bug
When running npx houdini init on our project, it discards the existing options in svelte.config.js and replaces everything with its own minimal setup.
houdini version used: 0.18.3
Severity
annoyance
Steps to Reproduce the Bug

clone the reproduction repo
enter the nuke-svelte-config folder
take note of the prerender option in the svelte.config.js file
run npm install
run npx houdini generate
see the contents of svelte.config.js file have been replaced, and the prerender option is gone.

Reproduction
https://github.com/SeppahBaws/houdini-issues/tree/main/nuke-svelte-config

Yes, unforunately this is how the script works which is why we ask you to have your project committed. I know its slightly annoying but its best way for us to balance maintaining the script as things change.

Ah okay I see, fair enough! 😄

Thanks for understanding!


lua: add ts.is_debug_tag_set function

This exposes TSIsDebugTagSet to the lua plugin to allow for complex debug logic to only be calculated when debug is turned on.

[approve ci autest]

[approve ci autest]

It looks good. Thanks for the tests as well.

the tests were a pain.  I had wanted to change the debug tags on the fly but that utterly failed.

[approve ci clang-analyzer]


chore(deps): update vue-cli monorepo to v3.6.0

This PR contains the following updates:

Package
Type
Update
Change
References

@vue/cli-plugin-babel
devDependencies
minor
3.5.5 -> 3.6.0
source

@vue/cli-plugin-eslint
devDependencies
minor
3.5.1 -> 3.6.0
source

@vue/cli-service
devDependencies
minor
3.5.3 -> 3.6.0
homepage, source

Release Notes

vuejs/vue-cli
v3.6.0
Compare Source
:rocket: New Feature

@vue/cli-ui

#3688 add "copy content to clipboard" button on terminal component (@pikax)
c81e6c project create: bare option (@Akryum)
08de713 plugin add: feature icons (@Akryum)
fbfbd29 vulnerability audit widget (@Akryum)
40d9346 api: save shared data to disk (@Akryum)
ca2bdad tasks: refresh button (@Akryum)

@vue/cli-service

#3703 add --filename option to specify the output file name (@NickeyLin)
#3760 bundle currentScript polyfill by default if library needs IE support (@sodatea)
#3595 support multi-main entry in pages config (@sodatea)
#3663 support pug as html template (@sodatea)

@vue/cli

#3568 add makeJSOnlyValue to generator API. Provides convenien… (@steveworkman)
#3643 do not write undefined fields to config files (@sodatea)

@vue/cli-service, @vue/cli-shared-utils, @vue/cli-ui, @vue/cli

#1531 support PNPM as a package manager (@robertkruis)
#3790 fix PNPM compatibility issues during scaffolding (@sodatea)

@vue/cli-plugin-eslint, @vue/cli-service

#3572 add 3rd option to lintOnSave to support 'default' behaviour (Closes #3552) (@LinusBorg)

@vue/cli-plugin-unit-jest

#3589 add jest typeahead plugin (@sodatea)

:bug: Bug Fix

@vue/cli-ui

8c3ff11 project create: run vue create in child process, closes #3664 (@Akryum)
dac7a4b project manager: ake open in editor button more discoverable (@Akryum)
fd9cb16 widget: make resize handles more visible (@Akryum)
c4bd1ab set cache-control header on static files (@Akryum)

:house: Internal

@vue/cli-service

#2405 remove unused placeAtRootIfRelative parameter (@dailyvuejs)
#3707 more accurate vim swap file ignore (@Newbrict)
#3709 use high resolution version of favicon.ico (@phanan)
#3628 make fibers opt-in for dart sass (@sodatea)

@vue/cli-ui

#3778 refactor(plugin): invoke is now done in child process (@Akryum)
4f0286c perf(webpack dashboard): cleaning the analyzer data (@Akryum)
ecd64c4 perf(task details): better defering (@Akryum)
13199f5 tasks: sort (@Akryum)

Other

#3650 workflow: use lerna-changelog (@sodatea)

Committers: 10

Carlos Rodrigues (@pikax)
Dimitar Dimitrov (@Newbrict)
Guillaume Chau (@Akryum)
Haoqun Jiang (@sodatea)
Nick (@NickeyLin)
Phan An (@phanan)
Steve Workman (@steveworkman)
Thorsten Lünborg (@LinusBorg)
@dailyvuejs
@robertkruis

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about these updates again.

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

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (3.6.0). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


without_end.s.out , circle and rectangle tests

i have a problem with " without_end.s.out" and with the circle and rectangle tests
this is my output for "without_end.s"

this is what the checker sees

Also for the circle and rectangle tests, there is a small difference in aproximation (i want to point out that i use math.round after multilpying sin/cos's results with the forward/backward's values)

Please use Math.round only once after computing everything.

thanks, it worked for circle, but i still have problems with rectangle and "without_end.s"

Verify your code.