Embed for project content?

I've been working on trying to use MPP in Ferry so I don't have to maintain a hot mess of gradle script to publish Terraformers mods.  There are a few things I haven't figured out how to reproduce in MPP's Discord publishing.  I'll show how Ferry creates its Discord message below.
The main thing I'm wondering is would you consider using an embed for the project data?  This would allow setting a thumbnail on the project content, and it would also allow setting the embed color to the project's color scheme.
Here is the Ferry code for Discord messages:
        def result = DiscordBuilder.createForm {
            if (project.use_project_username.toBoolean()) {
                avatar_url = project.project_logo
                username = project.project_name
            }
            embed {
                color = Integer.decode(project.project_color)
                author {
                    name = project.project_name + stabilitySuffix
                    url = project.project_url
                }
                thumbnail { url = project.project_logo }
                title = "$project.project_name v$version for $project.minecraft_version Released"
                url = release_url
                field {
                    name = "Changes:"
                    value = discordChangelog
                }
                field {
                    name = "Downloads:"
                    value = "[$modrinth_emote Modrinth]($modrinthDownloadLink)\n[$curseforge_emote CurseForge]($curseforgeDownloadLink)\n[$github_emote GitHub]($githubDownloadLink)"
                }
                footer {
                    text = "A $project.loader_name Mod"
                    icon_url = project.loader_icon
                }
            }
        }.send(System.getenv().DISCORD_ANNOUNCEMENT_WEBHOOK)

Here's an example of how Ferry publishes look in Discord (what I'm trying to sort of replicate):

I'm not sure how easy it would be to fit an indefinite number of publish results into a single embed.  Ferry only generates at most three plus the mod loader badges.  (Speaking of which, it would be cool to have automatic mod loader badges without needing to put the emotes into project configuration, but I don't know if that would be in scope for MPP.)
We do limit the changelog to ten lines, though.  I think I recall mention in one of the MPP issues of having MPP generate changelogs from GH.  Ferry does this, if you're interested.  However, Ferry requires the version numbers for the previous published version and the new published version as properties.  Even so, it's a messy process.
https://github.com/TerraformersMC/GradleScripts/blob/2.6/ferry.gradle#L35-L96

I dont have a solid idea for an nice API to allow customising of the webhook, Ill have a play and see what I can come up with.
As for the changelogs I think this is worth a new issue to discuss. For Fabric and my own projects ive been using: https://github.com/FabricMC/fabric-action-scripts/blob/main/src/changelog.ts the problem is this is specific to github actions.

Ive had a play and havent come up with a nice idea for this (gradle makes it kinda pain), my best idea is to have an option to select between diffrent styles? Such as the current one, and the one you suggested in this issue, the API would be something like:
discord {
    style = "classic" // what the plugin has now
    // or
    style = "modern" // what you suggested above
}

(better names TBD)

(Speaking of which, it would be cool to have automatic mod loader badges without needing to put the emotes into project configuration, but I don't know if that would be in scope for MPP.)

Have you got any ideas how this would be done?

Ive had a play and havent come up with a nice idea for this

Yeah ... I didn't have something better to suggest.  Outside allowing the user to pass in a complete embed definition, which seems likely too technical for the API style you've provided.

my best idea is to have an option to select between diffrent styles?

Yeah, that works for me.  I agree it's probably the simplest option.  And then a couple optional settings that get ignored if the style is classic.

(Speaking of which, it would be cool to have automatic mod loader badges without needing to put the emotes into project configuration, but I don't know if that would be in scope for MPP.)

Have you got any ideas how this would be done?

In the scope of Minecraft modding, there are only a few loaders; MPP could just keep its own list of the loader badges and emit them at the bottom of the embed or in an extra (optional?) embed based on what loaders are in the settings (modLoaders).  The main reason to do this is it helps just a wee bit with the knee-jerk "port it to X" comments.  I think those are more common when somebody sees something and gets excited but finds they can only download it for $not_my_favorite_loader.  This isn't a big deal though; I could put them further up (in the content) or even just leave it off.

It seems like things added in the PR have to be strings, probably unintentionally.  For example, this config almost works[*] (note the quotes and the call to .toString()), but it bails out insisting hex strings have to start with # even though the docs say it's optional.  Passing an Integer itself fails (the error states it must be a string).

Where by "works" I mean not aborting with an error.  I'll reserve further judgement until I get it to actually post to Discord.

            style {
                link = "INLINE"
                look = "MODERN"
                color = Integer.decode(project.project_color).toString()
                thumbnailUrl = project.project_logo
            }

About the hex, I originally made it with optional # and integer support, but @modmuss50 though it would be better to have it only as string. It makes sense, the number support was more to allow scripts that already used integer colors to be able to work easily, but that is a small set of scripts. It has been a while since I had worked on the script so I didn't remember much why I added integer support, and I guess we both forgot to update the docs on it
https://github.com/modmuss50/mod-publish-plugin/pull/61/commits/6e58d5807ccd0e5a31a023b70cf939f4f6d11657#diff-e61f4a8c2ab2a88e08e1206c53815311505d11e38c13c0dd8e358ccb5755b390L317-R322

I have updated the docs to reflect what was merged.

I have updated the docs to reflect what was merged.

Not entirely, I think.  Two things:

These do not work as documented, only if you quote them (or at least, quoting them makes the early crash go away).  The reason I guessed this was by looking at https://github.com/modmuss50/mod-publish-plugin/blob/main/src/main/kotlin/me/modmuss50/mpp/platforms/discord/DiscordWebhookTask.kt#L119-L120

look = "MODERN"
link = "BUTTON"

What is the exact syntax of color?  An example that is not just color = "github" would be nicer.  I am guessing maybe it is #112233 but am I right about that?  (Ours will all have to change, as they are stored as 0x112233 today.)

Re (1) above, here is an example of what happens if they are not quoted:
https://github.com/TerraformersMC/Biolith/actions/runs/11878112163/job/33098395841

I have updated the docs to reflect what was merged.

Not entirely, I think. Two things:
1. These do not work as documented, only if you quote them (or at least, quoting them makes the early crash go away).  The reason I guessed this was by looking at https://github.com/modmuss50/mod-publish-plugin/blob/main/src/main/kotlin/me/modmuss50/mpp/platforms/discord/DiscordWebhookTask.kt#L119-L120

look = "MODERN"
link = "BUTTON"

This was also a miss on the documentation, it used to not require it, but it was changed to string as it was proffered than the way it was being done before

2. What is the exact syntax of `color`?  An example that is not just `color = "github"` would be nicer.  I am guessing maybe it is `#112233` but am I right about that?  (Ours will all have to change, as they are stored as `0x112233` today.)

I'll work on improving this on the documentation

look = "MODERN"
link = "BUTTON"

This was also a miss on the documentation, it used to not require it, but it was changed to string as it was proffered than the way it was being done before

I would expect it to work the same as publishMods.type ... maybe Modmuss is going to change that someday...  But yeah as long as the docs say the right thing I guess that's really what matters.

I'll work on improving this on the documentation

:+1:  Thanks!


#16: fix "can't finish registration: Error validating origin" error

WebauthnConfig.RPOrigins should not contain port

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

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

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
192

Relevant Lines:
338

💛  - Coveralls


Challenge 5 migration to extension

Challenge 5 migrated to an extension following https://github.com/scaffold-eth/se-2-challenges/issues/234
Install from create-eth repo with:
yarn cli -e scaffold-eth/se-2-challenges:ch5-extension-init

closes #246

Houston, we have a problem
https://github.com/scaffold-eth/se-2-challenges/blob/challenge-5-state-channels/packages/nextjs/services/web3/wagmiConnectors.tsx#L1
In this challenge we don't use burner-wallet package, I used sessionStorage version instead of localStorage used in burner-wallet. I did it because we needed to get a new user in every browser tab.
So, options we have

(most easy) ask to open Rubes in a new private browser windows
update burner-wallet and add possibility to use sessionStorage
try to use the same sessionStorage version
... something different

Houston, we have a problem
https://github.com/scaffold-eth/se-2-challenges/blob/challenge-5-state-channels/packages/nextjs/services/web3/wagmiConnectors.tsx#L1
In this challenge we don't use burner-wallet package, I used sessionStorage version instead of localStorage used in burner-wallet. I did it because we needed to get a new user in every browser tab.
So, options we have

(most easy) ask to open Rubes in a new private browser windows
update burner-wallet and add possibility to use sessionStorage
try to use the same sessionStorage version
... something different

oh!
I think that we can go with the easier solution, asking to open the other user in a private browser window...

I think that we can go with the easier solution, asking to open the other user in a private browser window...

Yes, let's try to do it that way. Update Readme with that info please. Keep in mind we need a new private browser window for every rube, different tabs of one window also doesn't work

I think that we can go with the easier solution, asking to open the other user in a private browser window...

Yes, let's try to do it that way. Update Readme with that info please. Keep in mind we need a new private browser window for every rube, different tabs of one window also doesn't work

Checking the README I read:
⚠ Note: previous challenges created new addresses by opening an incognito window or a different browser. This will not work for this challenge, because the off-chain application uses a very simple communication pipe that doesn't work between different browsers or private windows.
What is the limitation to making it work on different browsers or private windows?

Oh, it uses https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API (grep BroadcastChannel in the app).
As I remember it worked only with tabs before, but now I see in the docs:
"The Broadcast Channel API allows basic communication between browsing contexts (that is, windows, tabs, frames, or iframes) and workers on the same origin."
So probably windows also works. Will try it tomorrow

Tried fast check, doesn't work (. Will play with it tomorrow
Also, this challenge uses ethers, humanize-duration and @types/humanize-duration deps. Uncomment checkpoint 4 and you'll see

Tried fast check, doesn't work (. Will play with it tomorrow

I tried the broadcast channel with the incognito window and it's not working :-(
We will need to go with one of the other options:

update burner-wallet and add the possibility to use sessionStorage
try to use the same sessionStorage version
... something different

Maybe we can try option 1.
Another option is to remove the broadcast channel and use a backend for the messages.
But adding the sessionStorage to the burner wallet may be something useful for other projects too.
@rin-st what do you think?

Maybe we can try option 1.

Yes, I'll try to update it later today

Maybe we can try option 1.

Yes, I'll try to update it later today

Great! Thanks!
I will try to remove the ethers dependency, it seems like the missing function from viem is already implemented https://viem.sh/docs/utilities/parseSignature

Looking at the burner wallet code from the previous challenge 5

Maybe we can try option 1.

Yes, I'll try to update it later today

Great! Thanks!
I will try to remove the ethers dependency, it seems like the missing function from viem is already implemented https://viem.sh/docs/utilities/parseSignature

Removed viem dependency using hexToSignature (we should update it to use parseSignature when updating viem).
Added humanize-duration dependency too and fixed some minor code comments.

Removed viem dependency using hexToSignature (we should update it to use parseSignature when updating viem).

Great! But why not to use parseSignature right away? Our viem version allows it
We updated burner-connector to next version so it can work with sessionStorage. I tried it with this challenge and now it works as expected. But to make it installed by default we need to wait for https://github.com/scaffold-eth/scaffold-eth-2/pull/1021 to be merged. Also, after that merge, we need to add this to this challenge READMESs to make it work

add this line to wagmiConnectors.ts to use sessionStroage version and test:
rainbowkitBurnerWallet.useSessionStorage = true;

Removed viem dependency using hexToSignature (we should update it to use parseSignature when updating viem).

Great! But why not to use parseSignature right away? Our viem version allows it

I think the viem version we are using does not have parseSignature yet. I tried it before changing to hexToSignature and the method does not exist.

We updated burner-connector to next version so it can work with sessionStorage. I tried it with this challenge and now it works as expected. But to make it installed by default we need to wait for scaffold-eth/scaffold-eth-2#1021 to be merged.

Great!! Thanks!!
Also, after that merge, we need to add this to this challenge READMESs to make it work

add this line to wagmiConnectors.ts to use sessionStroage version and test:
rainbowkitBurnerWallet.useSessionStorage = true;

I will add this line to the READMEs!

@rin-st Added the rainbowkitBurnerWallet config to READMEs!
The PR you mentioned was merged, but now we have to wait to get this update on create-eth, right?

I think the viem version we are using does not have parseSignature yet. I tried it before changing to hexToSignature and the method does not exist.

It works for me :shrug: . Added it bb5cdf9, please try on your side

The PR you mentioned was merged, but now we have to wait to get this update on create-eth, right?

Yes, sorry :)

I think the viem version we are using does not have parseSignature yet. I tried it before changing to hexToSignature and the method does not exist.

It works for me 🤷 . Added it bb5cdf9, please try on your side

Working fine! Thanks!!

The PR you mentioned was merged, but now we have to wait to get this update on create-eth, right?

Yes, sorry :)

Create-eth with the new burner connector was released and working great with the challenge! cc/ @rin-st @Pabl0cks

Nice job @damianmarti and @rin-st !!
With latest create-eth update and the new rainbowkitBurnerWallet.useSessionStorage = true; Readme hint is working great to me.
Only added a couple nitpick comments.

Thanks!!
Fixed! Please take a final review when you have some time. Thanks!


Support for other PHYs

As I can see, apart from standard SMI registers, it uses "phy special control / status register". Will this crate work with DP83848 for example, which doesn't have it?

Probably not.
How should this be configurable/dynamic? Is there a no_std phy abstraction already? Start one?

This PR was fully merged with https://github.com/stm32-rs/stm32-eth/pull/34.
Also, https://github.com/stm32-rs/stm32-eth/issues/8 can be closed in my opinion.


[XDS] add XDS health check for Envoy to health check on Config Server

Title: add XDS health check for Envoy to health check on Config Server
Description:
With Google GRPC, we are seeing grpc streams hang while the Config server is gone due to machine error. The grpc keepalive mechanism has its own issue that fails to send keepalive pings to config server and make possible remedy(say reconnect).
To stop such/similar under layer errors, we can build an application layer health check mechanism that does active health check on config server, and reconnect (to possibly a good server) if the being connected config server is malfunctioning/grpc-lib isn't working as expected.
[optional Relevant Links:]

Any extra documentation required to understand the issue.

@htuch @adisuissa @yanavlasov

Some questions:

Is this going to be a generic xDS transport health check that works for both Google and Envoy gRPC?
If this is Google gRPC only, should we aim to do this via gRPC library features? @markdroth

I think the Envoy gRPC can use the referenced cluster's health-check capabilities (for xDS and non-xDS queries).
One possibility is to add this feature to the Google gRPC configuration, but if it is handled by the underlying gRPC library it would be more generic.

there is a health check in gRPC https://github.com/grpc/grpc/blob/master/doc/keepalive.md
But it's hard to follow the settings there and we are seeing problems with keepalives sent in grpc-lib, that the keepalives could be sent hours apart while the server is long gone.
We are thinking that if we build an application layer HC mechanism, that gives Envoy users more control over the Envoy-Config-plane-server link, from the client side.
This would be an feature that's above GRPC, "XDS-local".

If the core problem here is that you're having problems with keepalives, then I think we should work on fixing that rather than inventing a separate mechanism.  I don't think it makes sense to invent yet another application-level health checking mechanism.
If you want to check that gRPC itself is working right, there is already a health-check protocol for that, and we also have built-in support for doing this health check from the gRPC client.  But I suspect that does not actually solve the problem you're having here.
If you want to check that the xDS layer is working right, I'm not sure how you do that without actually speaking the xDS transport protocol, which doesn't seem to provide much benefit, since that seems to be exactly what you're having problems with.


Chat -  Starting a chat with a specific number directs to the "Hmm" page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4381890
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Tap fab --- start chat
Enter and select +18183305298

Expected Result:
Starting chat with specific number must not direct to hmm page.
Actual Result:
Starting chat with specific number directs to hmm page.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/40eb31cd-1171-43eb-b13a-32fc6968fb5d
View all open jobs on GitHub

We think that this bug might be related to #vip-vsb
CC @quinthar

I tried to reproduce it on production, and the expected behavior is to show the error inline:

For some reason we're not inserting the optimistic report in this case. Still investigating

Also, why are we getting a 666 back from OpenReport?

Ah because we're not allowing certain carriers

Hmm we're calling Onyx.set for the optimistic report two times and the second one is an empty object

This is the offending PR. After testing the revert we're not calling OpenReport two times and we load the optimistic chat, but we don't show the error after refreshing though:

Fixed here

Retested on v1.4.47-7 And seeing the error now

closing this as completed


Support For DataStoreClusters

Is there support for DataStoreClusters? Using DataStores only eliminates a lot of functionality and flexibility that is built into vSphere.

I am looking into this. It appears in the vSphere API RecommendDatastores() and ApplyStorageDrsRecommendation_Task() will accomplish this. The API refers to datastore clusters as "Storage Pods".  When you specify a method (create, clone, relocation, reconfigure) for the CloneVM_Task(). The method generates a recommendation on where to place the VM which is the same thing you see in the vSphere client. To perform actually provisioning/cloning of the VM it has to call the ApplyStorageDrsRecommendation_Task() which will then accept the recommendation ID. I believe the  RecommendDatastores() will return multiple recommendations in an array.

Has there been any further progress on this? It would be greatly beneficial to get support for using datastore clusters rather than having to explicitly assign to a specific datastore.

@Brunzer we have moved development over to https://github.com/chef-partners/chef-provisioning-vsphere and we are doing our best to maintain it now.
Can you put in an issue there to track this? Use case and maybe we can get some more eyes on.

thanks @jjasghar. I saw that there's already an issue open in that repo for this as well. I just commented on it to reference this one as well.


Extend API to allow specifying the exception class

Adds an on_exception argument to specify the class of exception to catch. This provides a cleaner API to catching only specific exception classes.
Opening this in part as a POC and to start discussion. I think it is a much nicer API for this use case and also solves the issue of catching BaseException by default.
See #17

ping... I would love this feature. Makes it feel a lot more like nose's "raises()" test.

I was about to add a PR with this feature, but then found it here -- and also in this another PR (#37) by @harlowja!
@rholder perhaps it's worth considering finding another maintainer to help out with your awesome package?

I actually am maintaining a fork that I use. I'll push it to PyPI and people can use this via that if they want.

My version ended up being a more like a complete rewrite which I'll be maintaining and releasing at some point soon. It might not be compatible with all use-cases, but I simplified things a ton and removed things I have no interest in. https://github.com/d0ugal/retrace
Closing this for now, but anyone should feel free to use it or whatever!


Authentication LDAPs not working in Version 2.18.x

We have configured LDAPs as Authentication Source:
Server: ldapserver:636
Use TLS: checked
Skip verification of server certificate: checked.
In our old Version 2.17.1 this was working fine. Then we upgraded to 2.18.3 And the LDAPs connection is not working anymore.
Every time we click on "Test Connectivity" we get the following error.
failed creating LDAP connection: LDAP Result Code 200 "Network Error": read tcp x.x.x.x:36260->x.x.x.x:636: read: connection reset by peer
Also a complete new Installation of 2.18.3 is showing the exact same error. Downgrading to 2.17.1 just fixed the issue and the LDAPs connection was working fine again.

@noesberger
I've tried ldaps with MS AD Server and it is working fine.
Can you share more details around your LDAP Server itself, also have you tried with just one Target? In case if you are using multiple Targets


Can't add collections with multiple values per key using nk.storage_write

Description
When trying to add multiple items to a public colection in the server using an rcp call that is being called from a test html we found that the collection is created with the correct key, but with no value.
However, if we (using the same code) access one of the provided values  (like data[1]), then hat value is written.
Steps to Reproduce
1. Send the payload:

const payload =
    {
        "password": "example_password",
        "items":
        [
          {
                  "key": "cars",
                  "data":[
                    {
                      "item_id": "CAR01",
                      "name": "FORMULA 1",
                      "price": 0,
                      "elo": 0,
                      "buy_only_once": true
                    },
                    {
                      "item_id": "CAR02",
                      "name": "HOTROD",
                      "price": 500,
                      "elo": 1100,
                      "buy_only_once": true
},
                    {
                    "item_id": "CAR03",
                      "name": "KART",
                      "price": 1000,
                      "elo": 1200,
                      "buy_only_once": true
                    },
                    {
                    "item_id": "CAR04",
                      "name": "MONSTER TRUCK",
                      "price": 1500,
                      "elo": 1300,
                      "buy_only_once": true
                    },
                    {
                    "item_id": "CAR05",
                      "name": "4x4",
                      "price": 2000,
                      "elo": 1400,
                      "buy_only_once": true
                    },
                    {
                    "item_id": "CAR06",
                      "name": "BULLDOZER",
                      "price": 2500,
                      "elo": 1500,
                      "buy_only_once": true
                    },
                  ],
              },    ]
    };
    const rpcId = "add_items";
    const respo = await client.rpc(responseSession, rpcId, payload);

2. In server, execute the function add_items. It will try to write and read afterwards, to check if everything went ok:
local function add_items(context, payload)
  local petition = nk.json_decode(payload)

  --Check password
  if(petition.password == glo.PASSWORD) then

    --Add every item to list
    for key, item in ipairs(petition.items) do
      newItem ={collection = glo.ITEM_COLLECTION_NAME, key = item.key, value = item.data, user_id = nil,  permission_read = 2, permission_write = 0}
      nk.storage_write({newItem})
    end

    local object_ids = {
      {collection = "virtualgoods", key = "cars", user_id = nil},
    }

    local objects = nk.storage_read(object_ids)
    --objects = nk.storage_read(object_ids)
    print(inspect(objects))

    return utils.create_json_response_for_rpc_function(SUCCES_CODE, SUCCESS_MEASSAGE, petition)
  else
    return utils.create_json_response_for_rpc_function(INTERNAL_SERVER_ERROR_CODE, INTERNAL_SERVER_ERROR_MESSAGE, petition)
  end
end
nk.register_rpc(add_items, 'add_items')

3. Try again, but adding only one value this time
local function add_items(context, payload)

  local petition = nk.json_decode(payload)

  --Check password
  if(petition.password == glo.PASSWORD) then

    --Add every item to list
    for key, item in ipairs(petition.items) do
      newItem ={collection = glo.ITEM_COLLECTION_NAME, key = item.key, value = item.data[1], user_id = nil,  permission_read = 2, permission_write = 0}
      nk.storage_write({newItem})
    end

    local object_ids = {
      {collection = "virtualgoods", key = "cars", user_id = nil},
    }
    local objects = nk.storage_read(object_ids)
    --objects = nk.storage_read(object_ids)
    print(inspect(objects))

    return utils.create_json_response_for_rpc_function(SUCCES_CODE, SUCCESS_MEASSAGE, petition)
  else
    return utils.create_json_response_for_rpc_function(INTERNAL_SERVER_ERROR_CODE, INTERNAL_SERVER_ERROR_MESSAGE, petition)
  end
end
nk.register_rpc(add_items, 'add_items')

Expected Result
In step 2, collection with corresponding keys should contain all provided values.
In step 3, collection with corresponding key should contain only one value.
Actual Result
For code in step 2:
nakama         | { {
nakama         |     collection = "virtualgoods",
nakama         |     create_time =<PHONE_NUMBER>,
nakama         |     key = "cars",
nakama         |     permission_read = 2,
nakama         |     permission_write = 0,
nakama         |     update_time =<PHONE_NUMBER>,
nakama         |     value = {},
nakama         |     version = "37a6259cc0c1dae299a7866489dff0bd"
nakama         |   } }

For code in step 3:
 { {
nakama         |     collection = "virtualgoods",
nakama         |     create_time =<PHONE_NUMBER>,
nakama         |     key = "cars",
nakama         |     permission_read = 2,
nakama         |     permission_write = 0,
nakama         |     update_time =<PHONE_NUMBER>,
nakama         |     value = {
nakama         |       buy_only_once = true,
nakama         |       elo = 0,
nakama         |       item_id = "CAR01",
nakama         |       name = "FORMULA 1",
nakama         |       price = 0
nakama         |     },
nakama         |     version = "58d76afd91b00a038cacb5b631024ad2"
nakama         |   } }

Your Environment

Nakama: 2.3.2
Cockroach: 2.1.3
Operating System and version: Ubuntu 16.04 x64 4gb Ram 60Gb SSD

@JapendWFM If I understand your code correctly the loop below will execute only once for the sample input you provided:
    for key, item in ipairs(petition.items) do
      newItem ={collection = glo.ITEM_COLLECTION_NAME, key = item.key, value = item.data, user_id = nil,  permission_read = 2, permission_write = 0}
      nk.storage_write({newItem})
    end

And will attempt to write a single storage record with the key cars and the value [{"item_id":"CAR01",[...snip...]}].
Is this what you intended to do?
If so it won't quite work because the storage value you're attempting to write is a top-level JSON array ([]). The storage system currently only allows top-level JSON objects ({}).

Yes, that is what I was intending to do with that code.

In that case I think this is a duplicate of the feature request in #304. Keep an eye on that, but until then you can change your data structure to be a top-level JSON object.


Added End to End Integration test

ahh cool, maybe just note that in the assertion that the count is tied to
trace ids, not span ids.

MockWebServer supports http/2 by default, though we might need to get into
guts if we have to share an ssl context or something.
https://github.com/square/okhttp/tree/master/mockwebserver

Running full fledge mock grpc server that implements Stackdriver interface
is probably easier.
On Thu, Dec 22, 2016, 11:03 PM Adrian Cole<EMAIL_ADDRESS>wrote:

MockWebServer supports http/2 by default, though we might need to get into
guts if we have to share an ssl context or something.
https://github.com/square/okhttp/tree/master/mockwebserver
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16#issuecomment-268948886,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABL2ZvscvIuXmaqBaWVxVFFyxbj_RWfIks5rK3IzgaJpZM4LUkoc
.

--
regards, denys

Running full fledge mock grpc server that implements Stackdriver interface
is probably easier.

yep sounds smart

@adriancole after the fact using real GRPC server was not hard, thanks for pushing into right direction!

Having test rule is good idea: at least there is no need to explicitly
start/shutdown server.
On Sat, Dec 24, 2016, 7:27 PM Adrian Cole<EMAIL_ADDRESS>wrote:

@adriancole commented on this pull request.
In
collector/src/test/java/com/google/cloud/trace/zipkin/ZipkinCollectorIntegrationTest.java
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16#pullrequestreview-14359198
:

@Primary

public Executor syncExecutor()
{

 //executes each task synchronously

 return new SyncTaskExecutor();

}

@Bean(name = "googleCredentials")
@Primary
public Credentials mockGoogleCredentials() throws IOException
{

 return mock(GoogleCredentials.class);

}
}

class MockTraceService extends TraceServiceGrpc.TraceServiceImplBase

cool :)
not saying you need to do this, but one option is to extract this out as a
junit rule, and expose the traces received as a collection. It would make
the test itself easier to read since the infrastructure around the fake
server would be somewhere else.
ex.
@Rule public StackDriverTraceRule traceService = new StackDriverTraceRule(PORT); // specify the port or allow something to look it up.
// then later
@Testpublic void tracesSunk() throws InterruptedException {
// do something to produce traces
// then either use a blocking queue internally in your rule and take a patch requests explicitly like this.
assertThat(traceService.takePatchRequest()) // using assertj this works..
.extracting(r -> getTraces().getTracesList())
.flatExtracting(t -> t.getSpansList())
.extracting(Span::getSpanId)
.hasCount(3); // or containsExactly(myIds)
// or just sink them to a local collection and interact directly
assertThat(traceService.traceIds())
.containsExactly(...)
}
https://github.com/openzipkin/zipkin/blob/master/zipkin-junit/src/main/java/zipkin/junit/ZipkinRule.java
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16#pullrequestreview-14359198,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABL2ZiDpQP20ZIO7WdiH1DYdJ81ih8ELks5rLeKngaJpZM4LUkoc
.

--
regards, denys

all your suggestions are sensible!

I can't use it @SpringBootTest property, because
"zipkin.storage.stackdriver.api-host" is not static but rather made of
"localhost:<dynamic_tcp_port>" where <dynamic_tcp_port> is not known
upfront. I need something similar to "server.port=0" Spring Boot uses for
test webserver.
On Mon, Dec 26, 2016, 12:58 PM Marcin Grzejszczak<EMAIL_ADDRESS>wrote:

@marcingrzejszczak commented on this pull request.
In
collector/src/test/java/com/google/cloud/trace/zipkin/ZipkinCollectorIntegrationTest.java
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16:

+import static zipkin.TestObjects.LOTS_OF_SPANS;

+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {StackdriverZipkinCollector.class, ZipkinCollectorIntegrationTest.TestConfiguration.class},

webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
properties = {ZIPKIN_CONFIG_NAMES, "zipkin.storage.stackdriver.project-id=test_project"})
+public class ZipkinCollectorIntegrationTest
+{
//LOTS_OF_SPANS is too much! I need at most 30!
private static final List TEST_SPANS = unmodifiableList(asList(Arrays.copyOfRange(LOTS_OF_SPANS, 0, min(30, LOTS_OF_SPANS.length))));

@ClassRule
public static final StackdriverTraceClassRule traceService = new StackdriverTraceClassRule();

@ClassRule
public static final ProvideSystemProperty hostProperty

You can't use @SpringBootTest property because you need this to be set
before the context is started? Cause in general if in the code you're
referencing that zipkin.storage.stackdriver.api-host property via @Value
then it's enough to just override it as a property in @SpringBootTest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABL2ZgCHMuvCEleRkfJ8RAVJyKuK20wEks5rMCpwgaJpZM4LUkoc
.

--
regards, denys

Makes sense. I think that the solution is pretty clear - I don't know if it
makes sense to spend more time on making this better?
2016-12-26 22:05 GMT+01:00 Denys Kurylenko<EMAIL_ADDRESS>
I can't use it @SpringBootTest property, because
"zipkin.storage.stackdriver.api-host" is not static but rather made of
"localhost:<dynamic_tcp_port>" where <dynamic_tcp_port> is not known
upfront. I need something similar to "server.port=0" Spring Boot uses for
test webserver.
On Mon, Dec 26, 2016, 12:58 PM Marcin Grzejszczak <
<EMAIL_ADDRESS>wrote:

@marcingrzejszczak commented on this pull request.
In
collector/src/test/java/com/google/cloud/trace/zipkin/
ZipkinCollectorIntegrationTest.java
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16:

+import static zipkin.TestObjects.LOTS_OF_SPANS;

+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {StackdriverZipkinCollector.class,
ZipkinCollectorIntegrationTest.TestConfiguration.class},

webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
properties = {ZIPKIN_CONFIG_NAMES, "zipkin.storage.stackdriver.
project-id=test_project"})
+public class ZipkinCollectorIntegrationTest
+{
//LOTS_OF_SPANS is too much! I need at most 30!
private static final List TEST_SPANS = unmodifiableList(asList(
Arrays.copyOfRange(LOTS_OF_SPANS, 0, min(30, LOTS_OF_SPANS.length))));

@ClassRule
public static final StackdriverTraceClassRule traceService = new
StackdriverTraceClassRule();

@ClassRule
public static final ProvideSystemProperty hostProperty

You can't use @SpringBootTest property because you need this to be set
before the context is started? Cause in general if in the code you're
referencing that zipkin.storage.stackdriver.api-host property via @Value
then it's enough to just override it as a property in @SpringBootTest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ABL2ZgCHMuvCEleRkfJ8RAVJyKuK20wEks5rMCpwgaJpZM4LUkoc>
.

--
regards, denys
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16#issuecomment-269241751,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADJQnegM3RjAot31QRaqt5pq7Z5PR6buks5rMCwMgaJpZM4LUkoc
.

I feel custom ApplicationContextInitializer/Property source approach is bit
cleaner, but requires a lot of boilerplate code. If there is nothing
simpler than that then I would rather stay with solution as is.
On Mon, Dec 26, 2016, 1:15 PM Marcin Grzejszczak<EMAIL_ADDRESS>wrote:

Makes sense. I think that the solution is pretty clear - I don't know if it
makes sense to spend more time on making this better?
2016-12-26 22:05 GMT+01:00 Denys Kurylenko<EMAIL_ADDRESS>
I can't use it @SpringBootTest property, because
"zipkin.storage.stackdriver.api-host" is not static but rather made of
"localhost:<dynamic_tcp_port>" where <dynamic_tcp_port> is not known
upfront. I need something similar to "server.port=0" Spring Boot uses for
test webserver.
On Mon, Dec 26, 2016, 12:58 PM Marcin Grzejszczak <
<EMAIL_ADDRESS>wrote:

@marcingrzejszczak commented on this pull request.
In
collector/src/test/java/com/google/cloud/trace/zipkin/
ZipkinCollectorIntegrationTest.java
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16:

+import static zipkin.TestObjects.LOTS_OF_SPANS;

+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {StackdriverZipkinCollector.class,
ZipkinCollectorIntegrationTest.TestConfiguration.class},

webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
properties = {ZIPKIN_CONFIG_NAMES, "zipkin.storage.stackdriver.
project-id=test_project"})
+public class ZipkinCollectorIntegrationTest
+{
//LOTS_OF_SPANS is too much! I need at most 30!
private static final List TEST_SPANS = unmodifiableList(asList(
Arrays.copyOfRange(LOTS_OF_SPANS, 0, min(30, LOTS_OF_SPANS.length))));

@ClassRule
public static final StackdriverTraceClassRule traceService = new
StackdriverTraceClassRule();

@ClassRule
public static final ProvideSystemProperty hostProperty

You can't use @SpringBootTest property because you need this to be set
before the context is started? Cause in general if in the code you're
referencing that zipkin.storage.stackdriver.api-host property via
@Value
then it's enough to just override it as a property in @SpringBootTest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16,
or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ABL2ZgCHMuvCEleRkfJ8RAVJyKuK20wEks5rMCpwgaJpZM4LUkoc>
.

--
regards, denys
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16#issuecomment-269241751
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ADJQnegM3RjAot31QRaqt5pq7Z5PR6buks5rMCwMgaJpZM4LUkoc
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/16#issuecomment-269242274,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABL2ZiNqMq7DeOsuLoPNxUJ18ybL6u0mks5rMC5ugaJpZM4LUkoc
.

--
regards, denys

opened https://github.com/spring-projects/spring-boot/issues/7759 which you
can choose to reference if you like.
thanks for looking into this!

fyi looks like there's a way to handle the race between picking a port and the boot runner now. it would remove the need to use system rules I think. wanna give it a try? https://github.com/spring-projects/spring-boot/issues/7759

@adriancole proposed solution with ApplicationContextInitializer is not ideal as it requires some boilerplate code to be written, however on other side non-essential code will be removed from ClassRule.

@kevinmdavis can you take a look?

@adriancole @kevinmdavis I'm glad we didn't settle on mock TraceSink, see https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/19

thanks for the heads up!


Uninstall the profile and scripts

I uninstalled Oh My Posh completely and re-installed but couldn't get back to default settings of oh-my-posh and change the theme according to the guides. Some help for a noob?

What were your default settings? Also, I would like to know some more information (if possible).

Hi @sameerasw, What were your default settings? Also, I would like to know some more information (if possible).

I would like to know how to completely remove this script and it's affects. Because it takes quite a time for my pc to load.
I tried changing my Oh-My-Posh theme as the guides but it doesn't make any changes... I even completely re-created my powershell profile but just after I added oh-my-posh to the execution, It reverts back to the state which it was before... I couldn't find where these changes are located.
Can you give me a little help on reverting every change to it's default? Because it takes around 2 seconds to load the CLI and it's a bit annoying on day to day use.

Based on the setup.ps1 present in this repo, the script must be present in

C:\Users\<yourusername>\Documents\Powershell if you installed using Powershell 7+.
C:\Users\<yourusername>\Documents\WindowsPowerShell if you installed using Windows Powershell.

There, you will find the file as Microsoft.PowerShell_profile.ps1.
Can simply delete this file to revert back to default look of Powershell.

Thank you! Removing Chocolatey fixed... Now I'm able to set up everything as normal.
Now it doesn't take seconds to load profiles and instant.


[HUDI-3770] Delete the remaining temporary marker files after the syn…

…chronous compaction is triggered.
Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@yihua
Hello，Thank you for your review. I answered your questions in the comments and hope you can review my code again.

@watermelon12138 could you check why CI fails?

@watermelon12138 could you check why CI fails?
Hello，CI success now，I look forward to your review of my code，Thanks.

@yihua
Hello，CI success now，I look forward to your review of my code，Thanks.

@watermelon12138 would you mind reopening this PR?  Looks like it's accidentally closed.


Native Select on mobile

Describe the feature in detail (code, mocks, or screenshots encouraged)
Right now I render both to the HTML and hide the native one for all but small viewports. It would be nice if Select used the native option for small screen devices
What type of pull request would this be?
Enhancement
Provide relevant links or additional information.
No response

What you're doing is exactly what I would expect users with the same desire to do. Wrap/extend the primitives to fit your requirements.
While I understand the appeal of automatically switching to native select elements on mobile devices, we won't be shipping this feature with the library at the moment.

It would require shipping additional viewport detection and switching logic to all users, even those who don't need this functionality.
Different applications have varying requirements for when to use native vs custom selects (some may prefer native on desktop, others may need custom on mobile).
As you've demonstrated, the current implementation allows developers to compose their own solutions using the primitives.

For those interested in implementing similar behavior, you can build this pattern using our existing APIs:
<script lang="ts">
	import { Select } from 'bits-ui'
	import { onMount } from 'svelte'

	let useNativeSelect = $state(false)
	let value = $state('')

	onMount(() => {
	  const mediaQuery = window.matchMedia('(max-width: 640px)')
	  useNativeSelect = mediaQuery.matches

	  mediaQuery.addEventListener('change', (e) => {
	    useNativeSelect = e.matches
	  })
	})
</script>

{#if useNativeSelect}
  <select bind:value>
    <!-- native options -->
  </select>
{:else}
  <Select.Root bind:value>
    <!-- ...rest -->
  </Select.Root>
{/if}


test

Summary

see #3 and stuff
weird link: /issues/3 c:
lowercase: gh-3
reference with #3text immediately after, this should not work
link with owner/repo: onerandomusername/monty-python#319
in parentheses: (#3 <- waow!)
or in italics: #3
or maybe after some other symbol, like &#3, which apparently works?

closes #9
also uppercase GH-3
just a simple ref on its own:
#3

and a numbered list

#3 too

alright, note to self:
Fetch upstream is fucked, it creates a PR in the case of merge conflicts, which you can't update if you can't write in the upstream repo (due to perms or branch protection)

You made me think dates were broken :(


[FEATURE] support configurable checksum in Lz4Decompressor

Is your feature request related to a problem? Please describe.
Now the checksum in Lz4Decompressor is set to StreamingXXHash32JNI by default, and there is no config to change it. This checksum calls C++ code, which may cause spark executor hang in Gluten.
Describe the solution you'd like
Make it configurable, so In gluten, they can choose to use StreamingXXHash32JavaSafe.

@shuai-xu, which config do you change? Like seed?

@shuai-xu, why should it support configurable checksum in Lz4Decompressor? IMO, XXHashFactory#fastestInstance would determine to use which instance according to environment.
/**
   * Returns the fastest available {@link XXHashFactory} instance. If the class
   * loader is the system class loader and if the
   * {@link #nativeInstance() native instance} loads successfully, then the
   * {@link #nativeInstance() native instance} is returned, otherwise the
   * {@link #fastestJavaInstance() fastest Java instance} is returned.
   * <p>
   * Please read {@link #nativeInstance() javadocs of nativeInstance()} before
   * using this method.
   *
   * @return the fastest available {@link XXHashFactory} instance.
   */
  public static XXHashFactory fastestInstance() {
    if (Native.isLoaded()
        || Native.class.getClassLoader() == ClassLoader.getSystemClassLoader()) {
      try {
        return nativeInstance();
      } catch (Throwable t) {
        return fastestJavaInstance();
      }
    } else {
      return fastestJavaInstance();
    }
  }

By default fastestInstance use nativeInstance, it can't change to javaInstance by config

This checksum calls C++ code, which may cause spark executor hang in Gluten.

Could u pls elaborate more? How does it happen?

@shuai-xu, I have supported the configuration mentioned above in #2050. PTAL.


generate json survey is not valid

why the input json to create a survey isn't valid json?

I am using JSON5 to generate the JSON in the Visual Editor - http://json5.org/.
This extension is easily to maintain by humans, IMHO.
You may use the standard/valid JSON - it should work as well.
Do you have any issues with this JSON5?
If yes, please describe. I may optional offer the standard JSON generation/reading.
Thank you,
Andrew

I didn't see this issue. There is a PR in the editor repository dealing with this issue https://github.com/andrewtelnov/surveyjs.editor/pull/7
The issue with the current output is simply that it is not valid JSON. In JSON it is mandatory to double-quote the keys. See also: http://json.org/

I will add a valid JSON generation as an option.

Added options dropdown button:
http://surveyjs.org/builder/
I will add this functionality to dxsurvey.com later.

Options "Generate Valid JSON" and "Generate Readable JSON" are added.
Updated http://surveyjs.org/builder/ and http://dxsurvey.com
To set them manually use:
   var options = {};     options.generateValidJSON = true;     var editor = new SurveyEditor.SurveyEditor("editor", options);
to show options menu in the editor set:
editor.showOptions = true;
I believe the issue is solved.
Thank you,
Andrew

Thank you, that saves us a LOT of time :-)

@andrewtelnov this should really go in the docs or a FAQ or something. Got lucky searching through the issues but I would have been really frustrated and worried as I was initially going to eval() the text output into an object which is very insecure.

@c0bra You are right. We need documentation.
Unfortunately, we are not able to produce a quality docs right now. We will work on them later.
What we can do and actually had to some times ago, create an example and describe all available options. I have added this task to our TODO list.
Thank you,
Andrew


Upgrade to Flyway v6.5.5. Update code based on Flyway API changes

References

Fixes #2948

Description
This PR updates us to Flyway v6.5.5 (the latest version of https://flywaydb.org/) from v4.0.3
A large amount of code refactoring was necessary, as the Flyway Java API has changed significantly between v4 and v6.  However, all code changes were in the dspace-api layer in the org.dspace.storage.rdbms package.
A few key points:

The DatabaseUtils class no longer needs to cache the Flyway object.  Caching was able to be removed based on the updated v6 Flyway API
All Callback classes were simplified. They now only require 3 methods: supports(), canHandleInTransaction() and handle().
Flyway removed/hid some classes from its API which were duplicative of Spring core classes. So, in some areas, I was able to replace old Flyway versions of classes with Spring ones.
NEW A new FlywayUpgradeUtils class was added to help with DSpace 5.x to 7.x upgrades. This was needed because DSpace 5.x used Flyway 3.x, which cannot be upgraded directly to Flyway 6.x (cause of major database-level changes in Flyway 4.x, see https://github.com/flyway/flyway/issues/2126).  The FlywayUpgradeUtils class checks for this scenario, and runs a SQL script to update the database structure to be compatible with Flyway 4.x (which can be upgraded directly to Flyway 6.x)
NOTE: Flyway has its own Context object now in their v6 API.  So, in reviewing code, be aware that most of the Context objects in this PR are Flyway's Context and not DSpace's Context

Instructions for Reviewers

Code should be relatively easy to review. It's often the same general changes over and over again in many of the org.dspace.storage.rdbms.* classes.
All existing tests pass, which proves the code works...as our Unit & Integration tests both use Flyway to initialize the test database in H2.
FlywayUpgradeUtils was added to solve this previously reported issue.
You can install this PR locally and verify that your local backend (on either Postgres or Oracle) also still works as expected.

Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new, third-party dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies the REST API, I've linked to the REST Contract page (or open PR) related to this change.

@KevinVdV : thanks for testing & reporting back.  This issue is really odd to me, as we are not migrating from Flyway 3.x (which is what this issue seems to refer to https://github.com/flyway/flyway/issues/2126).  In DSpace 6.x, we already were running Flyway 4.x. So, now, we are upgrading from 4.x to 6.x.
I'll have to dig around here to see what is going on.  Either way, it's disappointing that Flyway seems to not let you skip versions...so, maybe somehow there's also an issue here in skipping Flyway 5 and going straight from 4.x to 6.x.

@KevinVdV : Good catch.  I think you've found one place where the new code to upgrade the Flyway DB table was not being triggered....I'll get that tiny bug fixed today, as it should be quick to fix, and I'll ping you when it's ready for a re-test.
As for the pgcrypto messages, as you noted, those are expected/required behavior when upgrading to either 6.x or 7.x....there's no way for us to auto-install pgcrypto unfortunately, so the user has to do that themselves to proceed with the other migrations.

@KevinVdV : I fixed the latest issue you discovered in my most recent commit.  I verified the fix locally, but when you get a chance, please test it again.
(Sidenote: Travis CI builds are having issues...this PR keeps timing out its build.  It succeeds locally, so you can disregard Travis issues in your testing. Obviously, I'll make sure Travis approves before merging.)

@mwoodiupui : Thanks for the feedback here.  I've refactored this code based on your feedback (see https://github.com/DSpace/DSpace/pull/2949/commits/569169a85219cbde9226827328609b3dc2ab0676).  Would you be willing to give this another review?
(NOTE: I also re-tested that the upgrade process from 5.x -> 7.x still works properly with this minor refactor in place.  Travis should also let us know if there's any issues with the fresh install process, but I think that's unlikely.)


Add drag and drop reorder support

Hey,
When using timing diagrams I find it really useful to be able to reorder the lane to make a close comparison between two lanes.
I implemented it using interact.js and snap.svg
demo available here
Let me know what you think.
Pull request is imminent.

Hi @mmulet interesting idea. And much appreciated PR. I see that size of minified package grow from 28K --> 167K. This is alarming. Do you think this functionality can be done without sansvg and interractjs?

@mmulet here some issues:

dependency arrows not realigned
signals in groups got wrong group
lanes go swapped not re-inserted (as one might prefer)

@drom: It can definitely be more lightweight.  I could use native drag events instead of interact.js, and for animation I could use something like animateplus which is only 10K minified.
•	dependency arrows not realigned  - will probably just redraw the arrows
•	signals in groups got wrong group - either make it so that you can't drop outside the group, or redraw the groups after a drop( but now the groups won't all be together)
•	lanes go swapped not re-inserted (as one might prefer)- I'm not sure what you mean by this.

[x] " I could use native drag events instead of interact.js, and for animation I could use something like animateplus which is only 10K minified."  The code is now 40K minified.

[ ] dependency arrows not realigned

[ ] signals in groups got wrong group

[ ] lanes go swapped not re-inserted (as one might prefer)

+10K is much better :+1:
on lanes go swapped not re-inserted. If you take lane 2 and drop it on top of lane 5.

now they got swaped
I would expect, something like this: 3->2, 4->3, 5->4, 2->5

Oh, that makes a lot of sense. That seems much more intuitive, I'll definitely change to that.
Probably by dividing the hitbox of the wavlane into a top and bottom portion, and inserting into the closest space that it is dropped.
About the empty lanes,  it would make sense to be able to insert something into an empty lane. But sometimes it's really nice to have that divider between groups. Perhaps we create a hitbox for the empty and divide it into 3 thirds, top, middle, bottom.

a
wavelane hitboxes

wavelane1-top

wavelane1-bottom

empty-top

empty-middle

empty-bottom

wavelane2-top

wavelane2-bottom

if the user want to insert below wave lane1 they would drop here:

b
wavelane hitboxes

wavelane1-top

user drops here
wavelane1-bottom

or here
empty-top

empty-middle

empty-bottom

wavelane2-top

wavelane2-bottom

which leads to

c
wavelane hitboxes

wavelane1-top

wavelane1-bottom

new wavelane-top

new wavelane-bottom

empty-top

empty-middle

empty-bottom

wavelane2-top

wavelane2-bottom

similarly, to insert above wavelane 2 you would:

d
wavelane hitboxes

wavelane1-top

wavelane1-bottom

empty-top

empty-middle

user drops here
empty-bottom

or here
wavelane2-top

wavelane2-bottom

which leads to

e
wavelane hitboxes

wavelane1-top

wavelane1-bottom

empty-top

empty-middle

empty-bottom

new wavelane-top

new wavelane-bottom

wavelane2-top

wavelane2-bottom

and if you wanted to just place the wavelane in the empty spot you would drop it in the middle:

f
wavelane hitboxes

wavelane1-top

wavelane1-bottom

empty-top

user drops here
empty-middle

empty-bottom

wavelane2-top

wavelane2-bottom

which leads to

g
wavelane hitboxes

wavelane1-top

wavelane1-bottom

new wavelane-top

new wavelane-bottom

wavelane2-top

wavelane2-bottom

And there would have to be an indicator on the graph that displays where the lane will be dropped.
Last but not least, if we add the ability to fill in an empty lane, there should probably be a way to add in new empty lanes.

@mmulet these are all cool features, I like them; but before too much work is done I like to put this functionality in perspective of two main use cases:
editor
WaveDrom editor meant for the people that like text editing more then drawing. Moving the WaveLane in the editor is just moving a line of code. Darg-n-Drop mechanism may confuse people is these manipulations will not affect the source code -- WaveJSON. Unfortunately, back-annotation of the source code may not be 100% reliable task. Taking into considerations the fact that WaveJSON is an Executable JavaScript, and user can got creative with it. I have advanced cases when user program waveform behavior in form of WaveJSON, makes it parametrizable, or use it for validation / assertion flow.
viewer
Drag-n-Drop make more sense in the read-only mode. For example, zoom, scroll and select (highlight) are long desired and requested features. Agree, that lane rearranging is nice feature, if no semantic is broken. like we discussed above: signal grouping, dependency arrows, empty lane insertion, deletion. The question here is: should these manipulations affect WaveJSON, when user want the save it? Will all these changes be lost when user refresh the page? Will it become an partial editor flow?


Empty message text in zoom (MAC OS) via incoming webhook

I am trying to send elastalerts to zoom via http_post to incoming webhook app
on Windows in works just OK
on Mac OS there is empty message text.
BUT if I copy message to clipboard and paste it - text is OK

My alert rule
alert: post
http_post_url: "https://inbots.zoom.us/incoming/hook/My_chat_id_here?format=fields"
http_post_payload:
  message: message
http_post_headers:
  authorization: Bearer My token is here
http_post_proxy:
  http://my_proxy_is_here:and_port

adding   Content-Type: "application/json" does NOT work :(

Solved.
?format=fields  and json mapping was brealing everything
wiorking config:
alert: post
include: ["userId","message", "@timestamp"]
http_post_url: "https://inbots.zoom.us/incoming/hook/chat_id"
http_post_headers:
  authorization: Bearer toooooooooooooooken

and NO "http_post_payload"


Roadmap to support GQL, ISO/IEC 39075:2024?

What is the roadmap for conforming to GQL, ISO/IEC 39075:2024?

Cayley is currently in the maintenance/archive mode. No one is actively working on any new features, unfortunately.


how to return HomeActivity?

public class HomeActivity extends MaterialNavigationDrawer{
}
if
HomeActivity --> (Activity1 extends Activity)--> Activity2 --> Activity3,
then
Activity3 --> HomeActivity?
Thank you.

Activity3 finish() --> Activity2 finish() Activity1 finish() ,oh ,it's at home.
// add pattern
this.setBackPattern(MaterialNavigationDrawer.BACKPATTERN_BACK_TO_FIRST);
//back to first
getActivity().onBackPressed();//return home


Remove tabs & duplicate groupid

Handles https://github.com/Jasig/cas/issues/946

What a change! I will trust you on this.
+1

Indeed, this is huge, noisy and not all that interesting to review. We'll eventually benefit from this. I'll wait for @serac to also review before taking any action. This also allows me to work on #960 next.


[Event Request] table 901 "Assembly Line" - OnFindBinOnBeforeGetDefaultBin /OnAfterFindBin

Can we please get the following two events?
procedure FindBin() NewBinCode: Code[20]
var
    Location: Record Location;
    WMSManagement: Codeunit "WMS Management";
begin
    if ("Location Code" <> '') and ("No." <> '') then begin
        GetLocation(Location, "Location Code");
        NewBinCode := Location."To-Assembly Bin Code";
        //+EVENT
        //-if NewBinCode <> '' then
        //-    exit;
        OnFindBinOnBeforeGetDefaultBin(Rec, Location, NewBinCode);
        if NewBinCode = '' then
        //-EVENT
            if Location."Bin Mandatory" and not Location."Directed Put-away and Pick" then
                WMSManagement.GetDefaultBin("No.", "Variant Code", "Location Code", NewBinCode);
         OnFindBinOnAfterGetDefaultBin(Rec, Location, NewBinCode); //EVENT
    end;
end;

[IntegrationEvent(false, false)]
local procedure OnFindBinOnBeforeGetDefaultBin(AssemblyLine: Record "Assembly Line"; Location: Record Location; var NewBinCode: Code[20])
begin
end;

[IntegrationEvent(false, false)]
local procedure OnFindBinOnAfterGetDefaultBin(AssemblyLine: Record "Assembly Line"; Location: Record Location; var NewBinCode: Code[20])
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Update PmdExtension.java

Fix not able to dislabe incremental analysis

Fixes #?
Context

Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

Hi @CreeTar,
This already exists.  You can do this in the Groovy DSL:
pmd {
   incrementalAnalysis = true
}

And this in Kotlin DSL:
pmd {
    incrementalAnalysis.set(true)
}


strange error message

Error: file 'C:/Users/toon_westra/AppData/Local/R/cache/R/renv/cache/v5/R-4.3/x86_64-w64-mingw32/protocolhelper/0.5.1/b1c5c4a8c7f0580fd7637d8bb7f2e67b/protocolhelper/DESCRIPTION' is not in valid DCF format

@Patrikoosterlynck encountered something similar when running renv::restore:
Warning in read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) :
  cannot open compressed file 'checklist_a475267f230ce10ee6495cb111d0191252d718db/DESCRIPTION', probable reason 'No such file or directory'

I have not yet been able to reproduce or find a solution for this.

Can you try
read.dcf(file.path("C:/Users/toon_westra/AppData/Local/R/cache/R/renv/cache/v5/R-4.3/x86_64-w64-mingw32/protocolhelper/0.5.1/b1c5c4a8c7f0580fd7637d8bb7f2e67b/protocolhelper/DESCRIPTION"), c("Package", "Type"))
It should return
    Package          Type
[1,] "protocolhelper" NA

Can you also check if
renv:::renv_dcf_read("C:/Users/toon_westra/AppData/Local/R/cache/R/renv/cache/v5/R-4.3/x86_64-w64-mingw32/protocolhelper/0.5.1/b1c5c4a8c7f0580fd7637d8bb7f2e67b/protocolhelper/DESCRIPTION")
returns
Details

```
$Package
[1] "protocolhelper"
$Title
[1] "Helper Functions to Manage Protocols"
$Version
[1] "0.5.1"
$Authors@R
[1] "c(\r person("Hans", "Van Calster"<EMAIL_ADDRESS>role = c("aut", "cre"),\r comment = c(ORCID = "0000-0001-8595-8426")),\r person("Thierry", "Onkelinx"<EMAIL_ADDRESS>role = "aut",\r comment = c(ORCID = "0000-0001-8804-4216")),\r person("Floris", "Vanderhaeghe"<EMAIL_ADDRESS>role = "aut",\r comment = c(ORCID = "0000-0002-6378-6229")),\r person("Els", "Lommelen"<EMAIL_ADDRESS>role = "ctb",\r comment = c(ORCID = "0000-0002-3481-5684")),\r person("Research Institute for Nature and Forest"<EMAIL_ADDRESS>role = c("cph", "fnd"))\r )"
$Description
[1] "Helper functions to manage INBO protocols."
$License
[1] "GPL-3"
$URL
[1] "https://inbo.github.io/protocolhelper/,\r https://github.com/inbo/protocolhelper"
$BugReports
[1] "https://github.com/inbo/protocolhelper/issues"
$Depends
[1] "R (>= 3.6)"
$Imports
[1] "assertthat, bookdown, checklist (>= 0.2.4), commonmark, fs,\r gert, jsonlite, knitr, purrr, R6, reactable, rmarkdown,\r rprojroot, slickR, stringr, xfun, xml2, yaml, ymlthis"
$Suggests
[1] "dplyr, lubridate, magick, pander, png, testthat (>= 2.1.0)"
$Additional_repositories
[1] "https://inbo.r-universe.dev"
$Encoding
[1] "UTF-8"
$Language
[1] "en-GB"
$Roxygen
[1] "list(markdown = TRUE)"
$RoxygenNote
[1] "7.2.3"
$SystemRequirements
[1] "Pandoc (>= 2.0.0)"
$RemoteType
[1] "github"
$RemoteHost
[1] "api.github.com"
$RemoteRepo
[1] "protocolhelper"
$RemoteUsername
[1] "inbo"
$RemoteRef
[1] "HEAD"
$RemoteSha
[1] "8daa0928a03141eb2021f66ffc514a94ca3b5319"
$GithubRepo
[1] "protocolhelper"
$GithubUsername
[1] "inbo"
$GithubRef
[1] "HEAD"
$GithubSHA1
[1] "8daa0928a03141eb2021f66ffc514a94ca3b5319"
$NeedsCompilation
[1] "no"
$Packaged
[1] "2023-05-12 06:26:57 UTC; hans_vancalster"
$Author
[1] "Hans Van Calster [aut, cre] (https://orcid.org/0000-0001-8595-8426),\r Thierry Onkelinx [aut] (https://orcid.org/0000-0001-8804-4216),\r Floris Vanderhaeghe [aut] (https://orcid.org/0000-0002-6378-6229),\r Els Lommelen [ctb] (https://orcid.org/0000-0002-3481-5684),\r Research Institute for Nature and Forest [cph, fnd]"
$Maintainer
[1] "Hans Van Calster<EMAIL_ADDRESS>$Built
[1] "R 4.3.0; ; 2023-05-12 06:27:02 UTC; windows"
</p>
</details>

Can you try
read.dcf(file.path("C:/Users/toon_westra/AppData/Local/R/cache/R/renv/cache/v5/R-4.3/x86_64-w64-mingw32/protocolhelper/0.5.1/b1c5c4a8c7f0580fd7637d8bb7f2e67b/protocolhelper/DESCRIPTION"), c("Package", "Type"))
It should return

I get following error message:

Error in read.dcf(file.path("C:/Users/toon_westra/AppData/Local/R/cache/R/renv/cache/v5/R-4.3/x86_64-w64-mingw32/protocolhelper/0.5.1/b1c5c4a8c7f0580fd7637d8bb7f2e67b/protocolhelper/DESCRIPTION"),  :
Found continuation line starting '    https://github.c ...' at begin of record.

Can you also check if
renv:::renv_dcf_read("C:/Users/toon_westra/AppData/Local/R/cache/R/renv/cache/v5/R-4.3/x86_64-w64-mingw32/protocolhelper/0.5.1/b1c5c4a8c7f0580fd7637d8bb7f2e67b/protocolhelper/DESCRIPTION")
returns...

Just to be sure. I get an extra \r here :

$URL
[1] "https://inbo.github.io/protocolhelper/,\r\r https://github.com/inbo/protocolhelper"

instead of:

$URL
[1] "https://inbo.github.io/protocolhelper/,\r https://github.com/inbo/protocolhelper"

The extra \r creates a whiteline and I think I have seen this before as one of the reasons that reading a DCF file fails. So that could be the cause of the problem. I don't understand however why you have that extra white line. Maybe related to some Windows setting about line endings???
I think the problem you reported here is different from the problem @Patrikoosterlynck is having (to which I referred above). FYI for the latter I have started an issue at renv.

There have recently been no problems with renv environment from protocolsource. So I am closing this issue. Feel free to re-open if the error persists.


Does not work with gregtech tools.

I compare the item in the active hotbar slot as being registered in Forge as an 'itemTool', it's possible that GregTech tools deliberately don't register as an 'itemTool'. I'll do some digging and see if I can provide a fix though. Thanks for raising this.


What is the "parallel-wavegan-decode" in cmd = ['parallel-wavegan-decode', '--checkpoint',...] ,it is a folder???

Thanks for your code, but I have some problems,
In code:  cmd = ['parallel-wavegan-decode', '--checkpoint',...],  Is it a folder? If so, what does this folder contain?
My system told me it couldn't be found

Before this problem occurs, I've put checkpoint-3000000steps.pkl into vocoder

Hi, it is not a fold, it is the command to synthesize the waveform from the predicted mel-spectrograms by using parallel-wavegan vocoder. Noted that this command is run in linux.


Update screenshots in Installation Guide

They're pretty old.
Maybe we can get @cassidyjames to do screenshots for latest Ubuntu?
FYI: the new screenshot tool can take transparent screenshots: https://code.launchpad.net/screenshot-tool

Just made new screnshots
Transparent screenshots don't work well with window corners (see here), so I made screenshots without transparent background too.


Fix minor doc error

Another slight change. This is correct, yes?

Also, I'm really grateful @gaearon tweeted about this library, because it's really well done! Thanks so much. Very exciting.

Thanks again! Glad you like it :)


Multiple public body extensions can be added if any form data was changed and alert message appeared when adding extension

Tested this and could not replicate. Short on details but this appears to be fixed.


🚀 Dynamic Domain Integration - Replacing Hardcoded URL with env.php ($env_domain) 💻🔧

Related Issue
Closes: #267
This PR addresses the issue in the /shorty/includes/seo.php file, where the domain name is hardcoded as shrty.rf.gd. To make the domain more flexible and dynamic, I have implemented a solution using env.php file and introduced a variable $env_domain.
With this change, the seo.php file now fetches the domain from env.php, making it easier to update and adapt the domain without modifying the code. This enhancement ensures better maintainability and scalability for the project.
Description of Changes

Add this include

<?php
include(__DIR__ . '/../env.php');
?>

Updated the following codes section:

From:
<link rel="canonical" href="http://shrty.rf.gd/" />
<meta
  name="og:description"
  content="Shorty is a powerful URL shortener that allows you to personalize, share, and track your content links, capturing valuable data with every click"

 <meta
  property="og:image"
  content="http://shrty.rf.gd/assets/img/inside-header-logo.png"
/>
<meta property="og:url" content="http://shrty.rf.gd/" />
/>
<meta
  name="twitter:card"
  content="http://shrty.rf.gd/assets/img/inside-header-logo.png"
/>
<meta
  name="twitter:image"
  content="http://shrty.rf.gd/assets/img/inside-header-logo.png"
/>

To:
 <link rel="canonical" href="<?php echo $env_domain ?>" />
<meta name="og:description"
  content="Shorty is a powerful URL shortener that allows you to personalize, share, and track your content links, capturing valuable data with every click" />

  <meta property="og:image" content="<?php echo $env_domain ?>assets/img/inside-header-logo.png" />
<meta property="og:url" content="<?php echo $env_domain ?>" />
  <meta name="twitter:card" content="<?php echo $env_domain ?>assets/img/inside-header-logo.png" />
  <meta name="twitter:image" content="<?php echo $env_domain ?>assets/img/inside-header-logo.png" />

In this updated version, the URLs in the href and content attributes are now dynamically generated using the $env_domain variable. This allows for flexibility in changing the domain and ensures that the correct domain is used throughout the metadata links.
Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[ ] I have included comments in areas that may be difficult to understand.
[ ] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

@apoorvaron Please Review my Issue

@Nishitbaria Merged


3.x: Request routing does not propagate throwable from next(Throwable)

When next(Throwable) is called, the implementation class RequestRouting calls checkNexted() without a parameter.
As a result, if checkNexted() fails, we lose the original throwable.
The fix is to call checkNexted(Throwable) instead.
This happens if you call next() and next(someThrowable) -> the someThrowable is lost

req.next();
req.next(new Exception("booh");


docs(INTEGRATION_TEST): cover version chooser and problems panel

Ensure we cover (nowadays) core feature of our app.

Good stuff!


Official RPi 7inch display sometimes goes white (or black) upon reboot

Description
RPi4 with official 7inch display, with our without HDMI output connected sometimes goes totally white (or black [1]) upon reboot, and can only be brought back to life by completely powering off the device.
[1] On another device the behaviour is the same as I'll describe, except the screen goes black, with backlight always on.
Display is connected to DSI with ribbon cable and powered using cables connected to the RPi's pins 4 and 6.
Steps to reproduce the issue:

Boot Yocto image, let Weston start.
Reboot
Colored square and initial framebuffer always appears.
Sometimes the DSI display starts ok, sometimes it becomes all white and can not be restored without a full power cycle.

The issue can not be reproduced with RaspberryPi OS.
dmesg shows no change between working and non-working boots.
Describe the results you received:
White-blocked display
Describe the results you expected:
Display showing Weston
Additional information you deem important (e.g. issue happens only occasionally):
Only rebooting. A quick power cycle might not be enough a solution.
Additional details (revisions used, host distro, etc.):
Currently using at scarthgap branch at commit 1918a27419dcd5e79954c0dc0edddcde91057a7e
/boot/config.txt contents:
root@rpi4:~# grep -v ^# /boot/config.txt | sed '/^[[:blank:]]*$/d'
hdmi_group=2
hdmi_mode=39
gpu_mem=256
dtparam=i2c1=on
dtparam=i2c_arm=on
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-7inch
dtoverlay=i2c-rtc,ds1307

Same issue here, happens every few reboots. Pi 4 with official 7" inch display as well.

@agherzan if you happen to have any pointers to where I should look I'll give it a try


version change: web_hosting_manager 0.4.1

CHANGELOG

Fix upload website using a template issue
Add tool tips for icons
Fix the reconnect icon position

r? @ustulation
(maidsafe_highfive has picked a reviewer for you, use r? to override)


Add router

Hi @darkleaf, could you kindly put it in its alphabetical order please?

@hantuzun done =)

Thanks @darkleaf, thank you for the space fix as well!


Listening for photo library updates

Current coverage is 64.23%

Merging #94 into dev will decrease coverage by -0.30% as of 10b768e

@@              dev     #94   diff @@
=====================================
  Files          59      59
  Stmts        3062    3078    +16
  Branches        0       0
  Methods         0       0
=====================================
+ Hit          1976    1977     +1
  Partial         0       0
- Missed       1086    1101    +15

Review entire Coverage Diff as of 10b768e

Powered by Codecov. Updated on successful CI builds.


Caching Issue causing  exit 139 (segmentation fault)

Hi!
I am experiencing problem with old requests since they are stored somehow. This happened once when I stopped the docker container but my script was still running and kept sending requests. Later, after I restarted the server etc, my celery workers restarted from old pending requests, even if at that point, my script was not running anymore. I can see how this behavior is desirable in some situations, but in my case I would like to free the cache, and have the workers available and free when I start the container fresh.
How to do that?
Thank you for your work!

EDIT:
I also realized that when restarting, it will happens that 2 workers start working on the same document, maybe because the queue of the document from this storage is not properly handled. But because they start working on the same document (it only happens after a couple of jobs are done) they then exit with code 139, which as suggested here could be cause by trying to access memory same memory address by different processes


Index Exchange: Add Schain and video caching to docs

Updated docs to specify Schain module support and video caching clarification
This doc change has associated code changes in the following Prebid.js PR:

Master PR: https://github.com/prebid/Prebid.js/pull/4770
Legacy PR: https://github.com/prebid/Prebid.js/pull/4771

Hi @bretg
Any ETA on when this will be merged in?


Linux installation improvements

Proposed changes
Four separate but related commits:

use apt.dockerproject.org for Ubuntu and Debian GPG keys instead of yum.dockerproject.org -- it's the same key, but less confusing. These URLs were not available right at 1.13 release time.

Combine Debian and Raspbian installation topics

Improve the wording in the binary install topic

Recommend enabling seccomp and user namespaces when using binaries

Fixes #1471
Fixes #1398
Fixes #784

@mstanleyjones can we add -y to the various apt-get incantations?

@mstanleyjones and --no-install-recommends to the pre-install stuff? (eg. apt-get install -y --no-install-recommends apt-transport-https ca-certificates software-properties-common)

Not a change from this PR, it when I look at the raw file binaries.md, I see the following from what was probably a previous merge:
>>>>>>> c02c644... Rewrite and reorganize Linux install instructions

We discussed this offline, but it's really hard to get the version "name" out of both Ubuntu and Debian with any level of consistency. They both have /etc/os-release but the formats are slightly different. For Debian, just to get the word jessie, here is the command:
grep '^VERSION=' /etc/os-release |awk -F '(' {'print $2'} |awk -F ')' {'print $1'}

So the lsb_release really is the best way to do it. It is usually installed on stock Ubuntu and Debian, but not on the Docker images for such.
The main goal is to not have to update the install instructions every time there is a new version of Docker or Ubuntu / Debian.
I updated a few more things in the install docs to make them more consnstent across the board.

btw @friism the things you identified as formatting snafus aren't. They make the link open in a new window. See https://deploy-preview-1560--docker-docs.netlify.com/engine/installation/linux/debian/#os-requirements.

Addressed @thaJeztah feedback.

Fixes #1447

@thaJeztah ping?

LGTM


[Set-CsUserCallingSettings] No Mention to to Set GroupNotificationOverride to $Null or Empty Value

Hello ,
I would like to set GroupNotificationOverride to $Null otherwise this value overrides the Notificationsettings value in the GroupMembershipDetails when you make [Get-CsUserCallingSettings] Best Regards
Example 9
PowerShell
Set-CsUserCallingSettings -Identity<EMAIL_ADDRESS>-GroupNotificationOverride 'Mute'
This example shows how to set the group notification override for<EMAIL_ADDRESS>This setting overrides any specific notification setting set for the user on any call group the user is a member of.

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

ID: 31cb9cc1-fa53-871b-aead-ff43bf5eacee
Version Independent ID: 5e56da56-6255-3751-d1ca-6dc49c2c1376
Content: Set-CsUserCallingSettings (MicrosoftTeamsPowerShell)
Content Source: teams/teams-ps/teams/Set-CsUserCallingSettings.md
Service: teams-powershell
GitHub Login: @JensTrier
Microsoft Alias: jenstr

@platinarock Thanks for the feedback. When you set the GroupNotificationOverride to Ring or Banner, the Teams client is honoring the group notification set on the call group, so basically the same as the initial setting of Null.
An example: User A is a member of User B's call group. The notification setting in User B's call group for User A says Banner. User A has GroupNotificationOverride set to Ring. When a call is forwarded to User A from User B's call group, User A will only get Banner, not the ring.
If you set GroupNotificationOverride to Mute for a user, that setting will precedence over the setting on the call group for the user.
When testing this, you might have to restart the Teams client for changes to the notification settings to take immediate effect.
I'll try to make the above clearer in the documentation page.

Hello ,
@JensTrier
Thanks you very much for your feedback .
Regards

@JensTrier Please update.

I addressed this in PR 10511

@platinarock Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Test response validation logic on the file schema type.

Swagger 2.0 has a special file type, which resembles the string type: https://swagger.io/docs/specification/data-models/data-types/#file
The current response validation check for a file type is the same as a regular string:
if not isinstance(data, str) and data is not None:
    raise format_error(error_message=f'Mismatched types.', data=data, schema=schema, parent=parent)

We need to test this logic with a real example.

no longer relevant as such

no longer relevant as such


support failure_message_when_negated

Hey I can see this library hasn't been touched in a while. So not sure if you're still maintaining it.
This PR adds rudimentary support without tests for a presumably much newer feature of rspec core being the #failure_message_when_negated method on an RSpec::Matcher
This works around the following issue
     Failure/Error:
       expect(subject).not_to include_url(
         'https://example.com/hidden-from-search-engines'
       )

     NoMethodError:
       undefined method `failure_message_when_negated' for #<RSpec::Sitemap::Matchers::IncludeUrl:0x000055ba33258b98>
       Did you mean?  failure_message
     # /home/mark/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.7.0/lib/rspec/expectations/handler.rb:36:in `handle_failure'
     # /home/mark/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.7.0/lib/rspec/expectations/handler.rb:73:in `block in handle_matcher'
     # /home/mark/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.7.0/lib/rspec/expectations/handler.rb:27:in `with_matcher'
     # /home/mark/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.7.0/lib/rspec/expectations/handler.rb:71:in `handle_matcher'
     # /home/mark/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.7.0/lib/rspec/expectations/expectation_target.rb:78:in `not_to'
     # ./spec/services/sitemap_service_spec.rb:468:in `block (7 levels) in <main>'

Anyway, I thought I'd open this speculative pull request as a conversation starter, to see if you wanted to do something with it.
I suppose technically it shouldn't break with older RSpec versions, so you may not need to add any kind of backwards compatibility check or something like appraisals.
Let me know if you'd like me to do anything further with this.

Closing just to tidy up, I imagine this is pretty untouched, forked elsewhere, feel free to re-open if you'd like some work doing on it.


Text To Speak window not functional?

Describe the bug
A clear and concise description of what the bug is.
When you click on the three dots and you get the box at the bottom for Text To Speak, I can't get it to work no matter what I do?
To Reproduce
Steps to reproduce the behavior:
Click 3 dots, type text into Text to speak, click mail/arrow icon.
Expected behavior
I would assume alexa would speak those words :)
Screenshots
If applicable, add screenshots to help explain your problem.
System details

Home-assistant (version): 0.95.0
Hassio (Yes/No): yes but everything else works fine.
alexa_media  (version from const.py or HA startup):
alexapy (version from pip show alexapy or HA startup):

Additional context
Add any other context about the problem here.

This a known incompatibility with the built in UI card.  We don't do TTS the same way as other Media Players so the built in GUI won't recognize it. Please us the Notify function as explained in the Wiki.


[QUESTION] how do make longhorn name pvc using the app name by default?

Question
I usually use helm to deploy stuff in k3s, point the storageClass to longhorn and it automatically creates the needed volumes by default.
my small issue is it creates anon volumes named "pvc-big-random-id" which is not very friendly
is there a way to configure longhorn to name them after the app, pvc claim name, namespace or other things by default if i am not manually choosing a name?
not sure if this is a requested feature, if it is not, make it so <3
Environment

Longhorn version: 1.3.6 (will upgrade later)
Kubernetes version: k3s 1.24
OS type and version  ubuntu 22
Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal

This is not controlled by Longhorn.
When you apply a PVC yaml that has the Longhorn StorageClass. The CSI provisioner (maintained by K8s team) will generate a name (pvc-xxxxxxxx) and then ask Longhorn system to create a volume under that name.
BTW, PVC has namespace scope, and the PV (same name as Longhorn volume)  has cluster scope. There might be multiple PVC with the same name on different namespaces. If the design is to create PV with the same name as PVC we would have name conflicting issue for PV.

Btw, you can always figure out which Longhorn volume corresponds to which PVC by looking at the yaml of the PVC:
For example, in this case, the PVC test-pvc-2 is corresponding to Longhorn volume pvc-62b8d0e6-15d5-403a-97b1-5405a27a4367
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
      pv.kubernetes.io/bound-by-controller: "yes"
      volume.beta.kubernetes.io/storage-provisioner: driver.longhorn.io
      volume.kubernetes.io/storage-provisioner: driver.longhorn.io
    creationTimestamp: "2023-01-11T06:19:18Z"
    finalizers:
    - kubernetes.io/pvc-protection
    name: test-pvc-2
    namespace: default
    resourceVersion: "34879747"
    uid: 62b8d0e6-15d5-403a-97b1-5405a27a4367
  spec:
    accessModes:
    - ReadWriteMany
    resources:
      requests:
        storage: 5Gi
    storageClassName: longhorn
    volumeMode: Filesystem
    volumeName: pvc-62b8d0e6-15d5-403a-97b1-5405a27a4367

thank you for the explanation, i was not aware the csi provisioner was in charge of naming the unnamed volumes


[Enhancement] Imporve or predicate statistics check

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
core modify:

update PredicateStatisticsCalculator
a. update DisConsecutiveOr check
b. Fix or statistics compute bug(line: 292)

other:

update NormalizePredicateRule.inPredicate rule, only extract variable column
update planner profile, add level and order, support repeat use
rename PredicateStatisticsCalculatingVisitor
remove unuse code

Problem Summary(Required) ：

2000 predicate query cost 40s -> 8s, other bottlenecks:

Expr hashCode and equals, repeat a lot of calculations (1.8s)
NormalizePredicateRule.compound, repeat a lot of calculations(3s)
StackOverflow

it's hard to modify
    1691ms|-- Parser[1] 436ms
    2129ms|-- Planner[1] 7652ms
    2134ms|    -- Analyzer[1] 35ms
    2179ms|    -- Transformer[1] 4081ms
    2225ms|        -- filter1[1] 4023ms
    2225ms|            -- translate[1] 3589ms
    2238ms|                -- HashEquals[16005] 1749ms
    4010ms|                -- rewritePredicate[2] 1805ms
    5815ms|            -- rewriteSubquery[1] 433ms
    6261ms|    -- Optimizer[1] 3453ms
    6358ms|        -- Optimizer.RuleBaseOptimize[1] 3202ms
    6363ms|            -- PushDownPredicate[1] 3049ms
    6928ms|                -- RangeRewriter[1] 693ms
    7621ms|                -- rewritePredicate[1] 1768ms
    9566ms|        -- Optimizer.CostBaseOptimize[1] 127ms
    9582ms|            -- predicate statistics[2] 90ms
    9695ms|        -- Optimizer.PhysicalRewrite[1] 19ms
    9715ms|    -- ExecPlanBuild[1] 67ms
    9782ms|-- Test View[1] 6113ms

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run https://github.com/StarRocks/starrocks/pull/15697

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 47 / 53 (88.68%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/PlannerProfile.java
23
29
79.31%
[79, 88, 241, 242, 249, 250]

:large_blue_circle:
com/starrocks/sql/optimizer/rewrite/scalar/NormalizePredicateRule.java
10
10
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/statistics/PredicateStatisticsCalculator.java
12
12
100.00%
[]

:large_blue_circle:
com/starrocks/sql/StatementPlanner.java
2
2
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

@mergify backport branch-2.5


Set up a publications+Cites list for InterMine

We have a short list of publications citing InterMine / publications about InterMine. It would be nice to curate these automatically!
Primary requirement:

[ ] gathers citations / publications mentioning any InterMine (see registry.intermine.org where you can retrieve the entire list programmatically)
[ ] will almost certainly need some negative search terms, as "intermine" brings up coal-mining results.

Wish list:

[ ] retrieve details and share publicly on intermine site using the api
[ ] differentiate between publications citing an intermine and publications by an intermine organisation. not sure if this is something that can be done programmatically?

See also https://github.com/intermine/outreach/issues/7 for discussion about tools - Zotero might be best as it has a good API.

This is done
See http://intermine.org/publications/ and https://www.zotero.org/groups/2117194/intermine


Blink Rate Detection

User Story
As a lab-worker,
I want to have a detection on which frequency (Hz) the status LED is blinking.
Criteria

[x] Buffer multiple States
[x] Calculates the Blinking frequency in Hz

Merged in #58


Feature Request(s) - Inactive Colorscheme & Separator

I would like to ask if it would be possible to don't only have different segment lists for active or inactive windows, but also different colorschemes. So I think it could look pretty handsome if an inactive windows statusline have different colors (e.g. more calm). This would support the eyes focus to the active window or at least determine which one is the active one. For example Airline provides the palette.inactive definition.
Moreover, what Airline is not able to do completely and has been handled in these issues (#1236, #1249) are inactive separators using the foreground color. The idea is that a passive statusline could set all back- and foreground colors to the same. Looks especially nice when using the same as the window borders (setting VertSplit back- and foreground to same color leads to a nice homogeneous bar). But in such case all separators would disappear. Therefore a new separator which takes the foreground also, would look pretty cool. Airline has some so called alternative separators, but they don't take the foreground color.
I tried to illustrate this in the following images.
An partial active colorful (?) statusline:

Inactive statusline with a different colorscheme (segments stay here the same):

Also inactive statusline, but using the special separators:

What are your thoughts about this? I guess the second part with the separators could become hard (since it is not only a new separator but also special color for a corner case), but at least to inactive color scheme shouldn't be that problem, right?

The statusline of inactive windows have different colors in lightline, as one lightline colorscheme has both color sets for active and inactive windows. See https://github.com/itchyny/lightline.vim/blob/688240e0ef849cdc8457822658cedf10358c75d6/autoload/lightline/colorscheme/landscape.vim#L11-L12 for example, the inactive key of the palette specifies the colors of inactive statusline. Am I answering to your question right?

Oh, I'm sorry. Have read through the whole documentation and searched for it, but wasn't able to find it. But that's awesome, thanks!
What about the other part? :upside_down:

I've checked some colorschemes of lightline but I can see the separators because the background colors are slightly different for even inactive windows.

There must be some exceptions, but I don't think it's worth implementing special separators for inactive windows. Users can concatenate the components (I mean changing [ [ x, y ], [ z ] ] to [ [ x, y, z ] ]) to see the subcomponents to be appeared. Sorry for inconvenience but it's an expected behavior.

I've checked some colorschemes of lightline but I can see the separators because the background colors are slightly different for even inactive windows.

There must be some exceptions, but I don't think it's worth implementing special separators for inactive windows. Users can concatenate the components (I mean changing [ [ x, y ], [ z ] ] to [ [ x, y, z ] ]) to see the sub-separators to be appeared. Sorry for inconvenience but it's an expected behavior.

No, actually the last sentence is is the solution I think. :thinking:
After all that should it be. Thanks for the answer!
At least I can define also an inactive colorscheme where all colors are pretty the same and juts add some brightness factor.
Thank you so much for helping me with my questions. Looking forward to have a night switching from Airline and make all work and looking nice. :v:


release: add missing VERSION update release step

Signed-off-by: bitliu<EMAIL_ADDRESS>

In release candidate, if we do not modify it manually, the built binary/image will still use v0.2.0 as the version output.
The envoy-gateway version command will use this var when building.


Test selection doesn't always work

Try ./runtests.py -l numba.cuda or ./runtests.py -l numba.tests.npyufunc and you'll see the selection is not respected: all tests are selected.

@stefanseefeld

https://github.com/numba/numba/pull/1623 contains a fix for the above. With this,
./runtests.py -l numba.cuda
will report 0 tests (it won't search recursively), while
./runtests.py -l numba.tests.npyufunc
reports 76 tests.

Hmm... I've merged the PR, but I notice the behaviour is actually confusing and slightly unhelpful:
$ ./runtests.py -l numba.cuda | wc -l
1

(meaning there's no obvious way to run just the CUDA tests?)
$ ./runtests.py -l numba.tests | grep cuda | wc -l
315

(why are the CUDA tests selected while they're not under numba.tests?)
$ ./runtests.py -l
0 tests found

(how do I run the whole test suite?)

That's indeed a point that has changed (had to change, to make this work with the least surprising UI, and to eventually enable us to use this test infrastructure in other projects, with other test suites).
You have to specify a test suite explicitly. To list the entire test suite:
$ ./runtests.py -l numba.tests

To list only the cuda test suite (which is located in a separate directory):
$ ./runtests.py -l numba.cuda.tests

(Note that, even though the cuda tests are located elsewhere, the main test suite includes it.)

Ok, closing now that it has been fixed.