Add object-curly-newline rule

http://eslint.org/docs/rules/object-curly-newline
'object-curly-newline': [2, {multiline: true, minProperties: 1}],

The above will enforce putting the contents of objects (everything inside the braces) on a newline unless there's only one property.
The main issues with this rule is that it then enforces that all objects with one property is inline {foo: true}. I think it would make more sense not to enforce anything then, as having it inline or not when only property depends on the situation.
The second issue is that it also applies to object destructuring, where having multiple properties inline is quite ok. const {foo, bar} = unicorn();.

I kind of like being able to specify quick objects on one line when the number of keys is relatively small.
Another case where this is nice and this rule gets in the way IMO is when you create objects with the ES6 same-name shorthand (don't know the name of this)
const foo = 1, bar = 2;
const object = {foo, baz};

I'm not currently a big fan of this rule at the moment.

Official name: Object Literal Property Value Shorthand

I agree with @jfmengels. I have even disabled it on some files at work because of those "issues".

But consistency and readability! :) Isn't readability better than slight convenience? I applied XO on many projects today and a lot of code became clearer when the object properties got on separate lines. That also improves diffing and reduces chances of merge conflicts. That being said, I'm open to reconsider if everyone feels it's wrong, but please try it out a little bit first. It might just be something you need to warm up to.

when the number of keys is relatively small.

How do we enforce "relatively small"?

Can you guys provide some real-world examples of it getting in the way?

Btw, I know it's confusing, but this rule is actually different from the one that enforces multiple properties on new lines. See: https://github.com/sindresorhus/eslint-config-xo/commit/7ff915813633977ae1e2c8c96a1d3dfbffdaa191 and https://github.com/sindresorhus/eslint-config-xo/pull/23

please try it out a little bit first. It might just be something you need to warm up to

Sure, no problem with trying it out.

when the number of keys is relatively small.

How do we enforce "relatively small"? What number is that?

If I had to write the rule now, I'd go for a character length limit (meaning the number of characters between { and } would need to < X), but frankly you'd need a stronger heuristic between number of characters, whether they use literal property value shorthand and whether the properties have long names.
foo({a: 1, b: 2}) // nice and readable IMO (at least readable enough)
foo({
  a: 1,
  b: 2
}) // Wouldn't do it, but I get that it could be considered more readable
foo({
  someProperty: Object.assign(foo, {ok: 2}),
  someProperty2: Object.assign(foo, {ok: 3})
}) // Definitely would do it
foo({a: 1, b: 2, c: 3, d: 4}) // starting to get crowded.
foo({a, b, c, d}) // Reasonably readable
foo({
  a,
  b,
  c,
  d
}) // Definitely overkill

foo({prettyLongPropertyName1, prettyLongPropertyName2}) // readable
foo({
  prettyLongPropertyName1,
  prettyLongPropertyName2
}) // might start considering it, but probably wouldn't do it on my own
foo({prettyLongPropertyName1, prettyLongPropertyName2, prettyLongPropertyName3}) // getting crowded...?
foo({prettyLongPropertyName1: someValue, prettyLongPropertyName2: foo(a, b, c), prettyLongPropertyName3: prettyLongPropertyName3}) // (╯°□°）╯︵ ┻━┻

tl;dr: I'm far from having hard science and hard opinions here. Don't mind trying it out a bit. I'd say that minProperties: 2 would be a nice compromise between these cases.

Let say we allowed two properties. I too have done a lot of foo({a: 1, b: 2}). Don't you think users would abuse it and do this all the time?
foo({someProperty: Object.assign(foo, {ok: 2}),someProperty2: Object.assign(foo, {ok: 3})})

Linting is strict for a reason. Sometimes it affects convenience, but in the long run it's better for everyone. In addition to readability and diffing benefits, I must mention refactoring/changing. It's a lot easier to delete and add properties when they're on separate lines.
For background: I've been thinking about this rule for a long time, as I was unsure about it too, but I've had so many PRs with cluttered code from inline objects that I decided to pull the trigger now.

See https://github.com/eslint/eslint/issues/6211 regarding ignoring object shorthands. I agree it doesn't make sense to put those on separate lines.

I'd say that minProperties: 2 would be a nice compromise between these cases.

The object-property-newline  doesn't support a minProperties option. It's either all or nothing. (Again, not to be confused with object-curly-newline which does support such option.

See eslint/eslint#6211 regarding ignoring object shorthands. I agree it doesn't make sense to put those on separate lines.

Ah cool!

I've had so many PRs with cluttered code

When it comes to linting for submitted PRs, you have a lot more experience and frustration than me ;)
Let's try it out, but I'd love to see eslint/eslint#6211 come to fruition to cut a break for object shorthand.

Ok, I've made it a warning until we decide on something here and https://github.com/eslint/eslint/issues/6211 is done.

It might just be something you need to warm up to.

When I started using XO, I had to change a lot of my previous practices. It's all frustration in the beginning, but at the end, you notice the beauty of all the strict rules. So yes, it's perfectly possible that we/I have to getting used to this rule.

See: https://github.com/eslint/eslint/issues/6251


DataCloneError: Failed to execute 'postMessage' on 'Worker': # could not be cloned.

This only seems to affect Chrome 70 and older (~October 2018). It would be nice if this Worker incompatibility was gracefully handled in older browsers, understand it may not be a priority.
The following output is from Poki.com's console error tracking API. This data was collected over 24 hours across ~200K gameplays. The project uses an unmodified version of PlayCanvas v1.65.3.

You can recreate by opening this project: https://poki.com/en/g/vortellis-pizza-delivery in Chrome 70 or older

Here is the Chromium version that corresponds to Chrome 70.0.3538:
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/587811/
No install needed. Unzip and open the game link - the error will be in console. Something with failing to send draco module to worker.


[NO-JIRA] update number of replicas to 1

Signed-off-by: Mauricio Magnani<EMAIL_ADDRESS>Insert JIRA Issue number and update link
PR owner checklist
Please make sure that your PR meets the following requirements:

[ ] Your code is properly formatted according to this configuration.
Run mvn clean verify -DskipTests so that imports are correctly set.
[ ] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[ ] The layers in the kustomize folder have been updated accordingly.
[ ] All new functionality is tested
[ ] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

PR reviewer(s) checklist

[ ] Check if code and Github action workflows have been modified and if the modification is safe
[ ] If the modification is safe, add the safe to test label

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

Deploy BOT
Comment with `/deploy <dev,stable> when the PR has been merged to deploy to a target environment.

@robpblake Please approve but don't merge because I want to use this PR in the app interface demo :)


Install command with Mint

Right now using Mint install command is
$ mint run JohnSundell/Marathon

Shouldn't it be install instead of run?
$ mint install JohnSundell/Marathon

@yonaskolb Which one is the correct one? 🙂 (IIRC run does install if needed)

Either is fine. As @JohnSundell saysrun will also install.
Now that Mint supports global installs I’ve updated the documentation to give install examples to match the other installation methods

I think install does make sense more as it actually installs. Thanks!


Custom claims

I created a rule in Auth0 to add custom claims.
function (user, context, callback) {
  const namespace = 'https://yada.com/';
  context.idToken[namespace + 'yada_user_id'] = user.app_metadata.YadaUserId;
  callback(null, user, context);
}

If I debug during
Provider = new Auth0AuthenticationProvider {
  OnAuthenticated = context => {
    var tokenContainingCustomClaims = context.IdToken;
  }
}

and parse the JWT token on https://jwt.io/, I can see the custom claims.
But if I try to access them later via HttpContext.GetOwinContext().Authentication.User.Claims, I can only see the default claims, but not my custom claims.
Looking through the code I also couldn't find a LOC which would add custom claims.
Is this a bug in auth0-aspnet-owin or do I have to parse the JWT token on my own?

@Robar666 We are actually in the process of deprecating this library and will suggest users move over to using the built-in OWIN OpenID Connect middleware.
Here is a preliminary sample on how to use that particular middleware with Auth0:
https://github.com/auth0/auth0-aspnet-owin/blob/owin4/test/Auth0OwinTest/Startup.cs

Closing this as this library is now deprecated. Users should use the standard OWIN OIDC middleware as per https://github.com/auth0/auth0-aspnet


Fixed the indentation of generated json code. Fixes #1727

The files used to generate json code on umpleonline as well as the templates used in testing have been modified to properly indent the generated json code.

I am aware the json template tests are failing and I am trying to fix them. I believe this might be because there are missing/extra indentation in the json template files.


fix(trino): bumping trino to fix hudi schema fetching

SUMMARY

Bumps the Trino version as mentioned on https://github.com/apache/superset/issues/21945
This is an old bug and a small PR, so we can hold this during the 4.0 stabilization window.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue: Fixes https://github.com/apache/superset/issues/21945
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Feel free to remove the hold tag and merge this if you want it in 4.0 @michael-s-molina

Feel free to remove the hold tag and merge this if you want it in 4.0 @michael-s-molina

Fixes are always welcome.

Fixes are always welcome.

Well... so long as they don't refactor stuff, right? I'm almost tempted to call the Node 18 bump a fix at this point ;)

I'm almost tempted to call the Node 18 bump a fix at this point ;)


build(deps): use upstream str0m

With the adoption of #5080, connlib is now resilient against temporarily failed connections as they'll be immediately re-established. Thus, we no longer need any of the patches that we are currently maintaining in our str0m fork.
The only difference is an adjustment of the ICE timeout parameters but those can be made configurable in str0m.
Related: https://github.com/algesten/str0m/pull/537.

So the build failure here surfaces and interesting point: At the moment, we have a patch in str0m in our fork that ensures we don't instantly flap to Disconnected in case we invalidate all candidates but already have new, untested ones. Originally, I added this exactly for the "migrate relay" usecase. However, I do think it is flawed.
When the portal tells us to discontinue use of a relay and gives us new ones, we instantly remove those relays and invalidate their candidates. If a connection has that relay has its nominated candidate, invalidating it will instantly attempt to use another candidate pair which can only be another relay because we wouldn't have picked a relay if hole-punching would have been available.
At the moment, we use all relays for all connections when are always given at least 2, meaning we should be able to migrate to the 2nd one in case the first one dies.
I've tried to rewrite this test to cover that but it is trickier than I thought because the snownet test harness doesn't support dispatching traffic between two relays. I don't really want to invest in that test harness, I'd much rather delete that code and cover it using tunnel_test.
Meaning, before we can merge this, I'll see if I can change the tunnel_test harness to do a minimal version of proper routing. Once that is in place, we can extend the tunnel_test harness with multiple relays (and later multiple gateways) and then delete this test without losing any confidence.

We can pick this back up once https://github.com/firezone/firezone/pull/6060 merges.

@conectado Ready for review.


[ FEAT ] FAVICON LOGO ( LINKFREE LOGO )

We will be needing one logo which we can add on favicon and also in readme

We should use this issue to discuss potential favicon options. Once an icon has been chosen, we can open this up for contributions.

Closing Issue will shift to Discussion


OSX 10.6: cgns 3.2.1 build fails

libcgns.a was created, but we get a strange error message from cgns' build:(Maybe it is trying to create a dylib?) checking if Fortran interface is enabled... yes/usr/bin/install c m 644 cgnswin_f.h /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgnswin_f.h/usr/bin/install c m 644 cgns_io.h /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgns_io.h/usr/bin/install c m 644 cgnsconfig.h /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgnsconfig.h/usr/bin/install c m 644 cgnsBuild.defs /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgnsBuild.defs/usr/bin/install c m 644 lib/libcgns.a /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwin-x86_64/lib/libcgns.a/usr/bin/libtool: can't open file: DARWIN/libcgns.a (No such file or directory)
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 1969
Status: Pending
Project: VisIt
Tracker: Bug
Priority: Normal
Subject: OSX 10.6: cgns 3.2.1 build fails
Assigned to: -
Category: -
Target version: -
Author: Cyrus Harrison
Start: 08/28/2014
Due date:
% Done: 0%
Estimated time:
Created: 08/28/2014 05:51 pm
Updated: 09/09/2014 01:38 pm
Likelihood: 3 - Occasional
Severity: 2 - Minor Irritation
Found in version: 2.7.3
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
libcgns.a was created, but we get a strange error message from cgns' build:(Maybe it is trying to create a dylib?) checking if Fortran interface is enabled... yes/usr/bin/install c m 644 cgnswin_f.h /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgnswin_f.h/usr/bin/install c m 644 cgns_io.h /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgns_io.h/usr/bin/install c m 644 cgnsconfig.h /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgnsconfig.h/usr/bin/install c m 644 cgnsBuild.defs /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwinx86_64/include/cgnsBuild.defs/usr/bin/install c m 644 lib/libcgns.a /Users/harrison37/Work/masonry/mbuildvisit2.8.0darwinx86_64/thirdparty_shared/visit/cgns/3.2.1/darwin-x86_64/lib/libcgns.a/usr/bin/libtool: can't open file: DARWIN/libcgns.a (No such file or directory)
Comments:

This seems outdated

It is.


Added footer and logos

Closes #997
Examples:

coverage: 84.27%. remained the same
when pulling 06d9bb815cdb8b0dbd18299cc57b6ff7bcac1f7c on 997-Add_footer
into 2548b8fab1c8c14cc99cf91083a708a6f44cb8b7 on main.


adjust reacting to whether a helm repo chart url in the index is full…

… or relative in a more generic way, able to capture all cases

What type of PR is this?

a hotfix
What this PR does / why we need it:
fix cases of helm repos serving alternative urls/locations for indexed charts. I've also added a test around this to the functional tests.
Which issue(s) this PR fixes or finishes:
#34

Also adjusting the unit tests script, go mod suddenly started not liking the go get of golint in the root directory of the repo. Noticed this on another project doing something similar this past week.

Seems like the test that failed should have been skipped?

Seems like the test that failed should have been skipped?

Sorry, not following I think. Might be just b/c I was trying to fix this unit test script issue concurrently :) Can you point to the skipped test you're talking about?

I don't see it under checks anymore. It looked like it failed trying to make a release due to a missing change log entry.

I don't see it under checks anymore. It looked like it failed trying to make a release due to a missing change log entry.

Ah yeah, I was tagging a pre-release along with this and didn't have a changelog for it, fixed/pushed along with these changes: https://github.com/Cray-HPE/loftsman/pull/36/commits/33b819bce7922b61b94d6cc0f42686c4a0c50256


Node to node operator

Adding a basic node-to-node transfer map for aligned surface meshes in the point cloud operators.

Damien can you review?

Will do

Can one of the admins verify this patch?

test this please

ok to test

Code has been updated per the review. Damien can you take a look when you get a chance?

OK this should be the last change @dalg24


CBDialog.m complile error

Hi
pod install code as follows
pod 'QMChatViewController'
pod 'QMServices'
pod 'SDWebImage'
pod 'GoogleMaps'
pod 'Firebase/Messaging'
pod 'AFNetworking'
pod 'FBSDKShareKit'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
i am getting a error CBDialog.m
dialog.roomJID = self.roomJID;   -- Assigment to readonly property
Thanks
Nicky Patson

@gizmeondev  Do you set somewhere in your code  roomJID explicitly?
If Yes, then there is no needs to do this.

its there in the pod SDK file , I didn't change anything
Thanks

Could you please advice us

Hi @gizmeondev, please provide version of SDK

@gizmeondev, please check QBChatDialog interface https://github.com/QuickBlox/quickblox-ios-sdk/blob/master/Framework/Quickblox.framework/Versions/A/Headers/QBChatDialog.h

Installing QMChatViewController (0.3.8)
Installing QMServices (0.2.5)
Installing QuickBlox (2.7.3)
Installing SDWebImage (3.7.2)
Installing TTTAttributedLabel (1.13.4)

Can i comment those lines
self.tDialog.roomJID

@gizmeondev  Try to update QMServices to the latest

pod 'QMChatViewController'
pod 'QMServices'
pod 'SDWebImage'
pod 'GoogleMaps'
pod 'Firebase/Messaging'
pod 'AFNetworking'
pod 'FBSDKCoreKit'

Installing QMChatViewController (0.3.8)
Installing QMServices (0.2.5)
Installing QuickBlox (2.7.3)
is this is the latest one , Please confirm i am getting compilation error

Try to edit podfile with this changes:
pod 'QMServices', '0.4.2'

Thanks broo , will check keep you posted the status!!

Worked like a charm !!

@gizmeondev  It's good to hear that it is resolved


Re-add getAvailableLanguages, getAvailableThemes, languageIsAvailable and themeIsAvailable

This PR re-adds getAvailableLanguages, getAvailableThemes, languageIsAvailable and themeIsAvailable and updates their behavior to correctly read all languages/themes, rather than just currently loaded ones.
Even though individual languages and themes are now lazy-loaded by Shiki, these methods allow an application to introspect the possible assets available for lazy-loading.
This functionality is essential for an application to present a dropdown list of highlighting options to a user, and to validate user-selected languages/themes.
I know you just released a new major version without these methods, but it would not be a breaking change to re-add them. I hope you'll consider this, despite the churn. Thanks!

As an implementation detail, this PR differentiates internally between base languages (e.g. javascript) and aliases (e.g. javascript and js). getAvailableLanguages returns base languages, while languageIsAvailable checks against all aliases.
(This PR also fixes a small nit: symfony/process was not required as a dependency.)

Seems like the tests on older PHP versions are failing, can you check?

Oops, looks like symfony/process needs to be ^5.4|^6.4|^7.1 to support all the way back to PHP 7.4. Should be fixed now!

Thanks!


Delete deprecated CNPStatusUpdates and K8sEventHandover

Testing what breaks for now.
Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

/test

/test

/test

/test

/test

Mostly LGTM, but what about the CRD field?

I was thinking about leaving that for now and remove it later to be able to clean the existing node statuses: https://github.com/cilium/cilium/blob/23e7c4d0d6bf6f83864ea5f674d8cc8d8d6f9deb/operator/cmd/root.go#L675

Rebased onto main, only conflict in Documentation/operations/upgrade.rst

/test


ChangeTokens and signalling Deleted files

From @Tratcher on Monday, October 24, 2016 9:51:44 AM
From @dazinator on October 24, 2016 16:47
Hello,
In my custom IFileProvider, i'd like it to behave correctly when a file being watched is deleted. I already have it returning a custom IChangeToken for the watched file, but i'm not clear on exactly what needs to be done in order to correctly signal a Delete. Are there any examples of this that I could look at?
Copied from original issue: aspnet/StaticFiles#162
Copied from original issue: aspnet/FileSystem#241

From @dazinator on Monday, November 21, 2016 4:06:09 PM
I figured some of this out. Looks like the behaviour is:

Client calls watch on file provider to get a change token.
Change tokens are generally cancellation change tokens - which means the change is signalled to the client by calling Cancel() on it.
when the token is signalled (cancelled) the token is essentially dead and should not b reused. This means the client should dump it and get a fresh one by calling Watch() again.

This makes sense to me so far but the thing that remains confusing to me is that if the client is watching a glob pattern token, how does the client know which of the files were changed when the token is signalled? The client can register a callback to be invoked when the token is signalled, and this callback has a 'state' argument. Should this "state" argument contain info about the files that were changed?

From @dazinator on Friday, March 3, 2017 6:34:59 AM
Can I seek some clarification?
If watching a glob pattern with PhysicalFileProvider - say *.txt - am I right in assuming the only way to work out what files have changed when the change token is signalled, is to:

Query all the files that currently exist matching that pattern before you do the "watch"
When the change token for the glob is signalled - re-query the files using the glob.
Compare the state of files before and after - to calculate list of additions, modifications, deletions?

If that's the case - my follow up question would be what if a file is modified in between 1 and 2?
So to solve that you would have to watch the pattern first, then query the files? But if the pattern is signalled before you have queried the files - you then have to introduce locking. This starts to get complicated quite quickly!
Would be better if Watch / change token subscription was extended to enable you to retrieve information about reason for the change token singalling (i.e the added, modified, and deleted files)

From @dazinator on Wednesday, March 22, 2017 2:01:25 PM
TLDR: How to know what files have caused a change token covering a glob pattern, to be signalled?

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


Python repl not printing output of last statement

Testing #23994
Testing the repl, the output of os.getcwd() is not printed for me by default. I had to add a call to print(...) to see it

Closing against: https://github.com/microsoft/vscode-python/issues/24460 I think they are rooted from same problem.


tool.meson-python.limited-api does not produce ABI3 names

meson-python version: 0.16.0
I enabled the limited-api option in my pyproject.toml like so:
[tool.meson-python]
limited-api = true

I am also building my extension modules with limited API enabled:
python.extension_module(
   ...
    limited_api: '3.7',
)

Then, I build with:
python -m build

But the produced wheels do not contain the abi3 in the name. Nor do the .so libs inside.
However, if I instead build like so:
python -m build -C=setup-args="-Dpython.allow_limited_api=true"

Both the wheel and the .so libs inside are named correctly (contain abi3 in the name).

Are you using Meson >=1.3.0? Older versions don't support the limited API. If so, can you either share your project or a simplified reproducible example?
You can also look at our test package for limited API support and see what is different from yours:
https://github.com/mesonbuild/meson-python/tree/main/tests/packages/limited-api

Apologies, this was a misconfiguration on my part.
I had set 'python.allow_limited_api=false' in the project default options and forgot about it.

Thanks for figuring it out and updating us @sdimovv.


refactor(yaml): define ScalarType type and use it for implicit types

We removed the check of non-scalar types in implicit list of schema in #5445
This PR checks that constraint by defining ScalarType type and only allowing it for implicit types of the schemas.

What about adding a type argument to Type instead? That's what I was gong to do after #5445.

Can you create a PR?


Default are not shown in Login Interface Texts/External user not found

Describe the bug
The text is not shown if it the same as the default value (unlike for the other pages). This makes it harder to find where to edit a message.
To Reproduce
Expected behavior
The current values should be shown (as is the case for the other pages).

Screenshots

Desktop (please complete the following information):

OS: macOS
Browser: Safari

Additional context
ZITADEL Cloud 2.8.2

@peintnermax did you have a look at this? is it a frontend or backend problem? Or is it because the labels are empty?

This is a backend issue.. externalUserNotFoundTexts from getDefaultLoginTexts return empty strings in contrast to others

fix is included in #4733


x/website,x/pkgsite: add support for syntax highlighting

This is an umbrella issue for syntax highlighting support in various web properties owned and maintained by the Go project

x/pkgsite: code block in comments https://github.com/golang/go/issues/40952
example: https://pkg.go.dev/cloud.google.com/go/storage?tab=doc#hdr-Objects
This can be tricky without a way to distinguish code blocks and pre-formatted non-code blocks.
x/website: docs and tutorials https://github.com/golang/go/issues/55886
examples:
- https://go.dev/doc/tutorial/database-access
- https://go.dev/doc/effective_go
Source of these pages are html or a simplified md files. https://cs.opensource.google/go/x/website/+/master:_content/doc/
x/playground, x/pkgsite: https://github.com/golang/go/issues/34227 https://github.com/golang/go/issues/52198 https://github.com/golang/go/issues/28539
examples:
- example code https://pkg.go.dev/io#example-Copy
x/tour: tour partially supports syntax highlighting but that's unmaintained. Recent language updates aren't reflected.
See https://github.com/golang/go/issues/34227#issuecomment-530248120 for context.

I did a brief experiment to add syntax highlighting via https://github.com/yuin/goldmark-highlighting and it seems fairly easy to accomplish. Is this something the team is open to?


feature:  protobuff support when loading python wrapper

Use  protobuff to comunicate with the python inference

Deprecated
just use pybind


[BUG] trying to follow user

Try Instagrapi SaaS with a free trial https://hikerapi.com/p/5GBWznd3
Hello
when trying to follow users, thats what its show now:
FeedbackRequired: feedback_required: Some accounts prefer to manually review followers even when they're public. Let us know if you think we made a mistake.
How to solve it?

That account is you are following is will review followers or your account marked as spam.


Add option to generate a catalog at a fixed healpix order

Two things here:
1 - IPAC is currently only generating their catalogs at a fixed order. It would be nice to do some apples-to-apples comparison with their formats.
2 - For very small/sparse catalogs, we might only have pixels at orders 0 and 1. Cross matching these to big ol' surveys is going to be very inefficient, and we would be better served with only a handful of very small pixels. One way to achieve this would be to force all pixels to be at order 4 or 5. In these catalogs, the file size distribution is pretty wonky anyway.

Implemented in https://github.com/astronomy-commons/hipscat-import/pull/73


conflicting values for variable 'lat_bnds'

What versions of software are you using?

Package Version: Main branch / Release 0.1.0

What are the steps to reproduce this issue?
import xcdat

p = '/p/css03/scratch/cmip6/CMIP/NCC/NorCPM1/historical/r10i1p1f1/Amon/tas/gn/v20190914/*nc'
ds = xcdat.open_mfdataset(p)

MergeError: conflicting values for variable 'lat_bnds' on objects to be combined. You can skip this check by specifying compat='override'.

What happens? Any logs, error output, etc?
I think this is happening because the lat_bnd values have slight (e.g., 10-13) differences in the different netCDF files.
Any other comments?
Opening with xarray works fine (as long as you do not set data_vars="minimal"), though the lat_bnd is larger than expected:
import xarray as xr
ds = xr.open_mfdataset(p)
print(ds.lat_bnds.shape)

(2160, 142, 2)

It appears that the bounds differ depending on timestep:
np.array(ds.lat_bnds[0] - ds.lat_bnds[-1])

array([[-9.00000000e+01, -8.90526316e+01],
[-8.90526316e+01, -8.71578947e+01],
[-8.71578947e+01, -8.52631579e+01],
...
[            nan,             nan],
[ 8.90526316e+01,  9.00000000e+01],
[            nan,             nan]])

I'm not totally sure why there are NaN values. They don't appear when I use ncdump -v lat_bnds /p/css03/scratch/cmip6/CMIP/NCC/NorCPM1/historical/r10i1p1f1/Amon/tas/gn/v20190914/tas_Amon_NorCPM1_historical_r10i1p1f1_gn_185001-201412.nc, but they do appear after loading the dataset with xarray.
I do not know what to do with this problem, though CDAT seems to be able to load the bounds with no problem.

Opening with xarray works fine (as long as you do not set data_vars="minimal"), though the lat_bnd is larger than expected:

import xarray as xr
ds = xr.open_mfdataset(p)
print(ds.lat_bnds.shape)
(2160, 142, 2)

The time dimension gets concatenated to non-time variables like lat_bnds (shown below) when data_vars="minimal" is not set. Related open issue with concatenation of dims: https://github.com/pydata/xarray/issues/2064
>>> ds.lat_bnds.dims
('time', 'lat', 'bnds')

The possible solution, in addition to data_vars="minimal", includes coords="minimal" and compat="override".

data_vars: These data variables will be concatenated together:

“minimal”: Only data variables in which the dimension already appears are included.

coords: These coordinate variables will be concatenated together:

“minimal”: Only coordinates in which the dimension already appears are included.

compat: String indicating how to compare variables of the same name for potential conflicts when merging

“override”: skip comparing and pick variable from first dataset

#%%
import xarray as xr

import xcdat

#%%
p = "/p/css03/scratch/cmip6/CMIP/NCC/NorCPM1/historical/r10i1p1f1/Amon/tas/gn/v20190914/*nc"

#%%
# xarray without data_vars="minimal" (concats time dimension)
>>> ds_xr_no_min = xr.open_mfdataset(p)
>>> ds.xr_no_min.lat_bnds.shape
(2160, 142, 2)

# xcdat with only data_vars="minimal" (conflicting error)
>>> ds_xcdat_no_min = xcdat.open_mfdataset(p)
MergeError: conflicting values for variable 'lat_bnds' on objects to be combined. You can skip this check by specifying compat='override'.

#%%
# xarray with all correct settings
>>> ds_xr_with_min = xr.open_mfdataset(
    p, data_vars="minimal", coords="minimal", compat="override"
)
>>> ds_xr_with_min.lat_bnds.shape
(142, 2)

# xcdat with all correct settings
>>> ds_xcdat_with_min = xcdat.open_mfdataset(p, coords="minimal", compat="override")
>>> ds_xcdat_with_min.lat_bnds.shape
(142, 2)

It appears that the bounds differ depending on timestep:
np.array(ds.lat_bnds[0] - ds.lat_bnds[-1])

array([[-9.00000000e+01, -8.90526316e+01],
[-8.90526316e+01, -8.71578947e+01],
[-8.71578947e+01, -8.52631579e+01],
...
[            nan,             nan],
[ 8.90526316e+01,  9.00000000e+01],
[            nan,             nan]])

I'm not totally sure why there are NaN values. They don't appear when I use ncdump -v lat_bnds /p/css03/scratch/cmip6/CMIP/NCC/NorCPM1/historical/r10i1p1f1/Amon/tas/gn/v20190914/tas_Amon_NorCPM1_historical_r10i1p1f1_gn_185001-201412.nc, but they do appear after loading the dataset with xarray.

After resolving the concatenation of the time dimension and data variable compatibility issues, I still noticed NaN values as well. I am investigating why this is happening in xarray.
>>>ds_xr_with_min.lat_bnds[0].values
array([-90.        , -89.05263158])

>>> ds_xr_with_min.lat_bnds[-1].values
array([nan, nan])

I think nan values are being produced because there are very small differences in lat_bnds values as you mentioned (also shown in code example below) and an outer join (union of object indexes) is performed by default. These nan values subsequently increase the size of lat_bnds from (96, 2) to (142, 2) after calling open_mfdataset().
Comparing shapes of lat_bnds between datasets and performing floating point comparison:
p1 = f"{path}tas_Amon_NorCPM1_historical_r10i1p1f1_gn_185001-201412.nc"
p2 = f"{path}tas_Amon_NorCPM1_historical_r10i1p1f1_gn_201501-201812.nc"
p3 = f"{path}tas_Amon_NorCPM1_historical_r10i1p1f1_gn_201901-202912.nc"

>>> ds1 = xr.open_dataset(p1)
>>> ds2 = xr.open_dataset(p2)
>>> ds3 = xr.open_dataset(p3)
>>> ds1.lat_bnds.shape
(96, 2)
>>> ds2.lat_bnds.shape
(96, 2)
>>> ds3.lat_bnds.shape
(96, 2)

>>> np.testing.assert_allclose(ds1.lat_bnds, ds2.lat_bnds)
>>> np.testing.assert_allclose(ds1.lat_bnds, ds3.lat_bnds)
AssertionError:
Not equal to tolerance rtol=1e-07, atol=0

Mismatched elements: 2 / 192 (1.04%)
Max absolute difference: 0.
Max relative difference: 0.
 x: array([[-90.      , -89.052632],
       [-89.052632, -87.157895],
       [-87.157895, -85.263158],...
 y: array([[-90.      , -89.052632],
       [-89.052632, -87.157895],
       [-87.157895, -85.263158],...

>>>np.testing.assert_allclose(ds2.lat_bnds, ds3.lat_bnds)
True

Comparing difference joins since I noticed that the lat_bnds of the individual datasets had a shape of (96, 2), not (142, 2):
# “outer”: use the union of object indexes (default xarray value)
# ==========================================================
>>> ds = xcdat.open_mfdataset(
    p, data_vars="minimal", coords="minimal", compat="override", join="outer"
)
>>> ds.lat_bnds.shape
(142, 2)
>>> ds_left.lat_bnds.isnull().values
Has null values

# "left": use indexes from the first object with each dimension
# ==========================================================
>>> ds_left = xcdat.open_mfdataset(
    p, data_vars="minimal", coords="minimal", compat="override", join="left"
)
>>> ds_left.lat_bnds.shape
(96, 2)
>>> ds_left.lat_bnds.isnull().values
No null values

# “override”: if indexes are of same size, rewrite indexes to be those of the first object with that dimension. Indexes for the same dimension must have the same size in all objects.
# ==========================================================
>>> ds_override = xcdat.open_mfdataset(
    p, data_vars="minimal", coords="minimal", compat="override", join="override"
)
>>> ds_left.lat_bnds.shape
(96, 2)
>>> ds_override.lat_bnds.isnull().values
No null values

# %%
>>> ds_left.lat_bnds.identical(ds_override.lat_bnds)
True

The possible solutions I found so far are to use join="left" or join="override" in open_mfdataset(), but there may be implications with this option (e.g., if the first dataset has missing values and you use them for the single joined dataset).

Based on my findings above, I think we should provide those two options in the docs/docstring for cases where Datasets have conflicting values.
Since xarray/xcdat provides kwarg args to handle this edge case, we should probably avoid implementing code to try to handle it.

This seems like a reasonable solution. One slightly more complex way of handling this situation would be to try to detect this problem with a pre-processor function, which could throw a warning or exception. I wasn't sure if the pre-processor functions can communicate information between files (e.g., to compare bounds across files) or if they must act independently on each netcdf file (and thus cannot compare bounds across files).


change: duster -  refund fee -> smaller reward

You might want to refund the fees if the dusting was successful. That way you can maybe get away with a smaller reward.
Originally posted by @apopiak in https://github.com/galacticcouncil/Basilisk-node/pull/104#discussion_r677274592

Deprecated


CheckBoxList must have flags 'isShowHighlight' and 'isChangeTextColor'

Hi!
CheckBoxList must have flags

'isShowHighlight' and
'isChangeTextColor',

when 'Mouse over' event on RadzenCheckBoxListItem,
this RadzenCheckBoxListItem must

set/change  highlight  background (as in RadzenPanelMenuItem)
change the TEXT color

Thanks!

Hey @Andrey-2021,
RadzenCheckBoxListItem accept arbitrary attributes and what you are looking for is as simple as:
<RadzenCheckBoxListItem Text="Orders" Value="1"
                            onmouseenter="this.style.backgroundColor = 'red'" onmouseleave="this.style.backgroundColor = ''" />


Rrbvector fix

What is the bug you are trying to fix? Could you make an issue? And I'll try to help if I can.
I'm not sure about some of these refractors. Lets discuss before merging

RRBVector isn't being assessed as deepstrict correctly. We can fake this working by just adding it to the golden list and marking its parameter as Strict. The reason why it isn't being assessed correctly is because SmallArray# doesn't have any constructors, and thus is assumed to be deepstrict due to mconcat below.
    consDeepStrict <- traverse isConDeepStrict (TH.datatypeCons updatedDt)
    pure $ mconcat consDeepStrict

The refactors were so that the code is more easily understandable for me. I also think they make it clearer, since args is used effectively as a reader parameter but has to manually be passed around.

Ah I see! You are right that's a bug.
I think only SmallArray# and Array# are susceptible to this. We need to have a special case for this somewhere. I think the easiest thing to do is to add them to the default contextOverride list. Could you make a separate MR with that change?
I'll take a proper look at this one later

Can do.
I fear that SmallArray# and Array# are both lazy too; would you agree with this?

I don't think there's a way currently to say "If unlifted, deepstrict; else, lazy". would have to add to the Strictness data structure

SmallMutableArray# will probably have the same issue, right?

SmallMutableArray# will probably have the same issue, right?

Yeah mutable variants will be the same.

I don't think there's a way currently to say "If unlifted, deepstrict; else, lazy". would have to add to the Strictness data structure

Yes you'll have to add an Unlifted constructor, which means that the type has to be unlifted

    (WeakLazy, DeepStrict, Unlifted) -> pure DeepStrict
If a field's type is Unlifted, then surely it is deepstrict already?

If a field's type is Unlifted, then surely it is deepstrict already?

Being unlifted is a top-level thing (https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/primitives.html#unlifted-datatypes), eg,
data UBox a :: UnliftedType where
  UBox :: a -> UBox a

x = UBox undefined
-- while the following is not allowed
-- y :: UBox Int
-- y = undefined

Something being unlifted means that it cannot be a thunk, but it can still contain fields that can be thunks.


How to mute and unmute other participant in room?

I have implemented multi-party  video nowI want to mute and unmute some participant in room.
is there any way i can mute or unmute other participant in room

Thanks for reaching out @gokuCoder ! Yes, there is a way to mute RemoteAudioTracks with the video SDK. If you take a look at the onAudioTrackSubscribed function within the RemoteParticipantListener class, there is a remoteAudioTrack parameter. In your application you can invoke isPlaybackEnabled() with false passed in to mute the corresponding remote participant. Hope that helps!

I'm going to close this issue for now. Please feel free to reopen if you are still running into issues. Thanks!


Conversion to/from dask dataframe

Hi, would it be possible to have zero-copy conversion to/from Dask dataframes in modin?

ddf = mdf.to_dask_dataframe()
mdf = mpd.from_dask_dataframe(ddf)

This is useful in many cases when working directly with the Dask partitions.
Also, I'm using dask_on_ray and would be very happy if dask dataframe would directly work on Modin's partitions.

Hi @Hoeze, thanks for the question!
We have thought about a to/from Dask Dataframe before, what exactly are you trying to do with Modin/Dask? Is there something you need from Dask that Modin can't do (or vice-versa)?
It might be good to also add as a Dask issue, since we don't have control over whether dask.dataframe can operate on Modin partitions.

Hi @devin-petersohn!

We have thought about a to/from Dask Dataframe before, what exactly are you trying to do with Modin/Dask? Is there something you need from Dask that Modin can't do (or vice-versa)?

A main feature that I'd like to use are delayed objects and the lazy execution in Dask Dataframes.
The explicit shuffle commands are a very nice feature of dask as well.
Also, it's not possible to join a Dask dataframe with a modin dataframe as it is possible with Pandas dataframes.
In each case, it's annoying to 1) write the dataframe to disk and 2) open it again when I want to change the framework.


Using MC skills still skips any subsequent actions.

MAKE SURE YOU TESTED THE LATEST RELEASE.

See 'SAMSUNG.md' first, if you're a Samsung user.

Describe the bug
I just did a couple of runs with the new v11.4 update and the problem still exists for me. Also it's not just limited to the Order Change for me, using any MC skill causes a delay big enough that any subsequent actions get clicked even before the animations are completely over. Could you create an optional apk with increased wait times by 5-10 seconds for all MC skills? I think that should fix it for me.
Screenshots
Dunno if screenshot is required for this.
Device Info (please fill atleast 'Device model'):

Device model: [Samsung A9 Pro]
Screen size: [1920x1080]
Android Version: [Android 8.0.0]
RAM: [4 GB]

Can you post a video of the script doing order change on your phone? I need to exactly where the lag is.
Preferably, take the video of your screen using another phone/camera so that your phone doesn't lag even more due to the recording.

https://imgur.com/gallery/UyhGLBy
Here's the relevant part of the autoskill I am using.
x31ehidjg5
e is the filler skill to account for the delay after order change and it got skipped, g is to account for the delay after I use the MC atk up and it gets clicked some times and some times it doesn't.

Give me some time to analyze the video.
From what I can see, I think the problem is related to the time the Attack button needs to disappear before reappearing on your phone.

I agree with MathewSachin. So we should probably add some wait time after clicking on the master skill:
https://github.com/MathewSachin/Fate-Grand-Automata/blob/61f7d0871fd27e2d2582cac09bbf6c7e4b249c85/FateGrandAutomata.Core/Modules/AutoSkill.cs#L88-L92

Correction: To both fix order change and normal master skills, I would propose adding waitVanish here instead of a simple wait. Then increase the waitVanish by a few seconds.

There is another complication here, we don't always need to wait right after the skill is clicked.
If it is a targetable skill, we have to start the long wait only after target is selected.
The effects of this can be seen right now in targetable skills from how the code is written. The script always waits for at least 2s before clicking on skill target. This is because the Attack button doesn't completely disappear when the skill target selection dialog opens.

An idea I'm getting is we need to add a wait to let the order change dialog close first.
@consistentescape I'll do something for the other master skills too, but first, can you test if this build works for order change: https://github.com/MathewSachin/Fate-Grand-Automata/actions/runs/88303393
Download the apk from that link, it will be in a zipped folder.

I just did some runs and none of them had any problems with the order change so it seems to be working fine. Thanks for the update, I can wait for the other fixes no problem.

That great! The video you provided really helped find the cause.
Now, only if I could get a video of other master skills misbehaving, it'd be easier for me to fix. I can't really reproduce this problem on my phone.

@MathewSachin there is another one in the video, the attack buff. It also misbehaves.

@reconman The mystic code attack buff seemed fine. Did some skill miss there?

Ah sorry, must have been an imagination.

The mystic code atk buff only misses sometimes, probably because the animation times are not always the same. But yeah it didn't miss in the video I uploaded.

@consistentescape The game should be working more smoothly after the engine update and we have configurable delays in More options / Fine-tune in the latest release.
So, I'm closing this issue now. Reopen if you still face this problem.

The animations usually lag up when the skill name is displayed and the other skills get pressed then.

Also, the script might not be able to work properly if the game itself lags too much on your device.


Safer metadata mutation

Api should expose a way to safely mutate metadata, by specifying which keys are changing. The underlying call does not require an entire song each time, just the keys that are changing.

Metadata mutation isn't supported anymore.


Improve the "trade dest" memo on yolo dest funds sending.

At least say in static string that it comes from yolo swap.

Yolo swap in not the right string. As in the future other wallets and website might use the network as well. So yolo network or kyber network protocol is better


create container failed with SELinux enabled and huge amounts of files in the volume

Description
create a Pod with containers in a Kubernetes cluster, with SELinux enabled for nodes and huge amounts of files in the volume, the container-creating process is blocked with the error:  Error: failed to reserve container name **: name ** is reserved for **, also ref #4604
I think the cause may be:

SELinux relabeling for huge amounts of files (millions of files) takes too long and the kubelet treats it as the timeout and then re-try to create the container, as we also got some Error: failed to generate container ** spec: failed to apply OCI options: relabel ** with ** failed: open ** no such file or directory (this "no such file or directory" error may be caused as another container in this Pod creates and deletes files frequently)

Steps to reproduce the issue

Describe the results you received and expected
the container is created successfully.
What version of containerd are you using?
v1.6.19
Any other relevant information
No response
Show configuration if it is related to CRI plugin.
No response

link https://github.com/bottlerocket-os/bottlerocket/issues/2656, https://github.com/kubernetes-sigs/aws-ebs-csi-driver/issues/1544, https://github.com/kubernetes/kubernetes/issues/69799

https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/1710-selinux-relabeling/README.md


Orderable withCount (orderable counts of related model)

Summary of problem or feature request
I saw the following issues related to withCount: https://github.com/yajra/laravel-datatables/issues?utf8=✓&q=withcount but I'm still not sure how to implement orderable counts of related model:
I have Article model with the following Polymorphic relationship:
    public function comments()
    {
        return $this->morphMany(Comment::class, 'commentable');
    }

In ArticleController there is the following method for processing DataTables ajax requests:
    public function process()
    {
        $articles = Article::withCount('comments')->with(['market', 'category', 'user'])->select('articles.*');

        return Datatables::of($articles)
            .  .  .
            ->editColumn('comments_count', function ($article) {
                return $article->comments_count;
            })
             .  .  .
            ->rawColumns(['title', 'image_path', 'approved', 'action', 'body'])
            ->make(true);
    }

... and finally there is a blade view file with the following DataTables setup:
            table.DataTable({
                . . .
                columns: [
                    . . .
                    { data: 'comments_count', name: 'comments_count', className: "text-center", searchable: false },
                    . . .
                ]
               . . .

This doesn't work, even numbers are not shown:

But when I remove withCount('comments') and eager-load comments:
        $articles = Article::with(['market', 'category', 'user', 'comments'])->select('articles.*');

... and edit column like this:
            ->editColumn('comments_count', function ($article) {
                return $article->comments->count();
            })

... the counts of comments are shown but are, of course, not orderable.  I saw that:

If you are counting from relations, you then need to do some join statements. The key here is as long as it works on the SQL level, it should work with dataTables.

So I guess that I would need to remove eager loading of comments but, as for the counting on SQL level, I'm not sure how to do it in my case where I am using Eloquent DataTables Class and how that SQL would look like here:
        $articles = Article::with(['market', 'category', 'user'])->select('articles.*');

System details

Operating System: Ubuntu 16.04 (Laravel Homestead)
PHP Version: PHP 7.1 (Laravel Homestead)
Laravel Version: 5.4
Laravel-Datatables Version 8.1*

You need to perform select first before doing the count.
$articles = Article::select('articles.*')->with(['market', 'category', 'user', 'comments']);

@yajra Thanks, that worked! However, I've encountered another problem: When having withCount & where at the same time - the results are not paginated and ordering doesn't work. I've opened new Issue where are more details about that: https://github.com/yajra/laravel-datatables/issues/1471


How to set timestamp query parameter

How to set the ts parameter https://webhose.io/documentation ?

We have added another search function when you can specify the ts timestamp parameter:
https://github.com/Buzzilla/webhose-java/blob/master/src/main/java/com/buzzilla/webhose/client/WebhoseClient.java

Thanks, wait this in maven central


Custom Spawn

Hi, I wanted to ask if there is a way to modify or eliminate the spawn of YUNomakegoodmap, I should put my building as spawn.
If you can eliminate the spawn can I use another mod to create it, if I can put it directly in Yuno then it would be better.
I apologize for my English, not American-English
Thanks for your attention, Liv3ry.

Theoretically I wanted to add the ability to import schematics as the spawn, but never got around to doing that..

You could eliminate the structure so that spawn with another mod I put it?

Default setup is one dirt block, so go that route.

This has been added in the 1.10.2 version.


feat(autocmd): detect ^<.+> from symbol/list to set command

[x] feat(autocmd): deprecate ^<.+> sym/list for callback
[x] test(autocmd): add specs for both command and callback to ensure compatibility

#197 Closes this.


Identity insert for Sql Server

I've added a method that will allow users of Sql Server to insert explicit identity data into tables with an identity field.  For all other database providers, the method is simply ignored.

@hazzik please elaborate on what is wrong.  I see it as he has reduced
Execute.WithDatabaeType(typeof(SqlServer)).Script("Set Identity Insert On") to Insert.Into("Table1").WithIdentityInsert()
I can see the argument that it is introducing a vendor specific concept in to the API but it means that it future proofs migrations, so that if another vendor decides to follow suit then FM handles it no the migration and I think oracle also requests this but I don't know but I can be confident that if it does it is handled for me.
I can concentrate on what I want the database to do not how it does it.  This is just my view and i would like to know anyone else standpoint on items like this.

I don't personally see the harm in bringing in database specific functionality if it doesn't mean that behavior will be different across databases.  But from what I can tell, most (if not all) of the other supported databases already allow you to insert a value into an identity (or similar) column.  So this method is really just allowing SQL Server to do what the others can already do.  This is why I felt that having the other database providers simply ignore the statement made sense.
In other words, I don't feel like this is bringing a feature into the library that makes it incompatible with non SQL Server databases; rather, it helps even the playing field.

It is certainly an issue that has appeared on the mailing list a couple of times, with people asking how to achieve this result.  I agree that it is levelling the playing field rather than doing some thing special for one database.  The same was we do for mysql renames or is that sqlite, I can't remember because FM deals with it for me ;).

What is wrong with just
Execute.Sql("SET IDENTITY INSERT ON")
Insert ...
Execute.Sql("SET IDENTITY INSERT OFF")

I'm totally agreed with @tommarien

i agree
you could use IfDatabase(params string[] databaseType), yes it's a conditional, but want you wanted to add is a hidden conditional.

You're correct that it's a hidden conditional, but including the conditional inside FM means that it can be applied consistently, tested fully, and can help remove a large amount of clutter in end users' code in exchange for a small amount of code in the library.
My comment from November 10th sums up why I think this hidden conditional would not be the same as most other SQL Server specific functions.

I favor to accept this one

You may alwayse create BaseIdentityInsertMigration and turn identity on before actual executing and turn it off after.
 public abstract class BaseIdentityInsertMigration : Migration
 {
     private string table;
     protected BaseIdentityInsertMigration (string table) { this.table = table; }

     public override void MigrateUp()
     {
          Execute.Sql("SET IDENTITY INSERT " + table + "ON");
          MigrateUpCore();
          Execute.Sql("SET IDENTITY INSERT " + table + "ON")
     }
     protected abstract void MigrateUpCore();
 }

And this would be more consistent than hidden condition.

I agree it should be merged

Sure, I could do that...  But then I'd need to do that across all projects that use FM and SQL Server.  And everyone else that would like this functionality would need to do the same.
I also don't see how this is different than the support for Identity or Sequence columns.  Oracle doesn't support the former and SQL Server doesn't support the former.  Where is the distinction between that and this?

No one uses identity insert it is an moveton.

Wow, um, ok...  I can guarantee you that at least one person uses identity insert, but if you don't think it's worthwhile to include a contribution that allows this because no one uses it, then I guess I've got no legs to stand on...

I guess I've got no legs

What do you have against the peoples with disabilities?
So if we will follow you logic. Than if we'll found one person who wants fluent-migrator to serve coffee for him than we should implement this ability?
I think that bring some nasty api into the core it is not good idea. API should be as much clear as possible. So, I think that this ability should go into some *contrib porject.

We use it so that is too!!  Have else can you easily insert relation data into newly created data with out specifying the ids (note I said easily).
Dam, I was saving the inclusion of the sequence construct argument for when things got really messy!! ;)

No, that's not following my logic at all.  Your suggestion was to implement functionality that no database provides, and no sensible default would exist if one database actually did provide it.  My statement was simply to refute the suggestion that "no one" uses identity insert.
I still do not understand how this is any more "nasty" than offering support for Identity when Oracle does not support it or Sequences when SQL Server does not support them.

No, that's not following my logic at all. Your suggestion was to implement functionality that no database provides, and no sensible default would exist if one database actually did provide it.

No one uses identity insert

I still do not understand how this is any more "nasty" than offering support for Identity when Oracle does not support it or Sequences when SQL Server does not support them.

Also I'm not happy with supporting any per-database specific features in core. IMO things like sequences and identities should go into *contrib projects or atleast should have more explicit API that demostrates that this feature is supported only in certain databases

Let's try to stay constructive please :)
Can anyone offer a decent API change that would reveal intent better ? As i see it, this is a small feature, with little or no impact. I agree on the fact that we  need to stay away from database specific features though
Would it be ok if @Andorbal renamed the WithIdentityInsert to something like WithSqlIndentityInsert or maybe we need to use an extension on the Insert expression or something like that, any suggestion would be welcome

@tommarien +1 for extensions method
And this should throw exception if compatibility mode is set to strict

@hazzik explain the compatibility mode strict to me please

So to make things clearer a little pseudo :)
Using FluentMigrator.Extensions.SqlServer
class migration : migration
{
void up()
{
Insert.WithIdentityInsert.Row(...);
}
}

@tommarien
It is an option of runner. It is throwing DatabaseOperationNotSupportedException if operation is not supported in current database type
https://github.com/schambers/fluentmigrator/blob/master/src/FluentMigrator.Runner/CompatabilityMode.cs
https://github.com/schambers/fluentmigrator/blob/master/src/FluentMigrator.Runner/Extensions/CompatabilityModeExtension.cs

@hazzik thanks didn't know of that one :)

Strict mode is something I introduced when we redid the generators.  Basically strict mode throws if you use a feature not supported by a database or if strict is not specified then it just skips it silently.
-----Original Message-----
From: Tom Marien<EMAIL_ADDRESS>Sent: 19 December 2011 19:12
To: Andrew Busby
Subject: Re: [fluentmigrator] Identity insert for Sql Server (#185)
@hazzik explain the compatibility mode strict to me please

Reply to this email directly or view it on GitHub:
https://github.com/schambers/fluentmigrator/pull/185#issuecomment-3207872

So anyone of you offering to do the work ? :P

As expected everyone shuts up now :P

I agree with throwing an exception if strict mode is enabled, and I'm ok with changing the name (though we may want to go with MSSql or SqlServer to show that it's SQL Server specific)
I'll see if I can convert it to an extension method without too much fuss...

@Andorbal thanks :)

@Andorbal maybe a tip to start on this one is making the extension on the interface, but adding in the expression class a before and after sql, then the extension could cast it to the real type, it feels a little dirty but may be used for other extensions, just an idea :)

I'm going to try to get this done this afternoon.  Is there a way to update this pull request or should I close this one and start another?

@Andorbal if you branch of the head commit for the pull request or still have the original branch then you can just work on that.  When you do a push it should update the pull request to the new head.

Crap...  I rebuilt my machine since my last usage of git, so the first commit is attributed to "unknown"
At any rate, what I did was move the AddIdentityInsert method to a SqlServerExtensions class and renamed it to AddSqlServerIdentityInsert.  I sort of did what @tommarien suggested, but instead of adding before and after strings, I added an AdditionalFeatures collection that SqlServer and others can hook into.  There are magic strings, but I put them into constants at least.
When in strict mode, the generator will get asked if it supports each additional feature that's in the collection, and if it doesn't, an exception is thrown (using the standard mechanism).
Thoughts?  Is this a better solution?

@tommarien I've addressed the three issues you've raised, and yes, referencing the runner assembly is by design: it keeps the Sql Server specific stuff out of the core assembly.
Also, I just noticed that my previous commit had a ton of space/tab conversions in it and I apologize for that.  My VS settings are radically different for my normal work, so I'm trying to keep two text editor settings files around that I can switch between.

@Andorbal Thanks for the lovely feature :)


Produce screenshots and small videos of Pectus 1

To document current behaviour for frontend developer.

Mail has been sent to JHK and MPO.


Low accuracy: Even without poisoning, the accuracy is only about 10%

Even with "is_poison"=false, the accuracy is only about 10%. When "is_poison"=true and batch_size=264, I get the results as follows:
When there are adversaries, accuracy of backdoor is about 100%，accuracy without backdoor is increasing as epoch increases. But when there are not adversaries, accuracy is always about 10%

try to run it with “python training.py --params = utils/params.yaml" after changing the "is_poison" option to True in the .yaml file, the test accuracy on main task reaches 90% on my machine.
However, i am having  another problem. The accuracy of backdoor task cant reach 100%, it always remain to be around 70%. Do you have any ideas how to fix this?

Even with "is_poison"=false, the accuracy is only about 10%. When "is_poison"=true and batch_size=264, I get the results as follows: When there are adversaries, accuracy of backdoor is about 100%，accuracy without backdoor is increasing as epoch increases. But when there are not adversaries, accuracy is always about 10%

Have you solved this problem? I had a similar problem with cifar10 dataset not converging under resnet10 without poisoning

我也是准确率只有10%，请问是什么问题呢？

我也是准确率只有10%，请问是什么问题呢？

Have you solved the problem? I found a very strange problem, in param.yaml where is_posion is false, the global model accuracy is always 10%, but its loss is increasing upward to stop convergence. This is a very strange phenomenon.

我也是准确率只有10%，请问是什么问题呢？

Have you solved the problem? I found a very strange problem, in param.yaml where is_posion is false, the global model accuracy is always 10%, but its loss is increasing upward to stop convergence. This is a very strange phenomenon.

try to run it with “python training.py --params = utils/params.yaml" after changing the "is_poison" option to True in the .yaml file, the test accuracy on main task reaches 90% on my machine.
However, i am having another problem. The accuracy of backdoor task cant reach 100%, it always remain to be around 70%. Do you have any ideas how to fix this?

请问大概多少epoch之后可以跑到90%的准确率呢

Hi. I can hardly remember all the details when i try to reproduce the repo as its like two years ago. Maybe you can resort to my repo https://github.com/ybdai7/Chameleon-durable-backdoor, which is the official implementation of an ICML paper and the code is organized based on this repo.

Thank you so much for your help.
---Original---
From: "Yanbo @.>
Date: Sat, Apr 13, 2024 14:03 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [ebagdasa/backdoor_federated_learning] Low accuracy: Even withoutpoisoning, the accuracy is only about 10% (Issue #15)
Hi. I can hardly remember all the details when i try to reproduce the repo as its like two years ago. Maybe you can resort to my repo https://github.com/ybdai7/Chameleon-durable-backdoor, which is the official implementation of an ICML paper and the code is organized based on this repo.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

尝试在.yaml 文件中将“is_poison”选项改为 True 后，使用“python training.py --params = utils/params.yaml”运行它，在我的项目中，主任务的测试准确率达到了 90%。
但是，我遇到了另一个问题。后门任务的准确率无法达到 100%，始终保持在 70% 左右。您有什么办法可以规定吗？

请问大概多少epoch之后可以跑到90%准确率呢

我跑的大概在1800轮左右

尝试在.yaml 文件中将“is_poison”选项改为 True 后，使用“python training.py --params = utils/params.yaml”运行它，在我的项目中，主任务的测试准确率达到了 90%。
但是，我遇到了另一个问题。后门任务的准确率无法达到 100%，始终保持在 70% 左右。您有什么办法可以规定吗？

请问大概多少epoch之后可以跑到90%准确率呢

我跑的大概在1800轮左右

按照源代码，应该是指定一个攻击者并进行随机采样的，这部分代码对应的应该是paper里的重复攻击部分，70%左右的结果没有问题。
100%的后门任务准确率体现在的是paper的单次攻击部分，可以先将yaml文件里的is_poison改为false，如果使用的是cifar-10数据集，在运行到5000轮左右模型收敛，在这个时候进行单单次攻击能达到100%的后门任务准确率。
如果想要重复攻击部分实验达到较高的后门任务准确率，只能增加攻击者的个数，这在paper里也提及了，5个以上的攻击者个数可以达到90%以上的后门任务准确率，这需要修改number of adversary那个选项就可以了。

尝试在.yaml 文件中将“is_poison”选项改为 True 后，使用“python training.py --params = utils/params.yaml”运行它，在我的项目中，主任务的测试准确率达到了 90%。
但是，我遇到了另一个问题。后门任务的准确率无法达到 100%，始终保持在 70% 左右。您有什么办法可以规定吗？

请问大概多少epoch之后可以跑到90%准确率呢

我跑的大概在1800轮左右

按照源代码，应该是指定一个攻击者并进行随机采样的，这部分代码对应的应该是paper里的重复攻击部分，70%左右的结果没有问题。 100%的后门任务准确率体现在的是paper的单次攻击部分，可以先将yaml文件里的is_poison改为false，如果使用的是cifar-10数据集，在运行到5000轮左右模型收敛，在这个时候进行单单次攻击能达到100%的后门任务准确率。 如果想要重复攻击部分实验达到较高的后门任务准确率，只能增加攻击者的个数，这在paper里也提及了，5个以上的攻击者个数可以达到90%以上的后门任务准确率，这需要修改number of adversary那个选项就可以了。

你好，想询问一下，这里的测试中毒精度的时候为什么就只对样本进行了标签翻转呀，这个我不太懂，请问可以解答吗

尝试在.yaml 文件中将“is_poison”选项改为 True 后，使用“python training.py --params = utils/params.yaml”运行它，在我的项目中，主任务的测试准确率达到了 90%。
但是，我遇到了另一个问题。后门任务的准确率无法达到 100%，始终保持在 70% 左右。您有什么办法可以规定吗？

请问大概多少epoch之后可以跑到90%准确率呢

我跑的大概在1800轮左右

按照源代码，应该是指定一个攻击者并进行随机采样的，这部分代码对应的应该是paper里的重复攻击部分，70%左右的结果没有问题。 100%的后门任务准确率体现在的是paper的单次攻击部分，可以先将yaml文件里的is_poison改为false，如果使用的是cifar-10数据集，在运行到5000轮左右模型收敛，在这个时候进行单单次攻击能达到100%的后门任务准确率。 如果想要重复攻击部分实验达到较高的后门任务准确率，只能增加攻击者的个数，这在paper里也提及了，5个以上的攻击者个数可以达到90%以上的后门任务准确率，这需要修改number of adversary那个选项就

Hi. I can hardly remember all the details when i try to reproduce the repo as its like two years ago. Maybe you can resort to my repo https://github.com/ybdai7/Chameleon-durable-backdoor, which is the official implementation of an ICML paper and the code is organized based on this repo.

你好，请问您还记得最后的后门准确率是怎么达到100%的吗

try to run it with “python training.py --params = utils/params.yaml" after changing the "is_poison" option to True in the .yaml file, the test accuracy on main task reaches 90% on my machine.
However, i am having another problem. The accuracy of backdoor task cant reach 100%, it always remain to be around 70%. Do you have any ideas how to fix this?

您好，请问您还记得最后的后门准确率是如何达到100%的吗

average_shrink_models function in helper.py have bug.  Specifically, data.add_(update_per_layer) have bug. If use type of int cant make model converge.  So you should change it into data.float().add_(update_per_layer).


[SPARK-8234][SQL] misc function: md5

@rxin @liancheng can you trigger the unit test?

Can one of the admins verify this patch?

Jenkins, ok to test.

Merged build triggered.

Merged build started.

Test build #34756 has started for   PR 6779 at commit b7efa2a.

Test build #34756 has finished for   PR 6779 at commit b7efa2a.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression)
  case class SetInFilter[T <: Comparable[T]](

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34765 has started for   PR 6779 at commit 4d66fd1.

Test build #34765 has finished for   PR 6779 at commit 4d66fd1.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression) extends UnaryExpression
  case class SetInFilter[T <: Comparable[T]](

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #34907 has started for   PR 6779 at commit d77a806.

Test build #34907 has finished for   PR 6779 at commit d77a806.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34908 has started for   PR 6779 at commit efa8b93.

Test build #34908 has finished for   PR 6779 at commit efa8b93.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression) extends UnaryExpression

Merged build finished. Test PASSed.

@rxin @chenghao-intel

Merged build triggered.

Merged build started.

Test build #34922 has started for   PR 6779 at commit d9a28e4.

Test build #34922 has finished for   PR 6779 at commit d9a28e4.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression)

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34964 has started for   PR 6779 at commit c75bb09.

Test build #34964 has finished for   PR 6779 at commit c75bb09.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression)

Merged build finished. Test PASSed.

@rxin @chenghao-intel Any thing need to be improved?

add a test using sql(), and maybe change the filename of misc.scala to miscFunctions.scala
LGTM otherwise.

Merged build triggered.

Merged build started.

Test build #35013 has started for   PR 6779 at commit da60eb3.

Test build #35013 has finished for   PR 6779 at commit da60eb3.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression)

Merged build finished. Test PASSed.

LGTM, cc @rxin

Looks good - but please add a codegen version of this.

Merged build triggered.

Merged build started.

Test build #35210 has started for   PR 6779 at commit 04bd27b.

Test build #35210 has finished for   PR 6779 at commit 04bd27b.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression)

Merged build finished. Test PASSed.

@rxin I think this is ready to be merged.

Can you fix the indent? LGTM other than that.

Merged build triggered.

Merged build started.

Test build #35228 has started for   PR 6779 at commit 11fcdb2.

Test build #35228 has finished for   PR 6779 at commit 11fcdb2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Md5(child: Expression)

Merged build finished. Test PASSed.

@rxin Done!

Thanks. Merging.


[RFC] Support only one package manager or keep both?

Why
While working on the GitHub Actions, I realize that we need to define inside these actions if we use yarn or npm.
This is a source of confusion for a new user of the template, who might create and manage the application with yarn but the tests will run using npm (thus having no package.lock available and at risk of using different dependencies).
Poll

Who Benefits?

Developers — won't need to adjust the GitHub actions.
Template contributors — no need to test both package manager each time

As of today, the results seem more on the side of yarn.
I will wait until tomorrow to confirm this. Then I will review the README.md and workflow (the test workflow is using npm) to be yarn only.

I voted for npm:

npm is shipped with Node.js, we don't need to install any extra packages.
npm is better than before, the speed was improved from npm 5.0.

The initial poll made it clear that we do not want to support "both npm and yarn simultaneously", but it is not clear who prefers npm versus who prefers yarn, versus who is fine with any of these options (as long as we don't need to support both).
here is a second poll to ensure we take a decision that best reflect the need/wish of our teammates:


Adjusted e2e tests for recent DOM updates.

Tests needed to be adjusted for Link Button PR: #1877
Tests are passing now:

Coverage remained the same at 66.952% when pulling 51838e901ac64424336ab7ad1cf76df3111bbddb on toanzian/e2e-adjust into be335433619b1fd350a28fae4e58cfc0420aa4f5 on master.


Dummy k8s healthchecks

It would be nice if we will have any dummy healthcheck for k8s deployments

@artmakh Thanks for the PR, awesome work!
The golangci-lint action failed but because it is running an outdated version that it is not compatible with go v1.19. Local tests pass and I also deployed this in my personal Grafana instance without any issues. I will merge the PR directly. Thanks again!


cleanUrls set to false do not change the home page link

When setting the observablehq.config.jq file with the cleanUrls option to False, per https://observablehq.com/framework/config#cleanurls.
The documentation states:

Whether page links should be “clean”, i.e., formatted without a .html extension. Defaults to true. If true, a link to config.html will be formatted as config. Regardless of this setting, a link to an index page will drop the implied index.html; for example foo/index.html will be formatted as foo/.

While deploying the dashboard on an AWS S3 bucket with CloudFront, the fact that the home page is not linked to index.html is causing an 404 error.  The behaviour of cleanUrls will need to be updated so that when cleanUrls is set to False, it needs to render the foo/ link as foo/index.html to allow the web server to still serve the page, even when index.html is not the default page to be served.

As far as I can tell that's working as designed. I suspect you need to configure an index document for your bucket: https://docs.aws.amazon.com/AmazonS3/latest/userguide/IndexDocumentSupport.html


Update README.md

Provide instructions on how to import project properly.
Much trial and error
Such google
Many stackoverflow

Proper version of #104

I've just updated pom.xml & androidmanifest.xml so now setting up is much easier, ready to merge


Build release fail

Hi, when i build apk file with Release mode, so  not render svg file.Thanks.

Hi, I am using this in a production app without issues. Can you provide a sample code repo where I can reproduce this issue?

the same issue, when I built app, I cant see any svg images, but do everything to documentation

Can you provide more details? Are you using remote uri that starts with https:// or loading a local asset using require() ?

@seekshiva  <Image source={require('../../../images/rewards2.svg')}/>

@matsatit and @Husak93, have you managed to fix the issue?
I experience the same problem: When I build a release apk, svg files are not rendered.
In debug apk svg files are rendered.

@nataschaberg Yes, I change it for WebView component and insert there svg code. I can't wait for long answer with this issue.

Hi, this library tries to determine the format of image based on file name. If it has .svg in the file name, it must be an svg file. When you do it in debug build, I'm assuming that source={require('./some-image.svg')} retains the same file name - so this library correctly identifies the file as svg and renders the WebView component.
I am assuming that when you create a production build, the file name might've gotten mangled.. so this library is not able to determine the correct file type. Can any of you verify this?
I don't have a pure RN setup currently (I use expo, which might handle require() calls differently from pure RN) and I don't have an android device to test this hypothesis. If any of you can confirm and let me know if file name is getting changed, then we can look into it further.

@seekshiva I tried to dig around a litte today. So the problem seems to be that resolveAssetSource returns a uri without file extension on release build (in my case it looks like this: {"_packager_asset": true,"width":360,"height":380,"uri":"src_img_img_onboarding00","scale":1}). So the check for match '.svg' fails and it defaults to Image render (RN). I tried to work around this, but I dont seem to get the correct file path to render the image from assets of android project. Do you have any tips on that?

@Husak93 could you post your code with WebView here? Did you use uri or html for source prop of WebView? I couldn't get it running in my project.

import SvgImage from “react-native-remote-svg/SvgImage”
This still doesnt work :(

@jainhitesh90 what issue are you getting?

I also tried to render an SVG Image using import SvgImage from “react-native-remote-svg/SvgImage” and require a local Image. However the production apk does not render anything.

+1
Works in my debug build and works on my iOS build but when I generate a signed APK for android the image SVG does not render.

Anyone has a solution or workaround please?

Here's what I've got: from some preliminary tests I did, this only happens in android while referring to a local svg image within the project. It doesn't happen while trying to show a remote image that is at https:// or http:// endpoints.
While running in debug build, local images have a file:// uri and it works. You can see in this line that I try to fetch the svg uri and store it in state. (Since svg can be parsed as text, I do just that and store the svg as string in the component's state).
I'm guessing that something about the uri of the local image after creating signed APK is causing the image to not be fetched at all. For eg, if the uri scheme is content:// instead of file://, it would probably not fetch. I don't have an android environment set up currently so I'm not able to provide a fix immediately. But if someone could investigate this, it would be helpful.

@Santei Don't know if your project allows for this but I ended up uploading the icons I needed to icomoon and then just using react-native-vector-icons for my custom icons.
It does require you to run react-native link which is a pain and was why I initially wanted to use this library but it seems much more stable in the long run.

react-native-vector-icons is a great option. If you have some sort of an over-the-air mechanism set up for updating app code without releasing new app binary, you would want to think through.
As the name of this library might give a hint, this was created to scratch my own itch of not being able to show remote uri svg images within my app. If the svg you are going to use is pretty much known at the time of development, react-native-vector-icons could be a good option. But if you need to show user-generated svg images in the app, you can't know it at the time of development and create font with it at the time of development. In such cases, this library is more useful.

@seekshiva @sjsn thank you so much for the options. I think I will try out react-native-vector-icons option hopefully we don't have issues with making our custom icons public internally.

@seekshiva When i import it using
import SvgImage from “react-native-remote-svg/SvgImage”
it doesn't render anything in debug mode as well.

Hi there, anyone has a working solution for this?

I also tried that import with no luck. Any way we can help with debugging?
AFAIK there is no other package as this one :( How you guys are dealing with this?

Anyone have a solution for this problem?

simple solution, use uri instead of require

I used the following solution:

Convert .svg image to JSX with https://svg2jsx.herokuapp.com/
Convert the JSX to react-native-svg component with https://svgr.now.sh/

simple solution, use uri instead of require

In general, all the assets are often local. So still there is no solution of this problem, right?

Someone find any solution for this issue?

The only solution is to use data URI of the SVG and use it with uri. Like this:
import Image from 'react-native-remote-svg;

<Image source={{
     uri: `data:image/svg+xml;utf8,<svg></svg>`
}}

For me, I changed the following line inside index.js of this package:
if (source && (source.uri && source.uri.match('.svg'))) {
to
if (source && (source.uri)) {
and now it works.

@spyshower thanks this fixed it for me

I'm having the same problem.
Tryed what @spyshower suggested, but didn't have any luck.
Did anyone get this to work?

Dias if you need to display 10 or more svgs this lib won't work regardless of whether or not this bug is fixed. Just fyi. We dropped this lib and just decided to display pngs.

I had the same problem with local svg files (Android release). For me helped: https://github.com/kristerkari/react-native-svg-transformer

Hi, when i build apk file with Release mode, so  not render svg file.Thanks.

Hey guys!
I have done it.
import SvgImage from "react-native-remote-svg";
******************** NOTE: PUT YOUR SVG INSTEAD OF  ***********************************
const LOADING_SVG_URI ='data:image/svg+xml;utf8,'
<SvgImage
style={{ width: 100, height: 100 }}
source={{uri:LOADING_SVG_URI}}
/>
https://www.linkedin.com/in/mehdiparsaei/


Inability to set pointer sizes in Edit Function GUI / FunctionSignatureParser

Describe the bug
When trying to create or modify a functions parameter specification, either by the GUI or programmatically to include the size of a pointer it is not accepted.
Having done some analysis on this, I have found two issues, both with the FunctionSignatureParser:

The cleanUpSignatureText method tries to reuse existing parameters and usurps the text by taking the previously recognised type when it performs its (temporary) replacement for types with specific characters in their names, if all you're attempting is changing the pointer size.

In the resolveDataType method, the regex pattern used to match the type specification is incorrectly identifying part of the point of size as they "name" of the parameter.  For example in <base type> *32, whilst the 3 is appended to the * giving *3 (in group 3), the 2 becomes part of the name (in group 4).

To Reproduce
Steps to reproduce the behavior:

Pick a disassembled function.
Change/edit it's specification to include a sized pointer.
See issue.

Alternatively, try updating the function specification programmatically (see Python snippet below, courtesy of @astrelsky):
from ghidra.app.util.parser import FunctionSignatureParser
from ghidra.app.services import DataTypeManagerService
from ghidra.app.cmd.function import ApplyFunctionSignatureCmd
from ghidra.program.model.symbol.SourceType import USER_DEFINED

dtm = currentProgram.dataTypeManager
dtms = state.tool.getService(DataTypeManagerService)
parser = FunctionSignatureParser(dtm, dtms)
sig = parser.parse(None, 'int foo(void *32 bar)')
cmd = ApplyFunctionSignatureCmd(address, sig, USER_DEFINED)
cmd.applyTo(currentProgram, monitor)

Expected behavior
To accept what's been entered.
Environment (please complete the following information):

OS: Windows 10
Java Version:  11.0.8.
Ghidra Version: 9.1.2 & commit 3c683ae770cf495deb32588202b00b88e125a4a4c

Additional context
The solution to issue 2 is to update the regex from:
Pattern.compile("(.+?)((\\[\\d*\\]|\\*\\d*)\\s*)*([^\\s\\[\\*]+)")
to
Pattern.compile("(.+?)((\\[\\d*\\]|\\*\\d*)\\s*)*([^\\s\\[\\*]*)")
just changing the last + to a *!
By updating the regex to Pattern.compile("(.+?)((\\[\\d*\\]|\\*[8|16|32|64|128|256|512]*)\\s*)*([^\\s\\[\\*]*)") you could eliminate unsupported sizes.
The examples below shows what could be achieved by adding the possible sizes.
Here's what's typed/entered:

Here's what the results would look like after moving off the edit area:

Notice the correct spacing (and sizes).
I need more information regarding the reason behind the implementation of method cleanUpSignatureText in order to suggest changes!

Related to this is that the parsers arn't able to recognise any constant types of the form const <base type>[\*\d*] or anything like set_new_handler(void(void *32)()).
The syntax for the latter comes from a header that includes:
class _EXPCLASS xalloc;
typedef void (* _RTLENTRY new_handler)() /* throw(xalloc) */;
new_handler _RTLENTRY set_new_handler(new_handler);

There are some significant parsing issues we are aware of with the free-form signature entry of the Edit Function dialog.  We have an outstanding trouble ticket to resolve.

@ghidra1 how can I help?

Since we do not have a parser capable of handling many of the complex type names encountered (i.e., C++ templates, namespaces, etc.) Our simple-minded signature parser for this dialog attempts to dumb-down the signature to leverage the existing datatypes as much as possible and avoid parsing complex type names using a substitution scheme (i.e., re-use base datatypes from the original signature to the extent possible).  The goal of this approach is to handle simple changes like a parameter rename or pointer/array spec.  Unfortunately, the parser's attempt to isolate and map type names does not handle many of the cases where array and pointer syntax appears.  Ghidra can also include pointer sizes for each * (e.g., *32) which must be handled.  There is also flexibility with the presence of spaces before a parameter name (e.g., char *foo) as well as the absence of a parameter name.  While I have taken a stab at fixing I am still running into cases which fail.
The current EditFunctionSignatureDialogTest is over simplified with its ability to specify datatypes and needs a complete rewrite to exercise all the test cases which would reveal the problems.
If you would like to take a shot at fixing/refactoring the signature parse logic you are more than welcome to and submit a PR.

I already have fix branch in progress but I could consult any PR for ideas.  I have too many pots on the stove at the moment so I am concerned my work here my drag out.  If your PR addresses more than mine I could switch over.  Improving the test cases is key and should drive any revisions to the parser.  The test class really needs a rewrite.  The test convenience methods are way over simplified and explicit datatype construction is probably required for many of the cases not currently handled.

Here's some tests, is that the kinda thing you were after?
@Test
public void testParseSignature_GoodSingleArray() throws Exception {

	String signature = "void test(int [12] a)";
	Function f = function("test", signature);
	EditFunctionSignatureDialog dialog = new EditFunctionSignatureDialog(tool, "Title", f);
	FunctionDefinitionDataType definition = dialog.parseSignature();
	assertNotNull(definition);
	assertEquals(signature, definition.getPrototypeString());
}

@Test
public void testParseSignature_GoodMultiArray() throws Exception {

	String signature = "void test(int [9][4] a, char [30][10] b)";
	Function f = function("test", signature);
	EditFunctionSignatureDialog dialog = new EditFunctionSignatureDialog(tool, "Title", f);
	FunctionDefinitionDataType definition = dialog.parseSignature();
	assertNotNull(definition);
	assertEquals(signature, definition.getPrototypeString());
}

@Test
public void testParseSignature_GoodMixedSizePointers() throws Exception {

	String signature = "void *32 test(int *32 a, int *24 b)";
	Function f = function("test", signature);
	EditFunctionSignatureDialog dialog = new EditFunctionSignatureDialog(tool, "Title", f);
	FunctionDefinitionDataType definition = dialog.parseSignature();
	assertNotNull(definition);
	assertEquals(signature, definition.getPrototypeString());
}

The input signature and result signature may not be a perfect match since the input must be very flexible in the placement of whitespace - that's where the parsing gets tricky.  int *a and int* a same as int * a, int[2] a same as int [2] a.  Multiple *'s can be run together.  In the presence of sized-pointers we can probably make our own rules since it is non-standard.  Ideally we should accept standard C type specifications - although we don't handle standard C function pointer specification in this parsed field.

Thanks for that insight, it really is much appreciated.
As my issue https://github.com/NationalSecurityAgency/ghidra/issues/2315 is/was with near and far (and huge) memory model, resulting in different addressing of memory including but not limited to pointers/function addresses, I wonder if there'd be a better way to implement something like this in Ghidra???

We are examining implementation of attributes although that is a longer term effort and will not help you with any short term requirement.

I'm in this for the long haul and would like to assist, but I'd need some better docs to read regarding Ghidra's design to become more proficient"!

Thank you for your offer.  Unfortunately, this falls into a much larger effort we have had on our radar for sometime and have yet to solidify all the requirements and establish a clear path forward.


Add stricter validation for SWH identifiers

Related issues
Fix #179
Describe the changes made in this pull request

Add a definition for unqualified SWH identifiers
Separate the swh and other enums in the identifier definition
Let swh use the new definition
Note that the field takes unqualified identifiers only.

Instructions to review the pull request

Check if we want to support qualified identifiers as well (cf. https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html#qualifiers)

git clone this repo
git checkout this branch
python3 -m venv env
source env/bin/activate
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
python3 schema_poc.py -d data.yml -s schema.json  # <- should be quiet

Nice!

Cheers boss!


Typescript migration

Migrate libjs to typescript.
All the unit tests passed. The lib was tested on node, browser and react.
Also added a react example.
The bundle for browser is separated from the rest as I couldn't figure a way to bundle everything into one file and still be compatible with node, browser and react

@bchamagne This is working for me as well, but I didn't check with the wallet either.