broken link

https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs/BlobAttribute.cs this link is broken in this page.
search for the term "BlobAttribute" on this page.

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

ID: 691e8fe7-3db3-1913-dcba-68789e625c59
Version Independent ID: 8846f2c6-df56-f387-4727-1004fab35c0a
Content: Azure Functions C# script developer reference
Content Source: articles/azure-functions/functions-reference-csharp.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@jakaruna-MSFT Thanks for feedback! We have worked up a PR to address this.


Remove some deprecated functionality

[ ] remove dynamic as this is now supported via checkpoints, keep a dummy that fails with an explanatory error message.
[ ] remove version keyword, as this is now much better handled via conda and singularity integration
[ ] remove R() helper function, as this is now handled via the script keyword. Keep a dummy that fails with an explanatory error message.

version might be handy for development of custom code that isn't packaged? To rerun everything that used an outdated version of the code.

version might be handy for development of custom code that isn't packaged? To rerun everything that used an outdated version of the code.


bpf/init.sh: move node config generation to Go

This PR refactors node_config.h generation code in init.sh to Go. In order for this to work properly the function that initially creates node_config.h had to move to Reinitialize().
Fixes: #25378

/test

/test

/test


improve accessibility for the timetree

updates in the code:

refactored leaf and panel code to reduce some redundancy / logic contamination between the two classes;
make the leaf manager class not completely static; now taking advantage of javascript getters and setters
moved keyboard handling code out of panel.js into a keys mixin file; added space/enter support
using d3.select to select and update element attributes more efficiently
add code to manage focus

notes for testing:

[x] when you tab through the page, you hit the footer navigation first, and then the intro panel before getting to the tree
[x] can tab through the leaves in the tree (goes by branch and then sequentially within branch)
[x] activating a leaf with enter or space key will load the leaf details and transfer focus
[x] you can tab through leaf details; if you tab out moving forward or backwards, focus is transferred to the close button
[x] when you close the leaf details, focus is transferred back to the leaf you used to activate the details
[x] if you click or activate the branch names in the panel legend, should transfer focus to an invisible heading for that branch; from there you can tab through that branch
[x] when a tag is active, you can only tab through leaves with that tag; other tags should be disabled
[x] after closing the tag, you should again be able to tab through all the leaves
[x] dedication should work like a leaf
[x] you should never find yourself tabbing through content you can't see (hidden content, visually hidden buttons that are not disabled, etc)
[ ] when a tag is active, tree should act like a modal and contain focus; for keyboard users, expect to close the leaf details then should be able to tag through leaves and active tag (will also tab through info panel if open - I think that's ok, provides a shortcut back to parts of the tree)

@rlskoeser thank you for working on this beast of an issue!!
Here are some things I noticed on Firefox:

when tabbing through the branches it goes from  Lands+waters to removals instead of communities, I don't think that should be happening, swapping the order of these two will resolve it

when selecting one of the branches in the legend does this have to appear for the invisible header?

when a tag is active is it normal to have to tab out all the way through the footer to be able to get to tab through the leaves with that tag?

could we place the focus style only around the "x" here?

I feel like your last checkbox would include what I mentioned earlier about the invisible branch headers below – right now I can tab through all headers for the five branches.

on Safari and Chrome I can't tab through the invisible branch headers, but on chrome I do still see them when selecting a branch in the legend.

on Safari and Chrome when a tag is active I can't find a way out of the panel, when I tab out it only goes back to "x" of the panel, doen't get back to the footer nav and the other leaves with the same tag.

@gissoo thank you for this careful and thorough testing!

Interesting about the order; this makes sense. I need to update so the order of nodes in the dom matches the visual left-to-right order of brnches in the tree.
I think we need some kind of visual indicator for the branch headers when they have keyboard-focus; what do you think? Any suggestions?
that tab order for active tag doesn't sound ideal! I wasn't sure what the behavior should be - we're treating the leaf details as a modal, and if you use keyboard navigation only you should stay within the modal; but that model doesn't quite work when you have a tag active - unless we expect / require to close the leaf details before navigating leaves with that tag (which doesn't sound terrible). 🤔 maybe the tree with an active tag could also act sort like a modal, in that you stay within tagged leaves + active tag until you deselect the tag?
yes, I can set the focus style to just the x for the active tag; that was the default and I thought it looked a little strange, so I set it to be the entire active tag — but I can undo that!
I think I understand what you're saying about the branch headers; I will adjust them so they can receive focus but not be part of the normal tab order

I'll give myself a checklist for these on the issue. (I think this might be enough complexity to bump it from 5 to 8, which I was already wondering about)
I think our main remaining decision is to determine what behavior should happen when a tag is active.

@gissoo thank you for this careful and thorough testing!
* Interesting about the order; this makes sense. I need to update so the order of nodes in the dom matches the visual left-to-right order of brnches in the tree.

thank you for fixing this

* I think we need some kind of visual indicator for the branch headers when they have keyboard-focus; what do you think? Any suggestions?

I was going to suggest to indicate it on the branches in the legend but we need an indicator outside of the panel for when the intro text is not showing, how about in the place of the tag? Do we have also have to display it when a tag is active?

* that tab order for active tag doesn't sound ideal! I wasn't sure what the behavior should be - we're treating the leaf details as a modal, and if you use keyboard navigation only you should stay within the modal; but that model doesn't quite work when you have a tag active - unless we expect / require to close the leaf details before navigating leaves with that tag (which doesn't sound terrible). 🤔 maybe the tree with an active tag could also act sort like a modal, in that you stay within tagged leaves + active tag until you deselect the tag?

oh right! I love that idea! the tree with an active tag could act like a modal, that would be a lot easier to navigate. Thank you!

* yes, I can set the focus style to just the x for the active tag; that was the default and I thought it looked a little strange, so I set it to be the entire active tag — but I can undo that!

Thank you for fixing this!

* I think I understand what you're saying about the branch headers; I will adjust them so they can receive focus but not be part of the normal tab order

Thank you for fixing this!

I'll give myself a checklist for these on the issue. (I think this might be enough complexity to bump it from 5 to 8, which I was already wondering about)

I agree with bumping it up to an 8!

I think our main remaining decision is to determine what behavior should happen when a tag is active.

@rlskoeser thank you. It's not working for me, when I tab forward it's still stuck within the panel and the tag container, and when I tab back it's now stuck between the two "X" / close buttons of the panel and the tag, it's not going back anymore. I tested on all three browsers.

Updated focus management based on Gissoo's testing feedback; tested render site on Firefox and Chrome to confirm.
Strangely, there is some difference of behavior between the browsers; initially it worked fine on Firefox but not on Chrome. It seems that it may not be working properly on Safari but I need to move forward with merging this.


rapidrate_lb

rapidrate_lb   does not seem to work.    I've tried checked it in several examples.
also, cannot find the term in any files in the  libflexgui  directory.

The correct object name is rapid_override_lb, I'll correct the examples and the docs when I get home.
JT


Request support for Single and Dual clamp energy meters

Hi.
I'm trying to add 2 devices : Dual Energy Meters.
1st ok, but when I add the second says Unsupported Device - but they are exactly the same. Difference is that 1st is with dual clamp and 2nd is only with one clamp.
Log Message
2024-02-04 15:37:41.143 WARNING (MainThread) [custom_components.tuya_local.config_flow] Device matches tuya_energy_meter with quality of 50%. DPS: {"updated_at":<PHONE_NUMBER>.1087022, "101": "request", "102": "idle", "103": "working", "104": 1, "105": 1441, "106": 890, "107": 2331, "108": 3207, "109": 1539, "110": "normal", "111": 2400, "112": 1, "113": "working", "114": 1, "115": 273, "116": 248, "117": 2331, "118": 4949, "119": 2550, "120": "normal", "121": 2400, "122": 1, "123": 8156, "124": "cloud_net"}
2024-02-04 15:37:41.148 WARNING (MainThread) [custom_components.tuya_local.config_flow] Report this to https://github.com/make-all/tuya-local/issues/
2024-02-04 15:41:13.818 WARNING (MainThread) [custom_components.tuya_local.config_flow] Device matches None with quality of 0%. DPS: {"updated_at":<PHONE_NUMBER>.335208, "101": "request", "102": "idle", "103": "working", "104": 1, "105": 812, "106": 627, "107": 2341, "108": 5193, "109": 3054, "110": "normal", "111": 2400, "112": 1, "113": "monitor", "115": 0, "116": 0, "117": 2299, "119": 0, "120": "normal", "121": 2400, "123": 5193, "124": "cloud_net"}
2024-02-04 15:41:13.852 WARNING (MainThread) [custom_components.tuya_local.config_flow] Report this to https://github.com/make-all/tuya-local/issues/
Information about DPS mappings
{
"result": {
"model": "{"modelId":"erz04c","services":[{"actions":[],"code":"","description":"","events":[],"name":"默认服务","properties":[{"abilityId":101,"accessMode":"ro","code":"sync_request","description":"","extensions":{"cloudless":1,"trigger":"direct"},"name":"请求实时更新","typeSpec":{"range":["idle","request"],"type":"enum","typeDefaultValue":"idle"}},{"abilityId":102,"accessMode":"rw","code":"sync_response","description":"","extensions":{"cloudless":1,"trigger":"direct"},"name":"回复实时更新","typeSpec":{"range":["idle","ok"],"type":"enum","typeDefaultValue":"idle"}},{"abilityId":103,"accessMode":"ro","code":"device_state1","description":"","name":"设备状态1","typeSpec":{"range":["close","monitor","working","warning"],"type":"enum","typeDefaultValue":"close"}},{"abilityId":104,"accessMode":"ro","code":"add_ele1","description":"","extensions":{"trigger":"direct"},"name":"第1路电量统计","typeSpec":{"max":5000000,"min":0,"scale":2,"step":100,"type":"value","typeDefaultValue":0,"unit":"kwh"}},{"abilityId":105,"accessMode":"ro","code":"cur_power1","description":"","name":"当前功率","typeSpec":{"max":2000000,"min":0,"scale":1,"step":1,"type":"value","typeDefaultValue":0,"unit":"W"}},{"abilityId":106,"accessMode":"ro","code":"cur_current1","description":"","name":"当前电流","typeSpec":{"max":800000,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"A"}},{"abilityId":107,"accessMode":"ro","code":"cur_voltage1","description":"","name":"当前电压","typeSpec":{"max":5000,"min":0,"scale":1,"step":1,"type":"value","typeDefaultValue":0,"unit":"V"}},{"abilityId":108,"accessMode":"ro","code":"total_energy1","description":"","name":"总电量","typeSpec":{"max":2147483647,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"kwh"}},{"abilityId":109,"accessMode":"ro","code":"today_acc_energy1","description":"","name":"今日用电量","typeSpec":{"max":2147483647,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"kwh"}},{"abilityId":110,"accessMode":"ro","code":"power_type1","description":"","name":"第1路功率类型","typeSpec":{"range":["normal","warn"],"type":"enum","typeDefaultValue":"normal"}},{"abilityId":111,"accessMode":"rw","code":"warn_power1","description":"","name":"第1路告警功率设置","typeSpec":{"max":50000,"min":200,"scale":0,"step":100,"type":"value","typeDefaultValue":200,"unit":"W"}},{"abilityId":112,"accessMode":"ro","code":"today_energy_add1","description":"","extensions":{"trigger":"direct"},"name":"第1路用电量增加","typeSpec":{"max":20000000,"min":0,"scale":2,"step":1,"type":"value","typeDefaultValue":0,"unit":"kWh"}},{"abilityId":113,"accessMode":"ro","code":"device_state2","description":"","name":"设备状态2","typeSpec":{"range":["idle","monitor","working","warning"],"type":"enum","typeDefaultValue":"idle"}},{"abilityId":114,"accessMode":"ro","code":"add_ele2","description":"","extensions":{"trigger":"direct"},"name":"第2路电量统计","typeSpec":{"max":5000000,"min":0,"scale":2,"step":1,"type":"value","typeDefaultValue":0,"unit":"kWh"}},{"abilityId":115,"accessMode":"ro","code":"cur_power2","description":"","name":"当前功率","typeSpec":{"max":2000000,"min":0,"scale":1,"step":1,"type":"value","typeDefaultValue":0,"unit":"W"}},{"abilityId":116,"accessMode":"ro","code":"cur_current2","description":"","name":"当前电流","typeSpec":{"max":800000,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"A"}},{"abilityId":117,"accessMode":"ro","code":"cur_voltage2","description":"","name":"当前电压","typeSpec":{"max":5000,"min":0,"scale":1,"step":1,"type":"value","typeDefaultValue":0,"unit":"V"}},{"abilityId":118,"accessMode":"ro","code":"total_energy2","description":"","name":"总电量","typeSpec":{"max":2147483647,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"kWh"}},{"abilityId":119,"accessMode":"ro","code":"today_acc_energy2","description":"","name":"今日用电量","typeSpec":{"max":2147483647,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"kWh"}},{"abilityId":120,"accessMode":"ro","code":"power_type2","description":"","name":"第2路功率类型","typeSpec":{"range":["normal","warn"],"type":"enum","typeDefaultValue":"normal"}},{"abilityId":121,"accessMode":"rw","code":"warn_power2","description":"","name":"第2路告警功率设置","typeSpec":{"max":50000,"min":200,"scale":0,"step":100,"type":"value","typeDefaultValue":200,"unit":"W"}},{"abilityId":122,"accessMode":"ro","code":"today_energy_add2","description":"","extensions":{"trigger":"direct"},"name":"第2路今日用电量增加","typeSpec":{"max":20000000,"min":0,"scale":2,"step":1,"type":"value","typeDefaultValue":0,"unit":"kWh"}},{"abilityId":123,"accessMode":"ro","code":"all_energy","description":"","name":"总电量和","typeSpec":{"max":2147483647,"min":0,"scale":3,"step":1,"type":"value","typeDefaultValue":0,"unit":"kWh"}},{"abilityId":124,"accessMode":"ro","code":"net_state","description":"","extensions":{"trigger":"direct"},"name":"网络状态","typeSpec":{"range":["cloud_net","local_net","no_net"],"type":"enum","typeDefaultValue":"cloud_net"}}]}]}"
},
"success": true,
"t":<PHONE_NUMBER>569,
"tid": "b5946a1cc37811ee93f5d29ee3c01764"
}
Product ID
dhto3y4uachr1wll

Only one info more. Maybe I've expressed badly.
The 2 devices are exactly the same but in first I have the 2 clamps conected and in second only 1 clamp is connected, the other isn't at use.


Return just the id value from register_subject_version

Owing to a documentation error in the Confluent schema registry this method was returning a dict rather than the schema id. This fixes that.
@paetling

:ghost: :cow:


ContentPage: Allow transition to consistent gap

Letting a user pass in Gap to the content page, so that we can
progressively transition the pages to have a consistent gap, and move
all of the layout stuff outside of the individual components.
Reducing the Hero module gap here, but we should do a pass on all of the
pages and remove it.
Having the gap be set inside ContentPage will allow us to handle mobile
more consistently, without having to add it everywhere ourselves.
TEST=manual
Change-Id: Iaee898f401dc610be7a2c942576eea1cc2cca139

Code Review comments can be found at https://gerrithub.io/q/Iaee898f401dc610be7a2c942576eea1cc2cca139


Fix FOSUser integration doc

As described in https://github.com/dunglas/DunglasApiBundle/pull/211#discussion_r36580972, the FOSUser integration seems to not be automatic anymore.
I think it's better as it is, but nothing in the documentation of the bundle refer to the enable_fos_user parameter.

You don't like the idea of having it enabled when the FOSUserBundle is used?

Hum, as it acts like a bridge to another third-party bundle, and as we don't have to assume how the bundle is used, I don't think it should be registered automatically.
Of course, it isn't harmful and can be overridden easily by creating another listener with higher priority if needed, but yes, I'm not comfortable with the idea of having it "magically".
But I guess it's matter of taste than real cons. :smile:

Finally it makes sense because almost all other features are disable by default and an opt in is better in a security pov.

I'd love it to be automatically enabled when the FOSUserBundle is enabled. I can't see why it can be a security problem because the user needs to define the resource manually. If the value is null (which can be the default value), then we can just check if the bundle is in the installed ones via the kernel.bundles parameter.

Aside the security part it's more the fact that you have to enable it that I find annoying. Not that I'm against the principle of enable only what you need, but if you have both bundles enabled, you expect them to work together, not to have to wait to find an issue risen due to find out that you have to manually set this parameter to enable the bridge.
Another choice would be to throw an error if the parameter is not set and the FOSUserBundle used. It would be less user-friendly, but would do the work.

Thanks @ogizanagi, the documentation needs to be updated anyway now.


SSH

Hello, how can i access to the ssh in the vps
I tried to install but when i ssh from my machin i got an Connection refused.
Thx

Closed as duplicated of #20 #16


[BUG] Weird quotes

All of a sudden I started to get strange quotes like this:
" I love pointy nails! A cute way to add a pop of color to your nails is to make a V-shape at the ends of them in a pastel color. — Bella Thorne
The silence of the room was shattered with a wail of pain coming from deep within me. — Hitomi Kanehara
...we are to be lights in the world. It is God's business to light us, to set us on the lampstand, and to bring the people into the house. Our only duty is to shine forth with the gospel. — Marva J. Dawn
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A real quote
Screenshots
If applicable, add screenshots to help e

xplain your problem.

Noticed the same thing happening after a loooong period of quotes failing due to the LukePeavy API being down.
Did the API calls get changed to a different provider that just pulls random lines out of Twilight????

I have no idea but the issue has been ongoing for about 4 months now I
would say!
Gabriel
On Tue, Nov 26, 2024 at 6:43 AM General-Anubis @.***>
wrote:

Noticed the same thing happening after a loooong period of quotes failing
due to the LukePeavy API being down.
Did the API calls get changed to a different provider that just pulls
random lines out of Twilight????
—
Reply to this email directly, view it on GitHub
https://github.com/twentytwokhz/quote-of-the-day/issues/22#issuecomment-2500456020,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI3QEEFFO66RZH22BJOOIDL2CRNGPAVCNFSM6AAAAABSMK4GF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBQGQ2TMMBSGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

So, the quotable api that I was using  in the past had some issues. In order to overcome them I created a new api that gathers quotes from two new datasets. Because of that, you might get some weird quotes from those datasets.
For fixing this issue I will use only the quotable dataset in this plugin.
If you have any questions please let me know!
PS: Apologies for the delay :)


no posts visible

Hi,
thank you for this cool plugin. I have the problem that i can follow my WP user via Mastodon, see the count of his posts, profile image. can also mention the user, which shows up as comment to no post But i do not see the posts in Mastodon user view. Can you tell me how to debug the following stuff:
Things not working:

i do not see the posts in mastodon profile view

i followed the account from external-mastodon-user-1 and it showed up in the wp-activitypub-dashboard. I unfollowed the user there and the user still shows up as follower. I followed the user with external-mastodon-user-2 (different instance that user1) and this user is not listed in the wp-activitypub-dashboard  , there is still user1. BUT on mastodon it shows things correct

To mention:
I run the age-check plugin, so maybe there should be an custom bot exception done by me.

Looked further:
...../.well-known/webfinger?resource=acct:......
works fine

correction:
the follower problem is reduced to not deleting a follower.
was my fault, i followed admin user, then unfollowed him. but the follower is still there, so not deleted.
fault was, i transfered posts to another user, followed this one. in the admin dashboard this one is invisible,  which is ok. so its only not deleted if unfollow happens

manually deleted "activitypub_followers" from usermeta db for this user

requesting:
wp-json/activitypub/1.0/users/5/outbox
shows the posts, so access is fine. at least looks to me fine. different mastodon server requests this now and get arounf 346K data back, which should be ok. size to them is same as manually requesting it.
it shows 65 posts on mastodon for this user, bu no posts in posts view.
any idea how to further debug this?

Have you published a new post after you followed your blog? Mastodon does not import old posts, so it only shows the posts after it was first followed by someone on the server.

Oh boy :-) ....... Thank you!


We might explore what we can do to improve the layout of the Items Count page when window is extremely narrow

Observed on an iPhone, in Safari:

Really, this applies to several pages - here's a User Detail page:


feat: add headers for tokens in space screen

@florentmaitre I get an error message on the QR code link: Message: "Could not verify signature. This URL may be expired."


Localize the "Ninja Skin" DLC

@L-Sherry Do you have any ideas about approaching this? I was writing an email to you about this, but I guess I'll summarize my thoughts in this thread tomorrow.

I don't have the DLC. What's in there to localize ? The only thing I know is item 498.

I don't have any DLC, so i made my own:
assets/extension/post-game-dlc/post-game-dlc.json:
{
        "name": {
                "de_DE": "Die Nachspiel DLC",
                "en_US": "The Postgame DLC"
        },
        "description": {
                "en_US": "Discover what happens to Lea after Sergey dies in the epilogue !",
                "de_DE": "Entdecken was wird Lea stattfinden nachdem des Sergeys Tod in der epilog !<<C<< 4/20 du dummkopf"
        }
}

And a translation pack for it (sorry, playing MRB does not make me speak russian):
{
        "extension/post-game-dlc/post-game-dlc.json/name": {
                "orig":"The Postgame DLC",
                "text":"Le DLC d'après-jeu"
        },
        "extension/post-game-dlc/post-game-dlc.json/description": {
                "orig":"Discover what happens to Lea after Sergey dies in the epilogue !",
                "text":"Découvrez ce que Lea se mange après que Sergey crève dans l'épilogue !"
        }
}

And with the latest patch that i pushed in Localize-Me, this seems to work. It should be enough to translate any DLC.
If that works, tell me, so i can bump the version and make a new release.

What about translating mods? Do you intend to make another path prefix for them?

If mods "install" stuff in assets/data/, i should be able to translate them already, provided they get loaded via jquery like the game does.
(well, except for a deadlock which cannot really be fixed if mods block in their postload until their resources are loaded)

Alright, another question. Why did you choose to limit localizable files to just the assets/data/ directory? Also, you perform a check whether the path starts with data/. Hashmap lookup (I hope that objects or at least Maps are implemented as hashmaps internally) won't be much slower to check whether the map file contains a translation pack for the requested file.

Historical reasons, I guess.
But what else would you want to localize anyway ? data/ and extension/ are pretty much the only directories that can contain localizable json files. Well, except for mods/, but directory names in there are arbitrary, so that cannot work (and let's not talk about ccmods).
And yes, checking for the expected prefix is a good thing to do before stripping it out. I don't only check for "data/", i check for ig.root + "data/".

Done, this will be added in v1.0.6


feat: kinde auth for convex

This pull request introduces support for Kinde Auth in the Convex application. A significant portion of the implementation was adapted from the existing 0Auth integration, with adjustments made to accommodate Kinde Auth's specifications. Special thanks to @xixixao for their foundational work on authentication which this PR builds upon.
While the changes compile successfully, I have encountered issues with testing the integration locally. I am reaching out to the team for assistance with local deployment and testing procedures to ensure this feature's functionality.
I would greatly appreciate feedback on the current code, particularly concerning any outdated practices that may have been carried over from the 0Auth codebase. If there are existing tutorials or documentation on setting up a local development environment for Convex, sharing these resources would be extremely helpful.
Additionally, here's an example of how Kinde Auth has been implemented in a similar React project for reference: react-kinde-convex.

Hey @umuthopeyildirim, thanks for the great contribution! We're reviewing it internally, and might decide to keep this integration in a separate NPM package (eventually all auth integrations might go into separate packages). Will keep you posted here on what we decide.

@xixixao, thanks for the update. I'm open to moving the Kinde Auth integration to a separate NPM package as suggested. Please share any specific guidelines for this. I'll keep testing and refining the implementation in the meantime and await further instructions.

Hey @xixixao! Did Convex team decided on a action plan for this PR? In the meanwhile I think we should merge this PR for Kinde and Convex users.

Hey @umuthopeyildirim, I think we're gonna go with a separate package. We'll use this PR as the basis. We can also point anyone interested in Kinde to this PR for vendoring into their codebase before that package is ready. Thanks again!

Hey @xixixao,
Did you end up creating a separate package for the Kinde Auth integration with Convex.
By the way, I am from the Kinde team.

Hey @oliwolff1, we haven't had the bandwidth to work on this yet.

Hey @xixixao,
No worries at all.
Please reach out when you do, we would love to share more broadly this Kinde x Convex integration.

Apologies for the delay, @xixixao and @oliwolff1!
The job hunt and research have kept me occupied, causing me to overlook this task in my to-do list. I hope this submission suffices! I'll can transfer them to get-convex.
Here are the GitHub repositories:

convex-kinde-auth
react-kinde-convex

Thank you for your understanding!


Cluster password support

how can i auth when i set the password

Password of redis cluster for hiredis-vip now is not support.

the feature is supported : #5 && vipshop/hiredis-vip#22
@deep011 please review and merge

I would love to see this merged to master.

I think it is better redesign the cluster api to set some options for cluster context, and they may be as the following:
redisClusterContext *redisClusterContextCreate(const char *addrs);
int redisClusterContextSetReadSlave(redisClusterContext *cc, int flags);
int redisClusterContextSetPasswd(redisClusterContext *cc, const char *password);
int redisClusterConnect(redisClusterContext *cc);
I will think over it and finish it recently.

I am eager for the cluster  api supported passwd auth.  @deep011 Come On!

@deep011 did you finish it for api supported passwd auth?

I have one works well so far:
https://github.com/yanpengwang/hiredis-vip

I see redisClusterSetOptionPassword(redisClusterContext *cc, )   in hircluster.h   but how  this  can be used  with redisClusterAsyncContext   ?
In Async example  the context is  created together with connect
redisClusterAsyncContext *cc =
    redisClusterAsyncConnect(nodes.c_str(), HIRCLUSTER_FLAG_NULL);
if (cc && cc->err) {
    printf("Error: %s\n", cc->errstr);
    return 1;
}

Is  it possible to pass  redisClusterContext  with password  to redisClusterAsyncContext  before connect ?


Make evm.db not optional

Closes #697
I removed the Option<DB> inside the EVM struct to just leave DB.
Let me know if it's ok.
Thanks

Code looks a lot cleaner without Option, but I would restrain from breaking current functions as this is something I want to rework in near future so it does not make sense to break it twice

Ok I can revert those changes, but I am now struggling because without breaking those functions is not easy for me.
In particular I have the problem that, if I leave the Option, then I have problems in with_env and take_db functions.
impl<DB> EVM<DB> {
    /// Creates a new [EVM] instance with the default environment,
    pub fn new() -> Self {
        Self::with_env(Default::default())
    }

    /// Creates a new [EVM] instance with the given environment.
    pub fn with_env(env: Env) -> Self {
        Self { env, db: None }
    }                              ^---> here

    pub fn database(&mut self, db: DB) {
        self.db = db;
    }

    pub fn db(&mut self) -> &mut DB {
        &mut self.db
    }

    pub fn take_db(&mut self) -> DB {
        core::mem::take(&mut self.db)
    }                               ^---> here
}

One way to solve those errors is to add DB: Default trait in the impl and do like this:
impl<DB: Default> EVM<DB> {
    /// Creates a new [EVM] instance with the default environment,
    pub fn new() -> Self {
        Self::with_env(Default::default())
    }

    /// Creates a new [EVM] instance with the given environment.
    pub fn with_env(env: Env) -> Self {
        Self { env, db: Default::default() }
    }

    pub fn database(&mut self, db: DB) {
        self.db = db;
    }

    pub fn db(&mut self) -> &mut DB {
        &mut self.db
    }

    pub fn take_db(&mut self) -> DB {
        core::mem::take(&mut self.db)
    }
}

But then I have to put the Default constrain also to the new function and also in the impl of the Default trait for EVM.
So I tried do do as you suggested: init with an EmptyDB db, doing something like this:
impl<DB> EVM<DB> {
    /// Creates a new [EVM] instance with the default environment,
    pub fn new() -> Self {
        Self::with_env(Default::default())
    }

    /// Creates a new [EVM] instance with the given environment.
    pub fn with_env(env: Env) -> Self {
        Self { env, db: EmptyDB::default() }
    }                                     ^--> here I put EmptyDB

    pub fn database(&mut self, db: DB) {
        self.db = db;
    }

    pub fn db(&mut self) -> &mut DB {
        &mut self.db
    }

    pub fn take_db(&mut self) -> DB {
        core::mem::take(&mut self.db)
    }
}

But of course this is not good since the expected type is DB and not EmptyDB.
If you could give me some pointers about how to start tackling this problem I can try and solve it.
Thank you very much

@alessandromazza98 you are right, let us move this to later after we create new revm version

This is getting changed a lot inside EvmBuilder https://github.com/bluealloy/revm/pull/888


Incorrect placement of sub/superscripts on delimiters with Windows+Chrome

I'm experiencing a rendering issue with sub and superscripts on non-pairing delimiters, but only when running Chrome on Windows.
This is in a book built using PreTeXt, with MathJax 2.7.5; the book is available here and the problem is visible in Example 5.4.16.
In an example with Fundamental Theorem of Calculus, we have the LaTeX markup cos(x)\Big|_0^\pi.
This renders properly on all Linux browsers I've tried, as well as both Firefox and Edge on Windows, and I have reports from colleagues that it's fine on Safari as well.
The problem shows up running Google Chrome version 79 on Windows 10.
Instead of the lower limit (0) appearing as a subscript, and the upper limit (pi) as a superscript, the lower limit appears inline, and the upper limit as a subscript of the lower, as one would get using
cos(x)\Big|0_\pi.
You can see the issue here for a different problem with similar markup.
I'd ignore it since it's such an isolated case, but Chrome on Windows is a pretty big chunk of the market.

I believe that this is not actually a browser-dependent issue, but is actually issue #2182, which is a problem with the semantic enrichment that is done for assistive technology (the expression explorer).  This is something that you need to turn on via the MathJax contextual menu, and I suspect you have done that in your Chrome browser on Window, but not on the other browsers that you tested.
One work-around for now is to use braces around the vertical bar, as in \cos(x){\Big|}_0^\pi.

You're right -- I had turned on accessibility some time ago to show someone that this was possible.
Turning off accessibility fixes the problem. But we should still apply the workaround, since we want things to work for those who need these features.


Realm ID Well-Formedness / Sanitize Mapper Inputs

We should add a well-formedness test for Realm IDs similar to the 'exists' method that we currently have for Realm IDs. This will enable us to do things like sanitize mapper inputs.  A good start would be to do this for Processor and Memory types since those are the kinds of IDs that the mapper primarily uses.

Giving this another ping since I found another case today where something was going wrong because someone was giving Legion an invalid ID for a Realm primitive.

I think you can already include realm/id.h and write things like:
Realm::ID(thing_that_might_be_a_memory).is_memory()

I'm still hesitant to put anything in Memory, Processor, and friends because I don't want people to
get confused and assume it really checks for handle validity.

I would feel more comfortable doing this if you included id.h directly in realm.h which it currently is not. I use that as my guiding principles as to whether I'm using the public parts of Realm or implementation parts that are subject to change. We already have one place where I have to do this today, so actually having id.h be part of realm.h would help solve that problem as well.


Illegal identifier: ... is already defined (Annotation: ...)

Using Fast-RTPS latest upstream master. FastRTPSGen 1.9.0.
Trying to parse the following IDL file:
#ifndef __trajectory_waypoint__idl__
#define __trajectory_waypoint__idl__

typedef float trajectory_waypoint__float_array_3[3];

struct trajectory_waypoint
{
    unsigned long long timestamp;
    trajectory_waypoint__float_array_3 position;
    trajectory_waypoint__float_array_3 velocity;
    trajectory_waypoint__float_array_3 acceleration;
    float yaw;
    float yaw_speed;
    boolean point_valid;
    octet type;

}; // struct trajectory_waypoint

#pragma keylist trajectory_waypoint

#endif  // __trajectory_waypoint__idl__

Results in the following error:
/home/nuno/PX4/Firmware/build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/idl/trajectory_waypoint.idl:12:47: error: Illegal identifier: position is already defined (Annotation: position)

@LuisGP can you provide a pointer on why is it happening? Also this same IDL is include on another IDL that depends on this (nested type).
Note that this IDL was being parsed alright on version 1.9.0.
Thanks in advance for your help!

Note that another version of the same message (PascalCase'd), but with a IDL compatible with 4.2:
// generated from rosidl_adapter/resource/msg.idl.em
// with input from px4_msgs/msg/TrajectoryWaypoint.msg
// generated code does not contain a copyright notice

module px4_msgs {
  module msg {
    typedef float float__3[3];
    @verbatim (language="comment", text=" Waypoint Trajectory description. See also Mavlink TRAJECTORY msg")
    @verbatim (language="comment", text=" The topic trajectory_waypoint describe each waypoint defined in vehicle_trajectory_waypoint")
    struct TrajectoryWaypoint {
      @verbatim (language="comment", text=" time since system start (microseconds)")
      uint64 timestamp;

      float__3 position;

      float__3 velocity;

      float__3 acceleration;

      float yaw;

      float yaw_speed;

      boolean point_valid;

      uint8 type;
    };
  };
};

Is correctly parsed without the reported issue.

Hi @TSC21
The problem is that position is a builtin annotation from IDL 4.2. We added this annotations recently.
You can avoid name collision checkings adding a the prefix "_":
trajectory_waypoint__float_array_3 _position;

The resulting code will be with the member named position without the prefix.
Probably name collision shouldn't be checked against annotations, but we will discuss it internally.
Best regards.

Hi @TSC21
The problem is that position is a builtin annotation from IDL 4.2. We added this annotations recently.
You can avoid name collision checkings adding a the prefix "_":
trajectory_waypoint__float_array_3 _position;

The resulting code will be with the member named position without the prefix.
Probably name collision shouldn't be checked against annotations, but we will discuss it internally.
Best regards.

@LuisGP I would understand that if it wasn't working as well in the IDL file I presented in https://github.com/eProsima/IDL-Parser/issues/34#issuecomment-528886219. As you can see, there is:
      float__3 position;

So, the exact same naming. And it parses correctly.

So, the exact same naming. And it parses correctly. So there needs to be some inconsistency here, since I use the same parser exactly the same way on both IDL files.

Yes, it is very likely to parse successfully because of the modules. We will review how naming collision works against annotations.

So, the exact same naming. And it parses correctly. So there needs to be some inconsistency here, since I use the same parser exactly the same way on both IDL files.

Yes, it is very likely to parse successfully because of the modules. We will review how naming collision works against annotations.

So what can I do in this case? Should I wait your feedback? Changing the naming on fields will be problematic in some way.

The quickest solution is to add the underscore prefix because the generated code will work with any existing code (remember that that prefix will be ignored and removed from the final member name). In this case, only the original msg file should be modified.
I don't know when we could review the name collision, but we created the task already.

The quickest solution is to add the underscore prefix because the generated code will work with any existing code (remember that that prefix will be ignored and removed from the final member name). In this case, only the original msg file should be modified.

That's not a solution at all for our case. PX4 msg definitions have a lot of fields with naming that may collide with the annotations. It doesn't make any sense to change a full message spec, with multiple field renaming, just because of a feature that verifies annotations and looks for naming collision. I think it would rather make sense to add an option to FastRTPSGen that deactivates annotation collision check or rather review the naming collision as you said.
This is currently a blocker for us to upgrade to Fast-RTPS 1.9.


Basic repo setup and minimal working API example

The basic setup is done, now on to the refinement :-)


docker_machine driver depends on obsolete software to build

Description
Golang 'dep' is used to build the docker_machine driver. It is an archived  tool.
To Reproduce
The build of docker_machine driver requires a historic tool.
Expected behavior
Build docker_machine driver using Go's modules
Details

Affected Component: [docker_machine]
Hypervisor: [docker]
Version: [5.12]

Additional context
Not sure is this a bug or a feature. For me - it is a bug. A pull request is pending...

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

removing support for docker machine


Add a function for /coins/{id}/history coingecko endpoint

For more details look at #4

@Niraj-Kamdar I will do this ticket.


Can't see commands.

Hi, I'm trying to adapt my blog to the theme of dreams, but the code area in the markdown is full of bugs, I'm using the dark theme, switching to the white theme works well. See for yourself:

https://cafecomterminal.cf/posts/drivers-nvidia-freebsd/
Code here

Try to set the highlightjsThemeDark to improve it.
Ref: https://g1eny0ung.site/hugo-theme-dream/#/highlightjs.

Thank you :smile:. I would also like to thank you for the support, and for the creation of this beautiful theme: D.


Add Rust and TypeScript rules

Thanks for taking the time to contribute @DenisKolodin. I've merged this, but there was a previous PR (#222) that had support for Rust and had the comment defaults the other way around. I kept that version, but if that is not satisfactory please raise the discussion here.


Non-reproducible MSRVTT results - I get R@1 accuracy less than 1%

I am trying to verify/reproduce your paper's validation results without training it myself and expected 42.6% R@1 accuracy for MSR-VTT.
But when I follow the instructions from TRAIN_AND_VALIDATE.md (I only did the eval.sh, no training) I get results that are as bad as randomly guessing with about 0.1% R@1 accuracy. See my out.log here:

Eval Epoch: 0, eval Video-Text Retrieval under MSRVTT test data
2024-04-21,14:07:56 | INFO | MSRVTT sim matrix size: 1000, 1000
2024-04-21,15:02:43 | INFO | 	 Length-T: 1000, Length-V:1000
2024-04-21,15:02:47 | INFO | MSRVTT Text-to-Video:
2024-04-21,15:02:53 | INFO | 	>>>  R@1: 0.0 - R@5: 0.6 - R@10: 0.8 - Median R: 516.0 - Mean R: 518.7
2024-04-21,15:03:00 | INFO | MSRVTT Video-to-Text:
2024-04-21,15:03:03 | INFO | 	>>>  V2T$R@1: 0.1 - V2T$R@5: 0.6 - V2T$R@10: 0.8 - V2T$Median R: 491.0 - V2T$Mean R: 498.2

What I need:
Please tell me how i can select your final model for the eval script, which will lead to the same results you that you published.
What I suspect is wrong:
Well, I guess the issue is that I am trying to evaluate the untrained model here instead of your trained version.
Maybe I misunderstood the instructions, and the pretrained weights I downloaded are not the same as your fully trained model described in the paper.
I have also tried to get your final model by running my eval_msrvtt.sh script with the TRANSFORMERS_OFFLINE=0 environment variable and an empty cache_dir in hopes of downloading the fully trained version. Strangely enough this leads to slightly different results in my out.log:

2024-04-19,13:59:28 | INFO | downloading https://huggingface.co/laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K/resolve/main/tokenizer_config.json to /raid/1moritz/models/languagebind/cache_dir/tmpctkzbg3u
2024-04-19,13:59:29 | INFO | downloading https://huggingface.co/laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K/resolve/main/vocab.json to /raid/1moritz/models/languagebind/cache_dir/tmp6_ww7ayw
2024-04-19,13:59:29 | INFO | downloading https://huggingface.co/laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K/resolve/main/merges.txt to /raid/1moritz/models/languagebind/cache_dir/tmp3g7ehptb
2024-04-19,13:59:30 | INFO | downloading https://huggingface.co/laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K/resolve/main/tokenizer.json to /raid/1moritz/models/languagebind/cache_dir/tmp4h042saq
2024-04-19,13:59:31 | INFO | downloading https://huggingface.co/laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K/resolve/main/special_tokens_map.json to /raid/1moritz/models/languagebind/cache_dir/tmp0exqanes
2024-04-19,13:59:31 | INFO | {'vl_ret': [{'msrvtt': <torch.utils.data.dataloader.DataLoader object at 0x7f9015f066b0>}]})
2024-04-19,13:59:31 | INFO |
Eval Epoch: 0, eval Video-Text Retrieval under MSRVTT test data
2024-04-19,14:06:35 | INFO | MSRVTT sim matrix size: 1000, 1000
2024-04-19,14:06:35 | INFO | 	 Length-T: 1000, Length-V:1000
2024-04-19,14:06:35 | INFO | MSRVTT Text-to-Video:
2024-04-19,14:06:35 | INFO | 	>>>  R@1: 0.0 - R@5: 0.4 - R@10: 0.7 - Median R: 511.0 - Mean R: 505.5
2024-04-19,14:06:35 | INFO | MSRVTT Video-to-Text:
2024-04-19,14:06:35 | INFO | 	>>>  V2T$R@1: 0.2 - V2T$R@5: 0.6 - V2T$R@10: 0.9 - V2T$Median R: 500.0 - V2T$Mean R: 504.9

How to reproduce:
I follow TRAIN_AND_VALIDATE.md.

Download cache of pretrained weights from your google drive and specify CACHE_DIR.
Download MSRVTT from the source you mentioned in TRAIN_AND_VALIDATE.md
Change the data_root here.
Make minimal changes to eval.sh and save it as eval_msrvtt.sh. Then execute the script.

I wrote my own script for model evaluation. Unfortunatelly, FT models does not show the expected results, but Large models are ok (LanguageBind_Video, LanguageBind_Audio)
You may try run my script, it gave me around 41.50 R@1, 65.80 R@5, 75.50 R@10
from collections import defaultdict

import torch
import pandas as pd
import numpy as np
from more_itertools import chunked
from tqdm.auto import tqdm

from languagebind import LanguageBind, to_device, transform_dict, LanguageBindImageTokenizer

def compute_metrics(x):
    sx = np.sort(-x, axis=1)
    d = np.diag(-x)
    d = d[:, np.newaxis]
    ind = sx - d
    ind = np.where(ind == 0)
    ind = ind[1]
    metrics = {}
    metrics['R1'] = float(np.sum(ind == 0)) * 100 / len(ind)
    metrics['R5'] = float(np.sum(ind < 5)) * 100 / len(ind)
    metrics['R10'] = float(np.sum(ind < 10)) * 100 / len(ind)
    metrics['MR'] = np.median(ind) + 1
    metrics["MedianR"] = metrics['MR']
    metrics["MeanR"] = np.mean(ind) + 1
    # metrics["cols"] = [int(i) for i in list(ind)]
    return metrics

def main():
    device = torch.device('cuda:0')
    clip_type = {
        'video': 'LanguageBind_Video',#_FT',  # also LanguageBind_Video
        'audio': 'LanguageBind_Audio',#_FT',  # also LanguageBind_Audio
        # 'image': 'LanguageBind_Image',
        # 'thermal': 'LanguageBind_Thermal',
        # 'depth': 'LanguageBind_Depth',
    }

    model = LanguageBind(clip_type=clip_type, cache_dir='./cache_dir').to(device)
    model.eval()

    tokenizer = LanguageBindImageTokenizer.from_pretrained('lb203/LanguageBind_Image', cache_dir='./cache_dir/tokenizer_cache_dir')
    modality_transform = {c: transform_dict[c](model.modality_config[c]) for c in clip_type.keys()}

    df = pd.read_csv('../data/MSRVTT/MSRVTT_JSFUSION_test.csv')

    language_data = df['sentence'].values.tolist()
    video_data = df['video_id'].apply(lambda x: str(f'../data/MSRVTT/videos/all/{x}.mp4')).values.tolist()

    def embed(x: list[list], dtypes: list[str]) -> list:
        inputs = {}
        for data, dtype in zip(x, dtypes):
            if dtype == 'language':
                inputs['language'] = to_device(tokenizer(data, max_length=77, padding='max_length', truncation=True, return_tensors='pt'), device)
            elif dtype in ['image', 'video', 'audio', 'depth', 'thermal', 'language']:
                inputs[dtype] = to_device(modality_transform[dtype](data), device)
            else:
                raise

        with torch.no_grad():
            embeddings = model(inputs)

        embeddings = {k: v.detach().cpu().numpy() for k, v in embeddings.items()}
        return embeddings

    batch_size = 16
    results = defaultdict(lambda: np.random.rand(0, 768))
    for batch in tqdm(list(zip(
            chunked(language_data, batch_size),
            chunked(video_data, batch_size)
        ))):
        embeddings = embed(
            batch,
            dtypes=['language', 'video']
        )
        results['language'] = np.concatenate([results['language'], embeddings['language']])
        results['video'] = np.concatenate([results['video'], embeddings['video']])

    video = results['video']
    language = results['language']

    np.save('experiments/MSR-VTT_test_video_embeddings.npy', video)
    np.save('experiments/MSR-VTT_test_language_embeddings.npy', language)

    sim_matrix = torch.tensor(video @ language.T)
    print('VT', compute_metrics(sim_matrix))
    print('TV', compute_metrics(sim_matrix.T))

if __name__ == '__main__':
    main()

Hey @e1four15f thank you for your code example. In the mean time, i wrote a similar script to yours based on the inference example script from the repo. But i've noticed, that this is considerably slower than when i used the eval script. I suspect it has to do with the used batch sizes. Have you found a way to select a batch size for inference with your script?


No perf advantage for torch.compile on examples from pytorch tutorial

I am trying pytorch tutorial for torch.compile(): https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html#demonstrating-speedups adopting it for xpu backend by s/cuda/xpu. Using https://github.com/pytorch/pytorch/commit/f063027d5424c6b90588ef0e84e9c21be4ce68ae. Tutorial has performance examples demonstrating torch.compile advantage over eager mode for Nvidia. Unfortunately I don't observe similar benefits for xpu - torch.compile runs with similar speed as eager mode. Are there any optimization currently missing for XPU affecting these tutorials? This occurs for both examples in tutorial: for inference and for training.
Results (inference):
eager eval time 0: 1.468490231
eager eval time 1: 0.016250838
eager eval time 2: 0.015404673
eager eval time 3: 0.01476964
eager eval time 4: 0.014657789
eager eval time 5: 0.014552059
eager eval time 6: 0.014473312
eager eval time 7: 0.014476375
eager eval time 8: 0.014540959
eager eval time 9: 0.014519486
~~~~~~~~~~
compile eval time 0: 30.085278137
compile eval time 1: 0.016572904
compile eval time 2: 0.015478853
compile eval time 3: 0.015368476
compile eval time 4: 0.015215709
compile eval time 5: 0.015356365
compile eval time 6: 0.015324649
compile eval time 7: 0.015410529
compile eval time 8: 0.015309956
compile eval time 9: 0.015434349
~~~~~~~~~~
Traceback (most recent call last):
  File "/home/dvrogozh/examples/torch/tutorials/ex5.py", line 63, in <module>
    assert(speedup > 1)
AssertionError

Script (inference):
import time
import torch

def timed(fn):
    start =  time.time_ns()
    result = fn()
    torch.xpu.synchronize()
    return result, (time.time_ns() - start) /<PHONE_NUMBER>

# Generates random input and targets data for the model, where `b` is
# batch size.
def generate_data(b):
    return (
        torch.randn(b, 3, 128, 128).to(torch.float32).xpu(),
        torch.randint(1000, (b,)).xpu(),
    )

N_ITERS = 10

from torchvision.models import densenet121
def init_model():
    return densenet121().to(torch.float32).xpu()

model = init_model()

# Reset since we are using a different mode.
import torch._dynamo
torch._dynamo.reset()

model_opt = torch.compile(model, mode="reduce-overhead")

eager_times = []
for i in range(N_ITERS):
    inp = generate_data(16)[0]
    with torch.no_grad():
        _, eager_time = timed(lambda: model(inp))
    eager_times.append(eager_time)
    print(f"eager eval time {i}: {eager_time}")

print("~" * 10)

compile_times = []
for i in range(N_ITERS):
    inp = generate_data(16)[0]
    with torch.no_grad():
        _, compile_time = timed(lambda: model_opt(inp))
    compile_times.append(compile_time)
    print(f"compile eval time {i}: {compile_time}")
print("~" * 10)

import numpy as np
eager_med = np.median(eager_times)
compile_med = np.median(compile_times)
speedup = eager_med / compile_med
assert(speedup > 1)
print(f"(eval) eager median: {eager_med}, compile median: {compile_med}, speedup: {speedup}x")
print("~" * 10)

Note that I did def timed implementation in tutorial to measure e2e time due to https://github.com/pytorch/pytorch/issues/131840. Also note that I did try apply https://github.com/pytorch/pytorch/pull/126456 - this did not change performance results for XPU backend.

I am not getting the same results (latest llvm-target branch, LTS driver, and https://github.com/pytorch/pytorch/commit/75f64e12030dfa6f621f1ec2b207892cf8660cdd):
» python ex5.py
eager eval time 0: 1.645833594
eager eval time 1: 0.133093097
eager eval time 2: 0.133950921
eager eval time 3: 0.144729233
eager eval time 4: 0.129245809
eager eval time 5: 0.129086332
eager eval time 6: 0.123269756
eager eval time 7: 0.134237029
eager eval time 8: 0.12613883
eager eval time 9: 0.132319863
~~~~~~~~~~
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 4096 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 4096 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 4096 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 1024 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 1024 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 4096 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 8192 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 8192 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 1024 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 4096 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 8192 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 8192 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 1024 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 2048 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 4096 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 8192 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
(I): Detected 8192 spills, recompiling the kernel using large GRF mode
(I): Kernel has now 0 spills
compile eval time 0:<PHONE_NUMBER>9
compile eval time 1: 0.0182211
compile eval time 2: 0.015616999
compile eval time 3: 0.01512506
compile eval time 4: 0.015049746
compile eval time 5: 0.015074743
compile eval time 6: 0.015032466
compile eval time 7: 0.015071969
compile eval time 8: 0.015028161
compile eval time 9: 0.014950526
~~~~~~~~~~
(eval) eager median: 0.13270648000000002, compile median: 0.015073356, speedup: 8.804043372955567x

Perhaps there is some logging we can enable to find the difference? Can you try running with TORCH_LOGS="+dynamo" TORCHDYNAMO_VERBOSE=1?
I did not have time to rebuild pytorch now but I can also try that pytorch commit you used, though at first glance mine is much older.

@alexbaden : you did not reproduce my eager mode results, but your torch.compile results are similar to what I have. Your pytorch version is very old and I think eager mode simply falls back to CPU on some aten ops (silently because you are also missing https://github.com/intel/torch-xpu-ops/pull/318). You are missing at least the following torch-xpu-ops updates which implemented a lot of aten ops:
$ git log --oneline 75f64e12030dfa6f621f1ec2b207892cf8660cdd..remotes/origin/main -- third_party/xpu.txt
dfba85c26bf Update torch-xpu-ops pin (ATen XPU implementation) (#131643)
b556d315868 Update torch-xpu-ops pin (ATen XPU implementation) (#131015)
cf090e222ea Update torch-xpu-ops pin (ATen XPU implementation) (#130333)
e98587c58d3 Update torch-xpu-ops pin (ATen XPU implementation) (#129353)

Got it, that makes sense. Let me update PyTorch to latest main and try again.

See #1770 for potential fix.


Add input simulation to XRSDK profile

Overview
Adds the input simulation service to the XR SDK profile, so people can use it in-editor like they're used to.

/azp run


Font-Awesome integration, works?

This is example html generated when using the Font-Awesome images constant.

fa icon-tip is not a valid Font-Awesome reference.  The Font-Awesome naming scheme is fa fa-something.  Am I missing something with using the Font-Awesome integration?

Which version of asciidoctor are you using? Unless font-awesome has changed
their scheme again in the past year it should be fine.
On Wed, Aug 26, 2015 at 1:18 PM, James Moger<EMAIL_ADDRESS>wrote:

This is example html generated when using the Font-Awesome images constant.

fa icon-tip is not a valid Font-Awesome reference. The Font-Awesome
naming scheme is fa fa-something. Am I missing something with using the
Font-Awesome integration?
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctorj/issues/381.

--
Jason Porter
http://en.gravatar.com/lightguardjp

Hi,
From what i've seen adminition blocs use icon-something, icons using the macro icon:something[] use fa-something.
I am not familiarized in the way that Font Awesome works under the hood and I cannot answer about how the CSS styles are used. But regarding the title question font awesome integration does work.
From what I see, your example comes from an admonition block like this one:
TIP: Tips are cool, they improve readability and ensure the reader don't miss anything important.

If the issue is that the icons don't show, keep in mind you must pass the attribute "icons=font" to the converter.
I presume you are using directly AsciidoctorJ, in that case, you can use the helper class AttributesBuilder (see icons method) passing the the FONT_ICONS  constant.
If you're using another kind of integration like maven or gradle, please let us know.

We use a custom CSS class for admonition icons. That's because we have a layer of abstraction between the icon name and the Font Awesome character it maps to.
You need a small amount of CSS from the default stylesheet to make this mapping if you are not using the default stylesheet.
See https://github.com/asciidoctor/asciidoctor/blob/master/data/stylesheets/asciidoctor-default.css#L348-L354

To provide a little bit more insight, we didn't want to hard-code the choice of icon for admonition blocks from the Font Awesome palette. The CSS makes that connection.

Perfect.  Thanks @mojavelinux, the CSS was what I was missing.
Yes, @abelsromero I am using the library directly.  The FONTS constant you refer to results in the html I posted in the description.  The missing piece is the excerpt from the stylesheet.


Install NTP on most hosts

What does this PR change?
Experimentation proved we could have up to 5 minutes offset between the different machines deployed by sumaform. It's not only a problem for the test suite, but could hit the operation of SUSE Manager itself.
Corresponding issue: https://github.com/SUSE/spacewalk/issues/11934
Test suite part: uyuni-project/uyuni#2413
Implementation details:

there's a new option, use_ntp, that is true by default, and that enables you to disable this code.
the old timezone stuff moves to the new time.sls states file.
CentOS and Ubuntu are not handled because they are already correct, as far as I can see

Concerns with current code:

what happens with vanilla hosts? I guess we will get this stuff (?) as I call it from minimal.sls. Do we really want that?
probably too many use_ntp here and there, I threw them a bit at random

Thanks for taking care of this, it was much needed!

Tested to work.

It seems tests are not happy :-)

LGTM... as soon as tests are passing :-D

Yes, I'm on it. I'm starting to fear the tests are incorrect, but let's see.

Seems the tests are in fact passing and the error is about something unrelated, so LGTM.

For the record, the new travis error is:
$ coala --ci
[ERROR][15:40:56] There is a conflict in the version of a dependency you have installed and the requirements of coala. This may be resolved by creating a separate virtual environment for coala or running `pip install "importlib-metadata>=1.7.0; python_version < "3.8""`. Be aware that the latter solution might break other python packages that depend on the currently installed version.


Making content type resolution more robust

Similar as https://github.com/micronaut-projects/micronaut-graphql/issues/7 this makes the content type resolution more robust. E.g. case insensitive and ignoring content type parameters.
To do so I upgraded the Spring Boot + Spring minor versions to use equalsTypeAndSubtype introduced in Spring 5.1.4.
This also caused I had to change some integration tests using WebTestClient because of a bug in 5.1.2 which resulted in different behaviour.

I've run into this same issue whilst trying to write some integration tests using MockMvc e.g.
def request = post("/graphql")
        .content(content)
        .contentType(MediaType.APPLICATION_JSON_VALUE)

mockMvc.perform(request).andExpect(status().isOk())

The request fails because content type gets sent over as: application/json;charset=UTF-8 and doesn't match the strict check of application/json.
Is there a workaround or anything that can be done to get this fix merged in?


A Central Logging

A central logging system will help a dev to troubleshoot issues

Requires simple Tail Like Functionality without SSH to the Box

Completed. rsyslog support Done


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 10:06:29 on 2023.05.06
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 2, errors out: 0
Original problem ID: 20376
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=20376

Problem has been resolved in 9m 0s at 10:15:29 on 2023.05.06
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 20376


[zh-cn] sync kube-scheduler-config.v1beta2 kube-scheduler-config.v1beta3

content/zh-cn/docs/reference/config-api/kube-scheduler-config.v1beta3.md
content/zh-cn/docs/reference/config-api/kube-scheduler-config.v1beta2.md

you will need to change the docs/reference/_index file as well. There will be dangling links.

content/zh-cn/docs/reference/

Updated thx

/lgtm
/approve


feat: add instrumentation and profiling endpoints

What this PR does
Add instrumentation and profiling endpoints
why we need it
Special notes for your reviewer:

Coverage decreased (-2.3%) to 51.149% when pulling bae26e05ae5cee4fccef7b421b1093b2885debbf on caitong93:profiling into fcc6b2d4e13d9f94b983a03ae1183579ab9b870e on caicloud:master.

Coverage decreased (-2.2%) to 51.203% when pulling<PHONE_NUMBER>f0c7699eb94644e3694835e47d2c92 on caitong93:profiling into fcc6b2d4e13d9f94b983a03ae1183579ab9b870e on caicloud:master.

Don't modify many things in a commit.

@Jimexist updated

Coverage decreased (-2.3%) to 51.149% when pulling 1754e8bea106bee3d51f0edf5ea6d8c4f8e236bf on caitong93:profiling into fcc6b2d4e13d9f94b983a03ae1183579ab9b870e on caicloud:master.

@ddysher @kdada @Jimexist
updated, PTAL
Can I rebase now

We need an offline discussion around instrumentation.

@caitong93 please rebase/merge from master first

Can you make it next Wendesday?
On Sat, Dec 16, 2017, 11:32 PM Jiayu Liu<EMAIL_ADDRESS>wrote:

@caitong93 https://github.com/caitong93 please rebase/merge from master
first
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/caicloud/nirvana/pull/48#issuecomment-352190510, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACFwAahjIOGHEypw5M3eWztNoKfj9yYvks5tA-KcgaJpZM4QyP9R
.

@ddysher @kdada @Jimexist rebased

@kdada to review


Feat: add Velas Chain

Chain Name: Velas
Chain Id: 106
Chain Details: https://chainlist.org/chain/106
Explorer: https://evmexplorer.velas.com/
RPC: https://evmexplorer.velas.com/rpc
Deployer Wallet filled: https://evmexplorer.velas.com/address/0x05f32B3cC3888453ff71B01135B34FF8e41263F2

Done, thanks! https://evmexplorer.velas.com/address/0xcA11bde05977b3631167028862bE2a173976CA11/contracts


Typescript/Javascript Server Crashing Multiple Times on Ubuntu 20.04 LTS.

Issue Type: Bug

open material ui react javascript project.
start create-react-app server using yarn.
Wait for initialization of TS/JS intellisense server
You'll get alert of ts/js server crashed 5 times.

The issue is present on VSCode 1.59 version even with all extensions disabled (except the Remote Development Pack).
VSCode uses built-in Typescript by default, changing it to the project one doesn't have any effect on the issue.
With the insiders build everything works ok even with all workspace extensions enabled.

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

No, It isn't throwing the issue...

Ok, closing since it sounds like it was already fixed then (or an extension was causing the issue)


A11y: show computed label

From what I've recently learned, different screen readers announce different things, and computing the accessible name ourselves could get complicated. In the future, the Accessibility Object Model (AOM) would help expose a consistent API, but it looks like the AOM isn't ready yet (still behind a flag for Chrome). That said, there are basic generalities. Or maybe we could find something in how the Accessibility panel in Chrome shows the computed name for inspiration:

Nice, different readers do announce different things, so maybe this issue is a "wont fix" because it's better to surface all the labels and information (like the a11y tip does already) so the user of visbug can see the totality of potential label information instead of our attempt at a computed value.
thoughts on keeping things as is and closing this issue?
thanks for investigating!

i think we can leave this open and watch the aom repo for changes: https://github.com/WICG/aom/blob/gh-pages/caniuse.md


Error in partial mock documentation

In https://ocmock.org/reference/ you wrote:

When a method is stubbed and that method is invoked using a reference to the real object, the mock will still be able to handle the invocation. Similarly, when a method is invoked using a reference to anObject, rather than the mock, it can still be verified later.

I believe that anObject is the real object. So your sentence is repeating twice the same thing. Instead, I suspect that something such as

When a method myMethod is stubbed, both [anObject myMethod] and [partialMock myMethod] will use the mocked method, and can be verified later.

Relatedly: I’d have sens this as a PR, but I can’t figure out where the documentation is hosted, if anywhere; that may also be interesting to document

Agreed, the sentences are a little awkward, but they're not repeating the same statement. The first sentence says that when you use the real object the mock is able to "handle" the invocation. That's meant to say any stub that's set up will be used. The second sentence says that when you use the real object you can verify that the method was invoked. The confusion likely arises because "handle" can be understood to imply that you can verify later. I'll make a fix.
The documentation is hosted via GitHub pages. It is in a branch named gh-pages. That's standard GitHub functionality, but maybe not well known.


Dokumentation Ellipse

where is the error? I only did documentaton

From the build logs:
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':spotlessJavaCheck'.
> The following files had format violations:
      gdx/src/com/badlogic/gdx/math/Ellipse.java
          @@ -72,7 +72,7 @@
           \t/**·Constructs·a·new·ellipse
           \t·*·
           \t·*·@param·position·Position·vector
          -\t·*·@param·size·Size·vector*/
          +\t·*·@param·size·Size·vector·*/
           \tpublic·Ellipse·(Vector2·position,·Vector2·size)·{
           \t\tthis.x·=·position.x;
           \t\tthis.y·=·position.y;
  Run './gradlew :spotlessApply' to fix these violations.

As it says, run the spotlessApply task and it will fix this. Then you can commit the fixed files and it should be mergeable.


added filter event for gateway params

Added filter event to alter parameters passed through gateway action.

@shopwareBot

Hey @dneustadt,
what is your intent for this change?

My concrete intent is to be able to set the billing type based on the content of the basket rather than on a global setting. There is no reason to not have an access point for developers there anyway.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/PT-8761.
Please use this issue to track the state of your pull request.

thanks for your contribution @dneustadt :+1: :tada:


Filtering symbol list with spaces is weird

The symbol list filter treats filter strings with spaces as multiple individual filters that get applied sequentially
eg. Filtering for a g will match this is a string
String filtering also behaves this way

This behavior should be in the docs somewhere if it's not already

That's fair. Here's some text we can throw in https://docs.binary.ninja/getting-started.html#symbols-list
Filter search boxes on items such as strings and lists work on a fuzzy match with each space-separated word being its own search term. This is convenient for, for example, searching for the first letter in multiple words. Or searching for an offset when the offset occurs as a substring in a larger string.


Add Zip Codes Service and Tests

In this PR, we add a service that wraps the Zip Code API from
http://api.zippopotam.us/us/{zipcode}
and implement the respective tests.
Closes #16

LGTM 👍


Change our attribute mapping to fit in character limits.

The google.subject claim is limited to 127 characters, which for certain repo names (e.g. chainguard-dev/terraform-provider-chainguard) is too small.
To mitigate this, we dump the repository name being explicitly separate and instead rely on the name that prefixes the workflow_ref.
There are a handful of additional changes here:

Switch to [|] for escaping the pipes, so they are not treated as disjunctions,
Wrap the inner regex in parenthesis, so ^(...)$ matches the hole string and the | characters don't mistakenly become disjunctions,
Include the (missing!) repository prefix in our GSA audit regular expression.

I tested this by modifying the existing secret alert policies to use this and it properly filters the authorized usage:
protoPayload.authenticationInfo.principalSubject=~"^(principal://iam\.googleapis\.com/projects/12758742386/locations/global/workloadIdentityPools/github-pool/subject/chainguard-dev/enterprise-packages[|]refs/heads/main[|]chainguard-dev/enterprise-packages/\.github/workflows/(build|withdraw-packages)\.yaml)$"

note: the above isn't what we expect the result of this PR to be, but it tests the new escaping, the parenthesis, and the addition of the repo to the workflow prefix.

Once this lands in a release, we will need to stage the dependabot bump in chainguard-dev/secrets so that this doesn't trigger alerts (for too long)


Switch to docker script

Fixes travis cron jobs
Was crashing on apt-get, switch to using the docker install script

Can you squash the commits 74c54fe and 65edd9c?

done


Unable to nest styles in psuedo elements

In my app, I'd like to use pseudo-elements in more complex ways, but it seems that I'm not able to nest styles within pseudo selectors, such as hover:
merge(
  ...,

  after({
    content: '""',
    display: 'block',
    position: 'absolute',
    opacity: 0,
    ...
  }),

  hover(
    {
      fontWeight: 300,
    },

    after({
      opacity: 1,
      ...
    })
  )
),

I have also tried the following, but to no avail:
hover(
  {
    fontWeight: 300,
  },

  $('.Element', after({
    opacity: 1,
    ...
  }))
),

Am I approaching this in the wrong way? If not, do you suggest a workaround?

hover doesn't accept multiple arguments. gimme 20 mins or so and I'll publish a version where this should work.

That would be awesome, thank you!

so it's a little inefficient for me to accept multipel arguments diferctly, however, arrays should be fine. just pushed an update with the same. so this should work -
merge(
  ...,

  after({
    content: '""',
    display: 'block',
    position: 'absolute',
    opacity: 0,
    ...
  }),

  hover([ // note the array braces
    {
      fontWeight: 300,
    },

    after({
      opacity: 1,
      ...
    })
  ])
),

Ah, this works too--thank you! I'm actually using glamor via next.js, so I'll probably need to fork that so I can manually bump the glamor version it's using. I'll need to look into that.

alright, I'll close this for now, feel free to reopen if you need to.


Single quote broken execution

I found a error into styled-components lib and discovered that styled-components use stylis to proccess css and there is a bug when use a single quote, the style not is applied and broken in all places that use styled-component.
const TopContainer = styled.div`
  min-height: 175px'
`;

I think that when this error to happen throw a error.
For better explanation https://github.com/styled-components/styled-components/issues/2618

This is not a valid input so it doesn't seem to make much sense for me to handle it here. What would you expect to happen?

It is important to note that css doesn't throw errors when malformed css is encountered, and in the spirit of being fast we follow in those footsteps, stylelint is a good alternative to catch these kinds of errors.


Dev server freezes as project gets larger

Describe the bug
I've been experiencing random freezing of the dev server as my project gets larger (10+ page components each having ~1000 lines of code), the behavior is:

Browser page starts to become irresponsive and asks me to either kill the page or wait for it to respond.
Terminal showing no error logs except everything is operational, console showing no error logs, network tab looks normal.
Restarting dev server doesn't fix the problem, when restarted, opening localhost:5173 still freezes and refuses to load.
It takes a few minutes after killing dev server for me to be able to restart it and see the app loading again in a new tab
The freezing not only freezes the tab page itself, it also freezes my browser

Then I tried migrating the project to Next.js and when I was done the freezing behavior is gone.
Also tried migrating to CRA, the freezing behavior is also gone on CRA, looks like a Vite-only issue.
On the troubleshooting guide there's a similar issue for Ubuntu system about file descriptor limit, but I'm not on Ubuntu and the fix does not apply to Mac. On several github issue threads, I've seen multiple users reporting no issue on Mac.
Reproduction
Cannot reproduce because this only happens with a large project built in Vite, it does not happen with tiny projects
Steps to reproduce
Cannot consistently reproduce, it happens a few minutes after a dev server starts, no interaction with the app required to trigger the freeze.
System Info
System:
    OS: macOS 13.3.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 379.28 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.17.0 - ~/.nvm/versions/node/v18.17.0/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.6.7 - ~/.nvm/versions/node/v18.17.0/bin/npm
  Browsers:
    Chrome: 120.0.6099.109
    Edge: 120.0.2210.77
    Safari: 16.4

Used Package Manager
npm
Logs
No logs appeared when freezing happens
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Thanks for explaining how you're hitting the issue. Unfortunately, without a repro there's not much we can do here besides providing guesses and fixes. Perhaps you can trying trimming your code to isolate the culprit?


Fix gRPC instrumentation on recent kernels

In recent kernel versions, the eBPF verifier checks that a valid number of bytes (positive and not overflow) are being written/read from memory.
This PR adds additional bound checks so gRPC instrumentation now passes verification.
Tested on Ubuntu 20.02, x86, running in DigitalOcean.

Closes https://github.com/open-telemetry/opentelemetry-go-instrumentation/issues/78
Closes https://github.com/open-telemetry/opentelemetry-go-instrumentation/issues/141

@vreynolds thanks for trying it out! I tested it with the emojivoto application and sent the traces to Jaeger which looked good (correct spans + context propagation


Ensuring policy_scope is used in controller even if views fetch resources with policy_scope

Hi,
we're having a pickle with the verify_policy_scoped function, used to ensure controllers perform authorization checking even when fetching scopes.
The problem is that in our application, we need to show users a count of resources of one type where they have access to. To do this, we use policy_scope(Resource).size to fetch the size.
But, alas, there lies the issue. We can no longer rely on after_action :verify_policy_scoped, only: :index to catch our leaky index controller actions, because of policy_scope method setting a flag always when called.
We are a little baffled and would like your opinion on how to move forward and whether this could be remedied with some sort of an improvement to the policy_scope method. We thought of:

Adding a new, optional parameter to the policy_scope method which stops the @_pundit_policy_scoped instance variable from being set
Creating a new method for ensuring the model class which was loaded (say, Comment) was resolved with policy_scope in CommentsController by checking that the controller name matches the model which was loaded
Removing the after_action :verify_policy_scoped callback altogether as it brings us false sense of security

We would really like your opinion on this before moving forward with any solution. If we can come up with a solution that pleases everyone, I believe we'd be able to craft a PR for it.
Thanks for the amazing work with Pundit!

Couldn't you call verify_policy_scoped before your view renders? As in call it at the end of your controller before it renders the view?
In any case the after_filter doesn't stop the controller from doing it's thing, it just raises an exception to alert you that you let someone through. You should be finding these holes in tests not in production!

Couldn't you call verify_policy_scoped before your view renders? As in call it at the end of your controller before it renders the view?

That would be quite cumbersome, unless you have some nice way of hooking to some callback in Rails to do exactly that. We were just using the verify_policy_scoped as a quick aid in finding the controllers which didn't run proper authorizations.

You should be finding these holes in tests not in production!

That is true. It just requires too much effort to remember to test each and every one controller action if they haven't been written with TDD in the first place, and even then some code paths might slip past those tests. It should never hurt to have the last line of defense in the shape of automatic error reporting in place.

Hmm, this is tricky. I don't actually know what a good solution to this would be. I think the way you're using policy_scope is legitimate. I think the only way this is fixable is not exposing policy_scope as a helper_method, and instead having a separate helper which exposes a different policy_scope method which does not set the flag. That's somewhat cumbersome, but it's as close as we can get, I think.

I've created a PR which fixes this, but I'm not sure about this. The solution is a bit ugly, IMO.


Improve displaying tables on small devices

See @janLo's tweet.
This is probably caused by the displayed table from this news post, which is not wrapping on low resolutions.

The more important problem is, that the menu-button is not within the screen-area. you have to scroll to see that there is a menu available.

This is clearly a bug because it make the menu unaccessible for some users (at least if they do not accidentally scroll to the side).

Please rename this bug in "Menu not visible on mobile devices".


Software & Hardware Requirements should include supported desktop OSes

Link to requirements doc

I think this has been included in the docs by now.


improve geo_shape queries by using geojson crate

This requires to enable the feature geo.
The geo feature add a dependency to geojson.
I didn't remove the previous implementation of Shape so there is no API breakage, we may want to mark it deprecated or remove it, let me know if you want me to update it.
close: #129

Looks good to me, I'll give it a full test and merge it later 👍

This has now been published as 0.11.2
Thanks for the change!

Thanks


Updates copyright info

The copyright info has been updated to include the current year and the Apache License notice has been removed.

Before
After

Thank you @dg0yal! I'll make the changes you requested.
I did notice that "All rights reserved." is used on the Esri Legal webpage.


Rename rules to use inclusive language

The two rules below should be renamed to use inclusive language.
Using *-disallowed-list and *-allowed-list is also consistent with the Stylelint rules.
at-import-partial-extension-blacklist -> at-import-partial-extension-disallowed-list
at-import-partial-extension-whitelist -> at-import-partial-extension-allowed-list

There's already an open issue about it:
https://github.com/stylelint-scss/stylelint-scss/issues/571


[AutoRelease] t2-education-2022-09-03-11608(Do not merge)

https://github.com/Azure/sdk-release-request/issues/3139
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=4720

issue link:https://github.com/Azure/sdk-release-request/issues/3139


Develop

No description and looks like log files and other spurious contents of the changes, so I'm going to close this as invalid.


Individual dog mobile views

Individual Dog Mobile Views
Issue Number(s): #136
What does this PR change and why? Adds mobile views for individual dog page for mobile friendly application use. Creates mobile version of individual dog page, editing a dog, adding a log, viewing logs, adding a form, and viewing forms.
Checklist

[x] Requirements have been implemented
[x] Acceptance criteria is met
[x] Database schema docs have been updated or are not necessary
[x] Relevant reviewers (EM) have been assigned to this PR

Critical Changes

None

Related PRs
-None
How To Test
Add a dog and view its individual page on mobile. Attempt editing the dog, adding and viewing logs, and adding and viewing forms.

First of all, this looks fantastic! This ticket was massive, and you've done an awesome job taking it on! I have noticed a couple of things that need changes:

Can we move the Edit Dog / Add a Log / Add a Form button up to have a little more space from the bottom of the screen?
For the log tags, the Topic should be inline with the Severity tag and the Severity should go first. There should also be an overflow if there are more than 1 tag and the user can click on the number to see all additional tags. See the screenshot for reference:

The resolve, edit, and delete buttons should be inline above the tags
Can we make the search input field extend the width of the navbar that is right above it?
Can we make the Information / Logs / Forms tab centered on the screen instead of left-aligned?
For the edit log modal, there is extra space at the bottom of the screen. Can we keep it fixed to the bottom of the screen and then extend it upwards if there needs to be extra space?
The cancel button styling needs to be changed to the secondary colors (gray instead of white)
For the forms dropdown menu, can we have the dropdown extend the same width as the "add a form" button that comes before it? I have just now added this to the Figma, apologies for it not being there before!

I'm not sure which of these are in the scope of your ticket, so feel free to ignore what doesn't apply to you. Thanks for all of your hard work!!

I don't see the mobile view for the the Information tab and the page breaks on dogs that do not have a values for placement date


[$250] LHN - Group chat created via Split Bill is missing in LHN while offline

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

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

Open app
Disable internet connection
Tap on FAB > Request Money
Select Manual tab
Write any amount and tap on continue button
Select two attendees or more
Complete the split bill
Navigate to LHN
If split does show, navigate to another chat to see if the split disappears.

Expected Result:
Created group chat should be displayed in LHN while user offline
Actual Result:
Created group chat via Split Bill is missing in LHN when user offline. When user returned online, the group chat will appear in LHN.
Workaround:
n/a
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/bc6126b6-57ab-4b82-ac31-b174c6c2752d
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017c274d12ce7633c6
Upwork Job ID:<PHONE_NUMBER>693710336
Last Price Increase: 2024-04-06

Added to the OP cuz my repro was a lil different

If split does show, navigate to another chat to see if the split disappears.

@mananjadhav , let me know if you don't think this can be external.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Created group chat via Split Bill is missing in LHN when user offline. When user returned online, the group chat will appear in LHN.
What is the root cause of that problem?
In here, we're incorrectly setting the notificationPreference of the optimistically created group chat to HIDDEN, which makes it hide from the LHN. This is also inconsistent with the back-end which will return notificationPreference as always for the group chat when coming online.
What changes do you think we should make in order to solve the problem?

In here, do not set the notificationPreference of the optimistically created group chat to HIDDEN, so it will fallback to always
What alternative solutions did you explore? (Optional)
NA

Thanks for updating the OP. I think this can be external because it's all offline but I'll check this on Monday.

@mananjadhav , please review the proposal above.

@nkdengineer Your proposal didn't work for me. I am not sure how notification preference have an impact on the LHN.

@mallenexpensify I think we should we should this one for https://github.com/Expensify/App/issues/37519.

Thanks @mananjadhav , done.  Removed Help Wanted and bumped to weekly.

PR for what we're held on is moving along

I think we're good to close this one. The linked PR fixes this and has been deployed to production.

Quick bump @mallenexpensify

Thanks @mananjadhav , I'm able to confirm the group chat shows in LHN on Web-Chrome-Staging


Check mark icon does not update when turning text on

If you load an asset with subtitles, but subtitles aren't on by default, and then you select the text track that would be selected by default, the check mark does not move from "off".
I think this is because we are getting a texttrackvisibility event (which tells us to change the state of the captions icon in the overflow menu), but not a textchanged event (which tells us to move the checkmark).
Looking at our version archive, this problem seems to have started appearing between v2.5.9 and v2.5.10.

It could be a side-effect of the change not to send change events when the track is the same as it was before.  Since we have special rules for not streaming text until it is displayed, there could be an edge case we didn't take care of.
I can reproduce this on v2.5.10 and the current nightly, but not with my period-flattening changes.  In those changes, I reimplemented the logic for when to send change events, making StreamingEngine the authority on what's being streamed instead of Player.
So it might make sense to make a fix for this in the v2.5.x branch instead of master.

Fixed in v2.5.x


[ListItem] allowing for nestedindicator with righticonbutton presents

While working on nested lists, I have found a need for having the right nested button, plus another one (in my case it was a trash icon button for deleting that line and all the nested lines included).
I wonder if the state open / close shouldn't go into a prop, so that the user can decide whether or not to open the nested items regardless of the nested indicator ?

@gobadiah Could you add an example in the documentation, so we can check it out?

@oliviertassinari I added a right icon button in the nested list example, you can check it out.

Thanks. The render method of ths ListItem is starting to be far too big: 300 lines.
I think that it would be good to make it composable. I mean break it down into smaller bits, like what we plan to do with the TextField (https://github.com/callemall/material-ui/issues/2555)
@alitaheri @newoga Though?

@oliviertassinari Yeah I agree with you. It's gonna be a bit hard though. But the idea is great :+1: :+1: More composibility => easier customization + optimization + easier maintenance.

@oliviertassinari I'm sure you already know my answer :tada: :raised_hands: :+1:

That being said, maybe the best time to take this one is when we clean up the directories and import structure.

I wonder if the state open / close shouldn't go into a prop, so that the user can decide whether or not to open the nested items regardless of the nested indicator

I can count 3-4 issues opened regarding this. I do think it's a great idea. But we have to give it some time. We plan on making every component stateless and standard so they can be wrapped inside state handling wrappers.

It looks like this PR got slightly derailed by a discussion about composability, but having tried the example, I'm not sure we should merge this (at least not in its current form). There's something about the resulting UI that doesn't feel right.
@callemall/material-ui ?

@mbrookes I agree.

@gobadiah - thanks for the contribution :+1:, and sorry we couldn't use it this time.


Integrate CUDNN v8 frontend API for fused convolution

This PR integrates the new cuDNN Frontend API (https://github.com/NVIDIA/cudnn-frontend) for the fused convolution backends (i.e. Conv2D + BiasAdd + Relu).
cc. @nluehr

@timshen91 Can you help review this one as well since it is related to the previous cudnn v8 frontend api PR?


CF Push Fails Through Plugin

Randomly we see this error message while doing a CF Push using the plug-in with VSTS:
2018-01-31T21:25:36.2968541Z -----> Publish dotnet
2018-01-31T21:25:36.5978540Z System.IndexOutOfRangeException: Index was outside the bounds of the array.
2018-01-31T21:25:36.5988228Z at System.String.get_Chars(Int32 index)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.CommandLine.StringExtensions.HasPrefix(String arg)
2018-01-31T21:25:36.5988228Z at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source, Int32& length)
2018-01-31T21:25:36.5988228Z at System.Collections.Generic.Queue`1..ctor(IEnumerable`1 collection)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.CommandLine.Parser.Parse(IReadOnlyCollection`1 rawArgs, Boolean isProgressive)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.CommandLine.Parser.Parse(String[] args)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.ParserExtensions.ParseFrom(Parser parser, String context, String[] args)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
2018-01-31T21:25:36.6228455Z at Microsoft.DotNet.Cli.CommandLine.StringExtensions.<Lex>d__7.MoveNext()
2018-01-31T21:25:36.6228455Z at Microsoft.DotNet.Cli.Program.Main(String[] args)
2018-01-31T21:25:36.6228455Z [31;1m**ERROR**[0m Unable to run dotnet publish: exit status 1
2018-01-31T21:25:36.6228455Z Failed to compile droplet: Failed to run finalize script: exit status 12
2018-01-31T21:25:36.6228455Z Exit status 223
2018-01-31T21:25:36.6228455Z Staging failed: STG: Exited with status 223
2018-01-31T21:25:36.2968541Z -----> Publish dotnet
2018-01-31T21:25:36.5978540Z System.IndexOutOfRangeException: Index was outside the bounds of the array.
2018-01-31T21:25:36.5988228Z at System.String.get_Chars(Int32 index)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.CommandLine.StringExtensions.HasPrefix(String arg)
2018-01-31T21:25:36.5988228Z at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source, Int32& length)
2018-01-31T21:25:36.5988228Z at System.Collections.Generic.Queue`1..ctor(IEnumerable`1 collection)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.CommandLine.Parser.Parse(IReadOnlyCollection`1 rawArgs, Boolean isProgressive)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.CommandLine.Parser.Parse(String[] args)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.ParserExtensions.ParseFrom(Parser parser, String context, String[] args)
2018-01-31T21:25:36.5988228Z at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
2018-01-31T21:25:36.6228455Z at Microsoft.DotNet.Cli.CommandLine.StringExtensions.<Lex>d__7.MoveNext()
2018-01-31T21:25:36.6228455Z at Microsoft.DotNet.Cli.Program.Main(String[] args)
2018-01-31T21:25:36.6228455Z [31;1m**ERROR**[0m Unable to run dotnet publish: exit status 1
2018-01-31T21:25:36.6228455Z Failed to compile droplet: Failed to run finalize script: exit status 12
2018-01-31T21:25:36.6228455Z Exit status 223
2018-01-31T21:25:36.6228455Z Staging failed: STG: Exited with status 223

If we run a custom powershell script instead the just does a custom CF Push through the CLI it works. Would this be a bug in the plugin or some other issue? Pivotal support referred me here.
Thank you very much for your help.

The VSTS plugin is running the CF CLI. Can you paste the exact command that is failing from your log? You can search for the [command] tag. If you use the command in a script does that work consistently?
Where are you running the build? On your own agents or VSTS Hosted agents?
Thanks,
Madhuri