Has add_string_choice support been implemented?

Looking through the code, it doesn't seem like support for add_string_choice has been implemented. Is this correct or have I missed it? I'd like to give users choices when entering slash commands.

There's no built-in support for that. I'm not yet sure how to design the API for that. It would probably be some form of derive macro on a macro i.e.
#[derive(poise::StringChoice)]
enum MyChoice {
    #["The first choice"]
    ChoiceA,
    #["The second choice"]
    ChoiceB,
}

but maybe it would be smarter to reuse an existing enum derive crate like strum.
In any case, it should be possible to cobble a working string choice type together right now by implementing PopArgument and SlashArgument. I can make an example if you want

I'd appreciate that. I was looking into implementing the functionality myself, but Rust macros are so complex. Having a starting point would be helpful.

Are you referring to implementing PopArgument and SlashArgument, or to adding the StringChoice derive macro to poise itself?

Oh I thought PopArgument and SlashArgument had to do with poise itself and implementing StringChoice. Re-reading what you sent, I understand what you mean. If you can give me an example string choice implementation with PopArugment and SlashArgument, that would be perfect.

I'll only have time in 6 hours from now, I'll make an example then probably :) Will also probably look into adding something like a StringChoice derive macro, I decided on a design after thinking about it for a bit

No rush! Appreciate the help

Here's an example https://github.com/kangalioo/poise/blob/107fdcc5ff192aa940b0493562c0ab69e741b674/examples/main.rs#L83-L153
You currently need to use poise::Wrapper because otherwise there'd be overlapping blanket implementations (impl<T: PopArgument> PopArgumentAsync for T and impl<T: serenity::ArgumentConvert> PopArgumentAsync for T). This annoyance will probably be removed at some point though, using Lukas Kalbertodt's specialization trick.

For some reason, I'm getting this error when using your code and running the command.
Error in slash command "choice": Bot author did not register their commands correctly (a required argument is missing)

I'm not sure what the problem is. I tried changing the CreateApplicationCommandOption and tracing the code but couldn't figure it out. It must have something to do with this macro since it's what triggers the error.
// Extract T
($ctx:ident, $guild_id:ident, $channel_id:ident, $args:ident => $name:ident: $($type:tt)*) => {
    $crate::_parse_slash!($ctx, $guild_id, $channel_id, $args => $name: Option<$($type)*>)
        .ok_or($crate::SlashArgError::CommandStructureMismatch("a required argument is missing"))?
};

Is poise::Wrapper breaking something?
Also, is there a way to set these commands as guild commands? It takes awhile for the slash command interface in discord to update.

Never mind, I figured out the answers to all of those questions when I copied and ran your register command. Now, unfortunately, I have a different issue where the choices won't show up (I can still enter them and they work) and the serenity::User type is resulting in the error.
Error in slash command "id": Failed to parse argument: User not found or unknown format

I'm in the process of working through these atm.

the choices won't show up (I can still enter them and they work)

I don't understand. How can you enter choices if they don't exist in the Discord UI?

Error in slash command "id": Failed to parse argument: User not found or unknown format

The string parsing code for User currently only checks serenity's cache for users. However, that cache is only filled if the GUILD_PRESENCES intent is enabled for the bot. Could you try enabling that intent? Alternatively, you could use Member, which always works (it only searched current guild though).
I don't really know which way to find users globally would be better, else I'd have made a PR to serenity already.

I don't understand. How can you enter choices if they don't exist in the Discord UI?

As if they are a normal string without choices like so:

The choice UI should look like this:

The string parsing code for User currently only checks serenity's cache for users. However, that cache is only filled if the GUILD_PRESENCES intent is enabled for the bot. Could you try enabling that intent? Alternatively, you could use Member instead of User, which always works (it only searches current guild though).

Ah, that's probably the problem. I've since been able to get it to work but sometimes it works and sometimes it doesn't. I've noticed it doesn't work if I haven't sent a message in the server for awhile which would be inline with it not being in serenity's cache. The bot has the administrator permission at the moment so I think that means it has every intent.
Good to know about Member, I'll try it the next time I run into the bug.

Fyi, copying and compiling your choice example code verbatim doesn't show the choice UI.

Could you update poise? cargo update -p poise I could imagine that cargo didn't automatically didnt include a fix I had to push for choices to work properly

Thank you! That was my problem. Such a simple thing, I didn't realize you changed poise to make it work.

I added the derive macro :)
https://github.com/kangalioo/poise/blob/d3b240c2965b72d6f00d661e344a9da7222edb21/examples/main.rs#L83-L101


Missing openstack-audit-middleware in pypi repository

Hi, for long time we are building this python package and adding to our downstream kolla git repository and building images for openstack.
As a core for kolla and kolla-ansible I would like to add this middleware to kolla images to upstream master branch. Do you think you can upload and maintain this openstack-audit-middleware to pypi repository ? If yes, then I will just add one line to install this package.
PS: I am accessible on email or on freenode IRC  #kolla
Thanks,
Michal Arbet (kevko)

Hello, @notque  any news please ?

Hello keuko, sorry I’ve been out of office for quite a bit due to a personal issue. This is on my radar but I’m catching up with a backlog from being out.
I will need to sign up and go through the process.

Sorted it out, https://pypi.org/project/audit-middleware/1.1.1.dev25/
I need to cut a new build, and update the version number.


Add support for Non breaking space character

Right now, the UTF-8 NO-BREAK SPACE character (0xC2 0xA0) seems to be left as is, which is not handled properly by  some navigators. Instead it would be better to convert it into the HTML version of a non breaking space :

Markdown does not convert characters to HTML entities in general. Why should it be different for this character?
Yes, I understand that HTML entities are generally preferred in HTML, but that is not reason enough to convert any other characters either. The fact is, raw HTML, including HTML entities, can be included directly in Markdown. There is no reason to not use   directly. In fact, it is easier to type that the gymnastics to get the actual Unicode character.
I'm going to defer to the reference implementation on this and leave the behavior as-is. That said, you (or anyone) is free to create an extension which alters the default behavior.

Markdown does not convert characters to HTML entities in general. Why should it be different for this character?
Yes, I understand that HTML entities are generally preferred in HTML, but that is not reason enough to convert any other characters either. The fact is, raw HTML, including HTML entities, can be included directly in Markdown. There is no reason to not use   directly. In fact, it is easier to type that the gymnastics to get the actual Unicode character.
I'm going to defer to the reference implementation on this and leave the behavior as-is. That said, you (or anyone) is free to create an extension which alters the default behavior.

Hey @waylan
Thanks for taking the time to respond. I understand your point of view, and I'll probably make an extension then. FYI for me it's actually easier to type a non-breaking space (it's a two keys shortcut on my system), and has the advantage of looking like a space when reading the raw markdown.
Thanks again

Hey @waylan
Thanks for taking the time to respond. I understand your point of view, and I'll probably make an extension then. FYI for me it's actually easier to type a non-breaking space (it's a two keys shortcut on my system), and has the advantage of looking like a space when reading the raw markdown.
Thanks again


⚠ Bofrost.de has degraded performance

In 119b2fa, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1544 ms

Resolved: Bofrost.de performance has improved in c1a24a6.


Hassio Config missing in automatic backup

When the backup is created by your script, the Home Assistant configuration is missing:

When I create the backup manually, the folder is there:

What script are you referring to? This add-on doesn’t create snapshots (which is what I assume you mean when you say backups).

Of of course you're right. Seems to be a issue with backup via script...


Provide shortcuts working on any keyboard layout (not only en)

Now if I write messages on any other language, I must every time switch to en and back again to use shortcuts.
Please port shortcuts for every language installed on system or add a mechanism to configure shortcuts (with two or three keys for every thing and multi-language support).

Thanks for bringing this up @slavniyteo!  This is an aspect of i18n we haven't yet given much thought.
How do other popular tools like gmail solve this problem?
If the right solution is configurable hotkeys, this might increase the priority adding custom keyboard shortcuts.

Hi and thanks for answer.
Many desktop applications translates their shortcuts for all system languages. So if I press on keyboard h, it works independently of active language. Google Docs provides the same behaviour. Telegram and Skype too (desktop clients).
But many applications which have a default en shortcuts, do not get worried about shortcut translations because they provide to user an ability to configure them. There are some desktop examples: IntellijIdea by JetBrains, Vim (i know, nice example). I don't know why, but I can't remember popular messages and social tools with configurable shortcuts. Maybe they are exist, just I don't remember or don't know about them.
Ok, github do not translates it's shortcuts and do not allow me customize them. But it is not so sad because in github.com I always use English.

I think, configurable shortcuts is the best solution as long as number of them allows to configure them all.
The reason is:

people who use improved shortcuts (not only Enter to answer) aren't affraid of additional customizations;
people who don't want to configure something usually use mouse or touchpad to navigate.

A more or less quick solution would be to use keyboard scancodes so that the keys fire up the events regardless of the active layout.
I wanted to open an issue as this is a big problem for our company but found this issue open since last autumn.
Thanks.

P.S. It looks like a place of interest is https://github.com/zulip/zulip/blob/master/static/js/hotkey.js
and the problem is that it uses event.which (layout-dependent) instead of event.code (physical keys).

It looks like event.code is not supported in IE: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code#Browser_compatibility.

Good day! Is there any progress on this one? Keyboard controls is one of the biggest catches for Zulip I think.

No progress on this, since we seemed blocked on the compatibility issue.  Based on https://hacks.mozilla.org/2017/03/internationalize-your-keyboard-controls/, I don't think there's anything better to do than using event.code when available.
Some testing/research is required, but I'd be on board with a plan of:

If event.code is available (covering Chrome and Firefox), use that.
Otherwise, use event.which as we already do (so IE/Edge won't be any worse than it is today)

Noting https://w3c.github.io/uievents/#code-examples, we'll likely need to do some somewhat annoying translation of key names between formats.  Hopefully there's a library we can use for this rather than rolling our own lookup table.

I am sure that just making English keys work across all layouts on modern browsers without translation will do for most users (it will for me at least))

Best I could do client-side is to monkeypatch events passed to hotkeys detectors. This way they'll get expected which values based on physical keys pressed with any active layout.
Userscript, tested in Violentmonkey/Chrome: https://gist.github.com/kapsh/afdac0d51b3be1efa8f28f65bd626d00 (probably needs a couple more values in lookup tables for other non-standard layouts like Dvorak).

@zulipbot claim

https://tkainrad.dev/posts/why-keyboard-shortcuts-dont-work-on-non-us-keyboard-layouts-and-how-to-fix-it/ is a useful resource for how we might make progress here.

Good day!
As Slack system requirements are getting higher, more people from around the world are going to look for an app to migrate to. I think Zulip is one of the best. Especially when you start using the keyboard shortcuts. It is a pity and might be a showstopper they do not work with non-en keyboard layouts.
I would love to see this issue being moved forward, as I am one of those looking for alternatives to Slack (and this time seriously, as my phone is incompatible))) and using Cyrillic layout. Is there anything I can do to help except coding this thing myself (which is beyond my capabilities)?

New chat thread. There @ivangretsky, who uses a keyboard labelled with both a Cyrillic layout and QWERTY, describes the behavior he's happy with in some other apps including Slack, and it sounds like they're doing the same approach described in this comment above:

No progress on this, since we seemed blocked on the compatibility issue. Based on https://hacks.mozilla.org/2017/03/internationalize-your-keyboard-controls/, I don't think there's anything better to do than using event.code when available.

So that's some new data in favor of that solution.

A caveat is that I think that event.code solution would likely not meet the approval of the author of this other blog post

https://tkainrad.dev/posts/why-keyboard-shortcuts-dont-work-on-non-us-keyboard-layouts-and-how-to-fix-it/ is a useful resource for how we might make progress here.

who uses a German layout. It would prevent the really bad problem they encounter: with the event.code solution, it's always possible to invoke any of our shortcuts, because you just hit the exact same keys that a QWERTY user would hit to invoke the same shortcut. The downside is that you hit the exact same keys that a QWERTY user would hit, even though they don't correspond for you to the letter that the help screen is telling you to use.

I've filed #19605 with a design for this based on that chat thread.

Closing in favor of https://github.com/zulip/zulip/issues/19605.


Search Bar Is Blurry/Pixelated on 4k Screen

Microsoft PowerToys version
0.47.0
Running as admin

[X] Yes

Area(s) with issue?
PowerToys Run
Steps to reproduce
Run the power toys run feature on a dell xps 17 with 4k screen scaled down to 2k (2560x1440). Attached is a screenshot of the blurry search bar.

✔ Expected Behavior
I expect the search bar to scale with the monitor it is one.
❌ Actual Behavior
The search bar does not appear to scale correctly/well.
Other Software
No response

Issue is a duplicate
Thank you for your issue! We've linked your report against another issue #13221
Thanks for helping us to make PowerToys a better piece of software.


[dashboard] Use X-Frame-Options sameorigin header

Describe your changes
The previous X-Frame DENY header prevented to display the page inside an iFrame.
The current OIDC library for the dashboard uses iFrame to perform a silent login.

Silent signing uses cookies from your OIDC provider to restore the session and retrieve tokens. It opens an IFrame in the background, directed to a specific page on your OIDC provider.

This fix changes the X-Frame-Options header DENY to SAMEORIGIN
Issue ticket number and link
Checklist

[x] Is it a bug fix
[ ] Is a typo/documentation fix
[ ] Is a feature enhancement
[ ] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

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


error: failed to run custom build command for wasmtime-runtime v8.0.1

Hello,
We have create a public repo with the test code in here.
Our architecture target is:"riscv32imac-esp-espidf"
For the getrandom library we need to use the esp_fill_random
In the getrandom this is in here espidf.rs
[target.'cfg(target_os = "espidf")'.dependencies]
getrandom = { git = "https://github.com/rust-random/getrandom.git" }

But as soon as we add the subxt library the cc compiler complaints and fails.
subxt = { version = "0.31.0", default-features = false, features = ["unstable-metadata", "native", "jsonrpsee", "substrate-compat"] }

I am getting the error below, could you guys please point us in the right direction.

Cheers,

Hi,
One very important information the "Wasmtime currently doesn't support any 32bit architectures" and our target is "riscv32imac-esp-espidf".
Cheers,


Add Drone CI for ARM

See https://discourse.julialang.org/t/testing-on-arm-with-drone-ci/25871

Drone is quite nice and so far the only service I tried that allows testing on ARM.  It helped us spotting an issue with openlibm, see https://github.com/JuliaMath/FFTW.jl/issues/104.
As I wrote in the post on discourse, the only pain with configuring it is that the YAML file is quite annoying to write (I consistently did something wrong when I tried to write it myself, but PkgTemplate would help on this) and extend afterwards (you need to copy several lines).  The jsonnet file is way easier to maintain, but if you go by the jsonnet way you then need to keep both the jsonnet and the YAML files and update the latter from the former using Drone CLI.
If you're ok with all this mess, I might be able to try and add Drone CI to PkgTtemplate sometime in the future (unless someone else beats me at it).


[SPARK-41864][INFRA][PYTHON] Fix mypy linter errors

What changes were proposed in this pull request?
Currently, the GitHub Action Python linter job is broken. This PR will recover Python linter failure.
Why are the changes needed?
There are two kind of failures.

https://github.com/apache/spark/actions/runs/3829330032/jobs/6524170799

python/pyspark/pandas/sql_processor.py:221: error: unused "type: ignore" comment
Found 1 error in 1 file (checked 380 source files)

After fixing (1), we hit the following.

ModuleNotFoundError: No module named 'py._path'; 'py' is not a package

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the GitHub CI on this PR. Or, manually run the following.
$ dev/lint-python
starting python compilation test...
python compilation succeeded.

starting black test...
black checks passed.

starting flake8 test...
flake8 checks passed.

starting mypy annotations test...
annotations passed mypy checks.

starting mypy examples test...
examples passed mypy checks.

starting mypy data test...
annotations passed data checks.

all lint-python tests passed!

Could you review this, @HyukjinKwon ?

Thank you, @HyukjinKwon ! Merged to master.

This is backported to branch-3.3 to fix the same issue.

https://github.com/apache/spark/actions/runs/3833641474/jobs/6525300042


Titlebar tweak

Should the titlebar be tweaked to move common buttons add/remove to TopLeft position to reduce mouse movement?
+ -    Element Title    = x

But I do like title at LHS as it will be easier to spot component types (readability). Also I reckon you add 2/3 items at once then fill it in so there really shouldn't be so much back and forth movement required here. I feel we should run with the titlebar format as it is.


Ctrl + O opened the file path error

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.68.0
OS Version: win 10

Steps to Reproduce:

Update VS Code
Select a file
Use Ctrl + O

/duplicate https://github.com/microsoft/vscode/issues/151668


Auto Removal of Server Files

Enhancement Type
A completely new feature
Describe the enhancement
After stopping the server, the container could delete downloaded server files for saving space when the server is not being used, when an env variable is set.

And then it would redownload everything at next startup?
What broader problem are you wanting solved? Running on small drives?


Add proc rule

That would allow a rule based on a Proc. As you can see in the tests, it can be used for something based on the request. E.g. also for using other gems with it (e.g. legitbot) without adding a dependency of the injected stuff to rack-throttle.

This looks good.


ipcalc: add patch to disable tests failing in Darwin sandbox

Signed-off-by: Sirio Balmelli<EMAIL_ADDRESS>

Thank you for this but we need some comments to go in with the patches part so explain why we are doing this. Is there an upstream issue we can track?

Thank you for this but we need some comments to go in with the patches part so explain why we are doing this. Is there an upstream issue we can track?

Thank you for the review, I appreciate it.
AFAICT these tests fail in sandbox only, simply because they access the network (which, as I understand, is not allowed in sandbox.
Quick reproduction on Darwin:
# fails to build
nix shell github:NixOS/nixpkgs#ipcalc --sandbox --command ipcalc --version

# runs ok
nix shell github:siriobalmelli-foss/nixpkgs/fix/ipcalc#ipcalc --sandbox --command ipcalc -6 -o localhost

# runs ok
nix shell github:NixOS/nixpkgs#ipcalc --no-sandbox --command ipcalc --version

Sorry if I wasn't clear. You don't need to comment out the tests (removing them is fine). It's comments in pkgs/tools/networking/ipcalc/default.nix I was referring to.

Sorry if I wasn't clear. You don't need to comment out the tests (removing them is fine). It's comments in pkgs/tools/networking/ipcalc/default.nix I was referring to.

Tracking, thank you.
Respun to:

remove comments from the patchfile
add an explainer comment in pkgs/tools/networking/ipcalc/default.nix


Move telemetry out of pilot

@howardjohn: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

e2e_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test e2e_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

e2e_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test e2e_operator

test_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test test_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

e2e_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test e2e_operator

test_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test test_operator

mesh_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test mesh_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

e2e_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test e2e_operator

test_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test test_operator

mesh_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test mesh_operator

mandiff_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test mandiff_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

e2e_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test e2e_operator

test_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test test_operator

mesh_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test mesh_operator

mandiff_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test mandiff_operator

gencheck_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test gencheck_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test lint_operator

e2e_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test e2e_operator

test_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test test_operator

mesh_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test mesh_operator

gencheck_operator
603e71e80b67b7ff09c2b40d73da051536675e91
link
/test gencheck_operator

mandiff_operator
82ac3372492017173b7fa371c434aa192728d65a
link
/test mandiff_operator

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


[pigeon] Support multiple instances of an API

Use case

Many plugins allow creating multiple instances of a platform class or resource (e.g. multiple instances of a video player, audio player, etc.) with each maintaining its own state. Currently pigeon allows creating only a single instance of an API, and this forces an instance ID to be passed as an extra parameter on all API calls. This also requires the platform implementation of every method to do a lookup on that ID. The issue with this is more noticeable on plugins that implement a large number of methods, method channels and event channels per instance, but a solution to this problem would benefit plugins on any scale.
In my plugin, I solve this problem by creating separate instances of method channels and event channels for each API instance. It would be useful to support this same solution in pigeon not only because it would be more convenient and more efficient but also because it would allow authors of federated plugins to implement the platform interface in their preferred way right from the beginning. This is important since federated plugins cannot introduce breaking platform interface changes, they must get it right from the beginning.
Proposal

Allow a method in an API to return an API. For example:
@HostApi()
abstract class VideoPlayerPluginApi {
  void initialize();
  // This is how the proposed new feature would be introduced:
  VideoPlayerApi create(CreateMessage msg);
}

@HostApi()
abstract class VideoPlayerApi {
  // Note it is no longer necessary to pass the instance id to each of these methods
  void dispose();
  void setLooping(LoopingMessage msg);
  void setVolume(VolumeMessage msg);
  void play();
  PositionMessage position();
  void seekTo(PositionMessage msg);
  void pause();
  void setMixWithOthers(MixWithOthersMessage msg);
}

When a new instance is created, pigeon can generate a unique instance ID and add it as a suffix to the method channel name. (It "might" also be necessary to add more annotation data to to let it know that VideoPlayerPluginApi.create creates an instance.)
Future versions of pigeon could also allow configuring the method channel name / pattern via the annotation to help plugin developers to maintain backward compatibility in their platform interface.
I have mentioned above that different instances of an API should also be able to maintain different instances event channels. I have submitted a separate proposal to add support for event channels (#66711).
@gaaclarke

Thanks @darshankawar for the proposal.  I think it's a good goal.  Things are a bit complicated in Dart because of how garbage collection works.  We'll need some time to consider this.

I'm not @darshankawar by the way ;-)
For reference, I implemented this approach manually in just_audio here. The features needed to do the same in Pigeon would be:

API instances / nested APIs (this issue)
Typesafe event channels (#66711)
async methods (#60399)

I am curious about the issue with the garbage collector. I assume that the garbage collector can always be improved in the future, while a platform interface cannot.

I want more time to consider this, but off the cuff there was another proposal for something akin to Pigeon internally but was more of a wrapper around objects instead of a wrapper around functions.  It ran into problems where you had to do manual resource management since Dart's GC lacked finalizers.

I would also be a bit concerned about having platform resource management handled in Dart, but not for the same reasons. The platform lifecycle events such as Activity.onDestroy on Android are still not exposed at the Flutter/Dart layer and these are necessary for proper resource allocation/deallocation on the platform side. For example, an activity can leak a service connection if it is not released when the activity context is destroyed, and there is no way to hook into the correct lifecycle moment to do this in Flutter/Dart - at least currently. I have "tried" to do so in my other plugin audio_service by using the limited lifecycle events that Flutter has available, but it feels like a fight against an API that wasn't intended for this purpose. For this reason, I have recently thought about removing this management from the Dart code of my plugin and having it handled completely on the platform side where I can hook into the appropriate lifecycle methods.
So in terms of Pigeon, I think it is fine to have an explicit "dispose" method call for a video player instance, and in addition to this, the video_player plugin should hook into the app's native lifecycle and dispose any orphaned video player instances when the app is being removed from memory.
Note: Ideally, an app would be entirely responsible for disposing these platform resources, but it can't because there are not sufficient lifecycle hooks at the Flutter level for it to reliably call a "dispose" method when the app is being removed from memory. And in general, an app should ideally be in complete control of when it wants to call the dispose method. E.g. A video player will hold onto limited platform resources for hardware decoders, and these should be released when unused, not just when the app is being removed from memory. Even if Dart's GC had finalisers, we should not rely on it to dispose of platform resources when timing may be sensitive.

@ryanheise I'm working on a doc that lays out future investments we could make into Pigeon to give people in the company a better idea of the longterm vision.  I added this idea to that doc.  I'd appreciate it if you reviewed it and had some other ideas:
https://docs.google.com/document/d/1R-jjZnYUIwpG7Y5EkoHODmlvVeN1zz2Y-lCjTOku9Y0/edit?usp=sharing

Thanks, I've left a comment. I'm not sure if it was intended, but it seems I have write access on the text itself.

Just an update on this:

@HostApi()
abstract class VideoPlayerPluginApi {
  void initialize();
  // This is how the proposed new feature would be introduced:
  VideoPlayerApi create(CreateMessage msg);
}

@HostApi()
abstract class VideoPlayerApi {
  // Note it is no longer necessary to pass the instance id to each of these methods
  void dispose();
  void setLooping(LoopingMessage msg);
  void setVolume(VolumeMessage msg);
  void play();
  PositionMessage position();
  void seekTo(PositionMessage msg);
  void pause();
  void setMixWithOthers(MixWithOthersMessage msg);
}

This may or may not have any material effect on the proposal, but in my own plugin I have since added a dispose method to the parent interface due to the way memory management works on iOS. With garbage collection either approach works fine, but with automatic reference counting it is easier for the parent to hold a reference to the child instance to retain it in memory, which means it also needs to be responsible for deleting that reference later, hence the parent needs to be the entrypoint of any dispose logic for a child instance.

Does anyone have any idea in how to workaround this in a platform-view plugin the best way possible? The plugin is custom native video-player
The only options I see for now is to register the same native view time multiple times to have different instances running, but it would be very expensive. For example, in my initialize() I would call binding.platformViewRegistry.registerViewFactory("my-view-type-$unique-instance-id", ...)

@gaaclarke Is there a good reason not to add a version of setUp that allows passing a suffix that's appended to the method channel name? I know long-term we're considering something that does object management, but in the short term that seems like a really easy way to allow people to migrate things that already use that pattern with method channels (e.g., our maps plugin).
I can see an argument that we don't want to encourage a pattern that can have subtle issues around lifetimes, but in practice the current state of affairs is that we and others have plugins that are doing that anyway, and the current state isn't that people are building safer patterns, it's that they can't easily migrate to Pigeon so are stuck with a lot of other less-safe behaviors at the same time.
Adding a suffix option, with clear commenting about the pitfalls (e.g., the need to be careful to avoid messaging instances that no longer exist on the other side, and whose channel thus no longer exists) seems like a very simple change that would leave things better than the status quo even if it's not the perfect end state. We can always deprecate that if/when we add an object system.

@gaaclarke Is there a good reason not to add a version of setUp that allows passing a suffix that's appended to the method channel name?

My take has been that that adds complexity to Pigeon to avoid users implementing something that is simple and can better match their needs.  Adding features to Pigeon is a high bar since everything has to be implemented in duplicate and higher-order code has to be maintained.

class Instance {
  int _identifier;
  Api _api;
  Instance(this._identifier) : _api = Api();
  void foo() => _api.foo(_identifier);
}

something that is simple

You've glossed over the part that adding this to Pigeon would eliminate:

Adding an ID to every single API call (see instances of textureId in https://github.com/flutter/plugins/blob/main/packages/video_player/video_player_android/pigeons/messages.dart for instance).
Writing a multiplexer for every API in every language (video_player Java, video_player Obj-C)

and can better match their needs

How does having to manually multiplex everything "better match their needs"? The reason people do the ID-based approach with current method channel code, instead of writing the manual-method-channel equivalent of what you wrote for video_player is doing so is significantly simpler than writing their own multiplexer in every host language.

Adding features to Pigeon is a high bar since everything has to be implemented in duplicate

Not adding this feature to Pigeon means that instead of us writing this implementation once (which seems like it would be quite simple), people have to manually write and maintain all of this code manually, once per API call per host language per plugin. Isn't writing boilerplate once instead of everyone writing and maintaining the #plugins x #apis x #languages matrix of boilerplate code manually the point of Pigeon?

@stuartmorgan I've always been in favor fixing the general problem.  See my doc above I wrote a couple years ago that lists it as an investment we could make and the encouragement I gave Maurice on his design.  The question was about adding a parameter to setUp.  If you think that will satisfy our use-cases I think it's worth exploring in a design doc.  The doc should try to convince us that it is a worthwhile investment and alternative to asking users to manually implement it (as mentioned above).  Also, it should consider Maurice's design to see if it's shutting the door on that and what that would mean.


what is train_split_0.csv?

how to prepare this file? what is inside this file?

I have the similar question. What kind of information was saved on train_list? Thanks!


Feature request: Allow loading seperate .env file based on node environment

This would be very useful for being able to load e.g. a seperate database url during testing

As of now, t3-env only handle the env validation.
With that said, it's depends on which framework you are using and how they handle the env loading, for instance:

NextJS - https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables#default-environment-variables
ViteJS - https://vitejs.dev/guide/env-and-mode.html#modes

Understood, thanks!


Add-PnPPage: Object reference not set to an instance of an object when trying to create a new page

Category

[x] Bug

Describe the bug
Im trying to migrate a classic site into a modern one. I already have the connected 365 group and i can use modern lists and libraries. But i have pages, like the homepage that are classic and when this page is displayed the menu is the classic one too so the user is confused. I dont want to migrate any of those pages, i tried and get other errors so i delete all of them. Now, im trying to create a new modern page using PnP. Im using command Add-PnPPage.
Steps to reproduce

DELETE THIS LINE BEFORE SUBMITTING - Provide steps to reproduce the behavior:

Im using powershell 7 and PnP installed yesterday version 2.4.0
Auth using Connect-PnPOnline -Url "https://----.sharepoint.com/calidad" -Credential (Get-Credential)
Execute command $pagename = "Welcome"
Execute command $page = Add-PnPPage -Name $pagename -LayoutType Home
See error: Add-PnPPage: Object reference not set to an instance of an object.

Expected behavior
The modern page to be created. A file is created instead but is corrupted.
Environment details (development & target environment)

SDK version: 2.4.0
OS: Windows 11

Additional context
What i want to achieve is my users only have to see one menu, and not be changing between different designs. I can't recreate the entire site because it has a lot of list with powerautomate flows.

Could you please run these commands and post the output ?
$pagename = "Welcome"
$page = Add-PnPPage -Name $pagename -LayoutType Home -ErrorAction:Stop
(Get-PnPException).Exception | Select-Object *

If I run this on a site without "Site Pages" library and without any library of type "Page library", like a brand new site with "Publishing Portal" template, this is the error I get:

@jansenbe should Page.EnsurePagesLibraryAsync() method in PnP Core at https://github.com/pnp/pnpcore/blob/40b870c5170b3d824dc278414d889c86c32f8037/src/sdk/PnP.Core/Model/SharePoint/Pages/Internal/Page.cs#L475 create a Page library if none exists ? There's no call to the CSOM method ListCollection.EnsureSitePagesLibrary() to create the library when missing and the method returns null in that case.

Could you please run these commands and post the output ?
$pagename = "Welcome"
$page = Add-PnPPage -Name $pagename -LayoutType Home -ErrorAction:Stop
(Get-PnPException).Exception | Select-Object *

If I run this on a site without "Site Pages" library and without any library of type "Page library", like a brand new site with "Publishing Portal" template, this is the error I get:
If I then create the Page library, this is what I get:
This follow-up issue happens because somehow there's no field called _AuthorByline.

Yes, i have exactly same errors

@jansenbe should Page.EnsurePagesLibraryAsync() method in PnP Core at https://github.com/pnp/pnpcore/blob/40b870c5170b3d824dc278414d889c86c32f8037/src/sdk/PnP.Core/Model/SharePoint/Pages/Internal/Page.cs#L475 create a Page library if none exists ? There's no call to the CSOM method ListCollection.EnsureSitePagesLibrary() to create the library when missing and the method returns null in that case.

Can i create the library manually some way? Thanks

Having the exact same issue with the dotnet sdk, any workarounds?

https://www.sharepointdiary.com/2021/06/create-site-pages-library-in-sharepoint-online.html
Maybe this helps ? You might have to activate the feature manually.

I submitted a possible fix (activating the "Site Pages" feature if not active) in the PnP Core repository. I guess we could activate it in the Commandlet too, but feels much cleaner if it's done in the right place.
https://github.com/pnp/pnpcore/pull/1563


lidar.OpenTopography - Download .lax files if available.

in lidar.OpenTopography check for .lax files and download if available.
Information on the uses of lax files - https://cran.r-project.org/web/packages/lidR/vignettes/lidR-computation-speed-LAScatalog.html

Closing as has not been requested by others or needed by me.


Add support for resource id to the archiver

Before the archiver only supported resources provided by a path.
Now also the resources ID are supported in order to specify the content of the archive to download. The parameters accepted by the archiver are two:

an optional list of path (containing the paths of the resources)
an optional list of id (containing the resources IDs of the resources)

Closes https://github.com/cs3org/reva/issues/2097

On a mac I get the following error when trying to extract the downloaded tarball with 7z x download.tar:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,12 CPUs x64)

Scanning the drive for archives:
1 file, 453241 bytes (443 KiB)

Extracting archive: download.tar

ERRORS:
Headers Error

WARNINGS:
There are data after the end of archive

--
Path = download.tar
Type = tar
ERRORS:
Headers Error
WARNINGS:
There are data after the end of archive
Physical Size = 250880
Tail Size = 202361
Headers Size = 1536
Code Page = UTF-8

Archives with Errors: 1

Warnings: 1

Open Errors: 1

It extracts it, the folder structure is correct, but the files are corrupted. Does this work for you?

Can confirm that on Linux/Ubuntu archives that contain PNG and JPG files don't work as expected - top level files can't be opened, while a folder containing images didn't even make it into the *.tar

@kulmann @pascalwengerter I tried on both Mac and Arch and I didn't manage to reproduce the errors you had. For me it works on both systems, could you please provide me the steps to reproduce it? Thanks

Can you please try doing an HTTP GET request directly to the archiver service?

@kulmann @pascalwengerter I added some unit tests into the archiver and all are passing, are you having the same issues?

@kulmann @pascalwengerter I added some unit tests into the archiver and all are passing, are you having the same issues?

Resolved in the web PR. Sorry for the noise 😅

@kulmann @pascalwengerter I added some unit tests into the archiver and all are passing, are you having the same issues?

Resolved in the web PR. Sorry for the noise 😅

Glad it works! @labkode @glpatcern can we merge it now?

Great, thanks all! Merging right away

@gmgigi96 when using both id and path in the same request e.g. curl -k -u admin:admin 'https://localhost:9200/archiver?path=/home/image.jpg&id=MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OmZlZTVhNjZlLWI4MzYtNDY2OS05ZDJhLTliNGEwMDQwYmY0OQ==' --output /tmp/6.tar
I get whatever is requested by path  in the folder called home and whatever is requested by id in the  folder users/<uuid>/
is that intended?
$ tar -tvf /tmp/6.tar
drwxr-xr-x 0/0               0 2021-11-11 16:10 users/ddc2004c-0977-11eb-9d3f-a793888cd0f8/my_data
-rw-r--r-- 0/0<PHONE_NUMBER>-03-07 21:41 users/ddc2004c-0977-11eb-9d3f-a793888cd0f8/my_data/11-02.JPG
-rw-r--r-- 0/0         1278511 2020-08-17 15:39 home/image.jpg


hmerge resets modified identity (v_merge) if left_on<>right_on

@jamesrkg: is the following behaviour intended?
after a v_merge identity is made unique: identity = identity + 100000000* datasource
the old identity is stored in original_identity.
doing an h_merge afterwards with left_on='original_identity' and right_on='identity' resets the modified
identity to original_identity for all cases that are in the h_merge file.

picked up in #757


Add basic Interlock support

Added basic support for enabling (and setting ports / arch) and disabling interlock.

Excellent. This is fantastic. Thank you.


support CJS use of angular module

@benvinegar ping ^

What's wrong with just adding the module as 'ngRaven'?

@benvinegar it's just not the done thing in CJS Angular

@benvinegar all good angular modules export their angular module name: https://github.com/getsentry/raven-js/pull/889/files#diff-0662f5969b7a6e9ed13ffcc6eb5f765bR122

all good angular modules export their angular module name

Do you have external examples of this? Sorry, I don't write Angular regularly, and if you couldn't tell I've become very hesitant of people just telling me "don't worry, it's supposed to be like this".

@benvinegar https://github.com/getsentry/raven-js/pull/889/files#diff-0662f5969b7a6e9ed13ffcc6eb5f765bR122

@benvinegar messaged you (benv) on freenode IRC

You need that so that other cjs angular module e can consume your app
On 23 Mar 2017 05:16, "Ben Vinegar"<EMAIL_ADDRESS>wrote:

@benvinegar commented on this pull request.
In docs/integrations/angular.rst
https://github.com/getsentry/raven-js/pull/889#discussion_r107589702:

@@ -110,3 +110,26 @@ Inside your main Angular application module, you need to declare ngRaven as a
'myAppControllers',
'myAppFilters'
]);

+Module loaders (CommonJS)
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The raven angular module can be loaded using a module loader like Browserify or Webpack.
+
+.. code-block:: javascript

var angular = require('angular');
var ngRaven = require('raven-js/plugins/angular').module;
var ngRoute = require('angular-route');

var myAppFilters = require('./myAppFilters');
var myAppControllers = require('./myAppControllers');
var module = 'myApp'

Assigning 'myApp' temporarily to module (which is a reserved word kind
of) seems silly. If you could remove this line, and just do:
angular.module('myApp', [
ngRaven,
// ...
]);
I'll accept this patch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/getsentry/raven-js/pull/889#pullrequestreview-28570338,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZQTMGyLrktCFc3xRjWyO6M4YMut7OTks5rogA8gaJpZM4MboPt
.

@benvinegar rebased... again...

@benvinegar :tada: :tada: :tada: :tada:


SFTP ls retrieves always detailed listing

The ls implementation for SFTP always retrieves the detailed info of each file or directory, just to throw it out if detailed was not needed.
    def ls(self, path, detail=False):
        out = ["/".join([path.rstrip("/"), p]) for p in self.ftp.listdir(path)]
        out = [self.info(o) for o in out]
        if detail:
            return out
        return sorted([p["name"] for p in out])

I have not tried it but something like this would make more sense:
    def ls(self, path, detail=False):
        paths = ["/".join([path.rstrip("/"), p]) for p in self.ftp.listdir(path)]
        if detail:
            return [self.info(p) for p in paths]
        else:
            return sorted(paths)

Sounds reasonable! The only reason to catch the info every time, is if we cache it - but we currently don'e

Funny thing, looking at the paramiko implementation and details, listdir is retrieving ALL the entries attributes and then returning only the names.
The entry details can be obtained using "listdir_attr" in a very efficient way. This takes in my use case around 370ms as opposed to the current implementation entry by entry 14seconds....
I'll work a PR out of this.

Closed with #571


Getting TypeError

Hi @adityasarvaiya @vishalbidawatka @Vrutti26 ,
I had successfully run the code without any dependency issues and but while selecting the file and click on the button Generate Questions getting an error like
TypeError: float() argument must be a string or a number
in the line
num_sentences_selected = math.ceil(float(self.ratio) * sentence_length) from Automatic_Question_Generation/aqg/utils/sentence_selection.py", line 126
could anyone help me please...
Thanks and Regards,
Manikantha Sekhar..

Please check if you have created .env file correctly. Also check if this happens only with files or with any mode of input.
Also try to change init function to print if you are getting self.ratio correctly.
def __init__(self):         self.fr = File_Reader()         self.ratio = os.environ.get("SENTENCE_RATIO")         print ("ratio : " , self.ratio)          # self.ratio = 0.05
If you can't see self.ratio properly then remove above comment and set self.ratio manually. See it works then.

Hi @adityasarvaiya
I had resolved the issue thank you @adityasarvaiya


tests: fix cluster health status

The current ceph cluster health is in warning state:
health: HEALTH_WARN
13 pool(s) have no replicas configured
2 pool(s) have non-power-of-two pg_num
Because we're using only 1 replica then we need to disable the redundancy
check.
The pool pg num should be a power of two number (like 16).
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

jenkins test centos-container-podman

jenkins test centos-container-all_daemons

jenkins test centos-container-all_daemons

jenkins test centos-container-all_daemons

jenkins test centos-container-podman


Option to use the system font

Currently Claw not only uses it's own font, but also a much larger font size.
For comparison, here's Glider for Hackernews:

And here's Claw:

The font size itself isn't actually that big, it's a matter of how scaling is interpreted by the respective UI toolkits used by both apps. Glider is built with Flutter, and Claw uses Jetpack Compose. IMO Compose scaling the text up is correct for the density you're using your device with even if it may feel otherwise. Here's a screenshot of how it looks like on my end with a higher DPI

Okay, but what about the font family? Could we at least use the font used by the system?

Okay, but what about the font family? Could we at least use the font used by the system?

I'll see if it's something I can easily provide an option for.

Font scaling might be better with the current snapshot build (due to changes in Compose): https://github.com/msfjarvis/compose-lobsters/releases/tag/nightly


invistigate to use barryvdh / laravel-dompdf

use the library https://github.com/barryvdh/laravel-dompdf to make pdf file from view

dompdf cant use external css and some attribute.
I have created new view blade for pdf document

implement feature


error when starting new game

An error has occurred! Game version <IP_ADDRESS>67
14 Mods used: [ErrorAnalyzer1.2.3] [DSP Mod Save1.2.2] [DSPStarMapMemo0.0.6] [IlLine1.0.0] [CloseError1.0.0] [LDBTool3.0.1] [DSP Common API<IP_ADDRESS>] [NebulaMultiplayerModApi<IP_ADDRESS>] [Common API Nebula Compatibility<IP_ADDRESS>] [Galactic Scale 2 Plug-In2.16.3] [Galactic Scale 2 Nebula Compatibility Plug-In<IP_ADDRESS>] [Blueprint Tweaks1.6.4] [Blueprint Tweaks Installation Checker1.6.4] [SaveTheWindows1.0.0]
NullReferenceException: Object reference not set to an instance of an object
GalacticScale.PatchOnUIGalaxySelect.EnterGame (GameDesc& ___gameDesc, UIGoalSetting& __instance, System.Int32 _data);(IL_00C0)
GalacticScale.SystemDisplay+<>c__DisplayClass24_0.<OnStartClick>b__1 ();(IL_0010)
GalacticScale.Bootstrap+<WaitUntilRoutine>d__10.MoveNext ();(IL_0068)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress);(IL_0027)

Hmm. I'm not getting any error, can you send the preferences.json file from your config/GalacticScale directory?

Preferences.json

Fixed in 2.16.4 :)
https://thunderstore.io/package/download/Galactic_Scale/GalacticScale/2.16.4/

Thanks


RangeError: Maximum call stack size exceeded

Bug Report

Originally posted by @clhiker in https://github.com/swc-project/swc/issues/5433
🔎 Search Terms

generators
JSON.stringify
enumerable

🕗 Version & Regression Information

This is a crash on runtime

⏯ Playground Link

Playground link with relevant code
💻 Code

let v1 = {
    a: { id: 1 },
    b: []
};
function* v2(v1) {
    try {
    } catch (v1) {
    }
}
const v3 = JSON.stringify(v1, v2);

🙁 Actual behavior

It crashes on runtime.
🙂 Expected behavior

run without crash. and v3 === {}

Could i do this task?

This doesn't seem to be an issue with the helper. Yes, making the methods non-enumerable will make this error go away, but that doesn't change that the code in question is using JSON.stringify incorrectly. There are plenty of other ways to trigger the same issue that have nothing to do with our downlevel emit for generators.
This same bug was closed in swc for this same reason, I don't see a compelling reason why we should further complicate the generator transform to address this.


Integrate docker-build-with-ecr job with buildDockerImage.groovy

Is your feature request related to a problem? Please describe
After the docker-build-with-ecr is tested throughly, we need to replace docker-build with docker-build-with-ecr
in the buildDockerImage.groovy
Describe the solution you'd like
Change buildDockerImage.groovy to use docker-build-with-ecr to build image instead of docker-build
Acceptance Criteria

[ ] buildDockerImage.groovy uses docker-build-with-ecr instead of docker-build
[ ] remove docker-build job
[ ] docker images are automatically built and published on docker-hub and ecr as a part of opensearch-ci builds

We can directly rename the job docker-build-with-ecr to docker-build once the code is battle tested, this was not need to touch the shared library buildDockerImage.groovy

PR: https://github.com/opensearch-project/opensearch-build/pull/2128
add's docker-copy.jenkinsfile that should support image copy across DockerHub and ECR registries, leaving existing docber-build job untouched (just renamed the file to docker-build.jenkinsfile, the logic remains the same.)


generate KITTI format dataset

Hello,
I am trying to create a KITTI format dataset from CARLA. So, to do that I need to build the bounding box from vehicle.bounding_box.extent, relative_rotation_y relative rotation of vehicle to camera and the loaction of vehicle vehicle.get_transform().location as done in here with 0.8.4.
With reference to this, I am able to save the midpoint_location location as
def get_midpoint_from_location(vehicle, extrinsic_mat):
        location = vehicle.get_transform().location
        midpoint_vector = np.array([
            [location.x],  # [[X,
            [location.y],  # Y,
            [location.z],  # Z,
            [1.0]  # 1.0]]
        ])

        sensor_points = np.dot(np.linalg.inv(extrinsic_mat), midpoint_vector)
        return sensor_points

where extrinsic_matrix = camera.get_transform().get_matrix()
and for the relative_rotation_y:
def get_relative_rotation_y(vehicle, camera):
    """
    """
    rot_vehicle = vehicle.get_transform().rotation.yaw
    rot_cam = camera.get_transform().rotation.yaw
    return (rot_vehicle - rot_cam) * math.pi / 180

All the 3 things are saved using this scripthttps://github.com/Ozzyz/carla-data-export/blob/26c0bec203a2f3d370ff8373ca6371b7eef35300/datadescriptor.py to convert to KITTI format( I assumed this is the correct way?)
Now, the issue is to build the box from the available information i.e. vehicle.bounding_box.extent, relative_rotation_y, midpoint_from_location for which I use the traditional kitti method compute_3d_bbox where P=camera.calibration
def compute_box_3d(obj, P):
    ''' Takes an object and a projection matrix (P) and projects the 3d
        bounding box into the image plane.
        Returns:
            corners_2d: (8,2) array in left image coord.
            corners_3d: (8,3) array in in rect camera coord.
    '''
    # compute rotational matrix around yaw axis
    R = roty(obj.ry)

    # 3d bounding box dimensions
    l = obj.l;
    w = obj.w;
    h = obj.h;

    # 3d bounding box corners
    x_corners = [l/2,l/2,-l/2,-l/2,l/2,l/2,-l/2,-l/2];
    y_corners = [0,0,0,0,-h,-h,-h,-h];
    z_corners = [w/2,-w/2,-w/2,w/2,w/2,-w/2,-w/2,w/2];

    # rotate and translate 3d bounding box
    corners_3d = np.dot(R, np.vstack([x_corners,y_corners,z_corners]))
    #print corners_3d.shape
    corners_3d[0,:] = corners_3d[0,:] + obj.t[0];
    corners_3d[1,:] = corners_3d[1,:] + obj.t[1];
    corners_3d[2,:] = corners_3d[2,:] + obj.t[2];
    #print 'cornsers_3d: ', corners_3d
    # only draw 3d bounding box for objs in front of the camera
    if np.any(corners_3d[2,:]<0.1):
        corners_2d = None
        return corners_2d, np.transpose(corners_3d)

    # project the 3d bounding box into the image plane
    corners_2d = project_to_image(np.transpose(corners_3d), P);
    #print 'corners_2d: ', corners_2d
    return corners_2d, np.transpose(corners_3d)

def project_to_image(pts_3d, P):
    ''' Project 3d points to image plane.
    Usage: pts_2d = projectToImage(pts_3d, P)
      input: pts_3d: nx3 matrix
             P:      3x4 projection matrix
      output: pts_2d: nx2 matrix
      P(3x4) dot pts_3d_extended(4xn) = projected_pts_2d(3xn)
      => normalize projected_pts_2d(2xn)
      <=> pts_3d_extended(nx4) dot P'(4x3) = projected_pts_2d(nx3)
          => normalize projected_pts_2d(nx2)
    '''
    n = pts_3d.shape[0]
    pts_3d_extend = np.hstack((pts_3d, np.ones((n,1))))
    #print(('pts_3d_extend shape: ', pts_3d_extend.shape))
    pts_2d = np.dot(pts_3d_extend, np.transpose(P)) # nx3
    pts_2d[:,0] /= pts_2d[:,2]
    pts_2d[:,1] /= pts_2d[:,2]
    return pts_2d[:,0:2]

I dont see any bboxes being drawn with the points returned.
So, I tried to draw to project the coordinates obtained from this line using the saved extent, location and relative_rotation_y  using this method:
def get_bbox_coords(cords_x_y_z, calib):
    cords_y_minus_z_x = np.concatenate([cords_x_y_z[1, :].reshape((1,8)), -cords_x_y_z[2, :].reshape((1,8)), cords_x_y_z[0, :].reshape((1,8))])
    bbox = np.transpose(np.dot(calib, cords_y_minus_z_x))
    # print(bbox[:, 0].shape, bbox[:, 2].shape)
    camera_bbox = np.concatenate([bbox[:, 0].reshape((8, 1)) / bbox[:, 2].reshape((8, 1)), bbox[:, 1].reshape((8, 1)) / bbox[:, 2].reshape((8, 1)), bbox[:, 2].reshape((8, 1))], axis=1)
    return camera_bbox

which does give me bounding boxes but totally disoriented:

Thanks in advance.

Tried building the 3d bbox from relative_rotation_y, midpoint_location and vehicle.bounding_box.extent obtained using the method mentioned in the above.
def get_midpoint_from_location(vehicle, extrinsic_mat):
        location = vehicle.get_transform().location
        midpoint_vector = np.array([
            [location.x],  # [[X,
            [location.y],  # Y,
            [location.z],  # Z,
            [1.0]  # 1.0]]
        ])

        sensor_points = np.dot(np.linalg.inv(extrinsic_mat), midpoint_vector)
        return sensor_points

def get_relative_rotation_y(vehicle, camera):
    """
    """
    rot_vehicle = vehicle.get_transform().rotation.yaw
    rot_cam = camera.get_transform().rotation.yaw
    return (rot_vehicle - rot_cam) * math.pi / 180

extrinsic = ClientSideBoundingBoxes.get_matrix(self.camera.get_transform())

midpoints = [get_midpoint_from_location(vehicle, extrinsic) for vehicle in self.vehicles]
roty = [get_relative_rotation_y(vehicle, self.camera) for vehicle in self.vehicles]
bbox_extents = [vehicle.bounding_box.extent for vehicle in self.vehicles]

def compute_3d_bbox(location, rot, bbox_extent, camera):
        def roty(R):
            c = np.cos(t)
            s = np.sin(t)
            return np.array([[c,  0,  s],
                     [0,  1,  0],
                     [-s, 0,  c]])
        pos = location
        bounding_box_3d = np.array([[pos[0] + bbox_extent.x, pos[1] - bbox_extent.y, pos[2], 1.0],
                     [pos[0] + bbox_extent.x, pos[1] + bbox_extent.y, pos[2], 1.0],
                     [pos[0] - bbox_extent.x, pos[1] + bbox_extent.y, pos[2], 1.0],
                     [pos[0] - bbox_extent.x, pos[1] - bbox_extent.y, pos[2], 1.0],
                     [pos[0] + bbox_extent.x, pos[1] - bbox_extent.y, pos[2] + 2*bbox_extent.z, 1.0],
                     [pos[0] + bbox_extent.x, pos[1] + bbox_extent.y, pos[2] + 2*bbox_extent.z, 1.0],
                     [pos[0] - bbox_extent.x, pos[1] + bbox_extent.y, pos[2] + 2*bbox_extent.z, 1.0],
                     [pos[0] - bbox_extent.x, pos[1] - bbox_extent.y, pos[2] + 2*bbox_extent.z, 1.0]])
        print(bounding_box_3d.shape)
        bounding_box_3d = np.transpose(bounding_box_3d)[:3, :]
        bounding_box_3d = np.dot(R, bounding_box_3d)
        print(bounding_box_3d.shape)

        cords_y_minus_z_x = np.concatenate([cords_x_y_z[1, :].reshape((1,8)), -cords_x_y_z[2, :].reshape((1,8)), cords_x_y_z[0, :].reshape((1,8))])
        bbox = np.transpose(np.dot(camera.calibration, cords_y_minus_z_x))
        # print(bbox[:, 0].shape, bbox[:, 2].shape)
        camera_bbox = np.concatenate([bbox[:, 0].reshape((8, 1)) / bbox[:, 2].reshape((8, 1)), bbox[:, 1].reshape((8, 1)) / bbox[:, 2].reshape((8, 1)), bbox[:, 2].reshape((8, 1))], axis=1)
        # print('bbox shape ', coords.shape)
        return coords

Using the above method, client_bounding_boxes.py and the methods mentioned above you should be able to reproduce the issue.
I think I made some progress as the bbox on the ego vehicle is a little better ?  but its still too bad:
https://file+.vscode-resource.vscode-webview.net/home/makaveli/workspace/carla-dataset/dataset/images_2/image_1.jpg?version%3D1648460927337

Hi. Were you able to solve this ? I have a similar issue, the rotation seems to be off for the objects. WHats the conversion for x,y,z and the rot_y ?


(Solution Needed) Find number of elements in the string

Hi!
I would like to contribute to this issue.

Can i contribute? if open


Updated dependencies, namely nkeys to 0.1.12

This is needed as wash depends on wascap, to receive the nkeys 0.1.12 update this crate will need to be updated too

I'll also need to bump this version in provider-archive, I have a commit ready-to-go once wascap 0.5.2 has been published to crates.io

I'll also need to bump this version in provider-archive, I have a commit ready-to-go once wascap 0.5.2 has been published to crates.io


how to remove search icon in powertoy run v0.78.0

Description of the new feature / enhancement
Hi is their any way to remove

the search icon in PowerToy Run.
I like the suggest feature but the icon just distract me so i want to remove it so is their any way.
Scenario when this would be used?
I don't know where to put this currently so i am putting this in feature their is no option for Q/A in Issue. Don't think any wrong just i want to remove that search icon in my powertoy
Supporting information
No response

I don't think this is that much big issue that's why i am closing the PR as i have read other issue they are more important!


error TS2322: Type 'string | undefined' is not assignable to type 'string'.

I came across the following error when attempting to build the example with version 0.2.2:
ERROR: /private/var/tmp/_bazel_kylelehtinen/44fb04a4c0d5b92efea3ee928a865cfc/external/build_bazel_rules_typescript/internal/tsc
_wrapped/BUILD.bazel:26:1: Compiling TypeScript (devmode) @build_bazel_rules_typescript//internal/tsc_wrapped:tsc_wrapped failed (Exit 2).
external/build_bazel_rules_typescript/internal/tsc_wrapped/compiler_host.ts(361,5): error TS2322: Type 'string | undefined' isnot assignable to type 'string'.
  Type 'undefined' is not assignable to type 'string'.

Line 361 in compiler_host.ts invokes the typescript method 'readFile' which can return undefined, but the wrapper method here is typed only to return a string. When I updated the return type to include string or undefined the error went away and my sample typescript files were successfully built/transpiled.
I don't know much beyond that but thought I'd bring it up.

@KyleLehtinenDev Using<EMAIL_ADDRESS>solves this issue.


PyPy version change

From 4.0.1 to 5.1.1

Why this closed without commit?

Hello,
It was a miss-click, I was trying to PR to a branch in my fork. I'm still
working on it. I will reopen the PR when I am finished, and confident that
the code is clean an works.
On Wed, Jun 15, 2016 at 1:15 PM Andy Postnikov<EMAIL_ADDRESS>wrote:

Why this closed without commit?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/vmware/ansible-coreos-bootstrap/pull/3#issuecomment-226273491,
or mute the thread
https://github.com/notifications/unsubscribe/AB1DyDCaCztwMOX_fb1p3jp-8jdNxvE3ks5qMEFHgaJpZM4Itkvs
.

--
Adrian Garcia
<EMAIL_ADDRESS>T: +1(832) 863 1029
L: https://www.linkedin.com/in/adriangarciaprado


[SC-1085] Patch copyrights

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 80.87%. Comparing base (bfccd29) to head (113ddec).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
- Coverage   80.99%   80.87%   -0.12%
==========================================
  Files          32       32
  Lines         842      842
  Branches      175      175
==========================================
- Hits          682      681       -1
- Misses        160      161       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Inability to render has_many nested form with a dropdown of a belongs_to association

I have a many-to-many association, but since the join entity also has some pertinent fields, I wanted to provide the form with a has_many nested-form. (In case it makes a difference, I'm using the ExAdmin.Theme.AdminLte2 theme.
The join table/entity:
defmodule XXX.PartPurchaseOrder do
  use XXX.Web, :model

  schema "parts_purchase_orders" do
    field :buying_price, :decimal, null: false, precision: 10, scale: 2

    belongs_to :part, XXX.Part
    belongs_to :purchase_order, XXX.PurchaseOrder

    timestamps
  end
end

One of the entities:
defmodule XXX.Part do
  use XXX.Web, :model

  schema "parts" do
    field :number, :string, null: false
    field :description, :string, null: false

    belongs_to :brand, XXX.Brand
    has_many :parts_purchase_orders, XXX.PartPurchaseOrder
    has_many :purchase_orders, through: [:parts_purchase_orders, :purchase_order]

    timestamps
  end
end

and the other entity:
defmodule XXX.PurchaseOrder do
  use XXX.Web, :model

  schema "purchase_orders" do
    field :placed_on, Ecto.Date, null: false

    has_many :parts_purchase_orders, XXX.PartPurchaseOrder
    has_many :parts, through: [:parts_purchase_orders, :part]

    timestamps
  end
end

now, the admin form dsl:
    form purchase_order do
      inputs do
        input purchase_order, :placed_on
      end

      inputs "Parts" do
        has_many purchase_order, :parts_purchase_orders, fn(ppo) ->
          input ppo, :part, fields: [:number, :description] # TODO: Visible portion for dropdown should be: number
          input ppo, :buying_price
        end
      end

When I try to render the form, this is the error that I get:
protocol String.Chars not implemented for %XXX.Part

providing the join table in has_may is not supported by ex_admin. You will need to build your form inputs manually, then sure you changeset can handle the correct params.

@smpallen99 - Is this not fixed in PR#210 ?

@vraravam Sorry, I've never had the need to user your scenario above. Nor do I remember testing for anyone else. So, I'm not surprised that it doesn't work.
@gwincr11 is working on a significant refactor of associations. After he completes work on existing supported features, we can look at adding support for your scenario above.


Model give no solution in ortools, works in MiniZinc

For the following model, ortools gives 0 solution, but using MiniZinc works:
from cpmpy import *
import numpy as np

def donald_gerald_robert_v2():
    n = 10
    x = intvar(0,9,shape=10,name="x")
    d,o,n,a,l,g,e,r,b,t = x

    carries = intvar(0,1,shape=6,name="carries")
    c1,c2,c3,c4,c5,c6 = carries

    model = Model([AllDifferent(x),
                   d + d == 10 * c1 + t,
                   c1 + l + l == 10 * c2 + r,
                   c2 + a + a == 10 * c3 + e,
                   c3 + n + r == 10 * c4 + b,
                   c4 + o + e == 10 * c5 + o,
                   c5 + d + g == 10 * c6 + r,

                   d > 0,
                   g > 0,
                   r > 0,
                   c6 == 0, # must be 0 since R is the first digit
                   ])

    num_solutions = 0
    while model.solve():
        num_solutions += 1
        print(x.value())

    print("num_solutions:", num_solutions)

donald_gerald_robert_v2()

When some of the constraints are commented out, ortools give a (wrong) solution, e.g.
                   # c2 + a + a == 10 * c3 + e,
                   # c3 + n + r == 10 * c4 + b,
                   # c4 + o + e == 10 * c5 + o,

Here are some other models that has the same behavior, i.e. ortools give 0 solutions but MiniZinc does.

http://hakank.org/cpmpy/crypta.py
http://hakank.org/cpmpy/drive_ya_nuts.py
http://hakank.org/cpmpy/eq10.py

I'm quite sure that all these models worked with ortools in CPMPy v0.9.7, but then stopped work with the pip version of v0.9.8.

Oh my, I got the numpy axis wrong in the bounds calculation of weighted sum : //
Now fixed, I should add tests for the bounds!

Thanks. Note that there's now a superfluous print() on line 336.


Specify lifetimes for state (see #1118)

Currently we persist state forever, but we should give it a lifetime and make sure it is evicted (perhaps during startup compaction) from the store.  This will likely vary based on the job type (with permanent jobs having an infinite lifetime).
As described in #1118 we should also trigger an event so that other tasks can happen as a result of the eviction.

This is encapsulated in other issues.


Sorting doesn't stay at it's position or moves somewhere else

I had an issue that when i dragged i saw where it would go, but the moment i let go, it went to a position under that. This prevented me from going over the edges (dropping at first or last).
However when creating an example everything stopped working.
https://codesandbox.io/p/sandbox/great-glitter-24dq4p?file=%2Fsrc%2FApp.tsx%3A88%2C25
I followed the example that's on the website.

Update: my arrayMove function is causing this, replaced it with the arrayMove function from @dnd-kit


Fp16 msg

Added an error message if users specify fp16 dtype when running Keras Resnet benchmarks.

Do you think it makes sense to say something like "dtype fp16 is not supported" just to tie the error message to the flag being used?

Yeah, I am marking approved and if you can slip in the dtype that would be great.

ahh I am bad at GitHub.  Merge the PR when you are ready.  If you are not already a collaborator I am adding you right now.


Added defaultValue to useFieldArray example

The current docs as misleading when they should append({ name: "test" }) as if the initial value of the input would be "test", while if no defaultValue is added to the input, the newly appended input will be empty by default.

oops! i miss that. thank you.


incorrectly adds .js to "react/jsx-runtime";

-import { jsx as _jsx } from "react/jsx-runtime";
+import { jsx as _jsx } from "react/jsx-runtime.js";

Do not expect this transform

@gajus,
It looks strange. By design all external modules which have exports field in their pkgjson should be omitted from subs variants. Moreover, I have a test for this case:

fixture: https://github.com/antongolub/tsc-esm-fix/blob/master/src/test/fixtures/ts-project/node_modules/e2/package.json#L10
snapshot: https://github.com/antongolub/tsc-esm-fix/blob/master/src/test/ts/snapshots/fix.ts.snap#L27

Could you plz add more context for debug? Repo link that reproduces the issue would be perfect.

I think I'm facing a similar issue - in my case with @playwright/test imports:
-import { test } from '@playwright/test';
+import { test } from<EMAIL_ADDRESS>
I suspected that this is due to playwright exports being an object, which doesn't seem to be a tested case in the fixture that you linked. However, manually editing their local package.json doesn't change the behaviour

I'll try to take a look next week.


add pumpfun to realtime

Add Pumpfun logs to requests for logs decoder

DML to remove events from silver.decoded_instructions_combined and silver.decoded_instructions (withdraw events are the only ones without 'logs' so excluded those)

delete from solana.silver.decoded_instructions_combined
where program_id = '6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P'
and (event_type <> 'withdraw' or event_type is null)
and inner_index is null;

delete from solana.silver.decoded_instructions
where program_id = '6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P'
and (decoded_instruction:name::string <> 'withdraw' or decoded_instruction:error is not null)
and inner_index is null;

Command to run backfill for last two days
dbt run-operation decoded_logs_backfill_generate_views --args '{"program_id": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P", "start_date":2024-08-11,"end_date":2024-08-13}' -t prod

delete from solana.silver.decoded_instructions_combined
where program_id = '6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P'
and (event_type <> 'withdraw' or event_type is null);

delete from solana.silver.decoded_instructions
where program_id = '6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P'
and (decoded_instruction:name::string <> 'withdraw' or decoded_instruction:error is not null);

Add inner_index IS NOT NULL condition as a sanity check to ensure we are only removing inner instructions since trade logs cannot occur as a top level instruction

Before merging, also run the backfill for the last 2 days so the realtime pipeline has less work to do when it is turned on. Put the backfill dbt run-operations command here for a sanity check

See above comments

updated delete queries and added backfill command

update: 2 day backfill complete, and ran delete DML


Eliminate controller logic duplication in speaker

Is this a bug report or a feature request?:
Feature.
What happened:
When ARP got introduced to the speaker binary, we basically copied and pasted the controller code and tweaked it a bit. This means the two controller loops have a lot of duplicated code, and the majority of it is just handling basic interaction with k8s, not protocol-specific things.
There's probably a nice clean interface hiding in there somewhere for the protocol-specific parts of the logic. We should find it, extract it, and refactor the speaker code to have less duplication in the main k8s codepath.
This should also enable us to get rid of the multiController hack in internal/k8s, which was a short-term fix to get the build working again, but is brittle in a variety of ways.

I agree (and bothered me when I cut and pasted).
I think we can create a controller
type controller struct {
    arp *arpControlller
    bgp *bgpController
}

Implement the two methods and at some point break the abstraction with a type switch to call the right one and make the announcement. This is not superclean, but gets us there quicker.


[REEF-259]  Writable Network Service Layer

[REEF-259]: Make the NetworkService layer memory efficient by introducing streaming and building on top of StreamingRemoteManager in Wake.
This addressed the issue by

Introducing WritableNetworkServiceLayer which constraints the NsMessage and message passed to it to be Writable.

JIRA: REEF-259
@markusweimer @beysims @jwang98052

@dkm2110 I did a pass.

@markusweimer
Updated the code

Please merge with master.

I have done my pass.

@jwang98052  @markusweimer
I have pushed latest code. If there are no further comments and if one of you get time, can you merge code over weekend. That way I can work on next jira over weekend.

@dkm2110 I've done another pass. My main concern lies with the missing encapsulation within the WritableNsMessage class.

@markusweimer  @jwang98052
I have made the NsMessages instantiate using tang injection and hence they automatically get the factory.

@markusweimer @jwang98052
Please review this pull request whenever you get time.

This looks good to me but for one thing: The instantiation grabs explicit ports. It should instead use the TcpPortProvider mechanism.

@markusweimer @beysims
Beysim and I fixed the issue in Register method in WritableNetworkService. However LocalAddressProvider is currently not available in c# code. So we cannot do much about it. Also I bave made the constructor private. If things are fine please merge,.

I will test and merge


Move all NPM modules into a single chunk in dev mode.

Closes https://github.com/zeit/next.js/pull/941
This will isolate all the NPM modules into a single chunk.
That chunk won't touch by webpack unless, there's a new NPM module.
That gives us much better re-build performance.
This does the same think as what https://github.com/zeit/next.js/pull/941 does. But now this is automatically works for all NPM modules.

Did this include every module inside node_modules? What about non required modules? If I have ESLint inside my node_modules this include that too?

@sergiodxa ah not all.
But all of the modules which used in the client app and sees by Webpack.

@arunoda ahh ok, I just wanted to understand that

@rauchg Why was it reverted? Will it be improved somehow?

@frol we did another PR with the same. This one had a bug.

It would have been much helpful if you refer to the issues/PRs. It seems that that was #1512. Thank you.


Add more confs

Some more conferences:

http://www.developermarch.com/developersummit/index.html
http://www.analyticsindiasummit.com/about/
https://functionalconf.com/
http://opensourceindia.in/osidays/
http://xpconference.in/2017XpConf/

If anyone wants to submit a PR for this, please go ahead! I'll be happy to review and merge it! :tada:

Would surely love to pitch in! I'll submit a PR later today :)

@sushant-j Yayyyy! Thank you! :)

Submitted a PR :+1:

Something I noticed, the 2018 conferences are added in reverse chronological order. Is it intentional?
I didn't correct it in case it is.

@sushant-j thanks for noticing. It wasn't intentional. I commented on your PR about this. If it's fine with you, can you please fix it in the PR? Or else I'll fix it as a follow up. :smile:

Fixed in #25. Thanks, @sushant-j!


Default minimal fields & bug fixes

This fixes a few issues such as #80  and #90 bugs.  This new Vulnogram code strips down all the CVE fields to only required fields.  There is a button with text "Show All Fields" that opens up the shebang of the fields.  The fields impacts and problemTypes are removed from having a default value and being required.
It is all focused on simplifying CVE5.0 format using CVE-Services 2.1x API to manage CVE records.  When you load a new CVE from GIT or from CVE Services, the full shebang of fields is opened up again allowing for full flexibility.
Look at the current demo version at https://democert.org/vulnogram/ -
Vijay

Hi Vijay,
Thank you for this PR, I took in some of the fixes, but there seem to be too many unrelated changes part of the PR (due to how code was pulled and synced from branches) it is hard to review the exact changes.
Moreover looks like it is not that simple to toggle between displaying/hiding optional fields. If someone has entered something into an optional field, but toggles the view, that field gets hidden - but the data entered is still there. There is a risk garbage/half baked data could be submitted to CVE service. IOW if an optional field has user entered data, it should never be hidden.
There has to be better way to do this in JSON-editor and schema definition without relying on CSS.

Yeh - sounds good. The JSON-editor schema change how I tried the first implementation.  I just ran into a number of bugs when two schemas have multiple fields overlap.   Didn't have time to really analyze the issue, so the broken CSS approach at least for those like our (CERT/CC's) own team needing a simple interface.
Vijay


Auto retrieve plugins + adjust caching

This change makes BioImage automatically retrieve plugin each time it determines which plugin/reader to use.
I made caching an opt-in feature since I am a bit worried about users being confused by cached plugins.

I wonder if you could just call get_plugins once in init.py and just keep that as the cache.  Then just make sure that any additional calls blow away what was there before and completely replace the list.

I wonder if you could just call get_plugins once in __init__.py and just keep that as the cache. Then just make sure that any additional calls blow away what was there before and completely replace the list.

I think that is the same as what would happen after this changeset. determine_plugin is only called once in the __init__ and the only other time it would be called is if a user explicitly called it as a static method of BioImage during which time they could directly supply the cache arg (though I imagine if you are calling it directly it is for some sort of debug purpose in which you would want the cache to be reset each time).

I wonder if you could just call get_plugins once in __init__.py and just keep that as the cache. Then just make sure that any additional calls blow away what was there before and completely replace the list.

I think that is the same as what would happen after this changeset. determine_plugin is only called once in the __init__ and the only other time it would be called is if a user explicitly called it as a static method of BioImage during which time they could directly supply the cache arg (though I imagine if you are calling it directly it is for some sort of debug purpose in which you would want the cache to be reset each time).

I was actually referring to calling it globally in the bioio package init. (which I guess is invoked the first time you import anything from bioio? or every time?) But I think what you said makes sense, it's kinda the same result.


Extracting a material that contains an embedded texture from a GLTF file generates a huge material

Godot version
4.0.alpha16
System information
Windows 10, Vulkan, NVIDIA GTX 850M
Issue description
When importing a GLTF file and extracting its materials, the specific materials that have an embedded texture are insanely huge in file size, depending on texture resolution.
I assume the textures are somehow being imported as bitmap without any kind of compression. In big scenes this causes an unbearable stutter as the game tries to read these huge textures from disk.
Steps to reproduce
Get a GLTF file with a material containing a texture (or export one from blender), double-click the file to open the advanced import and extract materials. The extracted material has a huge file size, in relation to what would be expected from the texture resolution.
If you change the texture in the extracted material for one imported separately and save the material, the file size changes to the usual 1KB. The culprit seems to be the imported texture.
Minimal reproduction project
Simple textured box glb file:
texture-box.zip
Try importing it and extracting its material.
The glb file has a file size of 537KB, and a material with a 4K texture embedded in it. The extracted material somehow ends up with a file size of 318MB, which is absolutely huge.

Duplicate of https://github.com/godotengine/godot/issues/62436.


Check for global npm link packages

Sometimes I'm developing a project that use a dependency created by mine.
In this case, because I have a local copy of the dependency and I want to be used in the project, I link the dependency as global and later in the project I do a npm link to import the dependency
Could be possible do the same but providing a zelda flag for that? something like if the flag is provided check first if the dependency exist as global in the system instead of fetch from npm registry
The thing that I'm trying to avoid is this:
[zelda] Found 0 local packages for your-project

❯ npm link my-global-dep
your-project/node_modules/my-global-dep -> /usr/local/lib/node_modules/my-global-dep -> /Users/me/Projects/my-global-dep

Why not just have zelda create the symlink? zelda is supposed to be a replacement for npm link.
If the project you are developing is in your Projects folder, then it should be founda nd symlinked into your-project/node_modules/ when you invoke zelda.

Good tip 👍


Result or Validator in the Appliction layer?

In the application layer, a mixture of _validator and Result is being used to handle failure.

Result.Failure

Output Validation: https://github.com/dr-marek-jaskula/DomainDrivenDesignUniversity/blob/master/src/Shopway.Application/Features/Users/Queries/GetUserByUsername/GetUserByUsernameQueryHandler.cs#L23-L26

_validator.Failure

Input Validation: https://github.com/dr-marek-jaskula/DomainDrivenDesignUniversity/blob/master/src/Shopway.Application/Features/Users/Queries/GetRolePermissions/GetRolePermissionsQueryHandler.cs#L21-L27
Output Validation: https://github.com/dr-marek-jaskula/DomainDrivenDesignUniversity/blob/master/src/Shopway.Application/Features/Users/Queries/GetRolePermissions/GetRolePermissionsQueryHandler.cs#L32-L38

Wouldn't it be better to unify it by using _validator?

Indeed, I will change it in upcoming pr, where I will add Login using Google feature. Thanks for finding it, lastly I have less time to work on this project (therefore I am coding a bit too fast), but hopefully I will find some. Google login should be done soon (1-2 days). Kubernetes still in progress.


MaskFiller - Use Numba to improve performance

Refactored from numpy array math to sets and dictionaries in #299. Encountered difficulty getting numba to work, and ended up with similar overall performance.


Update to 0.3.623 failed to update

Hello. I update extensions as they become available and I have an update for VSLS. When I try to do it I'm told that it failed and I can update manually. Idk if that is just as easy to do as doing straight from VS Code but thought I'd share this experience anyways. I'm going to hold off on updating for now.
Screenshot shows what I'm seeing.

Based on your comments, all your other extensions are updating fine, without manual intervention?

Yes. Everything else was fine without manual intervention. Never seen that before. I did install the new VS Code installer that kept coming up and I can't remember what they were calling it but had to remove current install and then install the new one and so far I haven't seen this come up again. Guess we'll see when the next VSLS update comes out.

@DanJ210 Thanks for circling back! I’ll close this issue then, since it sounds like you were unblocked. We haven’t heard any reports of this issue from other users, but if you run into it again, please let us know. Thanks!


An API to allow replacing observer implementation with alternative implementation

What problem does this feature solve?
This is a followup to https://github.com/vuejs/vue/pull/4652. For integration of Vue with existing Tracker-based Meteor apps, one approach how to assure fur compatibility is to implement Tracker on top of observer implementation. This has been proven to work great with 2.x version and it just needed a bit more access to Vue observer internals than what was already available.
I would suggest that in 3.x there is a simple way to register an alternative Vue observer implementation. In this way 3rd party libraries could extend new Vue observer implementation with additional things and then register it back for Vue to use it.
What does the proposed API look like?
It could be something as simple as Vue.useReactivity(module). It would be on module's author to assure that the alternative implementation is compatible and works well with Vue.

I would suggest that in 3.x there is a simple way to register an alternative Vue observer implementation.

In Vue 3.0, we will indeed implement the new, proxy-based Observer implementation as an independent package, and also implement an alternative version which uses the getters/setters based Reactivity system from 2.0 (for IE compatibility)
So something like this will likely be possible, though the details are still under consideration.

In fact I am more interesting in hooking into underlying observe logic. Not so much how it is exposed (through proxy or other means). But probably it can be the same thing. Generally it is more or less something like "every time X gets invalidated, also call this extra code, and when Y gets rerun, call this as well".


Event Filters not works properly

https://doc.subquery.network/build/substrate-evm.html#event-filters
help fix this bug

Suggest moving this to our repo and closing it here https://github.com/subquery/subql/issues/908


Very inconsistent SASS variable definition

Please see https://stackblitz.com/edit/nuxt-starter-kttcxr?file=app.vue for reproduction.
When configuring SASS variables for components, they usually need to be defined inside settings.scss (the one used by configFile). Then to actually load the vuetify theme, you need to make a main.scss and @use vuetify where you can define global variables.
This is confusing, but this could be fixed with simply documenting it somewhere.
However, it gets even more confusing when a component like VBtn needs to go look for a variable inside a global variable. Then we need to define the global variable once inside main.scss and once within settings.scss, as the respective variables are both missing from eachother in these contexts...
Is this a Vuetify issue or something in this module?
PS: I think there may also be a weird caching issue with these 2 SCSS files, as while I was ripping my hair out trying to understand why "variables weren't updating", my page would respond to the variable changes on refresh and then quickly switch back to an old version of the file once hydrating. When looking at the cache headers, it's supposed to use no-cache... Has anyone else had this problem or am I losing my mind :D

Played around a bit more and I think this is just the result of very unfortunate naming style at Vuetify...
When changing $typography.button in main.scss, it will apply changes to class text-button. While changing it in settings.scss will apply to all buttons by default...
No idea why it was decided to solve it this way... either way, the caching issue is still there.

this module does nothing about styles, just configures the entry properly: check pinned issue #19

Yeah, this is a Vuetify issue, I will close it.
The caching issue is weird though, settings.scss does not get cache-busted properly when running dev server.


Fix typo in docs

Codecov Report

Merging #572 (0d7d381) into main (91fc298) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #572      +/-   ##
==========================================
- Coverage   60.64%   60.63%   -0.01%
==========================================
  Files          99       99
  Lines       12667    12667
==========================================
- Hits         7682     7681       -1
- Misses       4985     4986       +1


Add uninstall info to FAQ

Update the FAQ with uninstall information.
#93

Ah, this won't be the case anyomre after I finish #178 sorry for the delay. I appreciate you sending the PR though. My fault


Make URL reflect search terms

It doesn't allow direct linking to the search results at the moment, and there's no reason why it couldn't. Will need to figure out what the UI should do. Polymer has components to aid with getting the URL right.

As I understand it, <app-location> allows the right binding.

Most of the structure's in there for this. One problem remaining to solve, which is that we somehow need to monitor the route data and poke a trailing / onto the end of the URL in order to make the second <app-route> switch over to 'active'.

This is the subject of a PR (225) on <app-route>, so going to hack in their fix to it for the time being.


How to mark authors with the same surname (not same authors) in taxon names

In the taxonomy of Opiliones we have a few cases of husband and wife, father and son, uncle and nephew who published either together or solo.
It is important and customary to distinguish them.
For example, the couple Benedicto Soares & Helia Soares either published alone, or in duo with Benedicto first OR Helia first.
We want to mark this in the taxon names, for example:
Jim benignus Soares, 1979 > we want this to be Jim benignus H. Soares, 1979
How can we achieve this?

You can use the verbatim field to over-ride the display of text, while also keeping the People links there for search purposes.

Verbatim has the great inconvenience that I would be forced to edit taxon by taxon.
I meant how can I mark a given author to ALWAYS appear in a certain way automatically?

Aha!  You can't.  We'd have to invent some feature as you suggest to say "for all (capital) P people that are authors assign this string to Verbatim (Verbatim is the mechanism we'd use).
From the broader perspective I personally feel it's better to move towards unified approaches.  While that's not saying what the approach is, it is suggesting that TaxonWorks will "encourage" people to forgo past idiosyncracies so that future meaning is enhanced throughout the field.  Formating people's names seems to be just such a case.  Because we can hyperlink to the person, and ultimately show the full info for that person, we can check quickly in those (very few relatively speaking) edge cases where names are ambiguous between people.

@mjy -- Matt:
I fully agree with you in this respect.
Yesterday I had a big discussion with one of my dearest mentors, who defends that we should keep the name of the author exactly how it appears in the original source, especially because otherwise "it will be more difficult to locate the reference". I disagree 100%.
I personally made the unpopular decision in my catalog to "retcon" all names to UNIFY each author. I think that all alternative spellings could even be included in the full info sheet for that person. If you look at my ex-student Osvaldo Villarreal, you may see how his name fluctuated over the years in his publications, same changes introduced by him, others by the publishers.

@mjy = on the other hand, even if I heartily embrace your unified person's names approach,.... Still I would love to see H. Soares instead of plain Soares tagged to the species/genus name.
Maybe it is just as you said, misplaced nostalgia, but for us who work in Opiliones this is important and I would cheer seeing that implemented in TW...

@mjy = can you imagine this guy Osvaldo Villarreal calculating his h-index? How much suffering?


Image zooms back to start position(ARNZoomImageTransition)

When I select(present modal viewcontroller) a cell from my TableViewController which was not visible at the start of the Controller, and dismiss it(animate back the modal presented view controller) the image animates back to the coordinates where the cell was at the start of the Controller.
Can you help me?

If that is your project-specific problem, i can not support.
If a bug in my code, i will be to support.
after that,
If you are writing the code by reference to the ARNZoomImageTransition,
please write in there the issue.