SNP: add fallback for cert-chain without extended report

If the cert chain does not include the extended report, we should connect to the KDS to get it.

@fitzthum We have also experienced a similar issue for AMD "genoa" platform where we found that the cert-chain is null in the attestation report. We communicated with the KDS to fetch the cert-chain for the verification in order to complete our use case. We can submit a pull request to enable this functionality. What do you think?

Sure. Note that @niteeshkd has a PR for Kata to allow us to specify the cert chain from the host side.
I think we could also add support to the verifier to download the VCEK if it is not provided. Note that the ARK/ASK/ASVK are hard-coded into the verifier but we don't yet have the Genoa certs there. It should be easy to add them.
I think @AdithyaKrishnan might be working on something in this area, but if you already have the code you should post it.

I think this would be an excellent feature. I will follow-up with @AdithyaKrishnan to see what the status of the Genoa certificates are.

We hit the same Genoa issue.  Additionally, the chain KDS provides for Milan and Genoa omits the ASVK.  We'll follow the approaches by @salmanyam or @AdithyaKrishnan if they have already addressed those issues.  Or I might bring a workaround to ignore ASVK and adapt Genoa certs, instead of the fundamental fix of changing load_milan_cert_chain() to load_cert_chain() and adding the fallback.

@hashimotor-ntt  We have a working solution for Genoa, and we trying to implement our solution universal, at least for both Genoa and Milan. We are currently testing the solution, and experiencing a minor issue on Milan. As soon as we fix the issue, we will submit a PR.


[hotfix] Fix regression preventing subfolder expansion in citationgrids.

Regression was introduced in 7d8e492c4838daca0e15ef082678ea62c407607f.
The assumption was made that all items in the returned dataset would
have an item[data][csl] value - but folders do not. To resolve, I've
added a conditional that first checks for the existence of the key, and
falls back to the previous method of action.

Submitted to the wrong branch.


ISDBTibs: honor SDKROOT as default SDK

Windows requires a SDK to be provided.  The default SDK path is the
location specified by SDKROOT in the environment.  Use this value for
the default value.

@swift-ci please test


[AutoPR @azure/arm-storagecache] Microsoft storage cache api 2023 01 01

Create to sync https://github.com/Azure/azure-rest-api-specs/pull/22135
Please install the package by npm install<EMAIL_ADDRESS>


Stabilisation: Prevent multiple active runs of one competition

Currently the system enables multiple concurrent runs of a single competition. This could lead to corrupt data and should be prevented

This should be handled by commit b53185b, isn't it?

You were right, it got fixed with b53185b


Circular LL

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Circular Linked List Implementation in C
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
PR - #1880

@goelesha some checks are failing please make a proper PR that doesn't create any issue with the repo.

@goelesha some checks are failing please make a proper PR that doesn't create any issue with the repo.


5.4 kernel compilation fails for hardknott due to overlays/vc4-kms-dsi-7inch.dtbo

5.4 kernel compilation fails for hardknott due to overlays/vc4-kms-dsi-7inch.dtbo
I have tried to compile a 5.4 kernel instead of 5.10 for the raspberrypi4-64
Steps to reproduce the issue:

add PREFERRED_VERSION_linux-raspberrypi = "5.4.%" to conf/local.conf
bitbake linux-raspberrypi

Describe the results you received:
it fails due to this line overlays/vc4-kms-dsi-7inch.dtbo, since it presents only in 5.10 kernel:
https://github.com/agherzan/meta-raspberrypi/blob/hardknott/conf/machine/include/rpi-base.inc#L50
If I remove this line I can successfully compile and boot 5.4

Oh the fun. @razr do you happen to know if later 5.4 has it? If not, I'm inclined to drop the 5.4 version. Would that hurt your usecase?

Hi @agherzan sorry, I don't know whether this dts exists in the latest 5.4. Actually, this issue does not hurt me at all, since I can work around it. I have built 5.4 PREEMPT_RT since I know it works, didn't try 5.10 yet.

@razr Right. I have checked the latest 5.4 revision and this dts is not there either. I fail to see the reason to keep this version anymore. And if we do, it will add the overhead of making the dt overlay files version-specific - which I'd like to avoid. So I'll proceed to drop this version and see if anyone complains.

Dropped in https://github.com/agherzan/meta-raspberrypi/pull/931

do add 5.15 instead would be nice :)

If I get a free moment I will @razr

FWIW 5.10 is used by default since gatesgarth:
https://github.com/agherzan/meta-raspberrypi/commit/12ff6a2ea60183877b3659b3d46ae4af986800e4
Any plans to create separate honister branch? I need to remove 5.4 bbappends in meta-webosose and would be useful to know if this removal will be part of meta-raspberrypi/honister or only master (for kirkstone).


Fix button spacing in the sign up page

Describe the bug
A clear and concise description of what the bug is.

I guess it's issue with current theme

Fixed in latest preview

Fixed in 1.6.0-rc-20230603.1


Error when inline = true and field = null

Has you can see here, Lightpick return the following error: TypeError: Cannot read property 'value' of null when inline = true and field = null.
Related to #43.

field can't be null, see example https://wakirin.github.io/Lightpick/ (there input element is hide by inline style display: none)

OK


Support WASI

Hi, I'm wondering if it is planned to support WASI (it's not very important, I'm just wondering, I'm not even sure that's possible :thinking:).
For now, when I run zig build --release=small -Dtarget=wasm32-wasi -freference-trace=8, I get the following error :
install
└─ install admin-account-cli
   └─ zig build-exe admin-account-cli ReleaseSmall wasm32-wasi 1 errors
/home/riccardo/zig/lib/std/net.zig:714:17: error: type 'void' has no members
        posix.AF.UNIX,
        ~~~~~~~~^~~~~
referenced by:
    open: /home/riccardo/.cache/zig/p/1220b8df9b140878b5c2145f091916392c9f4400354cc828d235a640070c045d174c/src/conn.zig:105:57
    openAndAuth: /home/riccardo/.cache/zig/p/1220b8df9b140878b5c2145f091916392c9f4400354cc828d235a640070c045d174c/src/conn.zig:95:28
    new: src/db.zig:18:41
    create_admin_account_action: src/command/create.zig:27:26
    execute: src/command/command.zig:47:55
    main: src/main.zig:27:24
    wasi_start: /home/riccardo/zig/lib/std/start.zig:623:37
    comptime_0: /home/riccardo/zig/lib/std/start.zig:85:21
error: the following command failed with 1 compilation errors:
/home/riccardo/zig/zig build-exe -freference-trace=8 -OReleaseSmall -target wasm32-wasi -mcpu baseline --dep pg -Mroot=/home/riccardo/flashdebat_repos/admin-account-cli/src/main.zig --dep buffer --dep metrics -Mpg=/home/riccardo/.cache/zig/p/1220b8df9b140878b5c2145f091916392c9f4400354cc828d235a640070c045d174c/src/pg.zig -Mbuffer=/home/riccardo/.cache/zig/p/1220f998af6145d7179eabf281881ec68b21b5ecfacd45daf3bbc77513f3b0a821a7/src/buffer.zig -Mmetrics=/home/riccardo/.cache/zig/p/1220232ab38d0c2cfb10680115c17ad2fa1a8531dbaf8bbfb359ec67e80c7d5f5758/src/metrics.zig --cache-dir /home/riccardo/flashdebat_repos/admin-account-cli/.zig-cache --global-cache-dir /home/riccardo/.cache/zig --name admin-account-cli --zig-lib-dir /home/riccardo/zig/lib/ --listen=-
Build Summary: 2/5 steps succeeded; 1 failed
install transitive failure
└─ install admin-account-cli transitive failure
   └─ zig build-exe admin-account-cli ReleaseSmall wasm32-wasi 1 errors
error: the following build command failed with exit code 1:
/home/riccardo/flashdebat_repos/admin-account-cli/.zig-cache/o/d4e132a487c0ed8379ed94f41a7634bc/build /home/riccardo/zig/zig /home/riccardo/zig/lib /home/riccardo/flashdebat_repos/admin-account-cli /home/riccardo/flashdebat_repos/admin-account-cli/.zig-cache /home/riccardo/.cache/zig --seed 0x724b4a90 -Z66654a435ad1d7f7 --release=small -Dtarget=wasm32-wasi -freference-trace=8

The new function in src/db.zig is the following :
///The returned data must be freed
pub fn new(arena_allocator: std.mem.Allocator) !pg.Conn {
    const username = try std.process.getEnvVarOwned(arena_allocator, "PG_USERNAME");

    const password = try std.process.getEnvVarOwned(arena_allocator, "PG_PASSWORD");

    const database = try std.process.getEnvVarOwned(arena_allocator, "PG_DATABASE");

    const host = try std.process.getEnvVarOwned(arena_allocator, "PG_HOST");

    const port = try std.process.getEnvVarOwned(arena_allocator, "PG_PORT");
    const port_u16 = try std.fmt.parseInt(u16, port, 10);
    arena_allocator.free(port);

    const conn = try pg.Conn.openAndAuth(arena_allocator, .{ .host = host, .port = port_u16 }, .{
        .username = username,
        .password = password,
        .database = database,
    });

    return conn;
}

It isn't something I know about.
But, from a quick search, it seems like socket.connect isn't supported in WASI preview 1, but is being addeed to preview 2. So we'd need to wait for that, and then for Zig to support it (or some other extension that supports a more complete socket API).

Thank you for your response 💯

Should I close this issue as "not planned" for now and you can reopen it when you want or should I keep it open ?

If you come across a way to do it, of if you notice that WASI and Zig have added support, feel free to re-open.


Shared secret is longer than source

Hi,
I have noticed that when splitting a 64-byte (512 bit) key, the result is 113 bytes long.
That seems wrong. Please see the 'minimal' property of sss on Wikipedia: https://en.wikipedia.org/wiki/Shamir's_Secret_Sharing#Properties
There are two issues with that:

Usability limitations: you cannot use applications designed for 512-bit key. That includes sss-node itself and possibly tools like https://github.com/cryptosteel/cryptosteel (not exactly this one).
If the actual size of the sharded secret is 512 bit, but it is stored in a 904 bit string, that might mean that the string is not random enough. That might have security implications (someone might guess that sss-node tool was used to produce it and start looking for other shares).

This is intended. You can use the keyshares API to split secrets in a minimal fashion (256 bits, because most cryptographic keys are 256 bits long). You will get shares of 33 bytes (256 bits y-coordinate and 8 bits x coordinate).
The normal API splits secrets in a different way: It generates a random key and encrypts the secret with this key. This allows you to secret-share arbitrary secrets.

Usability limitations: you cannot use applications designed for 512-bit key. That includes sss-node itself and possibly tools like https://github.com/cryptosteel/cryptosteel (not exactly this one).
For this purpose, use the keyshares API. Generate a random key and use this key as the key for some kind of AEAD scheme.

If the actual size of the sharded secret is 512 bit, but it is stored in a 904 bit string, that might mean that the string is not random enough. That might have security implications (someone might guess that sss-node tool was used to produce it and start looking for other shares).
So the fact that the hybrid approuch is taken is (simplified) because the secret shared string might nog contain enough randomness to guarantee the integrity of the secret. We have to generate some (in this case 256 bits) randomness, such that an attacker cannot break the integrity requirement.

Thank you for the response!
I think that the keyshares API is what I need. I have one more question though.

You will get shares of 33 bytes (256 bits y-coordinate and 8 bits x coordinate).

Is x coordinate randomized? Could it be just the number of the share? My goal is to get exactly the same share length as in the original secret.

Thank you!

No problem!


set a homepage url

I'm not sure it's all that useful to have a "source code" URL here. I think people see the package being installed and then look at the source code and see nothing


[Feature] Netlify branch deploy build status

For a client, I wanted to set up a staging website where he can preview his changes and easily share the URL. I used Netlify branch deploy with the URL https://staging--website.netlify.com.
In the dashboard widget, I registered the production website and the staging website, with each its own build hook.
Everything worked fine, except that both Netlify badges are linked with the production website. I've looked online and it seems that it's not possible to get badges for branch deploys.
It's a pity because this badge is a clever and easy way to show the build status.
Do you have an idea how to show the build status for branch deploys inside the widget?
In Netlify CMS, the user has to click the button "Check for preview" to see if the preview is ready.
Another way would be to provide a setting to at least hide the badge.

The solution is to create a separate preview site in Netlify and add the two sites to this widgets.
This is actually what Conteful is doing:
https://www.contentful.com/developers/docs/extensibility/apps/netlify/


GitHub secret name in the article is different from the YAML config in azureml-examples

The article instructs to create a GitHub repository secret with the name AZURE_CREDENTIALS. However, in azureml-examples that is to be forked and cloned, the secret name in YAML is AZUREML_CREDENTIALS. This causes the jobs to fail with the message:
Run azure/login@v1
Error: Login failed with Error: Using auth-type: SERVICE_PRINCIPAL. Not all values are present. Ensure 'client-id' and 'tenant-id' are supplied.. Double check if the 'auth-type' is correct. Refer to https://github.com/Azure/login#readme for more information.

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

ID: 70a73a03-d004-f16e-95ad-11732b0160e2
Version Independent ID: a368a780-d2c3-863a-9c7f-1fcb1d07d7a0
Content: GitHub Actions for CI/CD - Azure Machine Learning
Content Source: articles/machine-learning/how-to-github-actions-machine-learning.md
Service: machine-learning
Sub-service: mlops
GitHub Login: @juliakm
Microsoft Alias: jukullam

@rtrad89
Thank you for your feedback!
I'd recommend working closer with our support team via an [Azure support request] (https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request). Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
[Teams Q&A forum] (https://docs.microsoft.com/en-us/answers/topics/46488/office-teams-windows-itpro.html) for technical questions about the configuration and administration of Microsoft Teams on Windows.
[Microsoft Teams Community forum] (https://answers.microsoft.com/en-us/msteams/forum?sort=LastReplyDate&dir=Desc&tab=All&status=all&mod=&modAge=&advFil=&postedAfter=&postedBefore=&threadType=All&isFilterExpanded=false&page=1)
Thank you for your time and patience throughout this issue.


Bot won't battle in any triples format

It just tends to freeze. Or sometimes it does battle, but only for a few turns after which it freezes...

Thank you


🔧(backend) configure RedisCache in production settings

Purpose
Prepare staging deployment
Description
Set-up Redis cache.

SESSION_CACHE_ALIAS = "session" make the tests fail. I will merge it with its "default" value, and look at it later on


lib.js is obfuscated

Hi, this project looks very interesting. However when I'm trying to look into the source, I only found an obfuscated lib.js in the repo. Is the originally source code open source? Thanks.

It's not intentional to obfuscate the source; as this is a port of canvaskit-wasm of which the JS source was minified.


basic job dsl support

Coverage increased (+2.2%) to 46.528% when pulling b1d79884e421f8c8260c58a47d5778d6eeb95e11 on jae/dsl into b1aaebc947634783bfdfea4b109609d76d5774f7 on master.


Port to Safari

No idea if there's even demand for this, as I haven't heard anything.
At first blush, it seems a bit more work to convert for Safari than between chromium/firefox
There is some guidance from Apple here: https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/SafariExtensionsConversionGuide/Chapters/Chrome.html

With new extension it should be done for Safari as well. In new Big Sur and Safari extensions become somewhat big thing. Not sure if apple make it easier to convert Chrome extensions.

It is a bit easier now, and I do have it mostly working at the moment, but I need to take some time to properly test it.
There's also the matter of cost. To release a Safari extension, I need to pay for an Apple developer license. For this reason, I'm considering charging for this extension. Just the minimum, and it feels weird to be charging for something that is free on every other platform, but such is the price of dealing with Apple.
Do you have any thoughts on this? Would you be willing to pay for the Safari extension?

Of course! But calculate price that it will be reasoanble for you to cover all cost and have something for coffee....
Also consider when you pay for Apple developer account you can infinite number of apps for that price.
Your extension is gem. It is true, the apple sheeps will pay :)

I would love to have this on Safari and would pay for it. I understand the cost of doing business with Apple and that you have to recoup the cost.
My workflow currently entails opening a link in chrome and using the extension from there, which is a pain to deal with.
P.S. thank you for all the Obsidian plugins!

This would be great :)

I'd love to see this ported to safari, and will pay for it, the price to deal with apple...

Oh yeah, this would be nice for any markdown workflow.

@deathau possibly start a Github sponsor-thing so people can chip in to make this happen?

@deathau possibly start a Github sponsor-thing so people can chip in to make this happen?

@deathau thanks for building this! It seems that "Download images" is not supported - is this a problem with Safari?

@deathau thanks for building this! It seems that "Download images" is not supported - is this a problem with Safari?

@mdbraber Yeah, I haven't been able to figure out a workaround yet. You reminded me that I needed to create the issue to track that, though (#46)

@mdbraber Yeah, I haven't been able to figure out a workaround yet. You reminded me that I needed to create the issue to track that, though (#46)

Hey! Just grabbed this app from the apps store - happy to pay you a few $$. However it's not installing as an app. I just get the following popup, but the button doesn't work. And the extension isn't showing up in prefernces>extensions.
https://share.getcloudapp.com/jkueXwz7

@jaredosborne I noticed in my testing, too, that the button didn't seem to do anything, but it did show up in the Safari extensions.
Not sure what's up with this. What version of MacOS / Safari are you on?

 Extension not showing.

Same problem - does not seem to install. The little installation window opens but the button labelled "Quit and Open Safari Extensions Preferences..." (what does this text actually mean?? - quit what?) does not appear to do anything (and the extension does not appear in the Extensions list in Safari, nor is it added to the displayed Safari extensions). Tried quitting Safari, rebooting system (Big Sur 11.4)

I'm really not sure why it's not appearing in the extensions list
The way Apple have us developing Safari extensions is somewhat confusing: They exist as part of a desktop mac app. In this case the mac app is just the default template provided by Apple: A window with the icon and a button to quit the app and open safari extension preferences so you can enable the extension. So to answer your question, that's what the button does: quits the desktop mac app whose only available action is to quit. It's just a delivery mechanism for the extension.
As for why the extension is not showing up in safari itself, that's the actual issue here, and I'm kinda clueless, to be honest. If I had to guess, it would be some security related thing on Big Sur (and up) and my poor aging mac mini refuses to upgrade.
I'll do some more digging, but at the moment I don't have a solution.

Many thanks for the speedy reply and explanation of the mysterious wording in the button!
I look forward to a fix in due course - meanwhile the FireFox version seems fine but I find it tiresome to swap out of Safari all the time.
Cheers
Jim (in Wellington, not so far from Melbourne really and free, so far, of the virus)

On 22/06/2021, at 2:58 PM, deathau @.***> wrote:
I'm really not sure why it's not appearing in the extensions list
The way Apple have us developing Safari extensions is somewhat confusing: They exist as part of a desktop mac app. In this case the mac app is just the default template provided by Apple: A window with the icon and a button to quit the app and open safari extension preferences so you can enable the extension. So to answer your question, that's what the button does: quits the desktop mac app whose only available action is to quit. It's just a delivery mechanism for the extension.
As for why the extension is not showing up in safari itself, that's the actual issue here, and I'm kinda clueless, to be honest. If I had to guess, it would be some security related thing on Big Sur (and up) and my poor aging mac mini refuses to upgrade.
I'll do some more digging, but at the moment I don't have a solution.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/deathau/markdownload/issues/7#issuecomment-865489058, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARDOYMZ6M7OQUWL66L64D33TT7335ANCNFSM4NBG6LIQ.

I'm having this issue on Mojave with Safari 12, so it's not a Big Sur thing.
Also can't see how to request a refund for the thing I bought that doesn't work.

Damn. I'm stuck on Catalina (is Mojave before or after? I hate this naming scheme). I genuinely wonder how I can get more information about this issue...
As for refunds, I'm not familiar with the process, but from what I can tell on a quick Google search you actually have to go through apple itself? https://blog.supereasyapps.com/mac-app-store-refund-in-6-steps-how-to-get-a-refund-for-any-macos-app
I tried looking in my developer portal and could not see anything to do with issuing refunds. It just doesn't seem like a thing it's possible for me to do from my end. Even as a dev, you give up a lot of control to Apple when using their ecosystem.

Mojave is 10.14
I'd rather the working extension than a refund 😉

Agreed. I would much rather have the extension fixed than a refund (which I have not even attempted), hoping a fix will appear soon!

On 9/07/2021, at 6:48 PM, Odroid-Dude @.***> wrote:
Mojave is 10.14
I'd rather the working extension than a refund 😉
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/deathau/markdownload/issues/7#issuecomment-876957594, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARDOYM3VHVOX6DQWBEMFQBTTW2LU7ANCNFSM4NBG6LIQ.

I poked around for a way to manually install the extension but didn't find anything in obvious locations


[Compute] vm host group create: make --platform-fault-domain-count required and update help

Description

Resolve https://github.com/Azure/azure-cli/issues/15749
--platform-fault-domain-count is required in swagger.
If it is not provided,
Before:
ValidationError: Parameter 'DedicatedHostGroup.platform_fault_domain_count' can not be None.
After:
RequiredArgumentMissingError: the following arguments are required: --platform-fault-domain-count/-c
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

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

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

Just curious that there is no test cover this case before ?
We only test "use this parameter". We don't test "not use this parameter".
n parameters generates 2^n combinations.


pivot table with no primary key could not migrate in clickhouse

Clickhouse has a requirement to have a primary key on all tables, so we couldn't replicate tables without primary keys.
You could mark this tables as skipped.

Clickhouse has a requirement to have a primary key on all tables, so we couldn't replicate tables without primary keys. You could mark this tables as skipped.

thank you


Update for SE-0055: Making pointer nullability explicit.

See apple/swift#1878. Note: this needs a coordinated merge, i.e. it must go in ASAP after that request!
@phausler or someone else, would you mind reviewing? I tried to keep APIs matching the nullability audit of the Darwin Foundation, and attempted to change as little behavior as possible besides that, but there were definitely a few rough spots.

This does not seem to build at all for me from the Xcode project, there are some errors in the interface for NSXMLParser. We need to have this compile for both darwin and linux

Oooops. Will get on the Darwin side today.

Fixed the Darwin side. Now doing a second pass to (a) keep the public API in sync with the SDK shipped with Xcode 7.3, and (b) make sure no behavior changes snuck in. Also planning to rebase after the update for the new parameter naming rules.

I'm sorry, this is as small as the patch is going to get. This is the minimal nice patch to get swift-corelibs-foundation to build (on both Linux and Darwin) under the compiler branch above. What I mean by a "nice" patch is preferring if let and guard let to putting ! in bodies, if there was nothing else interesting going on.
There are three actual behavior changes here:

NSUUID's initializer does not take an optional input, and so the special behavior for null pointers has been removed.

NSNumber non-keyed decoding was logically broken; the old code would have immediately led to a null pointer dereference.

_NSXMLParserStartElementNs had a number of logic inversions (x == nil instead of x != nil); previously these were silently ignored, but they started being caught by tests. These have been fixed.

All public APIs involving pointers ought to match their Darwin equivalents now, except for those in the following classes:

NSAttributedString
NSFormatter subclasses
NSScanner
NSStream
NSDivideRect(_:_:_:_:_:) (not a class)

@swift-ci please test

Unfortunately that won't work; this depends on the branch in apple/swift#1878.

Ok, I think we decided to hold off on this for the time being then.

We're merging this to unblock the compiler work on this feature. We may have to iterate in master if it causes unintended fallout. @jroose-apple will coordinate.

I reverted for now so that we can get all related PRs in at roughly the same time.


Text with emoji cause Phoenix API errors

BUG
Current Behavior

Submitting a caption or why_participated can break Phoenix API with a PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\xA4\x96' for column 'why_participated' at row 1 in due to https://github.com/DoSomething/phoenix/issues/6167

Desired Behavior

Either inform end user they can't submit emoji and re-prompt for caption/why 🙅
Strip emoji from the input to save successfully

Background info
I think this error started because of Mobile Commons switching our SMS provider over Twilio. Previously we'd see emoji come through as question marks and wouldn't run into this.

This error shows up in New Relic as a 500 error, with the usual Signup.postDraftReportbackSubmission error:API response is false. Gambit Error Response.

https://www.npmjs.com/package/emoji-strip looks like a quick win here.

@jamjensen reported in Slack that yes responses including emoji are counted towards "no". Thinking our best bet is to strip emoji from all incoming text (not just reportback text).


3D detection test error: size<0

When I use CenterTrack in 3D detection, I met an error : size<0
Dataset is nuScenes，backbone is DLA_34_0.5, that is the channels are half of the original DLA34。
I runned 140 epochs totally.
Then I test the model_90.pth, model_120.pth and model_140.pth.
I got correctly AP information from model_90.pth, but about model_120.pth and model_140.pth, I got an error , size<0.
From your code, the final layer of "size" is conv, so I think it is possible for size<0.
But ,for 2D detection of centernet, to insure the outputs are positive , it include a post-process of exp(sx).
So My question is why not have the same post-process for 3D detection in the centertrack?
And how can we deal with this problem?

We don't have an exp(sx) part for 2D detection. For a size < 0 problem, I didn't observe it on nuScenes. But a simple fix might be adding a max(size, 0) in post-processing.


Redwood extensions not working in Visual Studio 2015 RC

We need to upgrade Roslyn NuGet packages to most current version.


free memory allocated by Golang using C.CString()

close #391

@olomix can you take a look a this PR?

I'm actually not sure why we're not making something like:
malloc.free(response.value);

Maybe this way we could also get rid of PLGNFreeStatus?
Or I don't know some background of this

@yushihang we have already merged the PR 386 with malloc.free() , is it enough?

@olomix can you take a look a this PR?

I'm actually not sure why we're not making something like:
malloc.free(response.value);

Maybe this way we could also get rid of PLGNFreeStatus?
Or I don't know some background of this

@yushihang we have already merged the PR 386 with malloc.free() , is it enough?

@olomix @5eeman @plusema86
Thank you very much for your response and suggestions.
A concise description is: "Follow the RAII (Resource Acquisition Is Initialization) principle, who allocates, who releases."
I will try to express my understanding of this memory management case using the diagram A below:

The steps in the diagram are as follows:

Flutter/Dart allocates a block of memory with the size of a pointer to receive return data from Golang
ffi.Pointer<ffi.Pointer<ffi.Char>> response =
     malloc<ffi.Pointer<ffi.Char>>();

In other program languages, this variable is possibly allocated on the stack or in a register. There is an issue discussing why Flutter needs to allocate it on the heap using malloc: https://github.com/dart-lang/sdk/issues/42509

Flutter call function provided by Golang, pass the pointer address(response) to Golang:
int res = PolygonIdCore.nativePolygonIdCoreLib
    .PLGNCreateClaim(response, in1, status);

Golang allocate memory for returning data, write data(string(respB)) into the memory, and point jsonResponse to the memory.
(This memory will not be managed by Golang's memory garbage collector)
*jsonResponse = C.CString(string(respB))

Flutter side return data from Golang allocated memory (jsonResponse)
ffi.Pointer<ffi.Char> jsonResponse = response.value;

After jsonResponse is no longer needed, it should be released.
So we call another function from Flutter/dart to notify Golang to release the memory allocated for jsonResponse in step 3.
PolygonIdCore.nativePolygonIdCoreLib.PLGNFreeCString(jsonResponse);

Golang release memory for jsonResponse
C.free(unsafe.Pointer(str))

Flutter /Dart release to memory allocated for the pointer （response） (allcated in step 1)
malloc.free(response);

After following this procedure, all memory on the heap that was dynamically allocated (the green and red parts in Diagram A) will be properly released, and there will be no memory leak.
PR #386 handles the release logic for the red memory in Diagram A, while the current PR handles the release logic for the green memory.
Another point that needs to be discussed for current PR is "why we need to wrap a function in Go to release jsonResponse, instead of calling the c free function directly in flutter/dart". Is that right?
I have attempted to illustrate this implementation method using Diagram B:

As can be seen from the diagram, steps 5 and 6 in Diagram A have been combined into a new step 5, which means to call C-style-free() directly from the Flutter/dart side to release the memory of jsonResponse.
In fact, when I was handling the release logic for the green memory in the diagram, I was considering this method. For this example, it is workable. I have also found a free() wrapper that has already been implemented in the current polygonid-flutter-sdk code:
```dart
late final _freePtr =
  _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
      'free');
late final _free =
  _freePtr.asFunction<void Function(ffi.Pointer<ffi.Void>)>();

ffi.Pointer<ffi.Void> realloc(
    ffi.Pointer<ffi.Void> __ptr,
    int __size,
) {
    return _realloc(
    __ptr,
    __size,
    );
}
```

The reason for adopting the method in Diagram A in current pull request, i.e. releasing jsonResponse through Go instead of flutter/dart, is mainly due to two considerations:

The release of PLGNStatus and the handling of C-Style String in Rust both follow the pattern in Diagram A, i.e. flutter does not directly call the c free function to release this part of the memory, but instead releases it through the lib that allocates this memory (golang/rust). Therefore, I have also adopted this design.
//export PLGNFreeStatus
func PLGNFreeStatus(status *C.PLGNStatus) {
    _, cancel := logAPITime()
    defer cancel()

    if status == nil {
        return
    }

    if status.error_msg != nil {
        C.free(unsafe.Pointer(status.error_msg))
    }

    C.free(unsafe.Pointer(status))
}

https://github.com/0xPolygonID/polygonid-flutter-sdk/blame/ad8b622c922c3ac9d86662e7cdf3c22823b592bd/rust/src/lib.rs#L583-L589
#[no_mangle]
pub extern fn cstring_free(str: *mut c_char) {
    unsafe {
        if str.is_null() { return }
        CString::from_raw(str)
    };
}

In my own understanding, although it seems that flutter can directly call c free in this case, but if we consider the following situations, the pattern in Diagram A may be more universal.

In case that we add a string variable to PLGNStatus, if we adopt the method in Diagram A, we only need to modify golang, and there is no need to change flutter, which can prevent memory leaks.

typedef struct _PLGNStatus
{
        PLGNStatusCode status;
        char *error_msg;
        char *new_string; //added new string variable
} PLGNStatus;

func maybeCreateStatus(status **C.PLGNStatus, code C.PLGNStatusCode,
    msgFmt string, msgParams ...interface{}) {

    if status == nil {
        return
    }

    s := (*C.PLGNStatus)(C.malloc(C.sizeof_PLGNStatus))
    if s == nil {
        return
    }

    if msgFmt != "" {
        msg := fmt.Sprintf(msgFmt, msgParams...)
        s.error_msg = C.CString(msg)
    } else {
        s.error_msg = nil
    }

    s.status = code

    s.new_string = C.CString(xxxxxx) //new memory block allocated here

    *status = s
}

    //export PLGNFreeStatus
    func PLGNFreeStatus(status *C.PLGNStatus) {
    _, cancel := logAPITime()
    defer cancel()

    if status == nil {
        return
    }

    if status.error_msg != nil {
        C.free(unsafe.Pointer(status.error_msg))
    }

    if status.new_string != nil {
        //free the newly added variable in Golang
        C.free(unsafe.Pointer(status.new_string))
    }

    C.free(unsafe.Pointer(status))
}

If we use the method in Diagram B, flutter also needs to add a free for new_string synchronously.
In this way, we must maintain synchronous modifications in two different repositories. If there is no synchronous modification, it will cause memory leaks or other memory management problems.
In particular, memory leaks, because they will not have an obvious impact on the running results during the development phase, so it is difficult to discover in a timely manner.

Regarding the PLGNFreeCString() function that will be added in this PR, there are also the following scenarios:

PLGNFreeCString() does not only provide a C.free() function for Flutter, but it should be understood as "Flutter/Dart informs Golang through this function that the memory block Golang allocated will not be used anymore, and Golang can handle this memory block subsequently".
Another situation is that memory allocation is not only done through C.CString()/malloc(), but can also be done through a method such as boost::pool, which pre-allocates a large block of memory and manages it through internal marking, without needing to call malloc()/free() provided by OS every time an allocate/release function is called.
In such cases, Golang may replace the current C.CString()/C.free() calls by linking to a third-party library. If this situation arises, it is not appropriate for Flutter to continue calling C-style-free().
If we adopt Diagram A's approach, which is the approach taken in this PR, where the responsibility for allocating and releasing memory is borne by Golang, and the method used is also determined by Golang.
Then the Flutter code does not need to be modified, even if the native library changes this part of the memory management method. This approach is more in line with the RAII principle of "who allocates, who releases".

A summary in one sentence is: "Memory allocated by Flutter is released by Flutter, and memory allocated by Golang is released by Golang."
Actually, the above content is not limited to Flutter and Golang. Any cross-programming language memory management will encounter such situations.
Another issue is: for the module that allocates a block of memory, if this block of memory is released by other modules/languages, but the allocator module has not received a notification, this can also bring potential problems to memory management.

Thank you for the discussion and insights~

So whatever you do, you can't cause a memory leak inside Go runtime, only in system memory (I hope).

Yes, currently, the memory leak only occurs in the memory allocated by C.CString() (red memory in diagram), and not in the memory managed by Go's Garbage Collector.

There are a lot of functions in standard library that return strings: like asprintf in stdio.h and they do not provide additional function to free those strings. Those allocated strings are supposed to be release with just calling the free function.

I agree with your point.
However, the example you provided is within the same programming language or same module, sometimes this is the chosen implementation because there is no better alternative.

In our case,  it's malloc/free across different modules/libraries and even different programming languages, which leads to memory allocation and deallocation operations not being paired in each module.
A reader of this code might be confused as to why Golang only has C.CString() without C.free(), while Flutter has free() but lacks a corresponding malloc().

Let's take a look at the documentation for asprintf.

The functions asprintf() and vasprintf() are analogs of
       sprintf and vsprintf, except that they allocate a string
       large enough to hold the output including the terminating null
       byte ('\0'), and return a pointer to it via the first argument.
       This pointer should be passed to free() to release the allocated
       storage when it is no longer needed.

The Standard C library provide asprintf() and free(), so it require the caller using free() to release the memory allocated in asprintf().
Correspondingly, C-polygonid provide PLGNCreateClaim() and PLGNFreeCString(), and  require the caller using PLGNFreeCString() to release to memory allocated in PLGNCreateClaim(). That sounds reasonable as well.

Indeed, in cases where we have already constrained Golang to exclusively use C.CString() for memory allocation from the operating system, there won't be any technical issues with calling the corresponding C.free() in Flutter(). It is the same for both string and PLGNStatus.  (Assuming that we ensure the allocation and deallocation operations are paired on both ends)
What we're discussing here is more of a design choice~

Additionally, if simple strings can be directly freed by Flutter, but PLGNStatus requires PLGNFreeStatus(), this may lead to inconsistent code styles.
However, if we individually free the strings in PLGNStatus in Flutter, it becomes overly coupled.
Furthermore, babyjubjub(rust) already provides a cstring_free() functionhttps://github.com/0xPolygonID/polygonid-flutter-sdk/blame/ad8b622c922c3ac9d86662e7cdf3c22823b592bd/rust/src/lib.rs#L584.
This means that in the Flutter side of the code, there will be some direct calls to C.free (without corresponding malloc), while in others similar codes , PLGNFreeStatus()/cstring_free() is used, which may seem a bit odd?

You talk about some "exotic" types like C.CString

There might be a misunderstanding here.
I was not talking about C.CString() type, but rather the Golang functions used to allocate memory for C-type variables in the c-polygonid library, such as the following calls:
https://github.com/0xPolygonID/c-polygonid/blob/cc0573dddca20fb0b587b4e415f1b7f9c7a32132/cmd/polygonid/polygonid.go#L422

[User] What is CString stands for in PLGNFreeCString?
[Me] That is a function name that created a char* string inside a c-polygonid library
[User] Why should I use PLGNFreeCString instead of free
[Me] You shouldn't, they are the same.
[User] Then why PLGNFreeCString exists?
[Me] Em...

This conversation is a good point to discuss~
Suppose we add comments to PLGNCreateClaim() like asprintf()
The jsonResponse pointer should be passed to PLGNFreeCString() to release the allocated
       storage when it is no longer needed.

As a programmer calling PLGNCreateClaim(), I would certainly be curious and look into the implementation of PLGNFreeCString(), but I would not choose to directly call free by my side.
Because the caller don't need to maintain the implementation of PLGNFreeCString() and PLGNCreateClaim(),  the c-polygonid library will ensure consistent memory management.  As long as PLGNFreeCString() and PLGNCreateClaim() are called in pairs according to  the document.

As to confusion, from my point of view, it can be confusing why I can't release pointer to char just by calling free

I got your point~
It is not an issue of "right or wrong", but of "right or better". It's true we can call free()' to free the memory in flutter,  but a allocate/release' pair in a same module will be better to understand.


Feature/http4s 0.19.x upgrade

Updates local version to 1.0-M1. The idea is that the branch 1.x should be binary compatible with latest http4s v0.19.x.

This will be merged into the series/1.0 branch to maintain compatibility, not on master.


Displayed Value is too big when 2 decimals is enabled

Hi, is there a way I can lower down the font size of the value? Seems like there's no option to change that in the current version of the library as of now. Thank you.
P.S. This is the reference image of what I am talking about.

Thanks, keep up the good work guys.

the reason for this is that this skin was not meant to be used with decimals. I will try to fix it asap.

Thanks for the immediate response. I didn't know that it was not meant to have a decimals, looks like it wasn't written on the manual or it was at least documented. Anyways I will wait for the new update of the library. Thank you very much.

fixed with commit: 45ef97276b591ab4a32f44db96c9814f2ae8f92c

Great! Thanks.


Update GeoLite2-City.mmdb.gz SHA1

Update GeoLite2-City.mmdb.gz SHA1 to match new MaxMind-provided database

#143 rolls this up, closing.


[packages] Add support for swift-format

flutter_plugins supports Dart, Java, and Objective-C formatting. Since we'll be using Swift preferentially for macOS plugins (and probably someday for iOS, even if not yet), we should add support for swift-format too. (There are several Swift formatters, but based on internal discussions that's the one we should use.)
It's a bit fiddly to set up at the moment, but we should at least check if it's on the path and run it if so.

Actually running this in CI is still problematic:

There are still no binaries provided by the project.
The version-locking could make it more difficult for us to update the version of Xcode we're using in CI.

Now that we are migrating iOS to swift, we may want to consider bumping up the priority of this?

There are still no binaries provided by the project.
Can you explain more about this?

The version-locking could make it more difficult for us to update the version of Xcode we're using in CI.
Did you mean https://github.com/apple/swift-format#matching-swift-format-to-your-swift-version-swift-57-and-earlier. Are we using, or plan to use different versions of Swift for different plugins. Can we query the swift version used in build setting and download the formatter accordingly?

There are still no binaries provided by the project.

Can you explain more about this? What is the "project"?

That was referring to apple/swift-format.

The version-locking could make it more difficult for us to update the version of Xcode we're using in CI.

Did you mean https://github.com/apple/swift-format#matching-swift-format-to-your-swift-version-swift-57-and-earlier.

Yes, but it looks like it's resolved now! That "Note" section was only added a couple of days ago, and unless I'm misreading it, it's saying we won't have this problem going forward.

Are we using, or plan to use different versions of Swift for different plugins.

The problem was that the version they were referring to there wasn't the Swift syntax version, it was the swift toolchain version. Meaning that it used to be the case that you had to build the specific version of the former for the exact version of Xcode you had. So any time we wanted to update Xcode we would have had to update the formatter. And if there wasn't a formater version yet, we would actually be blocked from updating Xcode temporarily.
(And anyone wanting to format locally would have had to figure all of this out as well, to get and build just the right version.)

It also says swift-format can be used as an API from another swift script, as opposed to using it as a command line tool https://github.com/apple/swift-format#api-usage.  That would allow us to use Swift Package Manager to manage the version resolution.  That may be easier than building from source https://github.com/apple/swift-format#getting-swift-format

In case it's helpful, if you also contribute to the flutter engine, there is an issue with the swift-format under depot_tools. The current workaround is to install and run swift-format on your local machines (swift-format format -i -r /path/to/your/code).
Make sure to set up the export path properly to run your own copy of swift-format instead of the one under depot_tools.

Now that we're using LUCI, we could probably just by making a cipd package of swift-format, and add it to the dependencies in .ci.yaml.

cc @tarrinneal

The packages tooling is now set up to handle swift-format as of https://github.com/flutter/packages/pull/5204, but it still needs to be put into CI.
I see there's already a CIPD package at infra/3pp/tools/swift-format/mac-arm64, which I just tried and it works:
$ echo 'infra/3pp/tools/swift-format/mac-arm64 latest' > ensure_file.txt
$ cipd ensure -ensure-file ensure_file.txt -root ~/foo
$ ~/foo/swift-format path/to/flutter/packages/flutter_tools/templates/app_shared/ios-swift.tmpl/Runner/AppDelegate.swift
import Flutter
import UIKit

@UIApplicationMain
...

Recipe change to add the CIPD package as a dependency: https://flutter-review.googlesource.com/c/recipes/+/54020

That package only runs on macOS.  That means we'll need a Mac repo_checks that swift-formats.  We could make check_podspecs into a more generic repo_checks that also calls swift-format (it runs really fast).

swift-format also works on Ubuntu, but not on Alpine, e.g. https://hub.docker.com/r/mtgto/swift-format/

swift-format also works on Ubuntu, but not on Alpine, e.g. https://hub.docker.com/r/mtgto/swift-format/

Understood.  The version we easily have available to us in CI from chromium is only built for Mac.  I'd rather rearrange our test than maintain our own versions of this package, if possible.

Recipe change to add the CIPD package as a dependency: https://flutter-review.googlesource.com/c/recipes/+/54020

🤦🏻 I forgot to check non-Flutter packages. Thanks for finding that!

We could make check_podspecs into a more generic repo_checks that also calls swift-format (it runs really fast).

Agreed, I was just looking at your other PR and wondering if we should combine it with something else.
We'll probably want to adjust the tooling to allow disabling formatting of each language so that we don't have two failures every time file in any other language fails, but I can add that easily. I'll take a look next week.


Getting error Access to the path 'obj\\berry' is denied

I've followed the steps required for generating the nexar-console-supply template and generated a test project. I've manually installed the StrawberryShake.Tools using dotnet tool install --global StrawberryShake.Tools as the builtin .config/dotnet-tools.json doesn't appear to do anything.
I managed to get everything working once, but after running dotnet tool restore and dotnet graphql update I keep getting this
Access to the path 'obj\\berry' is denied.	Nexar.Client

any ideas?

It would seem that running VS in Administrator mode will get the error to go away, but there are lots of errors after upgrading StrawberryShake.CodeGeneration.CSharp.Analyzers and StrawberryShake.Transport.Http to latest (non-prerelease) versions.
1>B:\gitrepo\personalcode\Nexar\Nexar.Client\StrawberryShake.CodeGeneration.CSharp.Analyzers\StrawberryShake.CodeGeneration.CSharp.Analyzers.CSharpClientGenerator\NexarClient.StrawberryShake.cs(188,21,188,51): error CS0234: The type or namespace name 'Helper' does not exist in the namespace 'StrawberryShake' (are you missing an assembly reference?)
1>B:\gitrepo\personalcode\Nexar\Nexar.Client\StrawberryShake.CodeGeneration.CSharp.Analyzers\StrawberryShake.CodeGeneration.CSharp.Analyzers.CSharpClientGenerator\NexarClient.StrawberryShake.cs(56,734,56,879): error CS1503: Argument 3: cannot convert from 'StrawberryShake.IOperationStore' to 'System.Func<StrawberryShake.IResultPatcher<System.Text.Json.JsonDocument>>'
1>B:\gitrepo\personalcode\Nexar\Nexar.Client\StrawberryShake.CodeGeneration.CSharp.Analyzers\StrawberryShake.CodeGeneration.CSharp.Analyzers.CSharpClientGenerator\NexarClient.StrawberryShake.cs(56,881,56,889): error CS1503: Argument 4: cannot convert from 'StrawberryShake.ExecutionStrategy' to 'StrawberryShake.IOperationStore'

Errors are resolved if I stick with only version 12.17.0 of the StrawberryShake libraries. Needing to run as Administrator is a bit of a problem for CI pipelines, still can't seem to get around that with StrawberryShake. This seems like a fairly brittle way to go about things, maybe I can find an alternative to using that package for GraphQL.

@replaysMike It's this issue -- https://github.com/ChilliCream/graphql-platform/issues/3653
The workaround is add this to your project
    <BaseIntermediateOutputPath>$(MSBuildProjectExtensionsPath)</BaseIntermediateOutputPath>

The issue is resolved in v13 but it has it's own (minor) issues. I'd wait for 13.1, expected soon.

Thanks for the response @nightroman - I managed to remove all packages from the Nexar.Client and replaced with this: <PackageReference Include="StrawberryShake.Server" Version="13.0.5" />.
Then:
cd .\Nexar.Client
dotnet new tool-manifest --force
dotnet graphql update

After this I was able to build and run without issues. Hopefully I don't run unto those pesky v13 issues you mentioned, but I'll likely know shortly as I integrate the api.

NB But if you want using v13 (we do in own projects) then

client packages changed, see https://chillicream.com/blog/2023/02/08/new-in-hot-chocolate-13
graphql update is not working, use graphql download for updating, for now

I see thanks for the heads up

I have added the workaround to templates.
But I hope we'll move to v13.1 soon and it will not be needed.


58 redesign project

Related to #58

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

333 of 354 (94.07%)  changed or added relevant lines in 30 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-4.4%) to 94.068%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/WebServer/ContainerConfigurator.php
0
21
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-4.4%

Covered Lines:
333

Relevant Lines:
354

💛  - Coveralls


Update Readme Gif preview📢

The gif preview needs to be update in the readme file, as the project has been updated since beginning.

Hey, I'm interested to fix this issue. Can you please assign it to me?

Actually, I have created a PR for the same check if fine, else @ruchi-115 can continue with that.

@vikkastiwari , let @ruchi-115 contribute as well.


Wagtail package directory

Challenge
Wagtail plugins are a bit hard to discover, as they are scattered across several channels:

https://pypi.org/search/?c=Framework+%3A%3A+Wagtail
https://djangopackages.org/grids/g/wagtail-cms/
https://github.com/springload/awesome-wagtail
https://github.com/search?q=wagtail
https://stackoverflow.com/search?q=[wagtail]+menu

Proposal
Lets build an official listing of Wagtail community plugins.
Rationale
Having an official 'Wagtail plugins' app, linked to the primary Wagtail website, would help new developers find out what is available to help them build their Wagtail site and user experience.
Data model
This is a work in progress, and is subject to change through discussion.
The initial data model would contain at least the following elements.
Package
The main entity in the 'package directory'. It could be based on the Wagtail Page class, and might have the following fields:

title: name of the package
description: rich text
sourcecode_link: link to a repository page, such as on GitHub or Gitlab
support_link: link to a place where users can get support, such as GitHub/Gitlab issues pages
category: selection of one (or more?) category where this plugin should be listed

Automated package analytics
Similar to the Django package index, the Wagtail package directory can collect statistics from the upstream sources, such as GitHub. These statistics could be collected via calls to an API, which would probably need a task runner, like Celery.
Examples for inspiration

DjangoCMS
Drupal
Joomla!
Mezzanine
TYPO3, Wordpress

Original discussion
This idea was brought up while discussing issue #4910

I will be adding details to the issue description above, that we explore in the process of discussion.

One idea that would use some clarification is how we categorize the addons. E.g. should there be a pre-defined, but not immutable, list or hierarchy of categories (like a software trove)? Should there be a more free-form way to categorize, or tag, addons? Should we take a hybrid approach?

What might the process be for listing a package in the package directory? Are there a select few users who are responsible for adding packages? Can authenticated users submit a package for review and publication?

I discussed this issue with some core members. This is what we talked about.
First, a Wagtail packages listing site is a good idea.
There are some concerns:

There are already many listings out there. All with their own twist and focus.
Keeping the listing up to date is a lot of work.

We need:

A low maintenance/crowdsourced solution for the contents.
Automated aggregation of package statistics.
The project to be in Wagtail namespace.
Documentation pointing to the package listing. (for integrators).
Documentation on how to add your package (for package creators).

We do not really need:

Submission review or other quality control (leave this to the community)

Having the listing entries under version control seems obvious. This way anyone can contribute via pull requests and we can use our existing infrastructure.
A related RFC of Rust https://github.com/rust-lang/rfcs/blob/master/text/1824-crates.io-default-ranking.md is a good to read and mentions a few interesting solutions:

https://github.com/djangopackages/djangopackages. unfortunately db based, but easy to contribute too.
https://github.com/postlight/awesome-cms, generated readme, no filters.
https://www.libhunt.com/ eg: https://python.libhunt.com/categories/55-cms scrapes awesome lists.

We do not really need submission review or other quality control (leave this to the community)

How should we mitigate spam submissions?

Related
https://github.com/librariesio/libraries.io
https://libraries.io/search?q=wagtail

FYI we’ve discussed / considered this as well during our recent core team meeting(s). We didn’t really decide on what we’d want to do, but decided to first work on a "Guides" section for wagtail.io where we could showcase third-party Wagtail content, inspired by https://www.sanity.io/guides.
From there, we can revisit the topic of a package directory.

There has been progress:
Wagtail Packages that are listed on PyPi are added to Djangopackages.org. See https://www.fourdigits.nl/blog/wagtail-packages/.
Djangopackages.org will be the -community editable- data source to feed a Wagtail package directory page on wagtail.io. See https://github.com/wagtail/wagtail.io/pull/74

New: https://wagtail.io/packages/


Save manifests and segments into a distributed (s3 like) storage

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
Instead os serving the files through a static web server, we can save every content into a S3 like storage.
When ffmpeg start processing video inputs, it also starts writing every manifest and segment in the local filesystem.
We can send the content through HTTP using another server, ready to accept PUT/POST requests.
Describe alternatives you've considered
Serving through static web server.
Additional context

Done ✅


Instances for mutable collections

I see no reasons why we would not support e.g. mutable.Map

Please add support for other Scala's mutable collections and arrays.
Also, please add missing codecs for immutable collections like IndexedSeq, LinearSeq, ListSet, TreeSet


Error:  Class not found: DemoLambdaV2

Describe the bug
When ingesting a document in the web UI, job completes.  But when I try to see the results in the solution, nothing comes up.  Errors show that the searchable.pdf file that should be created is not found.  Digging into the Lambdas, I found that "DUSStack-dusstackpdfgenerator" had an error in the CloudWatch logs.
Class not found: DemoLambdaV2: java.lang.ClassNotFoundException
java.lang.ClassNotFoundException: DemoLambdaV2
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
To Reproduce

Deploy following "Development Deployment" section
After deployment successfully completes, log into solution
"Upload your own documents"
Add Management Report example
Wait for pipeline to complete
Click on "management" in document list

Expected behavior
Expect to see the document to show up and rest of the metadata/interface.
Please complete the following information about the solution:

[v1.0.3 ] Version: [e.g. v1.0.0]
[us-east-1 ] Region: [e.g. us-east-1]
[Y ] Was the solution modified from the version published on this repository?
[Y ] If the answer to the previous question was yes, are the changes available on GitHub?  **Included updates mentioned in older Issues to enable solution to deploy
[Y ] Have you checked your service quotas for the sevices this solution uses?
[Y ] Were there any errors in the CloudWatch Logs?

Screenshots
If applicable, add screenshots to help explain your problem (please DO NOT include sensitive information).
Additional context
Add any other context about the problem here.

@mwl387 , I deployed the v1.0.3 of the solution, added  management reports and then clicked on 'management' in the document list and I am able to see the document and download the document as a searchable pdf. Please let me know if I am missing any steps here. If you have modified the original source, it is difficult for our team to troubleshoot the issue.

@knihit , thanks for taking a look.  The code modifications I made were related to Bug #205.  So nothing that should have affected the pipeline.  Maybe I'll try taking the stack down and deploying again.

Turns out it had something to do with a token expiring on the Cloud9 instance I was working on.  When I generated a new token and ran bash ../deployment/custom-deployment/bin/update-pdf-lambda-code.sh, the searchable-pdf jar file gets updated and the pipeline starts working properly.


Have dnf_package support modular/appstream installs

Describe the Enhancement:
I'd like to see the dnf_package resource support modules/appstreams for RHEL 8+ and fedora
Describe the Need:
Well modules/appstreams solve a large need for users who want to use RHEL/fedora but want most things stable and a few things changed to a newer version. A good example here is PHP, if you just use the built in version of PHP in RHEL you are locked into the stone age pretty quickly. modules/appstreams solve this by allowing newer versions (supported by RHEL if you pay them) of PHP to be installed.
Current Alternative
execute I supose: execute 'yum -y module install php:7.3/devel' etc.
Can We Help You Implement This?:
Well yes you can.

I'd like to revisit this now that #9013 was closed.
I think it might be useful to also create a new resource called dnf_module as users sometimes need to enable/disable modules such as what's described here.
Looking at the help for dnf module --help, you can see the following actions:
  <modular command>     disable: disable a module with all its streams
                        enable: enable a module stream
                        info: print detailed information about a module
                        install: install a module profile including its packages
                        list: list all module streams, profiles and states
                        provides: list modular packages
                        remove: remove installed module profiles and their packages
                        repoquery: list packages belonging to a module
                        reset: reset a module
                        update: update packages associated with an active stream

The backend actually creates/manages files under /etc/dnf/modules.d similar to yum repos. I'm not sure if this resource should directly manage those files or do it via dnf module commands.
I'm also not sure how this would tie in directly into the dnf_package resource.

I think for this specific use case you'd want to do something like this:
dnf_module 'php:7.3' do
  action :enable
end

package 'php-devel'

Perhaps it might make sense to have :enable be the default action. Here's what it looks like from the CLI if you do it manually:
$ dnf module enable php:7.3
Last metadata expiration check: 0:00:32 ago on Mon 03 Aug 2020 05:36:22 PM UTC.
Dependencies resolved.
=======================================================================================================================
 Package                     Architecture               Version                      Repository                   Size
=======================================================================================================================
Enabling module streams:
 httpd                                                  2.4
 nginx                                                  1.14
 php                                                    7.3

Transaction Summary
=======================================================================================================================

Is this ok [y/N]: y
Complete!

Yeah dnf_package is about installing a package or an array of single packages.  Installing modules should go into a different resource.  Single Responsibility Principle and the dnf_package provider is already overly complicated for what it does and does not need more functionality surgically bolted onto it.

Hello @ramereth , the new dnf_module resource is quite good, do you know if there is any plan to make it a native resource?

I would also be interested in a dnf_module resource be in the chef proper.


UID2-1425 GCP OIDC Docker and configurations

Changes
1. Add a new Dockerfile and entrypoint.sh for GCP OIDC enclave
Differences compared to default Dockerfile
--- Dockerfile  2023-07-18 14:09:09.247939500 +0800
+++ scripts/gcp-oidc/Dockerfile 2023-07-18 15:26:34.865822800 +0800
@@ -14,17 +14,15 @@
 COPY ./target/${JAR_NAME}-${JAR_VERSION}-jar-with-dependencies.jar /app/${JAR_NAME}-${JAR_VERSION}.jar
 COPY ./target/${JAR_NAME}-${JAR_VERSION}-sources.jar /app
 COPY ./target/${JAR_NAME}-${JAR_VERSION}-static.tar.gz /app/static.tar.gz
-COPY ./conf/default-config.json /app/conf/
+COPY ./conf/*.json /app/conf/
 COPY ./conf/*.xml /app/conf/

 RUN tar xzvf /app/static.tar.gz --no-same-owner --no-same-permissions && rm -f /app/static.tar.gz

+COPY ./entrypoint.sh /app/
+RUN chmod a+x /app/entrypoint.sh
+
 RUN adduser -D uid2-operator && mkdir -p /opt/uid2 && chmod 777 -R /opt/uid2 && mkdir -p /app && chmod 705 -R /app && mkdir -p /app/file-uploads && chmod 777 -R /app/file-uploads
 USER uid2-operator

-CMD java \
-    -XX:MaxRAMPercentage=95 -XX:-UseCompressedOops -XX:+PrintFlagsFinal \
-    -Djava.security.egd=file:/dev/./urandom \
-    -Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory \
-    -Dlogback.configurationFile=${LOGBACK_CONF} \
-    -jar ${JAR_NAME}-${JAR_VERSION}.jar
+CMD ["/app/entrypoint.sh"]

2. Add a new workflow for GCP OIDC enclave
It's based on shared-publish-docker-versioned.yaml, we should generalize it later.
Testing

Dockerfile and entrypoint script were tested locally
Github workflow hasn't been tested

I would suggest to build a image thru workflow, and try to launch it in GCP confidential space with expected arguments: make sure app is bootstrapped with expected config .  (Dump env logs during app start, and use GCP confidential-debug image which allows you to redirect logs.)
https://cloud.google.com/compute/confidential-vm/docs/work-with-confidential-space-images#launch_policies (by default tee.launch_policy.log_redirect policy is debugonly)

I would suggest to build an image thru workflow, and try to launch it in GCP confidential space with expected arguments: make sure app is bootstrapped with expected config . (Dump env logs during app start, and use GCP confidential-debug image which allows you to redirect logs.)
https://cloud.google.com/compute/confidential-vm/docs/work-with-confidential-space-images#launch_policies (by default tee.launch_policy.log_redirect policy is debugonly)

Sure, thanks.
A docker image has been pushed , I will test it on GCP


raise_send_errors support (or equivalent)

This is about reimplementing Raven's raise_send_errors in sentry-sdk.
Please vote with 👍 here if you somehow need this. However, I currently don't understand what people use this for. Are you using the SDK like a library? Why?

I'm debugging why my Zappa-AWS installation does not send exceptions to Sentry and debug=True does not let me know why exceptions are not being sent...

Sorry but this is entirely unrelated to this issue.
On Wed, Jan 2, 2019, 19:10 Charles-Axel Dein<EMAIL_ADDRESS>wrote:

I'm debugging why my Zappa-AWS installation does not send exceptions to
Sentry and debug=True does not let me know why exceptions are not being
sent...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/getsentry/sentry-python/issues/191#issuecomment-450938288,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAzHxZdCSlh3OYtSIii3u1Yxe1EfEqFgks5u_PYngaJpZM4ZBYZF
.

@charlax if you set debug=True it prints out all exceptions to log that it catches, really all of them. So there is no way you would get new information by raising those errors.

You're right. I'd need a sync transport to see transport error anyway... (#125).

@charlax debug=True should print out the errors from the transport as well. Enabling the AWS Lambda integration is important and should fix your issues.

Let me open another issue so that I don't pollute this thread. See #227.

As this issue is resolved and a follow up issue #227 was created I will close this issue.


Add gpt-4o-mini for both web and api access

Reference:

https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/

切换到 chatgpt web gpt-4o mini 报错： 错误:
Buffer is not defined

I can't reproduce it 😅

Use the complete 1.87MB chromium.zip @anuxs

@PeterDaveHello I think it should be ready for release today; I'm adding support for unlimited custom APIs, and plan to release it together.

@josStorer just asking, do you think the unlimited custom APIs feature will also handle the new API on OpenAI.com, just before we manually add or update a model in this project, this feature could be very useful!

@PeterDaveHello A new version has just been released. Yes, it supports custom APIs for both the OpenAI web mode and API mode. Not only that, it actually supports custom model names for all modes, including Azure deployment names, etc.


Bug bounty test - PLEASE DO NOT APPROVE. mocfvr

Bug bounty test - PLEASE DO NOT APPROVE. mocfvr

Closing this PR as it seems malicious. Please comment if you think otherwise.


[bug?] instanceof not working with Preact.Component

I've got some code like this:
class App extends Preact.Component { ... }

console.log(App instanceof Preact.Component) // false

which unexpectedly logs false.
However, it works fine with React:
class App extends React.Component { ... }

console.log(App instanceof React.Component) // true

I'm transpiling this with Babel. I wonder why this might be?
So for now, I'm doing this:
class App extends Preact.Component { ... }

console.log(App.__proto__ === Preact.Component) // true

Here's a reproduction, in jsfiddle: https://jsfiddle.net/trusktr/6ycn8ptL/2/

Oops, sorry about that, I was checking the constructor, not an instance!! Doh!! Silly late night mistakes.


Catch up yet again.

Coverage decreased (-0.2%) to 93.578% when pulling 9b66f3464a5fe12551ed830b9a7ab6d33a5440c9 on master into 4983e1e68befad67ab1789d0e38b47566a90fb0a on v3.


StableAdamW: Missing divisor in RMS computation

Hello
It seems as though there is a minor error in computing RMS in Stable Adam:
RMS is computed as:
https://github.com/warner-benjamin/fastxtend/blob/e6b2c39a9d2b70ec1038a6142d79c39765795806/fastxtend/optimizer/stableadam.py#L53
And is missing a normalization coefficient for the mean:
rms = torch.norm(p.grad.data.div(root_sqr_avg.maximum(eps_t)), 2) / math.sqrt(p.grad.data.div.numel())
as per

Additionally, another eps can be added in the final normalization.

@EricZimmermann #28 tracks the progress of porting over the fastxtend optimizers to use the optimi implementations


Access and Modify time stats are preserved from source files

If you run following gulpfile with Gulp 4 (current HEAD) you will get dest/file.txt with Access and Modification time preserved from source, (file.txt; January 1st 1970). I believe this is wrong - the modification time should reflect the time when each destination file was written by Gulp.
This is mostly problematic with plugins that only read one file, but this file depends on other files to produce a single output, e.g. gulp-stylus. In my case I pass only main.styl file to gulp.src and inside of it I have some @import statements. Changes to imported files trigger a task, but final CSS file has modification time of main.styl which seldom changes. This is causing issues with browsers cache - I get 304 Not Modified from my webserver.
Here is a sample gulpfile.js to reporduce the issue:
var gulp = require("gulp");
var exec = require("child_process").exec

gulp.task ("create", function(done) {
  exec("touch -d 1970-01-01 file.txt", done)
});

gulp.task ("process", function() {
  return gulp
    .src("file.txt")
    .pipe(gulp.dest("dest/"))
});

gulp.task ("check", function(done) {
  exec("stat -c %y dest/file.txt", function(error, stdout) {
    if (new Date(stdout).getFullYear() === 1970) {
      console.log("It's wrong.");
    }
    else {
      console.log("It is OK in this version.");
    }
    done(null);
  });
});

gulp.task ("default", gulp.series([
  "create",
  "process",
  "check"
]));

Equivalent file executed with v. 3 produces correct (IMO) output.
edit: Wrong argument was passed to stat command (%x instead of %y). Fixed.

Thanks for filing this.  It is on our radar over at https://github.com/gulpjs/vinyl-fs/pull/128 but changes need to be made in the content setter of https://github.com/gulpjs/vinyl to update the stat times when contents are changed.

Thanks for pointing me there. I've read the discussion and it seems to reach rather deep into vinyl internals. I'd love to help there, but I don't think I'm up to it ATM.
In case anybody bumps into this superficial issue of gulp-4 here is my quick and dirty workaround until it gets resolved in vinyl-fs.
// ...
var hrough = require('through2');
var utimes  = require('fs').utimes;

var touch = through.obj(function(file, enc, done) {
  var now = new Date;
  utimes(file.path, now, now, done);
});

// ...

gulp.task ("process", function() {
  return gulp
    .src("file.txt")
    .pipe(gulp.dest("dest/"))
    .pipe(touch)
});

@lzrski you can actually modify the stat object on each vinyl file before the gulp.dest and it will modify the times to the ones you set (avoid another fs call) which was actually the whole goal that caused this problem in the first place :stuck_out_tongue:

@phated works, thanks :)
This may be a very lame question so excuse my ignorance:
Can't gulp.dest just do it for every file it writes?
Maybe at least before you guys come up with more clever solution in vinyl / vinyl-fs you can cut one corner here and then take time necessary to engineer it better. You said it's the last roadblock and I'm sure there are lots of people who would love to see Gulp 4 released.
 Thanks for that.

I've been digging into *nix commands (namely cp) and it seems that the "preserve timestamps" mode is not default.  I think we are going to end up putting this functionality behind a flag similar to cp -p

+1
The only use case for preserving mtime I can think of is for static assets, i.e. files that get copied from src to dest without modification. Here preserving is good for browsers cache. But I would argue that this is an exception, so flag is a good idea.
On the other hand using getters and setters in vinyl object is way more elegant. It mimics real filesystem behaviour. How hard do you think that would be? Should I try a PR there or will I drown in complexity?

@lzrski vinyl is a much simpler library than vinyl-fs. Most code, expect some utility functions, is in the single index.js file.  If you have an understanding of how real filesystems adjust the atime/mtime, I'd love for you to attempt an implementation.

@phated @lzrski FYI I had already started on this a few days back, in the getter/setter of vinyl. Just need to add some tests. Maybe I should have indicated that I was doing this... Hope we didn't duplicate too much effort!
I didn't add a preserve flag though. How would that work? An option to src and then pass it along as an attribute on the vinyl object? Frankly I don't see a huge benefit in having such a flag, wouldn't using a filtering plugin like gulp-newer or gulp-changed be sufficient? Or am I missing some obvious scenario?
By the way, if we're looking at command line primitives for inspiration, wouldn't it be a better match with how gulp works to consider something like cat srcfile > dstfile instead of cp?

@erikkemperman can you submit a PR with your work to vinyl so anyone that wants to work on this has a starting point?   I think you are right that the comparison is cat srcfile > dstfile instead of cp and don't need a preserve option flag if we fix vinyl properly.

@phated Yeah, couple of problems here unfortunately... Laptop died during the holidays, so I will need to re-do what I'd done earlier. But in the meantime it also occurred to me that I might have been approaching this too shallow.
What I'd done is just to set the atime from within the contents getter, and mtime from the setter. But this doesn't cover the case where plugins might modify an existing Buffer, for instance. And if it is a stream, I suppose that reading it should update atime and writing it should update mtime.
Then there is ctime, which I can't imagine being very interesting to a plugin, and we can't actually reflect it on disk via fs.futimes -- but technically I guess it should be updated whenever mtime is, and additionally when mode or uid/gid is set?

So I could make a PR of the simple case pretty quickly but I think that might not be sufficient. Any ideas?

@erikkemperman that's terrible about your laptop.  I think the shallow case might be fine along with some documentation updates.  We've always recommended the following patterns:
// Buffers
var contents = file.contents.toString();
// modify contents
file.contents = new Buffer(contents);

// Streams
file.contents = file.contents.pipe(someTransform);

If the documentation was updated to explain that the reassignment always needs to happen and why, we can get away with the shallow implementation.  I had thought about the mode, uid and gid which is why I started https://github.com/gulpjs/better-stats but got hung up on some details and where to go with it.

@phated Appreciate the sentiment -- actually it was a small miracle that it didn't happen before, it was pretty old. Back to desktop, for now.
Anyway, I've been thinking about the "deep" approach a little more, and having noticed this issue about stat-mode earlier, I played around with a little class today which I now realize much resembles your better-stats, except that it would also maintain the time attributes internally.
Probably you're right that the shallow approach would cover a pretty large area of use cases. I'm having a hard time thinking of anything but contrived exceptions.
I'll make a PR for that shortly.
But then I'll likely still want to try finding a more comprehensive approach... This metadata stuff somehow feels like it deserves a pretty thorough design. Our talk of mimicking cat infile > outfile got me to thinking it should be easy to come up with a matrix of outcomes, and thus a complete picture of what vinyl/vinyl-fs ought to do in different circumstances. Difficult to unit test, though.
I get that people want something out there, but would the @next tag mean that more or less fundamental things like the stat object can no longer be messed with?

Thanks for following up so quickly. Once we publish 4.0.0 to npm with the next tag, we can't do anything breaking, just bug fixes and features. I think we need to land the basic functionality in vinyl so vinyl-fs is outputting correct timestamps.

Just upgraded to gulp 4, and I'm still seeing this (2+ years later). Fixed with gulp-touch-fd, but are there any plans to really fix this?


"spawnonload" Bugs with Spritesets

idk if this happens with everything or only a few things using spawnonload but, in todays case - i used spawnonload on a custom enemy called "coin" (4 frames, with spritesets, most of them differently colored) and smth happened.
detailed explanation below:
when i entered the sublevel i did thru the editor (a simple bonus zone), it was fine, but when i quick tested and entered a pipe that leads to said sublevel, the coins remained golden despite spriteset on the editor set to underground (the coins should be blue). then, when i exit the editor, the coins become blue like they should be...
so i did a quick investigation and apparently this isnt a simple bug, it extends a bit - when i change spritesets from overworld to underground (for example) and quick test, coins remain gold... whats the problem? i made em also disappear with a spark, which shares same spriteset coloring as the normal coin... and the spark was blue...
to resume:
something is happening between spawnonload and spritesets that makes em act weird (maybe normal gameplay suffers from this too). needs to be investigated in the code

3b45f4096bae8df224962cfd23d566b806bc1906


Ability to stop daemons by status

As of Gradle 3.4.1, I can gradlew --stop to kill all daemon processes, and I can gradlew --status to see a list of daemon processes in various statuses, but I can't stop daemon processes in a specific status.
I'd like to be able to stop just the IDLE daemons and not interrupt one that's BUSY.  An option or variable specific to that or an option to target a specific status with --stop would be helpful.
My use case is cleaning up stray java processes before restarting a system but not interrupting a build that happens to be in the middle of something.

If you have script access, you could run kill -9 $(gradle --status | grep -m1 IDLE | awk '{print $1}') on *nix systems.
Otherwise, I'll consider this a feature request. You'd still need a scripted way to say: "hold up, there's a running build"

Yeah, better management features for the daemon has been a long-standing issue. This would be a great improvement, but there's more to do here (like having --status and any other flags report on all daemons not just from the current gradle version / java home combo).

This is still a good feature request.


Proxy Camera Service

It will be good if you add proxy camera service.
Skype and other all processes share webcam.
This can be done by registering webcam to directshow.
Open once and share accross processes

On Linux , its possible.
Look here :
https://github.com/umlaeute/v4l2loopback

For windows:
http://stackoverflow.com/questions/6243891/writing-a-virtual-webcam
http://www.mmnt.net/db/0/0/<IP_ADDRESS>/Engines/[DISTRS]/DXSDK8/samples/Multimedia/DirectShow/Filters/Ball

and for ipc maybe needed:
https://github.com/caplogic/mappedbus

for OSX:
http://stackoverflow.com/questions/2538573/creating-a-virtual-webcam-device-for-os-x

This can be done by:
Webcam.addProxyCamera();


fix: microcopy object validator

There are additional props for microcopy validator of calendar at runtime (open and cancel) and is failing. This PR changes validator with a faster one which supports this condition. Date picker's validator is also changed for code consistency.
(Test is failing because it exists with code 1)
DCO 1.1 Signed-off-by: Pooya Parsa<EMAIL_ADDRESS>

Thank you very much!


pull request for e2e test at 12/02/2016 17:45:10

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[BUG] Arducam camera - Video crashing after some time or immediately

Describe the bug
ERROR: Device timeout detected, attempting a restart!!!
[5:00:54.982057588] [2324]  WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[14:cap]: Dequeue timer of 1000000.00us has expired!
[5:00:54.982184292] [2324] ERROR RPI pipeline_base.cpp:1424 Camera frontend has timed out!
[5:00:54.982246755] [2324] ERROR RPI pipeline_base.cpp:1425 Please check that your camera sensor connector is attached securely.
[5:00:54.982308792] [2324] ERROR RPI pipeline_base.cpp:1426 Alternatively, try another cable and/or sensor.
ERROR: Device timeout detected, attempting a restart!!!

looping over and over again with no way to stop the program with a Ctrl + C interrupt.
Then it goes into this mode until restart:
ERROR: *** failed to acquire camera /base/soc/i2c0mux/i2c@1/arducam_64mp@1a ***

Bug report
report_file.txt

This looks to be an issue with your camera hardware.  As this is an Arducam product, I suggest getting in touch with them and asking for a replacement.


feat(cast): add --flashbots to use flashbots rpc url

Saw this so I thought I'd give it a shot: https://twitter.com/gakonst/status/1478463108100366339.
Sadly, I am missing something with how structopt works, since the output is messed up:
cast-send 0.1.0
The wallet options can either be: 1. Ledger 2. Trezor 3. Mnemonic (via file path) 4. Keystore (via file path) 5. Private
Key (cleartext in CLI) 6. Private Key (interactively via secure prompt)

USAGE:
    cast send [FLAGS] [OPTIONS] <to> <sig> --rpc-url <rpc-url> [args]...

FLAGS:
        --flashbots      use the flashbots RPC URL
    -h, --help           Prints help information
    -i, --interactive    Interactive prompt to insert your private key

If you have any thoughts let me know, figured I'd push this up while I try to figure it out.
EDIT: I had a stale cast binary when I started, just bisected and the bad output ("The wallet options can either be...") is from: 0cc47662aab7ba4475996c141b9e1d8e64df84f4 (which I probably should have figured out from the text 🤦♂).
~Still confused by structopt (how does it determine FLAGS vs OPTIONS? Why is the Wallet docstring populating the send description? etc.)~

Linked issue that should be closed.
https://github.com/gakonst/foundry/issues/368


Unable to delete listener after morphing the task type

A listener is not deleted after morphing the task and deleting the listener. It appears again after seleting the task again.
Steps to reproduce:

Model a task
Morph it to service task
Add a listener without filling the details.
Morph the task to manual task
delete the listener
select the start event
select the manual task

expected: the listener is gone
behavoir: the listener appears again.

Closed via https://github.com/camunda/camunda-modeler/commit/d32437deb8577d54e757b012684b04784fb52c1d.


Update what-is-a-data-warehouse-unit-dwu-cdwu.md

The exact same paragraph "Each SQL server (for example, myserver.database.windows.net) has a Database Transaction Unit (DTU) quota that allows a specific number of data warehouse units. For more information, see the workload management capacity limits." is repeated in the next section "Capacity Limits".
Removed a dot at the end of an item in a list.

@stversch : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

@SnehaGunda: I'm sorry - only the author of this article, @mlee3gsd, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Language Server - Command class

Adds the Command class as an abstract subtype of ParseTreeNode.
Its existence was already assumed (shown with the presence of variable names and methods like "parseCommand", to spell it out loud), but never officially added.
This class creates a distinction between it and Symbol, and shields previous uses of "ParseTreeNode" from having a Symbol slipped in its place.

@heeheehee-kolmafia - do we not automatically have Squash and merge after an authorized review?

We do, but I'm leaving it open to @fredg1 to decide whether he wants to make the optional changes that I suggested, or merge them himself.

We do, but I'm leaving it open to @fredg1 to decide whether he wants to make the optional changes that I suggested, or merge them himself.

"Merging is blocked
The base branch restricts merging to authorized users. Learn more about protected branches. "

Ack. I'll merge it, then.

The question was about automation - at one point there was talk about a workflow that automatically squashed and merged once an authorized user approved in a review.  Since that had not happened I wondered why.  Does an approved reviewer also have to push a button?


Unreadable Response

http://www.infoprovsechny.cz/request/dokumentace_k_projektu_socialni?nocache=incoming-11330#incoming-11330

Also http://www.infoprovsechny.cz/request/ucastnici_rizeni_podle_sidla_9

This is a bit nicer (ruby provides no docs for this class, https://stackoverflow.com/a/1999887/669631 was of most help):
...
a = OpenSSL::PKCS7.new(Base64.decode64(m.body.raw_source))
a.verify([], OpenSSL::X509::Store.new, nil, OpenSSL::PKCS7::NOVERIFY) # Don't verify anything!
v = a.data
...

Hi, everyone, can we help with resolving this issue? Unfortunately I don't have Ruby devs, but I have a Python team here in Prague, would that be of any help? I realise it's a long shot, but maybe there's some language-independent research to be done, for example?

Looks like all the tools we need are available to us to correctly parse the content type – its more of a case of integrating them in to Alaveteli.

OK, understand. If there's anything we can help with in the future, please do let me know! Thanks again for having a look at this, much appreciated.


Problem about detector performance against hoi performance

Hello Fred, thanks for your great work.
I notice that in the paper, you say: "The performance of our method with H-DETR-R50 was surprisingly lower than that with DETR-R50, although H-DETR-R50 outperforms DETR-R50 significantly in terms of object detection mAP on HICO-DET." I have the same problem when experimenting on HOI with a different object detector. I wonder what do you think is the cause of this problem and how to solve it?
Thanks in advance.

Hi @shan-jianqing,
Thanks for taking an interest in our work.
What I suspect was happening is that the multi-level features in H-DETR are not exploited effectively. These more advanced detectors all use deformable transformers and five levels of image features. We did some explorations on these multi-level features in appendix B of the paper, but were unable to get any significant improvement. So it's possible that even though the object detection quality is better with H-DETR, the extracted visual features are not as discriminative.
Hope that helps.
Cheers,
Fred.