”DEFAULT COLLATE" of the database is fixed to "utf8".Utf8 string that uses 4 characters can not be used.

change the default character to utf8mb4.
query := fmt.Sprintf("CREATE DATABASE %s DEFAULT COLLATE utf8_general_ci", deets.Database)
↓
query := fmt.Sprintf("CREATE DATABASE %s DEFAULT COLLATE utf8mb4_general_ci", deets.Database)
https://github.com/markbates/pop/blob/f244edc2b8f1335857465ccc9ede287aad6cd753/mysql.go
For reference, when Mysql 8 is released, I would like to use utf8mb4_en_0900_as_cs.
Reference
http://mysqlserverteam.com/new-collations-in-mysql-8-0-0/
http://mysqlserverteam.com/sushi-beer-an-introduction-of-utf8-support-in-mysql-8-0/
http://mysqlserverteam.com/mysql-8-0-collations-the-devil-is-in-the-details/
http://mysqlserverteam.com/mysql-8-0-1-accent-and-case-sensitive-collations-for-utf8mb4/

A PR for this would be great.

The https://github.com/markbates/pop (v3.x) repo has been moved to https://github.com/gobuffalo/pop (v4.x). The markbates/pop repo has been put into READ-ONLY mode and will no longer be updated. You may continue to use this repository, but be aware no more updates will be made on it.
If this is issues is still relevant, please open a new issue on the repository.
For more information on this move see https://github.com/markbates/pop/issues/164
Thank you so much and I apologize in advance for any trouble this may cause you.


separate worker for db migrate

Can one of the admins verify this patch?

Not needed anymore...

Why isn't this needed anymore?  We want the migrations to be run on a separate worker.

It'll be useful if we could leverage it on flynn somehow, otherwise it'll just hang as unused Procfile entry for no apparent reason


Doesn't work on my other machine...

For some reason this nix-shell works perfectly on my laptop, but has dynamic linking-related issues on my desktop.
I'll report back when I figure this out - I would guess that I've got nix-ld setup on my laptop, which is making it work?

Have confirmed that I had serviced.nix-ld.enable = true on my laptop. I have added the missing deps, and confirmed it all works without nix-ld installed.


model test

First of all, thank you for your contribution!
How can I test your model?

Hi! I will update the repository this weekend!

does the model work?

Hi @MaxistheSpy! Yes, this version is working
I updated the model that I am using here.
@shawrby it expects the standard batch input from PyTorch-geometric:
import torch
from torch_geometric.data import Data, Batch

model = PointGNN_Normalization()

data_list = [Data(x=torch.tensor([[-1], [0], [1]], dtype=torch.float),
            edge_index=torch.tensor([[0, 1, 1, 2], [1, 0, 2, 1]], dtype=torch.long))]

batch = Batch.from_data_list(data_list)

out = model(batch)

Does that work for you?
Let me know if you encounter any problems! Note: if you just want to use the message passing layer, I released it to PyTorch-Geometric here


Microsoft.Data.SqlClient.SNI not deployed along with ClickOnce for VSTO Add-ins

Describe the bug
I've seen from previous issues there was an issue with ClickOnce not deploying the Microsoft.Data.SqlClient.SNI dll, however this was apparently fixed in version 2.0.
It appears this issue still persists with VSTO Addins.
To reproduce
Create a new Outlook VSTO add-in in VS - File > New > Project > Outlook VSTO Add-in
Install Microsoft.Data.SqlClient NuGet package, version 2.0.1, Microsoft.Data.SqlClient.SNI 2.0.1 is installed as a dependency
Publish using ClickOnce (Properties > Publish > Publish Now)
Expected behaviour
Microsoft.Data.SqlClient.SNI.x86/x64.dll.deploy should be copied to the "Application Files" directory.
Further technical details
Microsoft.Data.SqlClient version: 2.0.1
.NET target: Framework 4.8
SQL Server version: SQL Server 2019
Operating system: Windows 10
Outlook: Office 356

HI @billpeet
We'll look into this and get back to you soon!

What is status?

Just bumping this issue again, this is still occurring.


libphonenumber: document how to bring your own

I figured this out today while trying to reduce overall bundle size and thought others might find this useful. I used https://github.com/ruimarinho/google-libphonenumber already, so I wanted to use it with Cleave instead of having another copy of the library.

👍


Black screen software crash

version 1.087
platform windows 10 1903

I use VPN to connect to intranet servers, but sometimes when the VPN connection is cut down or my PC goes to sleep and restarts, the whole terminus shows black screen and has no response to any operation. In this case, I have to terminate the process in windows task manager.

+1
Happens any time my computer goes to sleep.

version 1.0.90
Windows 10 1803


Add button to wallet status "cannot connect to: (node _address)" when specific node is selected

Design: https://zpl.io/anxYPnx
When wallet cannot connect to specific node please show this status + button "change". Button leads to settings/node, so user can change the node manually

Please, put the wallet status "cannot connect to: (node _address)" on the same line on all screens.

https://zpl.io/anxYPnx

Need to fix the wallet status "cannot connect to: (node _address)" on Notifications screen.

Checked.


[PAID][$500] NewDot App scroll is 2-3x faster than other apps

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

Action Performed:

Navigate to any chat with a lot of messages
Scroll through the tread quickly
Leave your finger on the trackpad and move it a little

Expected Result:
Match the scroll behaviour with native apps, having a different speed will influence the users as they will notice it differs and there is no reason for this
Actual Result:
One trackpad of scrolling in Slack seems to scroll about 2/3 of a screen -- which feels "right".  But one trackpad of scrolling in NewDot scrolls like 3 screens, which feels like way too much.
Workaround:
unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.91-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43995119/187230792-45e6b932-1834-4269-b96f-4334f6da32ed.mp4
Expensify/Expensify Issue URL:
Issue reported by: @quinthar
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1661767055711919?thread_ts=1661331711.805659&cid=C01GTK53T8Q
View all open jobs on GitHub

I couldn't reproduce this. I'll mark it as external to get more eyes on it though.

https://www.upwork.com/jobs/~01fe8cc5249f5233cc

@luacmartins Any thoughts?
cc: @Expensify/design

I believe not!

Yes I believe we did introduce it recently with the react-native-web update.

I'm not sure that this is actually an issue. I've been testing the scroll in our platforms and they seem fine to me. I vote we close this issue. Does anybody else disagree? @AndrewGable @shawnborton since you commented here.

I mostly use NewDot desktop app with an external mouse and scroll wheel and I haven't experienced this personally. So I would lean on someone to test the scenario in which is described above (trackpad + NewDot web) to see if it feels funky there still?

IMO the scrolling speed seems fine on trackpad + web. I'm leaning towards closing this issue.

Doublechecking if we should close https://expensify.slack.com/archives/C01SKUP7QR0/p1663676075990669

I also could not really reproduce and I think we can close this issue.

This is 100% still happening.

Here's a video of scrolling in a normal website, versus scrolling in NewDot.  Note that NewDot scrolls like 2-3x faster.
https://user-images.githubusercontent.com/575186/200071831-4724cc45-dcc7-46f7-8570-9508554dbedb.mp4
https://user-images.githubusercontent.com/575186/200071795-bbc7daa4-6133-4fc5-97c3-8c2f5250905c.mp4

Ah I see what you mean @quinthar. Okay getting this back and live on Upwork.

Carlos is OOO for 2 weeks now so assigning myself as CME.
Waiting for proposals, @thomas-coldwell might be interested into this one.

https://www.upwork.com/jobs/~01fd1a95401ef8c40d new post

I have updated the Expected results a bit, in a nutshell we should just make sure the scrolling behaviour is same as on other native app/browsers. The speed and reaction should be same as in Chrome, or Safari in web/desktop. On native platforms it should be same as in WhatsApp/Messenger, they all have the same speed/behaviour, no reason for NewDot having some custom speed.

I have a proposal above.

@parasharrajat does that guarantee the scroll speed will be the same as in other apps and in browsers? It still feels like something we define/ hardcode

I think the issue might be that in native platform the scroll speed is dynamic. The more you move your finger on trackpad/display, the faster it scrolls. How do native scrollViews handle this in ReactNative 🤔

Proposal
In the current implementation, we are attaching an event listener to handle the scrolling of InvertedFlatList, because FlatList was handling the scroll direction incorrectly. It turns out that this same solution was implemented with the update of react-native-web (see the issue), so now two very similar event listeners handle the scroll events, essentially leading to twice as large scrolling distance as intended.
My solution is to factor out the current "hacked" implementation, and just use simple inverted FlatLists, as the underlying problem was fixed.
Here you can see scrolling one trackpad-height on both sides, with the right one using my implementation.

@dbond09 Solution looks good to me.
C+ Reviewed
🎀 👀 🎀
@mountiny Please have a look at let me know your thoughts too, thanks!

@dbond09 @Santhosh-Sellavel Will this solution also implement a native iOS/Android scrolling behaviour? That means speed and also the dynamic aspect of it?
What needs to be done so the invertedFlatList can behave like that

@mountiny
I believe native platforms are working correctly, if not we have to look for other solutions.

What needs to be done so the invertedFlatList can behave like that

We need to remove the invertedWheelEvent listener here!
https://github.com/Expensify/App/blob/91acada3b65af8c465febe6853bcc7d37995f0f4/src/components/InvertedFlatList/index.js#L43-L46

How will this proposal handle inverted scrolling?

It is available with the linked issue it was closed with this commit https://github.com/necolas/react-native-web/commit/7ec2489c78f9734bae5bcfdc514b0c91621a6300

@Santhosh-Sellavel You got it correctly.

@Santhosh-Sellavel @dbond09 Thanks!
Please @dbond09 raise the PR and lets get to testing. I think this will improve the experience quite a bit!

@mountiny The PR is almost ready. Please accept my proposal on Upwork.

cc @laurenreidexpensify
@dbond09 the payment will be scheduled one week after the deployment to production, just so you are aware of the process everyone follows here. The guidelines are here https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md

@dbond09 do you have a link to the draft PR? Thanks!

@Santhosh-Sellavel Can you by any chance find the PR which updated the package but did not remove the custom handler? thank you, I would look tomorrow

Checking where to put this in testrail https://expensify.slack.com/archives/C01SKUP7QR0/p1668611021810339

Seems much better! Thanks for the fix.

+1 it is way nicer on mobile especially but web is great too

@mountiny @Santhosh-Sellavel is this the PR that introduced the regression https://github.com/Expensify/App/pull/11035?

Asking about TestRail here

Payment issued, let's close out the final steps in the checklist

@laurenreidexpensify This PR Qualifies for an additional bonus $250 for both!

@mountiny @Santhosh-Sellavel is this the PR that introduced the regression #11035?

No that's not the PR.

I believe these are the PRs
https://github.com/Expensify/react-native-web/pull/6 - Which included a fix to our fork
https://github.com/Expensify/App/pull/10434 - Fork to App.

@laurenreidexpensify This PR Qualifies for an additional bonus $250 for both!

bump again!

@Santhosh-Sellavel Asked internally

Hey @Santhosh-Sellavel - payment of $750 was issued in Upwork  6 days ago, which was $500 for the job and the $250 bonus. Please recheck your account and let me know if this did not reflect on Upwork. Thanks

Thanks @Santhosh-Sellavel and @laurenreidexpensify
I think in this case the offending PR is fine given it is RN update, that is very hard to catch every possible issue.


Would like an analytics event every time a user hits "please file this" errors in Framework

Ideally we'd also report the (anonymized) crash traces, but if that's not easy to do, at least we can report an analytics event so we know the frequency.
This came up in discussing with @timsneath, noting that he often sees these "something went wrong deep in the framework, please file a bug" messages.
Thoughts @gspencergoog @Hixie?

FYI @InMatrix who I believe is compiling a list of analytics events to add.

You mean like the tool itself would monitor the logs and report exceptions that it sees?
What kind of information would you want to include? There's a lot of PII in error messages and stack traces.

@Hixie I'd start by just simply sending an event that one of these did happen (no PII, or stack traces).  That would help us understand the frequency of this "you should never see this" failure mode. :)

I would imagine these happen all the time. They're not "you should never see this", they're "there's a bug in the framework", and we know of thousands of such bugs.

If the frequency of users encountering such an error is not useful to you @Hixie feel free to close. :)

What is our impression of false-positive rate of this error message? For example, if the user did file a bug, how likely it will lead to a patch to the framework?

in all cases we should change something, at a minimum (the "false positive" case), the logic to detect when it's a "real bug".

(in cases where it's a "false positive", we should also detect the error earlier and give better advice)

I was just trying to understand whether showing this message has led to useful reports of bugs. It could be less useful than we want it to be, due to either false positives or the user's lack of motivation to file a bug. If it hasn't led to useful bug reports, we should consider rephrase it or drop this message.

oh we definitely get reports from it, yeah. just search for [provide substantially more information]:
https://github.com/flutter/flutter/issues?utf8=✓&q=is%3Aissue+is%3Aopen+"provide+substantially+more+information"

Other kinds of errors we could report too:
https://twitter.com/becomingajock/status/1110958898213576705


go_1_21/buildGo121Module: remove

Description of changes
Go 1.21 is EOL since 5 weeks and should be removed for the next release.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review run on x86_64-linux 1

1 package blacklisted:

nixos-install-tools

2 packages failed to build:

bazel-watcher
zincsearch

6 packages built:

datadog-agent
datadog-process-agent
nomad_1_6
sensu-go-agent
sensu-go-backend
sensu-go-cli

@kalbasit for bazel-watcher
@dit7ya for zincsearch

@malt3 sent a patch to build bazel-watcher with buildGoModule instead with the upstream bazel files, removing any issues with upgrading Go. Thanks!

Marking zincsearch broken for now as maintainer hasn't responded yet and I can't figure it out, opened an upstream issue.

Result of nixpkgs-review pr 344622 run on x86_64-linux 1

1 package marked as broken and skipped:

zincsearch

1 package blacklisted:

nixos-install-tools

6 packages built:

bazel-watcher
datadog-agent
datadog-process-agent
sensu-go-agent
sensu-go-backend
sensu-go-cli

Heads up that this PR breaks datadog-agent as re-introduces the issue in https://github.com/NixOS/nixpkgs/issues/299469

If we don't find a fix for that we should maybe mark datadog-agent as broken?


EPIC: Align current architecture of OCM controllers / MPAS with new CNLM

Description
Right now we have an overlap in functionality and processes our LM Tools offer and cover, OCM Controllers, MPAS (aka Deplomat) and Landscaper. All of them need to fit in the planned idea for a cloud-native lifecycle management (CNLM):

Required tasks and issues:

[ ] Check and update documentation (in code and external) for OCM controllers and MPAS to enable others to understand concept, architecture and implementation
[ ] Review architecture of OCM controllers / MPAS / Landscaper with the idea of using existing resources and controllers to build the new CNLM setup
[ ] Create proposal for new design of resources and controllers for new CNLM setup

Related to #222

@fabianburth I guess we can close this as this is part of the ADRs for controllers / meta controller, or?


[BUG] Hostname Fix

Has this bug been raised before?

[X] I have checked "open" AND "closed" issues and this is not a duplicate

Description
Keeping the hostname as localhost explicitly breaks the deployment API calls.
Remove the hostnames and keep the routes only.
https://github.com/sristy17/MindDrive/blob/accc2bd3bd2c8bf320a7c8e58a2348a8375399c2/public/js/auth.js#L23
https://github.com/sristy17/MindDrive/blob/accc2bd3bd2c8bf320a7c8e58a2348a8375399c2/public/js/auth.js#L67
Screenshots
No response
Do you want to work on this issue?
No
If "yes" to above, please explain how you would technically implement this
No response

@pooranjoyb please assign this to me

Please raise PRs for the ones assigned.

Already  raised you can check


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 320

Questions ?
Please refer to the Backport tool documentation


Fix checkboxes input id

Regular checkboxes labels are not clickable because of wrong input id.
This modif should fix it.

Hi @QuentinJouet,
Thank you for the PR. Can you please provide more information on how to reproduce the issue? which UI ( Material, bootstrap, ...) which browser? Thank you

Hi @hamzahamidi ,
Yes, on the demo at https://hamidihamza.com/Angular6-json-schema-form/ , if you provide this json :
{   "schema": {     "type": "object",     "properties": {       "test": {         "title": "test",         "type": "array",         "items": {           "type": "string"         }       }     }   },   "layout": [     {          "key": "test",         "type": "checkboxes",         "titleMap": [             { "name": "name1", "value": "value1" },             { "name": "name2", "value": "value2" }          ]     }   ],   "data": {     "test": ["value1"]   } }
with bootstrap4 UI on chrome you should see the problem.

Apparently this was this is intended. by default, browsers don't provide a pointer cursor for checkboxes and radio buttons see https://github.com/twbs/bootstrap/issues/28237

Hello @hamzahamidi , yes there is no cursor pointer, but we still should be able to click on labels instead of the checkbox, this has nothing to do with bootstrap, just basic html.
To make it work, The checkbox input should have the same id as the label's "for" attribute. If you inspect the example I gave you, you'll see that the id of the checkbox is "undefined/value1", whereas it should be "control77/value1" for example.


chore(proc): modify renovate configuration

Description
Move configuration under .github/ and upgrade format to json5. aggregate ALL Java dependencies together.
Schedule renovate PRs to be weekly before monday.
Add configs for docker and terraform (just in case) prevent automatic major version upgrades.
Keep special handling for Spring Boot and Micronaut. disable upgrades for Scala and Spark SQL.
Keep previous version of config as renovate.json.legacy
Fixes #8896

In order for these to be picked up, we'll need to delete the existing renovate.json, as it has a higher precedence than the json5 equivalent.
Git history preserves previous contents of renovate.json, so I dont think we need to keep the legacy file around.

I removed "old" file that was initially kept with .legacy extension. I added the permlink to the legacy configuration in the comments of .json5 file


Don't run the self-hosted workflows when not available

It is rather annoying because I always have self-hosted workflows which do not complete on my personal github account.
This tries to make them skipped unless the CI workflow is expected to use "self-hosted" runners.

This pull request is ready to merge

Merged to all branches.  Thanks!


store: Postings fetching optimizations

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

This PR implements has some postings fetching optimizations:

"ALL" postings are only fetched if they are required, and then they are fetched only once. Before this PR, "ALL" postings could have been fetched multiple times.
label =~ ".*" is now shortcut to return ALL postings
label !~ ".*" is now shortcut to return NO results :)

To implement this, postingGroup now only holds add and remove keys (labels). Postings for "Add" keys in each individual group are merged together and intersected between groups, and postings for "remove" keys are then subtracted from "added" ones. This all now happens in ExpandedPostings. postingGroup also has boolean flag addAll, which indicates whether "ALL" postings should be added or not. ExpandedPostings will only add ALL postings, if there are no other "added" postings – if there are, ALL can be skipped.
fetchPostings now gets the keys to fetch, and returns postings in the same order. ExpandedPostings relies on this behaviour: first it builds the keys, then it iterates the groups and keys in the same order and uses subsequent postings from fetchPostings. I added comments to the code that explain it. Reason to do it this way is so that fetchPostings doesn't need to deal with groups and add/remove keys in a special way. All this logic is in ExpandedPostings only.
I didn't add any new tests for this... it seems that existing test cases cover this pretty well (and found some bugs in my code).
Benchmarks...  It explains some parts in more details. Sharing with Marco's approval:
M: Can't we just deduplicate postingGroups after the list has been created in ExpandedPostings()?
P: That adds too many extra allocations compared to what's in master now. To deduplicate we would need to put all of them into some map, since keys are not sorted.
There can be a lot of those keys (think tens of thousands). Plus we're comparing / hashing on a label – so using more cpu and memory.
In the end it helps you to deduplicate keys, but I don't think there is too many duplicates keys in general. (except for ALL keys when using negations)
M: If you want you can just deduplicate the "ALL" postings, for which you don't need to keep a map but just a boolean flag that you set to true once encountered.
That could be a 3 lines changes instead of the whole PR. Am I missing anything?
P: This PR also eliminates ALL postings in many cases. For that, you need to go deeper into groups -- on master, groups are stored in a way that make it difficult to see what operation they are doing.
That's why in this PR groups are split into add/remove keys. We only need ALL postings, if there are no "add" keys, but we're still doing negation = remove keys.
M: Could you make you an example of a query that requires ALL postings in master but doesn't in your PR, please?
P: For example: n="1", i!="2". Negation would trigger fetching ALL, and then remove ones that don't match "2". But thanks to n="1", we don't need to fetch ALL, since ALL would just intersect with postings for n="1" -- which returns only those postings for n="1".
Another example: n="1",i=~".*",j="foo" -- i=~".*"`` now returns ALL without doing anything else, but thanks to n="1"matcher, ALL is eliminated. (also thanks toj="foo"`)
M: In n="1",i=~".*",j="foo" example, cannot i=~".*" be eliminated completely?
P: Only if there are other matchers. If there are no other matchers, it needs to return "ALL" postings.
M: Not sure about this. Prometheus, for example, fails if you try to run a query only with a .*  matcher. Thanos may do the same.
P: That is true, but that is done on much higher level. we cannot do that optimization here as it would break other stuff.
For example there is code that deletes stuff from blocks using similar query. In other words, removing it completely would change semantics of ExpandedPostings,
because right now it works just fine with single i=~".*" matcher, it just returns everything.
M: So to deduplicate you would need to put all of them into some map, since keys are not sorted.

There can be a lot of those keys (think tens of thousands).

True, but we need to deduplicate groups so the problem is just generating a unique identifier of the group in order to be able to later compare it with another group (we have very few groups). Maybe we can find a smart solution here (thinking...).
P: I don't think that it tries to do too many things at once though. Perhaps those regex optimisations could be done separately, but they make most sense only after with "ALL" elimination in place.
M: The problem I found is that postingGroups may contain the "all postings" multiple times. Same may happen with other postings, so the idea would be deduplicating posting groups (let's ignore the further optimisations you did). Do you agree on this?
P: I don't think you will find many queries that would produce duplicate postingGroups
M: Well that's the query that triggered the whole work, so we had a case.
P: What was that query again?
M: sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!="unknown",controller_class=~".*",namespace=~".*"}[30s])) by (controller_class)
In general, any query with at least two negations have multiple "ALL" postings groups, right?
P: In this case, you will have two postingGroups with single "ALL" key, and "merge" function in it.
Those functions are another problem -- you cannot compare groups completely, including the function. since functions are not comparable in Go.
controller_class=~".*" and namespace=~".*" -- here we have two matchers producing same group.
But if we had eg. namespace!="aaa", it would also produce group fetching ALL postings, but it would be more like ALL - {postings for label values that are not "aaa"} + "allWithout" function.
My point it, query like ...,controller_class=~".*",namespace!="aaa",... would not get optimized via duplicate posting groups only


Update aspnetmvc.md

Acrolinx always advises removing future tense where possible (you'll --> you)
Per style guide top 10:

Shorter is always better
Be brief

I removed summary - we rarely allow them in asp.net. If you have good info in the summary (which you did and I moved to the intro) - why do you wait until the summary? If not, why have it.

@tdykstra  can you make the changes you suggest. I just did a quick pass on the doc and I know there are some inconsistencies.

@tdykstra  fixed most of them. Feel free to make changes on the others.

I'll be migrating this to the ASP.NET repo. See https://github.com/aspnet/Docs/issues/2679
@mairaw  what's left before we merge? Bill signed off.

@Rick-Anderson, @BillWagner was going to check with @spboyer on the VS requirement for this. As @tdykstra pointed out in the review, we don't call VS in the prereqs, but then the steps use VS.

My understanding is that the instructions only work in VS 2015. So removed the (or higher).
Good to merge @BillWagner?
Also, after we merge, we immediately have a new PR to redirect?

@mairaw Let's merge. The Docker install instructions change in VS 2017, as do the publish commands. So, the 'or higher' being removed is good.

That's what I thought @BillWagner. Merging this then.


depth prepass stuff not being imported

Bevy version
0.13.2
AdapterInfo { name: "Radeon RX550/550 Series", vendor: 4098, device: 27039, device_type: DiscreteGpu, driver: "AMD proprietary driver", driver_info: "24.3.1 (AMD proprietary shader compiler)", backend: Vulkan }

What you did
i essentially just tried to run a simplified version of the shader prepass example (just the plane and quad with no settings) to try and figure out a bug i was having using depth prepass (the one i'm reporting now)
main.rs
use bevy::{
    core_pipeline::prepass::DepthPrepass,
    pbr::{NotShadowCaster, PbrPlugin},
    prelude::*,
    reflect::TypePath,
    render::render_resource::{AsBindGroup, ShaderRef},
};

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins.set(PbrPlugin {
                // The prepass is enabled by default on the StandardMaterial,
                // but you can disable it if you need to.
                //
                // prepass_enabled: false,
                ..default()
            }),
            MaterialPlugin::<PrepassOutputMaterial> {
                // This material only needs to read the prepass textures,
                // but the meshes using it should not contribute to the prepass render, so we can disable it.
                prepass_enabled: false,
                ..default()
            },
        ))
        .add_systems(Startup, setup)
        // Disabling MSAA for maximum compatibility. Shader prepass with MSAA needs GPU capability MULTISAMPLED_SHADING
        .insert_resource(Msaa::Off)
        .run();
}

/// set up a simple 3D scene
fn setup(
    mut commands: Commands,
    mut meshes: ResMut<Assets<Mesh>>,
    mut std_materials: ResMut<Assets<StandardMaterial>>,
    mut depth_materials: ResMut<Assets<PrepassOutputMaterial>>,
) {
    commands.spawn((
        Camera3dBundle {
            transform: Transform::from_xyz(-2.0, 3., 5.0).looking_at(Vec3::ZERO, Vec3::Y),
            ..default()
        },
        DepthPrepass,
    ));
    commands.spawn(PbrBundle {
        mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
        material: std_materials.add(Color::rgb(0.3, 0.5, 0.3)),
        ..default()
    });
    // quad to filter stuff through
    commands.spawn((
        MaterialMeshBundle {
            mesh: meshes.add(Rectangle::new(20.0, 20.0)),
            material: depth_materials.add(PrepassOutputMaterial {}),
            transform: Transform::from_xyz(-0.75, 1.25, 3.0)
                .looking_at(Vec3::new(2.0, -2.5, -5.0), Vec3::Y),
            ..default()
        },
        NotShadowCaster,
    ));
}

// This shader simply loads the prepass texture and outputs it directly
#[derive(Asset, TypePath, AsBindGroup, Debug, Clone)]
struct PrepassOutputMaterial {}

impl Material for PrepassOutputMaterial {
    fn fragment_shader() -> ShaderRef {
        "shaders/show_prepass.wgsl".into()
    }

    // This needs to be transparent in order to show the scene behind the mesh
    fn alpha_mode(&self) -> AlphaMode {
        AlphaMode::Blend
    }
}

show_prepass.wgsl
#import bevy_pbr::mesh_types
#import bevy_pbr::mesh_view_bindings
#import bevy_pbr::prepass_utils

@fragment
fn fragment(
    @builtin(position) frag_coord: vec4<f32>,
    @builtin(sample_index) sample_index: u32,
    #import bevy_pbr::mesh_vertex_output
) -> @location(0) vec4<f32> {
    let depth = prepass_depth(frag_coord, sample_index);
    return vec4(depth, depth, depth, 1.0);
}

What went wrong
when compiling the shader this error is printed to the console
2024-06-02T17:26:27.944953Z ERROR bevy_render::render_resource::pipeline_cache: failed to process shader:
error: no definition in scope for identifier: 'prepass_depth'
   ┌─ shaders/shader_prepass.wgsl:11:17
   │
11 │     let depth = prepass_depth(frag_coord, sample_index);
   │                 ^^^^^^^^^^^^^ unknown identifier
   │
   = no definition in scope for identifier: 'prepass_depth'

and so no depth colouring was applied
Additional information
This is on Windows 10
trying to get depth prepass working to make a material which displays differently through walls and dithers when close to the camera
i posted a discussion here at #13657 about this to see if i was being dumb but @IceSentry wasn't sure what could be wrong
the first time i compiled i wasn't using all default features like the example but the same results occur for me compiling with default features too
the error isn't from any change in the example code on master which i copied it from since the only commits to it have been to change text size in the ui

@bananaturtlesandwich If you look in ssr.wgsl, there is prepass_utils imported from bevy_pbr like in your example, and in other place prepass_utils::prepass_depth is used instead of just prepass_depth in your example. Can you try import bevy_pbr::prepass_utils::prepass_depth or use prepass_utils::prepass_depth?

oh yeah that's on me although it's now showing a different error
2024-06-05T09:43:06.371985Z ERROR bevy_render::render_resource::pipeline_cache: failed to process shader:
error: failed to build a valid final module: Entry point fragment at Fragment is invalid
 = Argument 1 varying error
 = Capability Capabilities(MULTISAMPLED_SHADING) is not supported

this is probably a graphics card issue?

should this be happening even if Msaa is disabled like it is?

nevermind i'm an idiot sample index is 0 if not supported

didn't click that sample index meant multisampling

@bugsweeper nice catch on that one, I completely missed the import being incorrect 😅.
@bananaturtlesandwich I think the multisampled_shading feature will be enabled by default in 0.14, but yeah, just use 0 instead of sample_index for now.


sliding window self-attention cell

Description
The AttentionCell for the sliding window self-attention, including the support for multi-headed dilation and the causal attention mode, described in Longformer: The Long-Document Transformer.
cc @sxjscience @szhengac
Checklist
Essentials

[ ] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

cc @dmlc/gluon-nlp-team

Waiting for https://github.com/apache/incubator-mxnet/pull/19387 to be merged.

Is it possible for us to revise the interface to be similar to https://www.deepspeed.ai/tutorials/sparse-attention/?

benchmark script

import numpy as np
from numpy.testing import assert_allclose
import mxnet as mx
from gluonnlp.attention_cell import masked_softmax, MultiHeadAttentionCell, MultiHeadSlidingWindowAttentionCell
import time

def test_multi_head_sliding_window_dot_attention_cell():

    def gen_sliding_window_mask_full(batch_size, seq_length, w, symmetric, d):
        """Generate sliding_window attention mask for the full attention matrix ( seq_len^2 ).
        """
        mask_np = np.zeros((batch_size, seq_length, seq_length))
        for i in range(seq_length):
            end = (i + 1 + w * d) if symmetric else (i + 1)
            for j in range(i - w * d, end, d):
                if j >= 0 and j < seq_length:
                    mask_np[:, i, j] = 1
        return mask_np

    def test_selfatten(batch_size, seq_length, num_heads, num_head_units, w, symmetric, d):
        attn_cell = MultiHeadAttentionCell()
        # Generate the data
        ctx = mx.gpu(0)
        #ctx = mx.cpu()
        query = np.random.normal(0, 1, (batch_size, seq_length, num_heads, num_head_units))
        key = np.random.normal(0, 1, (batch_size, seq_length, num_heads, num_head_units))
        value = np.random.normal(0, 1, (batch_size, seq_length, num_heads, num_head_units))
        mask = gen_sliding_window_mask_full(batch_size, seq_length, w, symmetric, d)
        mask = mx.np.array(mask, ctx=ctx, dtype=np.float32)

        query = mx.np.array(query, ctx=ctx, dtype=np.float32)
        key = mx.np.array(key, ctx=ctx, dtype=np.float32)
        value = mx.np.array(value, ctx=ctx, dtype=np.float32)

        query.attach_grad()
        key.attach_grad()
        value.attach_grad()

        mx.npx.waitall()
        tic = time.time()

        with mx.autograd.record():
            out, _ = attn_cell(query, key, value, mask)
            out.backward()

        mx.npx.waitall()
        toc = time.time()

        return (toc - tic)

    def test_swatten(batch_size, seq_length, num_heads, num_head_units, w, symmetric, d):
        sw_attn_cell = MultiHeadSlidingWindowAttentionCell(w, symmetric)
        # Generate the data
        ctx = mx.gpu(0)
        #ctx = mx.cpu()
        query = np.random.normal(0, 1, (batch_size, seq_length, num_heads, num_head_units))
        key = np.random.normal(0, 1, (batch_size, seq_length, num_heads, num_head_units))
        value = np.random.normal(0, 1, (batch_size, seq_length, num_heads, num_head_units))

        query = mx.np.array(query, ctx=ctx, dtype=np.float32)
        key = mx.np.array(key, ctx=ctx, dtype=np.float32)
        value = mx.np.array(value, ctx=ctx, dtype=np.float32)

        query.attach_grad()
        key.attach_grad()
        value.attach_grad()

        dilation = mx.np.zeros((num_heads,))
        dilation[:] = d
        dilation = mx.np.array(dilation, ctx=ctx, dtype=np.int32)
        valid_length = np.zeros((batch_size,))
        valid_length[:] = seq_length
        valid_length = mx.np.array(valid_length, ctx=ctx, dtype=np.int32)

        mx.npx.waitall()
        tic = time.time()

        with mx.autograd.record():
            sw_out, _ = sw_attn_cell(query, key, value, dilation, valid_length)
            sw_out.backward()

        mx.npx.waitall()
        toc = time.time()

        return (toc - tic)

    num_repeat = 5

    for seq_length in [512, 1024, 2048, 4096]:
        dur = 0.
        w = seq_length//8
        for i in range(num_repeat):
            tmp_dur = test_selfatten(1, seq_length, 12, 64, w, True, 1)
            if i > 1:
                dur += tmp_dur
        dur /= 3.
        print('seq_length={}, w={}, time={:.3f}'.format(seq_length, w, dur))

        dur = 0.
        for i in range(num_repeat):
            tmp_dur = test_swatten(1, seq_length, 12, 64, w, True, 1)
            if i > 1:
                dur += tmp_dur
        dur /= 3.
        print('sliding-window-attention seq_length={}, w={}, time={:.3f}'.format(seq_length, w, dur))

test_multi_head_sliding_window_dot_attention_cell()

Is there any update on this PR?

@sxjscience it seems the error AttributeError: module 'mxnet.ndarray.numpy_extension' has no attribute 'sldwin_atten_score' is due to that the mxnet version is not the latest.

Yes, we can merge the master so that we will retrigger the test.

Do we have update on this? @ZiyueHuang would you have time to rebase the code?

Do we have update on this? @ZiyueHuang would you have time to rebase the code?


Permission key missing

I have the following permissions defined, however, the ReadPermission does not appear in the Role Permission dialog. Any help would be appreciated.
[ConnectionKey("Default"), DisplayName("Department"), InstanceName("department"), TwoLevelCached]
[ReadPermission(Administration.PermissionKeys.Department.View)]
[ModifyPermission(Administration.PermissionKeys.Department.Modify)]
[InsertPermission(Administration.PermissionKeys.Department.Insert)]
[DeletePermission(Administration.PermissionKeys.Department.Delete)]
[LookupScript("LCBudgets.Department")]
public sealed class DepartmentRow : Row, IIdRow, INameRow

.....

What is that constant string content

Please paste this class content: Administration.PermissionKeys.Department

namespace LCBudgets.Administration
{
    public class PermissionKeys
    {
        public const string Security = "Administration:Security";
        public const string Translation = "Administration:Translation";

        public class AccountCategory
        {
            public const string Delete = "AccountCategory:Delete";
            public const string Insert = "AccountCategory:Insert";
            public const string Modify = "AccountCategory:Modify";
            public const string View = "AccountCategory:View";
        }
        public class AppropriationBudget
        {
            public const string Delete = "AppropriationBudget:Delete";
            public const string Insert = "AppropriationBudget:Insert";
            public const string Modify = "AppropriationBudget:Modify";
            public const string View = "AppropriationBudget:View";
            public const string Finalize = "AppropriationBudget:Finalize";
            public const string Reopen = "AppropriationBudget:Reopen";
            public const string Export = "AppropriationBudget:Export";
        }
        public class Constant
        {
            public const string Delete = "Constant:Delete";
            public const string Insert = "Constant:Insert";
            public const string Modify = "Constant:Modify";
            public const string View = "Constant:View";
        }
        public class Department
        {
            public const string Delete = "Department:Delete";
            public const string Insert = "Department:Insert";
            public const string Modify = "Department:Modify";
            public const string View = "Department:View";
        }
        public class Fund
        {
            public const string Delete = "Fund:Delete";
            public const string Insert = "Fund:Insert";
            public const string Modify = "Fund:Modify";
            public const string View = "Fund:View";
        }
        public class PositionBudget
        {
            public const string Delete = "PositionBudget:Delete";
            public const string Insert = "PositionBudget:Insert";
            public const string Modify = "PositionBudget:Modify";
            public const string View = "PositionBudget:View";
            public const string Finalize = "PositionBudget:Finalize";
            public const string Reopen = "PositionBudget:Reopen";
            public const string Export = "PositionBudget:Export";
        }

    }
}

Sorry can't reproduce this, tried it in several browsers. It looks like your project doesn't build, if you used that View permission later.
Type Q.getRemoteData('Administration.PermissionKeys') in console and check if that permission is visible there.

I get this:
Q.getRemoteData('Administration.PermissionKeys')
Object { Entities: Array[26], TotalCount: 0, Skip: 0, Take: 0 }
Q.getRemoteData('Administration.PermissionKeys.Department')
[object Object]
Q.getRemoteData('Administration.PermissionKeys.Department.View')
[object Object]

Figured out why (see code below). My app uses the multi-tenancy concept (tenant -> department). I didn't think that this would take a way the permission for the super-user.
        public ListResponse<string> ListPermissionKeys()
        {
            return LocalCache.Get("Administration:PermissionKeys", TimeSpan.Zero, () =>
            {
                var result = new HashSet<string>(StringComparer.OrdinalIgnoreCase);

                foreach (var assembly in ExtensibilityHelper.SelfAssemblies)
                {
                    foreach (var attr in assembly.GetCustomAttributes<PermissionAttributeBase>())
                        if (!attr.Permission.IsEmptyOrNull())
                            result.Add(attr.Permission);

                    foreach (var type in assembly.GetTypes())
                    {
                        ProcessAttributes<PermissionAttributeBase>(result, type, x => x.Permission);
                        ProcessAttributes<ServiceAuthorizeAttribute>(result, type, x => x.Permission);

                        foreach (var member in type.GetMethods(BindingFlags.Instance | BindingFlags.Public))
                        {
                            ProcessAttributes<PermissionAttributeBase>(result, member, x => x.Permission);
                            ProcessAttributes<ServiceAuthorizeAttribute>(result, member, x => x.Permission);
                        }
                    }
                }

                **result.Remove(Administration.PermissionKeys.Department.View);**
                result.Remove("*");
                result.Remove("?");

                return new ListResponse<string>
                {
                    Entities = new List<string>(result)
                };
            });
        }

This wouldn't take permission but hide it from list. It is shared script among all users.


Add Setter for vector Encoding in FieldType

Description
Add Setter method for vectorEncoding in FieldType to be able to set it with other vectorEncodings like vectorEncoding.BYTE instead of the default vectorEncoding.FLOAT32. Adding this method will help to avoid overriding IndexableFieldType for just to update the value of vectorEncoding.

Could you use FieldType#setVectorAttributes?

Could you use FieldType#setVectorAttributes?

By default, it will initialize vectorDimension as 0. But, using setVectorAttributes we can't set it as 0 which fails because of a validation check.

@naveentatikonda why do you want the ability to set the encoding with a dimension of 0?

Thanks @naveentatikonda!
It seems strange to set vector dimensions to 0, and it looks like FieldType.setVectorAttribute can otherwise be used to set the vectorEncoding.  I'll close this now ... @naveentatikonda if you feel strongly about the 0 dimension case, please reopen?


Question on the function of the normalized linear layer

Hi, I just read the released code and found the implementation of the normalized linear layer and the scale factor.  I wonder if there exists a special purpose for this design, like training stability?

Hi @PeiqinZhuang,
Thanks for your question. We use normalized linear and scaling for simplified calculation of the margin in LDAM component of our framework. The normalized linear layer is first proposed by LDAM. Since we mainly demonstrated our methods with it, we use the normalized linear in LDAM. If you use methods such as decouple (cRT, t-norm, LWS), you don't need to use normalized linear layer. We refer you to LDAM code for more details: https://github.com/kaidic/LDAM-DRW/blob/master/cifar_train.py#L106.


Fix compile error for ghc-7.10.2

@qzchenwl Thanks for the patch.
It seems like there is a type mismatch due to your edits. The build failure is not due to travis issues (unlike other build issues with IHaskell these days).

Travis uses ghc-7.10.1 which is a bit too old.
The type of packageKeyPackageIdString is DynFlags -> PackageKey -> Maybe String insteadof DynFlags -> PackageKey -> String.

Yup, I understand that. But, I don't think it'll be good for IHaskell to support a discontinuous range of GHC versions. After your patch, ihaskell supports GHC 6.3 to 7.10.2 excluding 7.10.1.
I haven't played with CPP that much, but it should be possible to have that change apply only with GHC 7.10.2. Am I right in saying this?

Once 7.12 is released we can drop support for 7.10.1. For the time being we should continue to support 7.10.1, since many people have not yet upgraded to 7.10.2 – even the Stackage nightly isn't yet using 7.10.2.
CPP is the right tool here – using ghc_MIN_VERSION macro, you should be able to fix this change to only apply for 7.10.2

You are right, I should fix it.

Fixed using MIN_VERSION_ghc macro.

@qzchenwl Take a look at this build log on ghc-7.10.2. Seems like you missed some of the issues, e.g. compare it with this build log using ghc-7.10.1.

@sumitsahrawat
src/IHaskell/Eval/Evaluate.hs:199:66:
    Couldn't match expected type ‘[Char]’
                with actual type ‘Maybe String’
    In the second argument of ‘isPrefixOf’, namely ‘idString’
    In the first argument of ‘guard’, namely
      ‘(iHaskellPkgName `isPrefixOf` idString)’
src/IHaskell/Eval/Evaluate.hs:206:63:
    Couldn't match type ‘Maybe String’ with ‘[Char]’
    Expected type: [[Char]]
      Actual type: [Maybe String]
    In the second argument of ‘filter’, namely ‘packageNames’
    In the expression: filter (== iHaskellPkgName) packageNames
src/IHaskell/Eval/Evaluate.hs:214:88:
    Couldn't match expected type ‘[Char]’
                with actual type ‘Maybe String’
    In the second argument of ‘stripPrefix’, namely ‘pkgName’
    In the expression: stripPrefix initStr pkgName
src/IHaskell/Eval/Evaluate.hs:215:71:
    Couldn't match type ‘[Char]’ with ‘Maybe String’
    Expected type: [Maybe String]
      Actual type: [String]
    In the second argument of ‘notElem’, namely ‘broken’
    In the expression: pkgName `notElem` broken
src/IHaskell/Eval/Evaluate.hs:232:41:
    Couldn't match type ‘Maybe String’ with ‘[Char]’
    Expected type: [String]
      Actual type: [Maybe String]
    In the second argument of ‘map’, namely ‘displayPackages’
    In the expression: map toImportStmt displayPackages

Those are what I see before I fix ghc-7.10.2 compile error. Does the build include this patch?

It seems like the issue has been fixed. Nothing to worry about now :+1:


Gauge node is not responsive

Current Behavior
When viewing gauges on mobile, they are too small to read.
Gauges on desktop / laptop:

(Note, not sure why the top three are super jumbo sized, they are all built the same and no changes made from default - They all should be the same size as the KBOS on on the bottom).
When viewed on Android or iPhone the gauges look like this:

Expected Behavior
I would expect the gauge to be rendered differently on a small screen, or drop to a text only display of the value.
Steps To Reproduce
Place two or more gauges on a group.
View on mobile device or F12 -> mobile view on a browser.
Environment

Dashboard version:
Node-RED version:
Node.js version:
npm version:
Platform/OS:
Browser:

Have you provided an initial effort estimate for this issue?
I am not a FlowFuse team member

From a post in the Node-RED Discord.
http://temples.tplinkdns.com:2880/dashboard/current
(Note, the site seems to be down quite often)
Here is how the weather page looks on a Pixel 7 and 8.

@thebaldgeek I think you may have copied/pasted the wrong link. I actually had 2 dashboards available for public viewing for a while, here's the one for the weather:
http://temples.tplinkdns.com:1880/dashboard/current

Closing this out as I think https://github.com/FlowFuse/node-red-dashboard/pull/979 covers a fix for this. It wasn't an issue with gauges per say, more that our breakpoints on this screen size weren't sensible, so we were trying to squeeze too much content in horizontally.


sorry ignore error

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hello @ICTGabe, As mentioned in the PR title
Please let us know if have to keep this PR or not

You can ping me on teams
If you need any help regarding GitHub PR's
<EMAIL_ADDRESS>


add CSS themes

Base theme should be minimal
Light theme
Dark theme

let's do a TailWind theme!


Start installing SQL schema.

WIP in progress branch for #170.

@rnewman, @joewalker perhaps you two could be the official reviewers for this patch bomb.
@victorporof, @jsantell if one or both of you would care to review this, please steal.
Sorry for the giant code bomb, but it's not worth slicing and dicing this further.  There's lots of TODOs and unimplemented pieces, but I want to get the types and database reading code out there, and circulate some patterns around using error_chain and rusqlite.  We can fill things in and improve things as we iterate.

I'll take a look tomorrow and Monday. I'm keen to get bits on disk!

Three things I really care about:

Whether we're doing the wrong thing with having a linearly increasing number of clones of simple things hanging around in memory while we process input. This doesn't seem right.
V2 vs V1. I'd be fine seeing only V2 and the very straightforward upgrade from V1 to V2, which you can copy out of master. Simpler.
Seeing if we can get the valueType conversion slightly more correct from the start. I'm a week or four away from starting to hit this, and I can see myself getting mired down if I have to juggle more than just my own code. (I'm going very slowly in Rust so far.)

Excellent work, and lots of painful edges apparently hit! The more knowledge we can pull out and share from this, the better.

After a little reading and thinking, I think I can summarize my position on lots of cloning.
We have five main scopes:

static. We have all of our default keywords here as lazy_static.
Within a call to q.
Within a call to transact.
The scope that receives query results. This is larger than 2.
The scope that receives a tx-report. This is larger than 3.

Now, we typically parse our query input from strings (creating new instances with new Strings), or we're given programmatic input from scope 4 or scope 5.
That makes me think that within 2 and 3 — that is, when transacting or querying — we should be able to exclusively work with refs to keywords and strs. The enclosing scope, or the parsed input, provides the real data, and we only have to work with references all the way down to the database.
(Even if we didn't create new Strings, we could require that the string input sticks around so we could refer to bits of it, even within the parser… but that doesn't work so well with a work queue and arbitrary threads and prepared statements. So let's say that the query or the transact input stick around until we're done pushing them into the database. Parsing results in a new, owned structure.)
The way back out — query results and the tx-report — might be different. The values will come from the database, and we don't want to impose on callers in 4 and 5 the requirement to clone everything when some of the values will be new and originally owned.
To fix that we probably need some kind of interning/shared data/Rc. Perhaps a query result or a tx-report is automatically interning, using Rc for all keywords…
Thoughts?

OBTW, I found that http://xion.io/post/code/rust-borrowchk-tricks.html clarified my understanding of this set of tradeoffs still further.

I missed the comment ping, I'll go through this as well, but mostly hoping to learn stuff rather than offer any valuable criticism.

Three things I really care about:
Whether we're doing the wrong thing with having a linearly increasing number of clones of simple things hanging around in memory while we process input. This doesn't seem right.

The paths that clone are only in the bootstrap code path, which is both bounded size and infrequently hit.  The hot-path through the transactor isn't really present in this patch (and will require additional work to not clone).  We'll handle this as I bone out the approach.
There's definitely a good ticket here to not go via EDN for bootstrapping at all -- I did that simply 'cuz I got tired of trying to define static structures in Rust's verbose language.  I've filed https://github.com/mozilla/mentat/issues/193 to do better.

V2 vs V1. I'd be fine seeing only V2 and the very straightforward upgrade from V1 to V2, which you can copy out of master. Simpler.

I've dropped V1 support entirely, and filed https://github.com/mozilla/mentat/issues/194 to fill it in.

Seeing if we can get the valueType conversion slightly more correct from the start. I'm a week or four away from starting to hit this, and I can see myself getting mired down if I have to juggle more than just my own code. (I'm going very slowly in Rust so far.)

Your point is well taken.  We have an injection (ValueType, edn::Value) -> (i32, rusqlite::Value), but we cannot factor further in the first component.  Let me see what the encoding feel of that feels like.

Excellent work, and lots of painful edges apparently hit! The more knowledge we can pull out and share from this, the better.

Thank you.

Your point is well taken. We have an injection (ValueType, edn::Value) -> (i32, rusqlite::Value), but we cannot factor further in the first component. Let me see what the encoding feel of that feels like.

I started to dig further into this, and have opened https://github.com/jgallagher/rusqlite/issues/211 to try to understand our situation more clearly.  I know how to address our case without changing rusqlite, but it may just be a library oversight that we should try to upstream, in which case I'll put the effort there.

FWIW I just fixed this in rusqlite (PR); the get here will now panic instead of silently truncating. get_checked is also available if you want a Result instead.

In general, I have been preferring get_checked(...)? to avoid the "bare panic" (but not specifically to avoid truncating).  I read the code and must have mis-interpreted; I thought they would panic rather than truncate.

@rnewman OK, this is ready for another pass.  I think the introduction of TypedValue really improved the code.
I realize now that I didn't move the documentation notes to the Wiki; I'll do that either before or just after landing.
@victorporof @jsantell  Let me know what y'all think!  There's lots of tests waiting to be written for this work; I'll file a few tickets to track areas that need love later today.


Model versioning

To integrate model versioning into VerticaPy, we add a new function, named "register", to the VerticaModel class. Calling this function will execute the register_model meta-function inside Vertica and registers the model. We also implement a new class in VerticaPy, named RegisteredModel, in order to work with the registered models inside the database.
This PR closes #371

Hey @afard, we have recently changed the unit tests so you may want to consider two main things:
1- All tests are now inside the "tests_new" folder. The directories follow the same structure as the original Verticpay structure. One test file for each python file.
2- All tests should be created so that they can be run in parallel i.e. using pytest -n auto --dist=loadscopee. This will help reduce the time taken for tests in the future.
Have a look at : https://github.com/vertica/VerticaPy/blob/master/CONTRIBUTING.md#unit-tests
p.s. you can use the schema loader to avoid dropping tables/data

Hey @afard, we have recently changed the unit tests so you may want to consider two main things: 1- All tests are now inside the "tests_new" folder. The directories follow the same structure as the original Verticpay structure. One test file for each python file. 2- All tests should be created so that they can be run in parallel i.e. using pytest -n auto --dist=loadscopee. This will help reduce the time taken for tests in the future.
Have a look at : https://github.com/vertica/VerticaPy/blob/master/CONTRIBUTING.md#unit-tests
p.s. you can use the schema loader to avoid dropping tables/data

Done!


All props are passed to DOM elements in React 16

This test #166 shows that the hack that disables the unknown prop warning in React 15.2.0 is removed in version 16 and all props are passed to DOM elements: https://facebook.github.io/react/blog/2017/09/08/dom-attributes-in-react-16.html
@rtsao how do we approach this?
What I can think of

EDIT Revert commit b418d600e1c637b796cfd2b5c6788e6bc00965d6 and whitelist props again not recommended
Provide a third argument where users can omit propsstyled(
  'div',
  ({isChristmas}) => ({backound: isChristmas ? 'red' : 'grey'}),
  ({isChristmas, ...rest}) => rest
);

I personally don't like any of these be cause one of them adds white listing that was removed in React for a reason and the other one forces the user perform omitting manually.

The third option I have and maybe the most straight forward is to create a HOC which deletes unwanted props before you pass them.
styled(
  ({isChristmas, ...rest}) => <div {...rest} />,
  ({isChristmas}) => ({backound: isChristmas ? 'red' : 'grey'})
);

But when composing other style components with this, you may encounter unwanted behavior.

Yeah, this whole situation is rather unfortunate.
A while back I built a Babel plugin to statically analyze which props were used then blacklist them for you (via an extra argument). I think this would actually work for most use cases, but seems a bit heavy-handed in terms of magic. I was also concerned about robustness, but I think it would actually be pretty good since we could error out and notify the user that props were being consumed in a manner beyond the reach of static analysis. In this case, the user would have to manually write the prop blacklist.
Perhaps this could alleviate the user burden of using your second proposal.
Another option is to simply require style props to be nested under a special prop, but this makes consumption of styled components in JSX a lot worse IMHO.

We're using TypeScript where you can't use things like plugins. 😞 This would force us to add an extra compiler to the build chain which won't happen since we already have bad performance.
Another option I have in mind is by using getters or Proxy to determine which props are being used in the style function. But it comes with some nasty overhead by wrapping all props with getters on each render and with Proxy we'll have performance and compability problems. It would be easy to try it out though.
I also manage to solve the composition problem in the option I mentioned in my second comment. Instead of passing className as a string with pregenerated class names, I passed className as a function and merged the style result from each style component it passed when className.toString() was called. It was super crazy. I even deleted the branch how crazy it was. 😂 But it actually worked. And support of nested composition is actually something people of mine that are using Styletron are asking for. It's quite often we need to wrap styled components with HOCs to the the typing right.

A specific prop called styledProp will be deleted before passing to the inner component. Fixed in #169


Removing pin(s)

How do you remove a single pin from the map after load?

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

ID: 8a5842eb-0d03-05bf-db8e-23ee198e8e71
Version Independent ID: bd76b816-c155-2b88-1271-b47f69690352
Content: Add a pin with Azure Maps
Content Source: articles/azure-maps/map-add-pin.md
Service: azure-maps
GitHub Login: @jingjing-z
Microsoft Alias: jinzh

@MiladOrderDynamics you can use below code for that specific add pin code sample
map.removeLayers("default-pin-layer")
We are releasing a new version of map control where you might be able to remove pins more easily. + @rbrundritt to provide more info

@MiladOrderDynamics
Thanks for the feedback! We are currently investigating and will update you shortly.

Thanks.


Trigger Function for Animation

Is there a way to trigger animation based on a function? For example, could the modal 'wobble' when a user enters an incorrect value?

Hi!
I'm closing this issue because it's a question and not a bug report. Please don't take it personally, I'm just trying to make it easier to maintain this project by separating questions from bug reports 🙏.
If you're still looking for feedback/answers, could you please ask your question in a new discussion?
Thank you!


Variable with dtype

It seems mxnet doesn't support a varaible with specified dtype. Is that difficult to add this function?
@piiswrong l

I should be supported now


Highlighter tool

Next to the pencil tool, it would be great to have a highlighter tool

Can  work on this issue . Please assign me this issue


[Bugfix] Add patch for bf16 distance computation

issue: #519
/kind enhancement

/kind enhancement

lgtm overall. Waiting for @hhy3 double-check.

This looks Horrible, because it is a really dirty hack.

It is almost impossible to identify the reason of why such a patch is needed without comments in the code (which are missing).
Why the patch is applied to y, but not in x in distance(const float* x, const float* y, const size_t dim).
Why is it needed to apply the patch every time instead of prepatching y somewhere else
Why it is not possible to patch a query vector on the level of milvus-to-knowhere parameters passing instead of patching all the distance functions.
What is going to happen in PPC64, which could have a big-endian format.

Too many questions and too few answers.

or, at least, one could introduce a different set of distance computation functions (which include this patch) and assign different distance pointers in simdhook. This won't hurt the performance and the code becomes a bit more clear.

/hold


Broadlink RM4 Mini Type 520c

Hi,
I'm trying to use the library with a RM4 Mini device. I've discovered it and the result is the following:
"typeid":"520c",
"type":"Broadlink: Unconfigured Device Type: Log an issue with the device details and typeid returned as this may be a new device type."
I'm trying to send a temperature request giving the MAC address, Device IP and Type (520c), but it's not working.
Is device type 520c supported?
Thanks,

I found on here that 648a was what we needed, it works to learn but I can't send data

@mlfunston can you take a look at this? Seems you've added device types for others before. Do we need this to be done to use our RM4 mini ?
I can learn, but I cannot send.


[Feature Request]: support compilation.hooks.optimizeModules

What problem does this feature solve?
We need compilation.hooks.optimizeModules to be compatible with circular-dependency-plugin
What does the proposed API of configuration look like?
compilation.hooks.optimizeModules.tap("PluginName", (modules) => {})

+1


Error : Could not load type 'IdentityModel.Client.AuthenticationStyle' from assembly

@leastprivilege
Getting this error in .Net 4.6.1 using IdentityModel.OidcClient # 2.8.1.   Where can i find an example for .Net 4.6.1 to use OpenID,
Getting the same error with simple instantiation.
static void Main(string[] args)
{
var options = new OidcClientOptions
{
        };
    }

Could not load type 'IdentityModel.Client.AuthenticationStyle' from assembly 'IdentityModel, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.****

This is a .NET sample
https://github.com/IdentityModel/IdentityModel.OidcClient.Samples/tree/master/WindowsConsoleSystemBrowser
works for me.

You can pass in non-standard parameters here
https://github.com/IdentityModel/IdentityModel.OidcClient2/blob/dev/src/IdentityModel.OidcClient/LoginRequest.cs#L36
just pass a e.g. a dictionary.

I don't follow - this library is for native client applications. Not web apps.

My requirement is to use OpenID Connect to do SSO in asp.net Web Application.

this is not the library you are looking for. sorry.

Ok, Is there a way to use Open ID connect to do SSO in .Net web application. most of the applications are web based that looking for SSO. wondering is there a solution.

Sure - either use Katana or ASP.NET Core.

something like this?
https://github.com/IdentityModel/IdentityModel.OidcClient.Samples/tree/master/NetCoreConsoleClient

OpenID Connect support is built-in in ASP.NET Core - you don't need this library.


chore: Replace FallThroughError with UnsupportedError

Description
FallThroughError is deprecated and will be removed with Dart 3.0. Since this rolls into g3, it's blocking us landing the removal.
This PR migrates the errors to UnsupportedErrors.
Related Issues

https://github.com/dart-lang/sdk/issues/49529
https://github.com/firebase/flutterfire/issues/10079

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (melos run analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Users should not catch Errors, only Exceptions. As such this is not a breaking change.

Duplicate of:

https://github.com/firebase/flutterfire/pull/10081

Feel free to merge that one and close this one.

Thanks @Lyokone !

I don't have merge powers here, so please go ahead and merge it.

Thanks @rrousselGit !

Hey @dcharkes for a sanity check, does this PR close https://github.com/firebase/flutterfire/issues/10079?

Yes


Reverse with trailing slash in django urls is broken since 0.2.4 to 0.2.7

I got wrong resolved urls while using python social auth - they are without trailing slash in the end. I got realized, that it has already been fixed in master branch with SOCIAL_AUTH_TRAILING_SLASH parameter, but last stable version on pypi is broken. When those fixes would be on pypi?

v0.2.9 released to pypi.


[WIP] Adds stable argsort

Add kind kwargs to argsort (np.argsort and ndarray.argsort).
Add stable mergesort implementation.
Add mergesort support to argsort.

Codecov Report

Merging #2822 into master will decrease coverage by 0.08%.
The diff coverage is 29.78%.

@@            Coverage Diff            @@
##           master   #2822      +/-   ##
=========================================
- Coverage   86.18%   86.1%   -0.09%
=========================================
  Files         323     324       +1
  Lines       67323   67403      +80
  Branches     7558    7572      +14
=========================================
+ Hits        58021   58035      +14
- Misses       8097    8161      +64
- Partials     1205    1207       +2


[KYUUBI #1404] Decouple zookeeper persistentNode from other modules

Why are the changes needed?

Decouple zookeeper persistentNode from other modules
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[X] Run test locally before make a pull request

Can we detail what's your next steps? And what the final interfaces looks like?

Codecov Report

Merging #1405 (9e1d377) into master (f5e8152) will decrease coverage by 0.20%.
The diff coverage is 40.00%.

:exclamation: Current head 9e1d377 differs from pull request most recent head 8004c1b. Consider uploading reports for the commit 8004c1b to get more accurate results

@@             Coverage Diff              @@
##             master    #1405      +/-   ##
============================================
- Coverage     59.64%   59.43%   -0.21%
  Complexity      154      154
============================================
  Files           208      210       +2
  Lines         10442    10620     +178
  Branches       1262     1285      +23
============================================
+ Hits           6228     6312      +84
- Misses         3695     3787      +92
- Partials        519      521       +2

Impacted Files
Coverage Δ

...org/apache/kyuubi/ha/client/ServiceDiscovery.scala
39.86% <0.00%> (-0.86%)
:arrow_down:

...cala/org/apache/kyuubi/ctl/ServiceControlCli.scala
73.40% <100.00%> (ø)

.../apache/kyuubi/server/api/v1/ApiRootResource.scala
37.50% <0.00%> (-22.50%)
:arrow_down:

...apache/kyuubi/server/api/v1/SessionsResource.scala
75.00% <0.00%> (-11.37%)
:arrow_down:

...la/org/apache/kyuubi/operation/OperationType.scala
63.63% <0.00%> (-8.24%)
:arrow_down:

...org/apache/kyuubi/operation/log/OperationLog.scala
93.33% <0.00%> (-4.50%)
:arrow_down:

.../org/apache/kyuubi/jdbc/hive/KyuubiConnection.java
4.79% <0.00%> (-0.42%)
:arrow_down:

.../main/scala/org/apache/kyuubi/server/api/api.scala
100.00% <0.00%> (ø)

...a/org/apache/kyuubi/server/api/OpenAPIConfig.scala
100.00% <0.00%> (ø)

...he/kyuubi/jdbc/hive/ClosedConnectionException.java
0.00% <0.00%> (ø)

... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f5e8152...8004c1b. Read the comment docs.

hi @hddong would you fix the conflicts？

hi @hddong would you fix the conflicts？

Yep, done.

My apology, it conflicts again :(

My apology, it conflicts again :(

Haha, done.

thanks, merged to master and v1.4


[SP-3065] Backport of PDI-15705 - Perform Undo throw an exception in …

[SP-3065] Backport of PDI-15705 - Perform Undo throw an exception in Spoon console and we are unable to operate on the transformation (7.0 Suite) fix test

relates to #3211

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/meta-inject-plugin/pom.xml clean install && mvn -B -f plugins/meta-inject-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/meta-inject-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/meta-inject-plugin/src/test/java/org/pentaho/di/trans/TransMetaTest.java

Newly Fixed Tests:
org.pentaho.di.trans.TransMetaTest.testTransListeners:
:large_blue_circle: java.lang.AssertionError
java.lang.AssertionError: expected:<1> but was:<2>
	at org.pentaho.di.trans.TransMetaTest.testTransListeners(TransMetaTest.java:142)

@mbatchelor, @matthewtckr, @pamval , @mchen-len-son please review

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -DrunITs=true -f plugins/meta-inject-plugin/pom.xml clean install && mvn -B -f plugins/meta-inject-plugin/pom.xml site

Cleanup Commands
mvn -B -f plugins/meta-inject-plugin/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/meta-inject-plugin/src/test/java/org/pentaho/di/trans/TransMetaTest.java

Newly Fixed Tests:
org.pentaho.di.trans.TransMetaTest.testTransListeners:
:large_blue_circle: java.lang.AssertionError
java.lang.AssertionError: expected:<1> but was:<2>
	at org.pentaho.di.trans.TransMetaTest.testTransListeners(TransMetaTest.java:142)


Add an example of the task list pattern

This PR:

adds an example of the task list pattern to the docs
links to the new example from the tutorials and examples page

The prototype and research for this pattern can be found here.
Here is the Hackpad page for this pattern.
Screenshots:

Where the tutorials and examples page has been updated:
Before:

After:

Maybe shorten the first task from 'Check eligibility, cost and time' to 'Check eligibility'

Would be good to have some guidance on where and how to use this pattern. Is there a recommended length of service that requires a task list?
Not sure if this guidance would go in the hackpad or in the prototype kit though, but either way it should be linked really.

@sanjaypoyzer we've planned to published a guide on Service Manual, that links to the example page in the prototype kit. Reason being the audience is less design and development and more managers and operations people.
Drafted what the guide might be like
Could add something about how long a service needs to be to warrant using the task list pattern

So maybe it's outside the scope of this PR, but it would be great to get links from the prototype kit to guidance about how to use the patterns included in it in general.

Changed 'read rules' task to 'read declaration'

Regarding the CSS in general, I noticed two things:

This uses mostly ems while most things from the frontend toolkit etc use px (for spacing, fonts, etc). Ideally those shouldn't be mixed.
Most spacing seems arbitrary ("magic numbers"). It would be good to either base it on something existing (e.g. $gutter) or something new or add comments which explain where a number is coming from, especially if it relates to and affects other numbers.

@edwardhorsford and @timpaul have suggest tasks that can't be completed yet, for example 'Submit and pay', should have no link and be in grey.

@HarryTrimble Seems confusing to me. It's the same as disabled button, which I think we decided a while ago are always a bad idea. We should provide feedback to the user on why they can't do that thing, either before or after they click it. Preferably before, or if that makes the design too noisy, with an error message after they click it.
Don't assume that making it not styled as a link will make people not click it / know that it's not a link - I saw people in research last week clicking lots of body text words.

@sanjaypoyzer this was my suggestion. We need to be clear that some steps can't be completed yet. Perhaps this isn't clear - something to test / iterate.
It's not necessarily good to provide feedback to a user before or after they click on it - and we don't actually know that users will click it. There should be enough visual affordance that it's clear the step can't be started - without requiring error messages.
FWIW we try to avoid disabled buttons, but they are not "always a bad idea".

maybe we leave this aspect of the pattern out until it's been through user research?

@joelanman I reckon that's a good shout.
We need to define how and when we doing further user research on existing patterns

@edwardhorsford suggested we only have 'Submit and pay' task in the final section, which I agree.

I'd be tempted to have the tags similar to the alpha / beta tags - uppercase, etc. The current ones also look visually non-centred on mobile.

Thoughts?

All caps are harder to read. Makes it difficult to see the shape of the word, as Magaret Calvert argued when they changed road signs away from all caps.
@keithiopia said lower case is easier to read when I discussed the labels with him.
That said, might not matter as much, as it's the same word repeatedly. Does look "nicer" in all caps.
Does all caps effect screen readers?

@edwardhorsford @HarryTrimble Is the pattern for alpha and beta tags something that should be repeated for things that aren't alpha and beta tags?

@timpaul said put the task statuses in all caps, which I agrre

URL should be https://govuk-prototype-kit.herokuapp.com/docs/examples/task-list-page

@gemmaleigh final task titles and statuses:

@HarryTrimble final?
Here's a screenshot:

@gemmaleigh perfect

@joelanman are you happy to merge this one?


Asking for login password after initial installation

I have a fresh install of the deconz docker container with a conbee II stick. After starting the container i have some slight issues:

The stick is not shown as a stick in the first web landingpage. Instead, a device is shown which looks like a cased Raspberry Pi.
After selecting this device, a login password is asked for. I did not specify a login password, and the password "delight" which seemed to be the default password for older versions of deconz is not working.
A password reset is not working either. It is shown that one needs to wait max 10 minutes after boot up, but even if i try to do it quicker, it says failed and that i need to recently power cycle the controller.

How will i be able to login to deconz and how will it be able to show the stick as the right device?

Pretty sure this is related to https://github.com/dresden-elektronik/deconz-rest-plugin/issues/5197 ... pls try again once the new version is released.
Either way this it has nothing to do with the docker image, so I'm closing this issue.

Not sure. I tried to downgrade the container like the initial post of the linked issue suggests. No success. I tried to explicitly specify the device in the container's ENV like the workaround posts in the linked issue suggests. No success.
I have to add that i do not use the conbee II on a raspi, but an intel NUC, so there is no possibility for deconz to select the raspi itself as the wrong device. But you are right, this is a problem with deconz itself, i will ask there.

@simonszu are you using an extension cable?

I tried with and without. I doubted that it would make a difference since an extension cable doesnt alter the bitstream between the host and the stick, and i was right.

OK, next discovery: It has something to do with the traefik instance i am using to reverse proxy the traffic to my docker containers to. Accessing the deconz webUI directly is working very fine.


Removed not working link

Description
Removed L200, link not working
Motivation and Context
How Has This Been Tested?
Types of changes

[x] Content Update (change which fixes an issue or updates an already existing submission)
[ ] New Article (change which adds functionality)
[ ] Documentation change

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have made checks to ensure URLs and other resources are valid

I found this link which seems to be a complete clone of the original.  Since the original domain seems to be gone, might it be appropriate to use this clone in it's place?

Fair enough, sadly I deleted this fork and can't find a way to update the file. I will fork it again and proceed to cancel this pull request. Thanks


Username issue with migrated reactions

Small UI issue there seems to be a () after usernames when hovering over migrated reactions. Seems ok with normal ones.

Is this still a problem? Could you give the link of the screen shot?

Close as outdated.


Upgrade cert-manager to 0.4

https://github.com/jetstack/cert-manager/releases/tag/v0.4.0

There's also 0.5.0 available, should we upgrade to that level: https://github.com/jetstack/cert-manager/releases/tag/v0.5.0

Yes, if it's possible.


task_return_t not used

task_return_t is not used in the scheduler.
Also, it forces to include scheduler.h everywhere.
I propose to return a bool in task functions.

Done in #85


Write overwritable file-extension color generator.

Decided to use https://www.npmjs.com/package/github-colors instead


Step 4 missing something

Looks like step 4 is missing something as I do not see any such like  urn:ietf:wg:oauth:2.0:oob .

Closing this issue as we are archiving this repository and will not be maintaining it going forward. For an updated sample that covers these topics, please see:

Console app: https://github.com/microsoftgraph/msgraph-training-dotnet-core
JavaScript app: https://github.com/microsoftgraph/msgraph-training-javascriptspa
Azure Function: https://github.com/microsoftgraph/msgraph-training-azurefunction-csharp
Xamarin app: https://github.com/microsoftgraph/msgraph-training-xamarin

We apologize for any inconvenience.


Unexpected Sequence[str] behavior

Initial Checks

[X] I confirm that I'm using Pydantic V2 installed directly from the main branch, or equivalent

Description
Consider the following model class
import pydantic
import typing

class Model(pydantic.BaseModel):
    str_sequence: typing.Sequence[str]
    str_value: str

Passing correct values works as expected
m = Model(str_sequence=['a', 'b', 'c'], str_value='abc')
repr(m)  # "Model(str_sequence=['a', 'b', 'c'], str_value='abc')"

Passing a list of strings into a string property fails as expected
Model(str_sequence='abc', str_value=['a', 'b', 'c'])

pydantic_core._pydantic_core.ValidationError: 1 validation error for Model
str_value
  Input should be a valid string [type=string_type, input_value=['a', 'b', 'c'], input_type=list]

Passing a string into a Sequence[str] property results in the str value being accepted as a valid Sequence[str] value
m = Model(str_sequence='abc', str_value='abc')
repr(m)
"Model(str_sequence='abc', str_value='abc')"

This doesn't match list behavior
class Model1(pydantic.BaseModel):
    str_list: list[str]

m1 = Model1(str_list='abc')

pydantic_core._pydantic_core.ValidationError: 1 validation error for Model1
str_list
  Input should be a valid list [type=list_type, input_value='abc', input_type=str]

Pydantic 1.10 also correctly raises a validation error in this case
>>> import pydantic
>>> import typing
>>> class Model(pydantic.BaseModel):
...     str_sequence: typing.Sequence[str]
...     str_value: str
...
>>> m = Model(str_sequence='abc', str_value='abc')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lig/workspace/pydantic/pydantic1/pydantic/main.py", line 341, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 1 validation error for Model
str_sequence
  value is not a valid sequence (type=type_error.sequence)

Example Code
from pydantic import BaseModel
from typing import Sequence

class Model(BaseModel):
    str_sequence: Sequence[str]
    str_value: str

m = Model(str_sequence='abc', str_value='abc')
repr(m)  # "Model(str_sequence='abc', str_value='abc')"

Python, Pydantic & OS Version
pydantic version: 2.0a3
        pydantic-core version: 0.25.0 release build profile
               python version: 3.10.11 (main, Apr  5 2023, 00:00:00) [GCC 13.0.1 20230404 (Red Hat 13.0.1-0)]
                     platform: Linux-6.2.12-300.fc38.x86_64-x86_64-with-glibc2.37
     optional deps. installed: ['devtools', 'email-validator', 'typing-extensions']

I don't know if the different behavior between v1 and v2 is intentional, but in Python any string is considered a Sequence[str]. The potential confusion is a known issue (see https://github.com/python/typing/issues/256)

It looks like it's not only differs from Pydantic v1 but also from list[str] in the same v2.

Because str obviously doesn't match list[str].

IMO, the decision is there and this is just an erroneous behavior.

the erroneous behavior is not from pydantic, but a general issue regarding Python typing. My assumption is that pydantic maintainers wanted v2 to be in accordance with the behavior of Sequence[str] with str, but maybe v2 could deviate from the intended typing behavior (model strictness may be related here)

if you do want to allow str, you can just annotate as str | Sequence[str] - much easier than specifically disallowing str via a validator

For the record, this is how pytype behaves for this use case. Maybe this could be indicated in docs? (or it's not that common to face this issue, and we avoid adding too much in docs)

@Viicos documenting this behavior seems like a good idea to me.
Let me also share my view on the str/Sequence[str] topic.
I honestly believe that it is not typing and in general not the language responsibility to make str distinguishable from Sequence[str]. However, it is exactly why Pydantic exists and its job to help developers dealing with this behavior. Here is why.
There are three distinct levels here:

Language
Library
Application

IMO, typing is on the Language layer as type annotations cannot lie about language features. And when the language says that distinguishing between str and Sequence[str] is the developer's job it doesn't necessarily means that it's an Application level's job. These common quality of life cases are exactly why there are libraries like Pydantic out there.
Thus, let's agree to leave this tedious job of making if not isinstance(value, str) check every time we write Sequence[str] to the Library level.


vue3, TS, FCL scaffolding & market cases & training

vue3, TS, FCL scaffolding & market cases & training
Grant category
Please select one:

Educational material

Description
Problem statement
I am a web2 senior front-end developer. After entering web3, the first smart contract development language I learned was cadence.I found that there are very few development courses in the Chinese community, and the overall content is relatively general, and the tutorial case explanation is not a complete trading market.There are many web2 colleagues around me who have urgent learning needs, but the course content is not so easy to learn.For this reason, I developed a more detailed practical development course, and built a complete DAPP trading market case, integrating the new vue3, TypeScript, and FCL scaffolding, which is more suitable for Chinese community learning;At present, I want more developers to know that I plan to promote the Chinese area. I hope the official website will give some financial support, and I will also pay a part of the funds myself.
Just in time to complete the wishlist https://github.com/onflow/developer-grants/issues/8
Proposed solution

The course content covers: Learn about blockchain, Learn about flow, Learn about cadence, basic grammar, core concepts, engineering development, DAPP completing the case explanation of the trading market. A total of 300 minutes of video courses.
Complete a vue3, TypeScript, Fcl scaffolding that is more suitable for the Chinese community.
Complete a complete Dapp case including mint  nft , listing, trading market, and purchasing functions.
I am now officially cooperating with the "2022 China Entrepreneurs Conference and Metaverse Summit", and I can promote Flow and courses through the booth. If the official needs anything at the exhibition, we can provide support. "2022 China Entrepreneurs Conference and Metaverse Summit" link address:http://10.cyz.cn/.
I have registered as a Chinese developer community lecturer qualification (Geek Time, 51CTO, MOOC, etc.), and I can do some course promotion in the Chinese community.
It has cooperated with a number of universities and can be promoted within the university.

Course Details
course1： Learn about Flow & Cadence

Learn about Block-chain
Learn about Flow
Learn about Cadence
Install the Flow CLI
Learn about Playground
Complete the First Smart Contract Development: Hello Cadence

course2：cadence basic grammar

Type Annotations 、Constants and Variable Declarations
Values and Types
Function
Control Flow
Composite Types

course3：cadence core concepts

Transactions
Accounts
References
Capability-based Access Control
Interfaces
Access control

course4：Engineering development configuration

Project initialization & environment configuration
Emulator
Generate Key Pair with the Flow CLI
Generate account
Case: contract development using simulator
Contract Upgrade Specifications and Standards
FT and NFT standards

course5：DAPP development practice 1-realize landing & NFT casting

Introduction to Engineering Architecture
Environment configuration
Introduction to FCL
Use fcl to achieve login and exit
Interaction with the front end: mint NFT

course6：DAPP development practice 2  -   NFT listing and trading

NFT listing
NFT trading market
NFT transaction

Impact

Brand new scaffolding
2.Complete market case
"2022 China Entrepreneurs Conference and Metaverse Summit", you can promote Flow and developer courses to Chinese entrepreneurs through the booth, and expose 10,000+
The course will be promoted in Chinese universities, and it is estimated that 400+ students majoring in computer science will participate in the study.
The course will be launched in cooperation with the Chinese developer community (such as Geek Time, 51CTO, MOOC, etc.), with an estimated number of students exceeding 400+

Milestones and funding

Note: Please consider adoption and/or maintenance milestones at the end of your project.

Milestone
Deliverables
Timeline
Risks
USD proposal

Video Course
300 minute video course
The second week after the project starts
-
3000

vue3, TypeScript, Fcl scaffolding
A GitHub repository with content descriptions and scaffolding usage instructions.The scaffolding integrates vue3, integrates the element-plus component library, integrates TypeScript, and Fcl, which can be used as the basis for DAPP development.In the course, the scaffolding frame structure will be explained and demonstrated
The second week after the project starts
-
2000

DAPP complete case
DApp market case based on vue3 scaffolding. Functions include: user minting NFT, Collection display, sale, transaction.In the course, the case code will be analyzed, explained and demonstrated.
The second week after the project starts
-
2000

channel promotion
More than 800 learners, provide data
The fifth week after the project starts
-
1000

Total funding proposed:
Team

Name
Role
Bio
Contact

Kaka
Senior development engineer, lecturer
10 years of experience in development and system architecture
<EMAIL_ADDRESS>

Hi @28356715, thanks for submitting your proposal!
We've reviewed your proposal and wanted to see if you would be open to scoping this more specifically towards Vue examples and scaffolding and more in-depth topics that are demonstrated for Vue.
In the content that you've proposed here going to be localized specifically for the Chinese market?

Hi @28356715, thanks for submitting your proposal!
We've reviewed your proposal and wanted to see if you would be open to scoping this more specifically towards Vue examples and scaffolding and more in-depth topics that are demonstrated for Vue.
In the content that you've proposed here going to be localized specifically for the Chinese market?

Hi @chrisackermann, thank you for your reply.
I'd love to take your advice and update the Milestones and Funding sections.
In the course part, 30% of the time will be spent on scaffolding, cases and demonstrations.
In the content of the proposal, it will be aimed at the Asian-Pacific Chinese community

Hi @28356715 - one follow up question for you on your proposal:  where do you intend for the video course to live?  Where will it be accessible to the community?

Hi @28356715 - one follow up question for you on your proposal: where do you intend for the video course to live? Where will it be accessible to the community?

Hi @chrisackermann
The community can be accessed through 51cto.com, xiaoe-tech.com, Bilibli, WeChat, and Youtube. Thanks!

This grant is complete.


New JSON for Panasonic air conditioner: CS-XU9UKH and CS-XU12UKH

Support basic control. Left out Quiet mode
1032.zip

You should open a pull request by providing the json file. For this reason this issue will be closed. However, we have saved your file and depending on our workload we may add it in the future. Thanks for your valuable input.


Cannot decorate Symbol expression members

Using a decorator on a Symbol class member  throws:
function C(target, property, descriptor) {
   return descriptor;
}

const B = Symbol();

class A {

   @C
   [B] = null;

}

The following error, in the above case:
                       return decorator(target, property, desc) || desc;
                               ^

TypeError: decorator is not a function

Is this intended to work?
I see in the current decorators spec (2.1.1 - 1. Let propKey be the result of evaluating propertyName), this will work once that reaches implementation, but is there a specific reason not to for the legacy transform (would it break existing modules, was it explicitly disallowed in the original proposal)?

Just to clarify, the above example is using transform-class-properties too - but attempting to decorate a Symbol expression 'named' method also errors - though not the same error - in that case, the error appears to be thrown from the babel parser, rather than the plugin.
function A(target, property, descriptor) {}

const C = Symbol();

class A {

	@B
	[C]() {}

}

throws:
SyntaxError: .../file.js: Unexpected token (14:7)
  12 |
  13 |  @B
> 14 |  [C]() {}
  15 |
  16 | }
 at Parser.pp.raise (...node_modules/babylon/lib/parser/location.js:22:13)
 at Parser.pp.unexpected (...node_modules/babylon/lib/parser/util.js:89:8)
 at Parser.pp.parseIdentifier(...node_modules/babylon/lib/parser/expression.js:1053:10)
 at Parser.pp.parsePropertyName (...node_modules/babylon/lib/parser/expression.js:858:117)
...