Deploying in multiapp not onboarding

I have following all the several steps in order to create the app, give permissions an son on, finally i use postman to onboard the sub, which gave me a 200 Ok, but after waiting 72h, i cannot see anything in the UI app. What's going wrong? Is it possible to have a log or something like that to dig deeper?

Hi @albandrod,
As a first step please verify the solution installation is complete following steps here and then you should be able to verify the logs similar to this section.
If there is no issue with above, you should be able to load the AzTS UI app with appropriate results.
Note:
Below, the tenant where AzTS Setup is done is referred to as Host Tenant and other tenants onboarded onto AzTS solution in host tenant are referred to as Guest Tenants.
In case you are looking for scan results on subscriptions present in Guest Tenants, proceed to invite the user as Guest User to Guest Tenant and provide appropriate access to subscriptions in that Guest Tenant. This should load scan results for the subscriptions in the Guest Tenants.
We can setup a call and investigate in case you are still facing the issue. Please feel free to reach out again if needed.


fixed logic for init_method in low rank sinkhorn

This is to prevent an uninterpretable error if a wrong argument is provided for init_method

#57 handles this now


Numerical joystick display in input display

This is an example image from a recorded TAS.

ideally should be optional imo

ideally should be optional imo

Agreed.


Change sonarlog api

This is part of #379.  Currently sonalyze calls find_logfiles to find files, read_logfiles to read them, and then postprocess_log to perform a bunch of cleanup and bucket data.  The reason for this structure is that sonalyze can take arguments that either specify a directory tree to search or a set of files (usually for testing), and it has some operations that don't need to do postprocessing (one of the parse variants, and the uptime command).  However this exposes the implementation of the data store in a way that is an obstacle to making the store more efficient and abstract.  Instead we probably want two variants, sonarlog::open_dir(dir, hosts, from, to) which opens a data directory with the usual filtering, and sonarlog::open_files(files) which literally reads records from those files.  Then, instead of the postprocess_log call we probably want a single get_streams() call that returns the set of input streams, but it's possible we additionally want get_events() to get event records not bucketed by InputStreamKey.  Either way, those records should have been cleaned up so that they are minimally sensible, ie, most of the operations of postprocess_log should have been applied, even in the case of parse roundtripping.
It's probable that this will turn the data store into an object that holds the input records.  This is both an opportunity and a liability.  On the plus side, it means that they can be allocated and held efficiently in pools and not in individually allocated records, and we can operate on &LogEntry instead of Box<LogEntry>, not that it really matters too much.  On the minus side, we currently have a lot of code that consumes these data, and it will have to change.  If lucky, the &LogEntry can just be copied but there's a risk of having to introduce reference counting.  In addition, peak heap memory use may increase because we currently consume these streams using drain() and records can be freed as we go along, only to have the memory reused by merged records; that will no longer be possible.  As memory use can be very high for long timelines this is a concern.
That said, the consumer patterns are such that they will make a single get_streams() or get_events() calls, never both, and never multiple.  So there's no good reason why the new object has to hold onto the input records, apart from writing to cache in the background, and that is an optimization we can do without.
The win here is that the implementation of the data store can change over time: first to have a transparent cache of already-cleaned event data, possibly in a form that allows bucketing to be skipped when reading from the cache; later possibly to use a proper object store for that cache, not a directory tree.  As it is we have one concurrency problem: infiltrate races with sonalyze.  This is fairly benign.  But if we introduce transparent caching, several concurrent runs of sonalyze wil race with each other in updating the cache.  This is going to be more annoying.  A lockfile or the use of file locking can fix this but the more locked-down the code is, the better.
(Indeed, infiltrate currently writes to the tree directly but perhaps it should go via sonalyze, sonalyze store ..., or indeed, data ingestion should go via sonalyzed directly.  This would make a lot of sense.)

I'm going to close this as FIXED.  The Go version has moved somewhat in the direction suggested above, and what remains is a little trickier to fit into a neat pattern at the moment, because the different subcommands have pretty different needs.  The experimental datastore API was only ever used by infiltrate, which has since been retired.  Should retire the library too.


Json formatter scenario outline table data in

Summary
This PR is meant to provide clarity in JSON Formatter id for Scenario outlines. At the moment this returns just the example row id which is not very descriptive for anyone using the JSON report on Jenkins or any other reporting tool. A comma separated table header and row value seems more appropriate.

Details
Hence I have written a private helper method to extrapolate the header values, loop through each value using its index and fetch the associated row value using the index of the header as table columns have fixed indexes which means the row values have fixed indexes correlating to the header index. This way i can build a comma separated column=value data to append to the id instead of just an row id which doesn't give any descriptive information

Motivation and Context
JSON reporting has become the go to formatter for test reporting especially when you have to rerun tests and merge in results from your rerun into the original test report. However this becomes more of an issue with scenario outlines when you try to find out what exact outline example is failing as the current JSON formatter does not give an example data context. This is my motivation for this change. It does not fix any open issues at the moment and it is more of a feature which i reckon will make the JSON formatter used even more.

How Has This Been Tested?
I have updated all JSON related scenario outline based specs and features. I have also added new tests relating to tables with more than one column to ensure they are mapped correctly and comma separated as required. All tests were executed prior to this PR and they all pass.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I've added tests for my code
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

Changes to the Json formatter output should be coordinated with the other Cucumber implementations (maybe primarily Cucumber-JVM), so that tools that process the Json files can be used with more than one Cucumber implementation.
I think that the important trait of the id attribute in the Json file is uniqueness rather than descriptiveness. I would look for descriptiveness in that name attribute and other data attributes. Issue #984, points to a better solution in that respect, I think.

@brasmusson i did give issue #984 a go but had no luck getting the scenario example data into the title. Also the reason i have fallen back on the id in the JSON is because the name and other attributes are not unique enough especially for Scenario Outlines. I never had issues with normal Scenarios just Outlines. Also it seems #984 is implemented in cucumber-JVM but not really in cucumber-ruby. Are you certain it is possible in cucumber-ruby? Do you reckon this solution will break tools that process JSON reports considering all the spec test and gherking features passed your build process?

@ransom4real Take a look at the conversation on #984 - this is entirely possible but would need to be implemented in core.

@danascheider do you mean #984 or my solution?

@danascheider i might not get the time to pair on this as this PR was meant to help my work. I will go ahead and close this PR in preference to the #984 solution whenever it is implemented. I will be happy to extend the JSON formatter in my framework and override the examples_table method for my needs. Thanks


Premade releases don't run on glibc based systems.

Hey it seems the binarys you provide are built on a musl based system, could you try setting CGO_ENABLED=0 so that it doesn't link to them? It is currently dynamically linked and using the musl libc loader which causes the error bash: ./totp-cli: No such file or directory and ldd result libc.musl-x86_64.so.1 => not found

I think #23 will fix this problem, later on I'll create a new release (not during my working hours because I want to follow what's happening and manually test the product of the GitHub action).

(and sry GitHub did not notify me about your issues/PR
ok actually it did but it just lost in the 100+ notification / day from corporate private repos)

That's fine! thanks for checking back :3
do you have xmpp, telegram,discord, irc, etc?

Released, please verify it for me. On my side it's working, but I don't want to close it without a proof.
https://github.com/yitsushi/totp-cli/releases/tag/v1.1.5
(yes, efertone on irc and discord as well, and I use a ton of messengers, Keybase even connected with my github profile)

Verified on Manjaro 18.1.0. It works.


Add missing permission flag to workflow

It worked!

How do we see the results?

This PR's merge resulted in this workflow run: https://github.com/ZeLonewolf/openstreetmap-americana/actions/runs/3607922613
It uploaded a workflow artifact, and then allegedly deployed it. I think I don't have permission to look at "deployments" or "environments" though.


How to upload a file and update portal data fields

I am facing two issue, like your help

I am using this syntax in laravel 8 and filemaker 19 to upload file

 $product = Layout::findByRecordId($id);
 $product->Image = new File(storage_path('test.png'));
 $product->save();

and getting this error

updating a portal data value which is an array
$product->InventoryTransactions[0]['InventoryTransactions::Units'] = 3;
and getting this error

PS: portal data is an array format

It looks like you're using the raw internal FileMaker record ID instead of regular model queries. You don't get a model back when you use the raw queries like that, so I don't think save() is going to work since there is no model to save. I would recommend using models for your data instead of raw queries. Can you give that a try? I think you'll have much more success that way.

so what about file upload?

I'm not sure what your Layout class is there. It's not from this package, so I'm guessing this is something you've made custom. I don't know what it is returning or what you're doing with it, and so I can't provide any help with that. You're also using the findRecordByID and the internal FileMaker IDs, so you're not using eloquent models with your primary keys and are instead using the raw query builder and getting raw data back, again, not in the way you should probably be doing it which was the same issue in your last post.
If you're using the raw query builder you use the saveContainer method to write a container field, but again, I don't recommend using the raw query builder unless you can't use a model for some reason.
If you're using a model class it's easy to set a file and then call the save method, but looks like you have your own implementation of save() there, so I don't know what you're doing in that method.
If you're querying and getting a model to retrieve the internal, hidden FileMaker ID you shouldn't need to use the findByRecordID method since you already have a model object, so again, I don't think you're approaching this the right way and shouldn't be building your own methods for all of this behavior.
I would do this like this:
(assuming you have a model named Product and a container field named image)

Find a product using your primary key to get a model object
Update the container field
Save the model object, which will write the container to your database.

 $product = Product::find($id);
 $product->image = new File(storage_path('test.png'));
 $product->save();


Add locking for FIFO support in multi server environment

Fixes #773
This PR adds support for FIFO in a multiple server environment, where more than one server is processing the same job type. We have hundreds of job types specific to different customers that we work with, and we need jobs to be processed in order. With this PR, we can spread out the processing of the jobs across our few servers evenly, rather than having to choose which servers will process which job types.
This PR contains changes that we've been using in our production environment since January with no issues.
By default, locking is not turned on, so this does not break existing behavior.
The test/redis_lock.js file is a script that we used when developing this solution, to test it in a simple way. The change does not lend itself to unit tests very well, and since there are no unit tests yet for worker.js, we decided to write a script that tests this directly in more of an integration test style. Happy to take it out of the PR, change it, whatever you think is best.
I realize this may be a somewhat scary change. The diffs make it look worse than it actually is, but it still does touch some core functionality. I'm happy to discuss any questions/concerns/comments about the solution and work on making this something you feel comfortable merging.

I think this is an special case for a more generic clustered concurrency control feature :)
let me to think more about it

Interesting. What kinds of things are you thinking would be included in a more general solution? I'd love to think about that.

+1

+1

I would pend this until version 1.0, where

we design this as a generic distributed concurrency control
warlock module is dropped and redislock is used.


References email changes

Context
Some of the candidate emails about references were not the most recent versions. We need to update them before the new references journey is launched on 11 October.
Changes proposed in this pull request
I've updated:

conditions_met.text.erb
offer_accepted.text.erb
reinstated_offer.text.erb
unconditional_offer_accepted.text.erb

I've fixed typos in:

new_referee_request.text.erb
chase_reference_again.text.erb

Guidance to review
Changed logic
These are all content changes, except that I removed logic from reinstated_offer.text.erb.
Previously it distinguished between the old and new reference journey. This affected how the link to the service was shown. I moved the link so it only displays if the candidate has conditions.
I could have nested the old/new journey logic inside the conditions/no conditions logic. But that seemed unnecessary given that no users should see the old journey any more, and it also isn't a significant change.
reinstated_offer in support
The current reinstated_offer email does not display correctly in support when there are no conditions. The lead in line for conditions is shown, but with no bullet list as there are no conditions.
To me it looks like the logic is OK in the code (and I haven't changed it). Whoever reviews this should check whether we need to make a change either as a commit in this PR or as a separate PR.

Tests
I included commits to fix the tests broken by the subject line changes.
Link to Trello card

Things to check

[ ] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] If this code adds a column to the DB, decide whether it needs to be in analytics yml file or analytics blocklist
[ ] API release notes have been updated if necessary
[ ] Required environment variables have been updated added to the Azure KeyVault

Thanks for reviewing these!
I'm not 100% sure, but I think the leading whitespace (indentation) in all the emails might need to be removed to avoid Notify treating this as markdown syntax for fixed-width text? Might be wrong though!

I haven't changed this. We could try sending the new emails in QA once the PR has been merged, to check that Notify does not use fixed-width text.

There's a broken test in spec/mailers/candidate_mailer_spec.rb. On line 417 it expects content about references in the reinstated_offer email. But we've removed content about references from that email.
I think we should remove the test.


AxiosError: Network Error

Description
Hello,
I've installed LLM-AGENT on my PC.
When running the command yard dev for launching the project, i got this error.
error - unhandledRejection: Error: connect ECONNREFUSED ::1:7437
at AxiosError.from (file:///F:/AGENT-LLM/Agent-LLM-Frontend/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (file:///F:/AGENT-LLM/Agent-LLM-Frontend/node_modules/axios/lib/adapters/http.js:591:25)
at RedirectableRequest.emit (node:events:512:28)
at eventHandlers. (F:\AGENT-LLM\Agent-LLM-Frontend\node_modules\follow-redirects\index.js:14:24)
at ClientRequest.emit (node:events:512:28)
at Socket.socketErrorListener (node:_http_client:496:9)
at Socket.emit (node:events:512:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
digest:
}

Steps to Reproduce the Bug
launching the project
Expected Behavior
[NONE]
Actual Behavior
error - unhandledRejection: Error: connect ECONNREFUSED ::1:7437
at AxiosError.from (file:///F:/AGENT-LLM/Agent-LLM-Frontend/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (file:///F:/AGENT-LLM/Agent-LLM-Frontend/node_modules/axios/lib/adapters/http.js:591:25)
at RedirectableRequest.emit (node:events:512:28)
at eventHandlers. (F:\AGENT-LLM\Agent-LLM-Frontend\node_modules\follow-redirects\index.js:14:24)
at ClientRequest.emit (node:events:512:28)
at Socket.socketErrorListener (node:_http_client:496:9)
at Socket.emit (node:events:512:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
digest: undefined
}
Additional Context / Screenshots

Operating System

[X] Microsoft Windows
[ ] Apple MacOS
[ ] Linux
[ ] Android
[ ] iOS
[ ] Other

Python Version

[ ] Python <= 3.9
[ ] Python 3.10
[X] Python 3.11

Environment Type - Connection

[X] Local
[ ] Remote

Environment Type - Container

[ ] Using Docker
[X] Not Using Docker

Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of Agent-LLM.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

Hello, this is a front end issue.  Please make an issue in the front end repository if there isn't already one for this.
https://github.com/JamesonRGrieve/Agent-LLM-Frontend/issues


Enhanced stereo python issue 2108

Read Enhanced Stereochemistry from Python
Reference Issue
Fixes #2108
What does this implement/fix? Explain your changes.
This wraps enhanced stereochemistry data for an ROMol for use in Python and includes a test that demonstrates access.
Any other comments?
My first use of boost::python. Seems pretty cool, but I welcome any feedback. I wanted to do this early to make sure that wrapping is tractable for future changes that we make...

I feel like I've seen a SEGV in testMolWriter in previous PRs of mine & Ricardo's, but now I don't see any evidence of it.

The segv in testMolWriter, and sometimes in testMolSupplier, is something that seems to only happen during the travis-ci builds and it only happens intermittently. I ignore it.
I suspect this has something to do with the fact those builds are running on a relatively ancient ubuntu version using an old version of clang. I need to switch those over to use docker and a more recent version of linux.

Thanks Dan!


How to change Discord RPC Icon

Describe your problem here.
In Discord.hx where does largeImageKey: 'icon' draw the icon file from?
I'm just curious as I've scoured the source files and cant find where its getting the Psych Engine logo image from.

Thanks in advance!
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Currently editing Discord RPC

it gets it from psych's discord application
you can make your own by going to the discord developer portal and making a new application. there, you can change the name (you don't need to change the profile picture, as that won't change anything in the rich presence) and get the application id. the application id is a thing you'll need to replace in line 20 of discord.hx.
after replacing that, go back to the discord developer portal and go to the rich presence tab. near the bottom, you can add images. add the image for your icon and rename it to "icon" (you can't change it later, so if you misspell it you'll have to delete it and re-add it. also discord caching is kinda goofy so it'll "stay" there for a while after deleting it)
and there you added your goofy icon to the rich presence


Allow user to pass through their own credentials

See for example: https://github.com/googleads/google-ads-ruby/blob/master/lib/google/ads/google_ads/v1/services/account_budget_service_client.rb#L78
The lib currently only accepts a refresh token and passes it along as part of the updater_proc, but we could allow the user to specify their credentials in any of the valid formats. We should add a config option to specify this with any custom value the user sets.

It would also be great to have a possibility to provide with own interceptors for service initialization since there is no way to inject there. Ideally (or additionally) in a global manner so this could be configured without modifying client/service initialization code and interceptor could be injected dynamically in tests (to fake requests).

Please file a separate issue for that request; we'll look into it separately. Thanks!


auto_node.sh can't decrypt BLS file keys using .pass files

@Daniel-VDM Currently, auto_node.sh is not able to run correctly using .pass files. Current node.sh, for example, can load .pass files and even asks if you want to delete them after starting the node.
If you try to run auto_node.sh using BLS keys with passphrases it either prompts an error on screen it can't decrypt it or sometimes it closes the Docker session entirely not giving any proper error.
Autonode should be able to run with multiple BLS keys with different passphrases on each of these .pass files.
./auto_node.sh run --auto-active --auto-reset --clean
[AutoNode] Killing existing docker container with name: harmony_node
harmony_node
[AutoNode] Removing existing docker container with name: harmony_node
harmony_node
mkdir: cannot create directory ‘/home/yelllowsin/.harmony_node’: File exists
[AutoNode] Using validator config at: ./validator_config.json
[AutoNode] Sharing node files on host machine at: /home/yelllowsin/.harmony_node
[AutoNode] Sharing CLI files on host machine at: /home/yelllowsin/.hmy_cli
[AutoNode] Initializing...

[AutoNode] Process initlized. Attach to see progress with `./auto_node.sh attach`
9569c1ded0e3        harmonyone/sentry   "/root/run.sh --auto…"   1 second ago        Up Less than a second   <IP_ADDRESS>:9000->9000/tcp, <IP_ADDRESS>:9500->9500/tcp   harmony_node
node: 1 windows (created Wed Apr 15 12:59:01 2020) [80x24]
[exited]

Tested in latest version, working. Closing this.


Implementation of abs does not match specification

What happened?
The specification indicates that abs on a tensor with complex element type returns a tensor with element type the element type of the complex type (i.e. c64 -> f32, c128 -> f64).
However, the reference implementation disagrees with that, making AbsOp a UnaryElementwiseOp, where UnaryElementWiseOp has the SameOperandsAndResultType trait.
The specification is also wrong, in that abs is said to be able to return complex types. Given that complex types should map to floating point types, this should not be possible.
Version information
f9e9d0f2c0dc367c646f90e36d09a040bea9f046

However, the [reference implementation disagrees with that] ..

That code is just for custom printing the op. @GleasonK Can talk more about this.

The specification is also wrong

Thanks a lot for catching this. That is an oversight. We will update the spec.

To provide more detail - The AbsOp is a UnaryElementwiseOp which has a SameOperandsAndResultShape trait. The SameOperandsAndResultType noted is actually a custom printer which only simplifies printing if the operand and result types match, allowing for printing/parsing of the following syntax:
// Input/output different:
%0 = "stablehlo.abs"(%arg0) : (tensor<complex<f32>>) -> tensor<f32>

// Same input and output
%1 = "stablehlo.abs"(%arg0) : tensor<f32>

AbsOp does support mismatched types without failing verification.

Regardless - Thanks for pointing out the issue in the spec! Repurposing this ticket to that fix, will be closed by #1001.


Revert "prevent overwriting server logger config (#452)"

This reverts commit bc086bdc11206042e0bde3e7ee5bbd3926a5194d.
As mentioned in 1, this override is supposed to happen.

Can we document on the fields how they are intended to be set?
Like, "If you need to override this, use the X api" or something

Currently, on the field, the document says "Optional, used only by NewServer." (https://github.com/reddit/baseplate.go/blob/f3396ece11b6c336a5eaae2fe4dd3a9f3425ced2/thriftbp/server.go#L31)
And on the document of the whole ServerConfig struct, it says: https://github.com/reddit/baseplate.go/blob/f3396ece11b6c336a5eaae2fe4dd3a9f3425ced2/thriftbp/server.go#L15-L17
I think that should be enough?

One issue I have with this is that now users will need to re-implement a significantly important portion of the baseplate API just so that they can have the ability to configure this. One of the main purposes of using a framework like baseplate is so that developers can have access to sane defaults while still being able to configure settings specific to their use case. In removing this setting, in addition to timeout and sockets users need to create their own copy of NewBaseplateServer and constantly keeps its implementation in sync with the libraries version. This wouldnt be that difficult if the method design allow for delegating to the baseplate impl but overwritten configurations provided makes this impossible.
// NewBaseplateServer returns a new Thrift implementation of a Baseplate
// server with the given config.
func NewBaseplateServer(
	bp baseplate.Baseplate,
	cfg ServerConfig,
) (baseplate.Server, error) {
	middlewares := BaseplateDefaultProcessorMiddlewares(
		DefaultProcessorMiddlewaresArgs{
			EdgeContextImpl:                    bp.EdgeContextImpl(),
			ErrorSpanSuppressor:                cfg.ErrorSpanSuppressor,
			ReportPayloadSizeMetricsSampleRate: cfg.ReportPayloadSizeMetricsSampleRate,
		},
	)
	middlewares = append(middlewares, cfg.Middlewares...)
	cfg.Middlewares = middlewares
	if cfg.Logger == nil {
		cfg.Logger = log.ZapWrapper(log.ZapWrapperArgs{
			Level: bp.GetConfig().Log.Level,
			KVPairs: map[string]interface{}{
				"from": "thrift",
			},
		}).ToThriftLogger()
	}
	cfg.Addr = bp.GetConfig().Addr
	srv, err := NewServer(cfg)
	if err != nil {
		return nil, err
	}
	return ApplyBaseplate(bp, srv), nil
}

@marcoferrer NewServer is the way to customize however you want, while NewBaseplateServer is the opinionated version.

@marcoferrer NewServer is the way to customize however you want, while NewBaseplateServer is the opinionated version.

But thats the issue. I dont want to customize the server to the nth degree. For me, NewServer is too low of an API that requires users to keep track of their own special defaults without being able to reference or at least concat the preferred defaults from the library. It ends up being a foot-gun if theres ever a critical change to how the server is set up and that change isnt back-ported to a users custom my.ReImplNewBaseplateServer

A line needs to be drawn somewhere between "this is low level stuff, use at your own risk" and "this has a sane default but you are still welcomed to change it". socket and timeout are certainly on the low level stuff side. logger is also on the low level stuff side currently (the approval of the to-be-reverted change was a mistake), but I can be convinced to move it to the other side.
Currently the only reason you need to change it is to add timeout and suppress those logs generated from timeout, which is not a good enough reason to move it to the other side (you can already use github.com/apache/thrift@master to fix the memory usage without adding a timeout).

@kylelemons & @konradreiche this is now a release blocker for v0.9.2 (to include prometheus work).
The change in bc086bd changed ServerConfig.Logger to be used by both NewBaseplateServer and NewServer, but the doc<EMAIL_ADDRESS>was not updated and it still says: Optional, used only by NewServer.
We can of course just update the doc to unblock v0.9.2. But since this change is actually a piece of a bigger picture of https://github.com/reddit/baseplate.go/pull/463 that's still pending, I think revert it to unblock v0.9.2 and redo it after (probably through #463) properly is the better approach.

I'm fine with this but I just want to make sure we get an ack from @marcoferrer

So if youd like to revert this to unblock the release that should be fine. We cant use baseplate in its current state regardless and are having to rely on a fork at the moment since the server defaults are not exported. If we ever get the issues with thrift lib resolved we are most likely still going to rely on using this configuration.


Enabled namespace propagation in AggregateApplication*

I've added conditional logic to AggregateApplicationBuilder#getNamespace() so that it returns the namespace if set else generates one as earlier.
Resolves spring-cloud/spring-cloud-stream#428

Kindly review and merge. My CLA number is<PHONE_NUMBER>20072904. Thanks!

@mbogoevici I've made the changes. Could you please review it?

@venilnoronha LGTM, will make a minor change related to setting namespace before preparing shared channel registry while merging.

Merged as 99f978a262a500c16e8c12c7d3bc9d775ff431c5 along with a minor polishing<PHONE_NUMBER>9cb3e368fcb860874115bb19aadab4

@venilnoronha thank you for the contribution!

Thank you @ilayaperumalg!

@ilayaperumalg I think you missed out a change while making the getNamespace changes.
Following is the code in AggregateApplication
protected static void prepareSharedChannelRegistry(SharedChannelRegistry sharedChannelRegistry, Class<?>[] apps) {
	LinkedHashMap<Class<?>, String> appsToRegister = new LinkedHashMap<>();
	for (Class<?> app : apps) {
		appsToRegister.put(app, null);
	}
	prepareSharedChannelRegistry(sharedChannelRegistry, appsToRegister);
}

I think appsToRegister.put(app, null) should rather be appsToRegister.put(app, getNamespace(app.getName(), i)) after your change.

@venilnoronha yeah, Sorry for missing that out. will fix it shortly.
Also, I think it would be good to support creating AggregateApplication via the builder only instead of directly calling the run on AggregateApplication (because of its limiting options to override what one can achieve with the builder).

@venilnoronha thanks for catching this.
Pushed the change<PHONE_NUMBER>90ad669087326b783690ca2da8ff96 that sets the namespace for the apps when aggregating using AggregateApplication.run().
Also, created https://github.com/spring-cloud/spring-cloud-stream/issues/474 to use builder only for creating aggregate application.

@ilayaperumalg thanks!


[ConstraintSystem] NFC: Move ConstraintSystem.h and related headers to include/swift/Sema

Final step (first was https://github.com/apple/swift/pull/34206) in enabling unit testing for constraint system and related structures.

@swift-ci please clean test

I have prepared a test fixture already, going to push that separately.

Build failed
Swift Test Linux Platform
Git Sha - 67f3424c66219453a6aaa06daed0a2847c4f0a94

Build failed
Swift Test OS X Platform
Git Sha - 67f3424c66219453a6aaa06daed0a2847c4f0a94

@swift-ci please clean test

Build failed
Swift Test OS X Platform
Git Sha - 461eafff54b44a59ac4a1f8e1c3ee536b94ff895

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 461eafff54b44a59ac4a1f8e1c3ee536b94ff895

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 461eafff54b44a59ac4a1f8e1c3ee536b94ff895

@swift-ci please test Linux platform

🤞

Build failed
Swift Test Linux Platform
Git Sha - 461eafff54b44a59ac4a1f8e1c3ee536b94ff895

Build failed
Swift Test Linux Platform
Git Sha - 461eafff54b44a59ac4a1f8e1c3ee536b94ff895

@swift-ci please smoke test Linux platform

Please test with following pull request:
https://github.com/apple/swift-tools-support-core/pull/142
@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 461eafff54b44a59ac4a1f8e1c3ee536b94ff895

@swift-ci please test Linux platform


Extension update doesn't show up in VS Code if a dependent extension is installed

Edit: See second comment - this seems to be related to the dependent extension.
I published v3.42.1 of the Dart extension just over 1hr 30min ago. I got the email saying it had passed the automated checks and the version number on the marketplace page updated almost immediately. Over an hour later, the extension still doesn't show up in VS Code (I've tried running Check for Extension Updates and reviewing the web request it makes, and the response from the server still includes the previous version, v3.42.0 that was published around 3 hours ago).
It does normally take ~10 mins for the extension to show up in VS Code, but it's never taken this long before, so I'm unsure whether something has gone wrong. I found https://github.com/microsoft/vscode/issues/147801 which describes a similar problem, but it seems like that issue was resolved.

This morning the issues seems to be resolved for me, so wherever the old version was cached may have expired. It definitely feels like there's still a bug here though, a dependent extension shouldn't result in different results (nor should the cache last so long).

@DanTup There was some intermittent cache issue from our side and because of that latest version was not appearing for some users.

Let me assign to @SaiKanth007 for caching issue so he or his team mates can investigate on the Marketplace side when time allows. Thanks


Fix typo from easing functions (step-start/step-end)

According to MDN, it should be step-start(1) and step-end(2) instead of step"s"-start and step"s"-end

Thanks for the PR!


Stabilize async-await feature

rust-lang/rust#63209 has been merged. Thanks to everyone who has been working on this!
(Description of PR: Currently, this feature requires the nightly feature active to explicitly opt-in to unstable features, but this is no longer needed because rust-lang/rust#63209 has been merged.)

r? @cramertj @Nemo157


Thresholds not working?

🐛 Bug
Using torchmetrics.PrecisionRecallCurve / torchmetrics.ROC produce an error when setting thresholds to something other than None.
To Reproduce
import torch
import torchmetrics
x = torch.zeros(5, 2)
y = torch.zeros(5, 2)
thresholds = torch.linspace(0, 1, 100)
prc = torchmetrics.PrecisionRecallCurve(task="multilabel", num_labels=2, thresholds=thresholds)
prc(x, y)

Output:
File .../torchmetrics/utilities/data.py:228, in _bincount(x, minlength)
    226         output[i] = (x == i).sum()
    227     return output
--> 228 return torch.bincount(x, minlength=minlength)

RuntimeError: "bincount_cpu" not implemented for 'Float'

Code sample
See above.
Expected behavior
Works as documented, where a List or Tensor of thresholds can be manually provided, rather than using the autobin feature.
Environment

TorchMetrics version (and how you installed TM, e.g. conda, pip, build from source): conda, 0.11
Python & PyTorch Version (e.g., 1.0): Python 3.10, PyTorch 1.13.1
Any other relevant information such as OS (e.g., Linux): LUbuntu 22.04

Additional context
N/A

Hi @entangledloops,
Thanks for reporting this. The problem seems to be that PrecisionRecallCurve always expect the target tensor to have dtype int (or long) but in your example you are providing an float tensor. See docs here for that info:
https://torchmetrics.readthedocs.io/en/stable/classification/precision_recall_curve.html#multilabelprecisionrecallcurve
Thus changing y = torch.zeros(5, 2) to y = torch.zeros(5, 2, dtype=torch.int) works. In PR #1457 a explicit dtype check will be added.


Feeds of Feed Sources empty

At first: Thank you very much for this Plugin :)
I have a problem with the Feed of our feed collection, it is empty :(
Currently we have 2 feeds:

https://freifunk-cuxhaven.de/feeds/communities
https://freifunk-cuxhaven.de/feeds/freifunk

Both are empty, whether in RSS or Atom.
Here are our current settings:

Thank you for bringing up this issue. I have located the issue and will be fixed in the next release.

Thank you!


Fixed the use of "or" to be " OR ", to account for words that contain…

Fixed the use of "or" to be " OR ", via a constant, to account for words that contain "or" or "and" (e.g., 'score', 'band') in a sql statement as the name of a DB field. While it doesn't create an error, it's not consistent with how the other " OR " and " AND " are defined and used.
Example Currently:
SELECT * FROM `users` WHERE (`users`.`id` <> ? AND `age` <= ?) OR `score` <= ? got SELECT * FROM `users` WHERE (`users`.`id` <> ? AND `age` <= ?) OR (`score` <= ?)

is generated but, the last field should not be enclosed in parentheses it should be:
SELECT * FROM `users` WHERE (`users`.`id` <> ? AND `age` <= ?) OR `score` <= ? got SELECT * FROM `users` WHERE (`users`.`id` <> ? AND `age` <= ?) OR `score` <= ?

[X] Do only one thing
[X] Non breaking API changes
[X] Tested

What did this pull request do?

Adds a constant to use " OR " and " AND ", when looking for a 'or' or 'and' in a SQL statement. Also replaced .ToLower to .ToUpper, to make functionality consistent.
Added a few test cases that increased the code coverage to 79.7% of where.go

User Case Description

When providing a clause.Expr{} and includes a word that contains or within it (like score), it should not enclose "`score` <= ?" in parentheses "(`score` <= ?)"
Here is one of the test case that were added to where_test.go
		{
			[]clause.Interface{clause.Select{}, clause.From{}, clause.Where{
				Exprs: []clause.Expression{clause.Not(clause.Eq{Column: clause.PrimaryColumn, Value: "1"}, clause.Gt{Column: "age", Value: 18}), clause.Or(clause.Expr{SQL: "`score` <= ?", Vars: []interface{}{100}, WithoutParentheses: false})},
			}},
			"SELECT * FROM `users` WHERE (`users`.`id` <> ? AND `age` <= ?) OR `score` <= ?",
			[]interface{}{"1", 18, 100},
		},

@daheige Not sure if you will be able to review this PR? Let me know if it makes sense or if I need to make an adjustment.

For this PR，LGTM！That's a good suggestion. I agree.
------------------ Original ------------------
From: sammyrnycreal @.>
Date: Tue,Feb 15,2022 5:40 AM
To: go-gorm/gorm @.>
Cc: heige @.>, Mention @.>
Subject: Re: [go-gorm/gorm] Fixed the use of "or" to be " OR ", to account for words that contain… (PR #5074)
@daheige Not sure if you will be able to review this PR? Let me know if it makes sense or if I need to make an adjustment.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>

Thank you for your PR.


Determine the index value of the non compliant objects in an array being validated against a schema

When we are validating an array of objects agains a schema, and one  or more of the objects are not compliant to the schema, there should be a way to determine the indexes of these non-compliant objects.

This issue is the same post as leadpony/justify#7


downloading script for the desktop application

I'm submitting a ...  (check one with "x")

[x] feature request

Expected Behaviour

The downloading script is needed for this desktop application.
-The application should fetch the content from the music name text section and download that song directly from Youtube in .mp3 format.

added Ritiek Malhotra downloading script.


[SDP-1308] Update process disbursement instructions to accept email/phoneNumber

What

Change disbursement instructions to accept email and phone number.

Why
[TODO: Why this change is being made. Include any context required to understand the why.]
Known limitations
The following FE issues will have to be addressed in separate tickets. Will make sure the tickets are created after manual testing.

Receiver Listing

Payment Details

Disbursement Details

add DELETE`` /email/{email}to matchDELETE /phone-number/`

change this UI and related fields to remove SMS mentions

Checklist
PR Structure

[ ] This PR has a reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR title and description are clear enough for anyone to review it.
[ ] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).

Thoroughness

[ ] This PR adds tests for the new functionality or fixes.
[ ] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[ ] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[ ] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[ ] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[ ] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[ ] This is not a breaking change.
[ ] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!


Add HttpConnectionSender.rst_stream

Implementations may need to terminate a stream during processing if an
error is encountered. This adds a convenience method for setting up and
sending that frame.

This change is

Coverage remained the same at 94.068% when pulling 689ebed37b2e5a8e8d533bf05e5e7ae8c8c198ba on jwilm:add-rst-stream-helper into f89bf426f871776b4cec024d02d6d2e84d479396 on mlalic:master.


ci: test on all platforms

this seems to be relevant to the ubuntu ARM issue: https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2436

I think merging main should be sufficient now?

new issue came up, seemingly for no reason:
**********************************************************************
FAILED tests/test_tts.py::test_stream[tts4] - LookupError:
**********************************************************************
  Resource punkt_tab not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('punkt_tab')

  For more information see: https://www.nltk.org/data.html

  Attempted to load tokenizers/punkt_tab/english/

  Searched in:
    - '/Users/runner/nltk_data'
    - '/Library/Frameworks/Python.framework/Versions/3.9/nltk_data'
    - '/Library/Frameworks/Python.framework/Versions/3.9/share/nltk_data'
    - '/Library/Frameworks/Python.framework/Versions/3.9/lib/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'

@theomonnom any idea?

new issue came up, on all platforms, seemingly for no reason:
**********************************************************************
FAILED tests/test_tts.py::test_stream[tts4] - LookupError:
**********************************************************************
  Resource punkt_tab not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('punkt_tab')

  For more information see: https://www.nltk.org/data.html

  Attempted to load tokenizers/punkt_tab/english/

  Searched in:
    - '/Users/runner/nltk_data'
    - '/Library/Frameworks/Python.framework/Versions/3.9/nltk_data'
    - '/Library/Frameworks/Python.framework/Versions/3.9/share/nltk_data'
    - '/Library/Frameworks/Python.framework/Versions/3.9/lib/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'

@theomonnom any idea?

https://github.com/livekit/agents/blob/81a9bec12fc558c488f34c4d0ef1058b79cbf7e8/livekit-plugins/livekit-plugins-nltk/livekit/plugins/nltk/__init__.py#L33


Fix adding yourself to a subteam with new role picker

@keybase/react-hackers CC @MarcoPolo
Adding yourself to a subteam wasn't possible, because getDisabledReasonsForRolepicker noticed that you aren't an admin and refused to show you the options.  In the implicit admin case of a subteam, you don't have any role on the team at all, but you're still allowed to manage members.
This PR makes it so that the ultimate test of whether you can perform the add comes from the service (via canUserPerform.manageMembers).  If manageMembers says you can't, then the existing code seems correct to explain why to the user.

@buoyad Thanks, how's this look?


correct README grammar

update grammar and include links where appropriate

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

Thank you


Getting error while enabeling  newArch

Task :react-native-get-music-files:compileReleaseKotlin FAILED
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:29:1 Class 'TurboSongsModule' is not abstract and does not implement abstract base class member public abstract fun getAll(options: ReadableMap?, promise: Promise!): Unit defined in com.turbosongs.TurboSongsSpec
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:49:3 'getAll' overrides nothing
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:156:3 'getAlbums' overrides nothing
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:266:3 'search' overrides nothing

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-get-music-files:compileReleaseKotlin'.

A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details

Task :react-native-get-music-files:compileReleaseKotlin FAILED
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:29:1 Class 'TurboSongsModule' is not abstract and does not implement abstract base class member public abstract fun getAll(options: ReadableMap?, promise: Promise!): Unit defined in com.turbosongs.TurboSongsSpec
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:49:3 'getAll' overrides nothing
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:156:3 'getAlbums' overrides nothing
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:266:3 'search' overrides nothing

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-get-music-files:compileReleaseKotlin'.

A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details

any updates?

set newArchEnabled=false in android/gradle.properties

is there any other way or any other replacement for this lib ?

Task :react-native-get-music-files:compileReleaseKotlin FAILED
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:29:1 Class 'TurboSongsModule' is not abstract and does not implement abstract base class member public abstract fun getAll(options: ReadableMap?, promise: Promise!): Unit defined in com.turbosongs.TurboSongsSpec
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:49:3 'getAll' overrides nothing
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:156:3 'getAlbums' overrides nothing
e: file:///home/haris/Desktop/react-native/MusicPlayer/node_modules/react-native-get-music-files/android/src/main/java/com/turbosongs/TurboSongsModule.kt:266:3 'search' overrides nothing

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-get-music-files:compileReleaseKotlin'.

A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details

any updates?

@varadaraj772  did you find any solution for this ?

no


blur util

@sumeshir26 Did you test it?

@not-nef

@sumeshir26 Are you ok with the changes i made?

yup, this is your projects, you dont need to ask
FYI, you arent watching this repo. i was confused why you didnt respond so i mentioned you

I did see this, but i had an extreme headache the last days so i had no time to test and eventually forgot about it. Sorry for the inconvenience!

np


feat: add swift 4.2 support via compile flags

Please Yalantis, review this PR.

hey, @MSavisko!
thank you for your contribution 👍
going to merge it in a while


Es6

Awesome books: with ES6
Add the followings

add script type (Module)
use export and import
use Luxon to generate time
Add Linters

thank you @sja-thedude for taking the time to review this project


How to set parameters to achieve a target recall?

I want an exact nearest neighbor search with 100% recall within considerable time. Speed is OK around 0.1s.
Any suggestions on  parameter tuning? Thanks a lot.

NGT cannot guarantee 100% recall but can provide almost 100% recall because of approximate search to shorten the search time. Although NGT also has linear search which guarantees 100% recall, it must be too slow for you demands.

Thank you for the clarification. @masajiro
I read your paper on onng today. The analysis on effect of degrees  and elaborate optimizations are impressive.
I tried to figure out where the 'approximation' comes in.
Index build phase:

anng construction
node degree adjustment (I'm not sure because the pruning are greedy, so careful parameter tuning according to K will not introduce approximation, right?)

Query phase:

seed generation from tree model

In my understanding, major approximation comes from anng. Am I missing something?
By the way, any pointer to SOTA exact/nearly exact nn index or precision controllable ann works focusing on recall guarantee? I'm rather not familiar with this research area.
Thanks a lot!

Graph-based methods are essentially approximate. However, if you make all edges between adjacent cells on the Voronoi diagram of objects, 100% recall might be guaranteed. But then the query time becomes too long, because too many edges are produced for high dimensional data. The long query time might be the same as that of existing exact search methods.
The parameter epsilon of NGT to expand the search range is directly related to the recalls. If you want 100% recalls (not guaranteed) , you have only to increase the epsilon value. However, as the epsilon increases, the query time increases. To get both high recalls and short query times, the degree adjustment and a high accurate ANNG are indispensable.
The seed selection is not so related to increasing the recalls. It can reduce the query times especially for low recalls.
This document helps you use NGT without trial and error.
In the long NN-search research history, it is known that approximate methods are definitely superior to exact methods in terms of query time, if you don’t need guarantee of 100% recall. I don’t know recent SOTA exact methods.

Thanks for the suggestions. I still have some questions:

Graph-based methods are essentially approximate.

If we had a ground true KNNG with neighbor number K, 100% recall could be achived for any query with a parameter < K?

The parameter epsilon of NGT to expand the search range is directly related to the recalls. If you want 100% recalls (not guaranteed) , you have only to increase the epsilon value. However, as the epsilon increases, the query time increases. To get both high recalls and short query times, the degree adjustment and a high accurate ANNG are indispensable.

So as long as we are careful in the optimization phase, precision that tuning epsilon is upper bounded by the precision of ANNG, but may not be 100%?

If we had a ground true KNNG with neighbor number K, 100% recall could be achived for any query with a parameter < K?

If a query is the same as one of the nodes in the graph, yes. But if it is not the same, definitely not.

So as long as we are careful in the optimization phase, precision that tuning epsilon is upper bounded by the precision of ANNG, but may not be 100%?

Recall depends on the data distribution in metric space. If the dimensionality of data is several thousands, you probably should build ANNG with more than 200 edges to get 100% recall and short query time. Moreover, recall depends on the specified distance function. Humming distance tends to need more edges and a larger epsilon.
When you search ANNG, the number of edges to use is limited while exploring a graph by default. The limitation might suppress recall even for a larger epsilon.

If a query is the same as one of the nodes in the graph, yes. But if it is not the same, definitely not.

Recall depends on the data distribution in metric space. If the dimensionality of data is several thousands, you probably should build ANNG with more than 200 edges to get 100% recall and short query time. Moreover, recall depends on the specified distance function. Humming distance tends to need more edges and a larger epsilon.
When you search ANNG, the number of edges to use is limited while exploring a graph by default. The limitation might suppress recall even for a larger epsilon.

I think I've understood your comments. And I read the KNNG paper refered in your paper. It helps a lot. KNNG itself as an approximate of the Delauna graph, introduce approximation. Sebastian uses a concept of extended neighborhood heuristic to improve recall, which is controlled with epsilon in NGT.
But it seems that seed nodes ARE important, too. I visualized the process in a 2d-Euclidean space for the KnnSearch algorithm.

We need to retrieve top-2 nn for q in different cases:

If q are in the graph, and it's luckily chosen in the seeds, everything is done perfectly.
q not in the graph, but t is chosen as seed, things are OK.
Whether q is in the graph or not,  a is chosen as the seed:
3a. We have enough edges in ANNG to connect a and t, it'll be OK.
3b. If we construct enough edges while building ANNG to connect a and t, we'll need to take a path through b to reach t. To include b in the seed set, an epsilon is needed to tolerate distance increment with b.

To conclude, number of edges |E| in ANNG and epsilon collaborate to achive high recall. And good seeds have less requirement on |E| and epsilon.
So to improve recall and speed further, better ANNG approximation of Delauna graph and better seeds can be a direction.
Does my point make sense?

Your point makes sense especially for not k-NNS but NNS. For k-NNS, not only nodes within a search range (super sphere) but also nodes that are linked from the nodes in the search range must be all explored. It means that if nodes have many edges, then the exploring procedure takes extremely much time, even though seeds are the best (the k nearest neighbors to the query). Although better seeds can reduce the total query time, the reduced time is quite shorter than the total query time, if you desire high recalls. The reduced time is almost within a range of the fluctuated measured query times.

If a is included in the ground truth k-NNS，whether a or t is chosen as seed doesn't make difference because both of them must be explored to get a k-NNS.
What matters is 'how far' are the seeds from the ground truth k-NNS sets. The farther are the seeds, the more hops of neighbor edge we have to explore to reach all the ground truth k-NNS.
According to the Algorithm 1 KnnSearch in your paper,
how many hops of neighbors will be add to the seed set to explored is determined by the epsilon and the 'worst' node in k-NN candidate set R.
In my humble opinion, it doesn't matter whether k = 1 or k > 1, because we are maintaining radus r, whether it is the worst node in a current found neighborhood of size 1 or k > 1.
Maybe reduce of time introduced by good seed in neglectable, but at least that should hold for both k-NNS and NNS, right?

I mean that NNS is not k-NN search with k=1 but just best first search which doesn't need a search range.

According to my limited readings, NNS is no difference from k-NN search with k=1. Extended neighbor should be explored for both case to achieve a high recall.
It's so kind of you for your patience. Your excellent paper and implementation helps me a lot on ann index. I am really grateful.


💡 Give link to mainnet GovTool via Testnet headers

Area
Wrapper
Is there new design needed?
Yes
What?

When visiting a testnet instance of GovTool there is a header warning the user
It would be nice to offer the user a way to navigate to the mainnet instance from this header

Why?

We have seen some issues with people on testnet instances raising issues
It makes sense to have this navigation available via govtool itself rather than through other pages

How?

add link to gov.tools in the testnet warning header in some way

(Optional) User Story with acceptance criteria
As a user
I want to be able to navigate to mainnet govtool from a testnet instance
So i can participate on mainnet

r. And for the link to Mainnet, simply "Go to Mainnet"

how would you suggest this is done via the header @m-i-k-e ?


Update TS versions

Update the bundled TS and build TS version

Blocked by https://github.com/microsoft/TypeScript/issues/50213


Implement Attested Fields for Object Verification in SDK

Description:
The SDK currently verifies each incoming fact by checking if it has been signed by the issuer specified in its payload. This verification process applies to both self-signed facts and third-party signed facts. However, we encountered an issue with the verification process when dealing with non-string fields (i.e., objects) due to their ephemeral nature.
Issue Detail:
For non-string fields, when a mobile client needs to resend an object, it cannot simply resend the original signed fact. Instead, it has to upload and share a new object, which will be signed with its own keys. This breaks the current chain of trust as the incoming message will be self-signed by the user, and not by the original signer.
Proposed Solution:
To address this issue, we propose introducing 'Attested Fields' for objects. This will allow mobile clients to provide an additional attestation for specific fields of an object.
For instance, in the case of a passport photo, the original self-verification attestation will be included. The attested field attested_image_hash will contain a payload that includes the original self-verification signed image_hash. The SDK can then compare the user-signed object hash with the originally self-verification signed image_hash. If both hashes are equal, it indicates that the user-uploaded object and the self-verification signed object are the same. As a result, developers can trust the attestation.
The structure of the payload with the attested field will be as follows:
{
    "iss": "35555262516",
    "jti": "2B834B03-7522-4189-8124-1F412F2AD30C",
    "sub": "35555262516",
    "iat": "2024-06-11T03:34:23.600Z",
    "source": "passport",
    "verified": true,
    "exp": "2024-06-12T03:34:23.000Z",
    "facts": [
        {
            "key": "photo",
            "value": "",
            "objects": [
                {
                    "id": "467816cf-b74e-4797-8fbe-13e90d3e268a",
                    "image_hash": "pI9cV....",
                    "attested_image_hash": {
                        "payload": "eyJpYXQ....",
                        "protected": "eyJh....",
                        "signature": "Cfipc...."
                    },
                    "link": "https://....",
                    "key": "ez4t****",
                    "expires": "1718163263",
                    "mime": "image/jpeg"
                }
            ]
        }
    ]
}

The attested_image_hash payload will be:
{
    "iat": "2024-05-10T10:36:38.938674141Z",
    "image_hash": "pI9c...",
    "iss": "self_verification",
    "jti": "03dcb906-5fbd-40c0-8344-8e2035c93035",
    "source": "passport",
    "sub": "35555262516",
    "verified": true
}

Proposed interface
The current interface for developers to access the value of an attestation is limited in its ability to handle complex data types. Specifically, the AttestedValues method returns an array of strings, which prevents it from returning objects. To make the interface more flexible and accommodate objects, the can change the AttestedValues method to return an interface that is compatible with both strings and objects. This change will involve defining a new AttestedValue interface in Go, with methods that allow string representation and saving to a specified path. The proposed interface is as follows:
type AttestedValue interface {
  String()
  Save(path string)
}

With this new interface, developers will be able to handle both string and object attestations in a unified way. This change will enhance the flexibility and usability of our SDK for developers.
Tasks:

[ ] Implement 'Attested Fields' mechanism in the SDK.
[ ] Modify this proposal to work with objects as it's defined on this issue
[ ] Update the object verification process to handle 'Attested Fields'.
[ ] Validate the solution with different scenarios to ensure the chain of trust is maintained.
[ ] Update relevant documentation and tests.

After further consideration, I'd like to propose a slight adjustment to my approach. Instead of introducing 'Attested Fields' within objects, let's move the objects to the root of the payload. This will simplify our structure and make it more straightforward for developers to handle attestations from these objects.
In this new approach, the payload structure will look like this:
{
    "facts": [
        {
            "fact": "image_hash",
            "attestations": [
                {
                    "payload": "eyJpYXQ......",
                    "protected": "eyJhbGciOi...",
                    "signature": "bqFBtVoW4..."
                }
            ]
        }
    ],
    "objects": [
    	{
            "name": "image hash from attestation",
            "link": "https://api.joinself.com/v1/objects/365d0bb4-cceb-4169-9e64-4be0fcd0cbc9",
            "key": "Base64URL(ChaCha20Poly1305Itef-Secret-Key + Nonce)",
            "expires":<PHONE_NUMBER>,
            "pid": "365d0bb4-cceb-4169-9e64-4be0fcd0cbc9",
    	}
    ],
    "jti": "dc53d25f-ce2a-476a-8259-3aeb9a92866c",
    "cid": "03492ae4-36e4-4db7-b283-658a55081e81",
    "status": "accepted",
    "typ": "identities.facts.query.resp",
    "auth": false,
    "aud": "ed1a7569-4a29-46df-9815-f439ee23859d",
    "iss": "63454275323",
    "sub": "63454275323",
    "iat": "2024-06-13T08:27:15.151Z",
    "exp": "2024-06-16T08:27:15.157Z"
}

This new approach will still allow the SDK to compare the user-signed object name (which will contain the hash of the shared object) with the originally self-verification signed image_hash. If both hashes are equal, it indicates that the user-uploaded object and the self-verification signed object are the same, allowing developers to trust the attestation.
Furthermore, the recently proposed AttestedValue interface can still be implemented, but with some modifications to accommodate this new approach.


🐛 [firebase_messaging] background handler is not called on IOS and notification is received

Bug report
Describe the bug
IOS application receive  notification when the app is terminated or in background state. Notification is showed but firebasebackgroundhandler function is not executed.
Steps to reproduce
Steps to reproduce the behavior:

Added firebase_messaging to the project.
IOS and android version are connected with firebase successfully and notification are received with out any issue
When ios app is in background and we receive notification in app. Notification is shown in IOS but handler function is not executed

Expected behavior
_firebaseMessagingBackgroundHandler should be executed as we receive the notification successfully.
Sample project
in main.dart file
class MainTabs extends StatefulWidget {
@override
void initState() {
super.initState();
WidgetsFlutterBinding.ensureInitialized();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
}
//build methods
}
Future _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
print('_firebaseMessagingBackgroundHandler CALLED');
await Firebase.initializeApp();
}

Additional context
On android the _firebaseMessagingBackgroundHandler is executed with out any issues

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.1 21C52 darwin-arm, locale
    en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.66.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.16.1
Flutter SDK 2.10.3
latest_messenger 1.0.0+1

dependencies:
- animated_widgets 1.1.0 [flutter vector_math]
- audio_service 0.18.4 [audio_service_platform_interface audio_service_web audio_session rxdart flutter_cache_manager clock js flutter flutter_web_plugins]
- audioplayers 0.19.1 [uuid path_provider http flutter flutter_web_plugins]
- badges 2.0.2 [flutter]
- bubble 1.2.1 [flutter]
- cached_network_image 3.2.0 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- callkeep 0.3.2 [flutter]
- camera 0.9.4+19 [camera_platform_interface camera_web flutter flutter_plugin_android_lifecycle quiver]
- chewie 1.3.1 [cupertino_icons flutter provider video_player wakelock very_good_analysis]
- cloud_firestore 3.1.11 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- connectivity_plus 2.3.0 [flutter connectivity_plus_platform_interface connectivity_plus_linux connectivity_plus_macos connectivity_plus_web connectivity_plus_windows]
- contacts_service 0.6.3 [flutter collection quiver]
- cupertino_icons 1.0.4
- dio 4.0.6 [http_parser path]
- easy_localization 3.0.0 [flutter shared_preferences intl args path easy_logger flutter_localizations]
- firebase_auth 1.4.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.15.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.5.3 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_database 7.2.2 [firebase_core firebase_database_platform_interface flutter]
- firebase_messaging 11.2.14 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_storage 10.2.9 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta typed_data vector_math sky_engine]
- flutter_easyloading 3.0.3 [flutter flutter_spinkit]
- flutter_image_compress 1.1.0 [flutter]
- flutter_local_notifications 9.4.0 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_map 0.14.0 [async collection flutter http intl latlong2 meta positioned_tap_detector_2 proj4dart transparent_image tuple vector_math]
- flutter_sms 2.3.2 [flutter flutter_web_plugins plugin_platform_interface url_launcher]
- flutter_sound 8.5.0 [path_provider recase uuid provider path synchronized logger flutter flutter_sound_platform_interface flutter_sound_web]
- flutter_svg 0.22.0 [flutter meta path_drawing vector_math xml]
- flutter_webrtc 0.8.3 [dart_webrtc flutter path_provider webrtc_interface]
- googleapis_auth 1.3.0 [crypto http http_parser]
- html_unescape 2.0.0
- image_cropper 1.5.1 [flutter]
- image_picker 0.8.4+11 [flutter flutter_plugin_android_lifecycle image_picker_for_web image_picker_platform_interface]
- internet_connection_checker 0.0.1+3
- intl 0.17.0 [clock path]
- intl_phone_number_input 0.7.0+2 [flutter meta libphonenumber_plugin equatable collection]
- isar 2.2.1 [ffi js meta]
- isar_flutter_libs 2.2.1 [flutter isar]
- one_context 1.1.1 [flutter shared_preferences back_button_interceptor]
- path_provider 2.0.9 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- permission_handler 8.3.0 [flutter meta permission_handler_platform_interface]
- pin_code_fields 7.3.0 [flutter]
- pinch_zoom_image_last 0.4.1 [flutter]
- provider 6.0.2 [collection flutter nested]
- sembast 3.2.0 [meta path synchronized]
- shared_preferences 2.0.13 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shared_preferences_android 2.0.11 [flutter shared_preferences_platform_interface]
- sliding_up_panel 2.0.0+1 [flutter]
- sticky_headers 0.2.0 [flutter]
- uuid 3.0.6 [crypto]
- vibration 1.7.4-nullsafety.0 [flutter vibration_web]
- video_compress 3.1.0 [flutter]
- video_player 2.3.0 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web]
- video_thumbnail 0.5.0 [flutter]

dev dependencies:
- build_runner 2.1.8 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_lints 1.0.4 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph typed_data]
- isar_generator 2.2.1 [isar build source_gen analyzer glob path dart_style json_annotation dartx freezed_annotation]

dependency overrides:
- path_provider_android 2.0.11 [flutter path_provider_platform_interface]

transitive dependencies:
- _fe_analyzer_shared 36.0.0 [meta]
- analyzer 3.3.1 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.3.0
- async 2.8.2 [collection meta]
- audio_service_platform_interface 0.1.0 [flutter plugin_platform_interface meta]
- audio_service_web 0.1.1 [audio_service_platform_interface rxdart js flutter flutter_web_plugins]
- audio_session 0.1.6+1 [flutter flutter_web_plugins rxdart meta]
- back_button_interceptor 5.0.2 [collection flutter]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.2.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.0.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.6 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.3 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.1.4 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- camera_platform_interface 2.1.5 [cross_file flutter plugin_platform_interface stream_transform]
- camera_web 0.2.1+3 [camera_platform_interface flutter flutter_web_plugins stream_transform]
- characters 1.2.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- clock 1.1.0
- cloud_firestore_platform_interface 5.5.2 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 2.6.11 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- collection 1.15.0
- connectivity_plus_linux 1.3.0 [flutter connectivity_plus_platform_interface meta nm]
- connectivity_plus_macos 1.2.2 [connectivity_plus_platform_interface flutter]
- connectivity_plus_platform_interface 1.2.0 [flutter meta plugin_platform_interface]
- connectivity_plus_web 1.2.0 [connectivity_plus_platform_interface flutter_web_plugins flutter]
- connectivity_plus_windows 1.2.0 [connectivity_plus_platform_interface flutter]
- convert 3.0.1 [typed_data]
- cross_file 0.3.2 [flutter js meta]
- crypto 3.0.1 [collection typed_data]
- csslib 0.17.1 [source_span]
- dart_style 2.2.2 [analyzer args path pub_semver source_span]
- dart_webrtc 1.0.4 [webrtc_interface]
- dartx 1.0.0 [characters collection crypto meta path time]
- dbus 0.7.3 [args ffi meta xml]
- easy_logger 0.0.2 [flutter]
- equatable 2.0.3 [collection meta]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- firebase_auth_platform_interface 4.3.1 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 1.3.1 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.2.5 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.6.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.2.1 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_platform_interface 0.0.1+1 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_platform_interface 3.3.0 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 2.2.12 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_storage_platform_interface 4.1.1 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.2.10 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.0.0
- flutter_blurhash 0.6.4 [flutter]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_local_notifications_linux 0.4.2 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 5.0.0 [flutter plugin_platform_interface]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path typed_data vector_math]
- flutter_plugin_android_lifecycle 2.0.5 [flutter]
- flutter_sound_platform_interface 8.5.0 [flutter meta plugin_platform_interface logger]
- flutter_sound_web 8.5.0 [flutter_sound_platform_interface flutter logger flutter_web_plugins meta js]
- flutter_spinkit 5.1.0 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta typed_data vector_math]
- freezed_annotation 1.1.0 [collection json_annotation meta]
- frontend_server_client 2.1.2 [async path]
- glob 2.0.2 [async collection file path string_scanner]
- graphs 2.1.0 [collection]
- html 0.15.0 [csslib source_span]
- http 0.13.4 [async http_parser meta path]
- http_multi_server 3.2.0 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image_picker_for_web 2.1.6 [flutter flutter_web_plugins image_picker_platform_interface]
- image_picker_platform_interface 2.4.4 [cross_file flutter http plugin_platform_interface]
- io 1.0.3 [meta path string_scanner]
- js 0.6.3
- json_annotation 4.4.0 [meta]
- latlong2 0.8.1 [intl]
- libphonenumber 2.0.2 [flutter meta]
- libphonenumber_platform_interface 0.3.1 [flutter plugin_platform_interface]
- libphonenumber_plugin 0.2.3 [flutter flutter_web_plugins libphonenumber_platform_interface libphonenumber_web libphonenumber]
- libphonenumber_web 0.2.0+1 [flutter flutter_web_plugins js libphonenumber_platform_interface]
- lints 1.0.1
- lists 1.0.1 [meta]
- logger 1.1.0
- logging 1.0.2
- matcher 0.12.11 [stack_trace]
- material_color_utilities 0.1.3
- meta 1.7.0
- mgrs_dart 2.0.0 [unicode]
- mime 1.0.1
- nested 1.0.0 [flutter]
- nm 0.5.0 [dbus]
- octo_image 1.0.1 [flutter flutter_blurhash]
- package_config 2.0.2 [path]
- path 1.8.0
- path_drawing 0.5.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.2.1 [vector_math meta]
- path_provider_ios 2.0.8 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.5 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.5 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.3 [flutter platform plugin_platform_interface]
- path_provider_windows 2.0.5 [ffi flutter path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface]
- petitparser 4.4.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.2 [meta]
- pool 1.5.0 [async stack_trace]
- positioned_tap_detector_2 1.0.4 [flutter]
- process 4.2.4 [file path platform]
- proj4dart 2.0.0 [mgrs_dart wkt_parser meta]
- pub_semver 2.1.1 [collection meta]
- pubspec_parse 1.2.0 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.0.1+1 [matcher]
- recase 4.0.0
- rxdart 0.27.3
- shared_preferences_ios 2.1.0 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.3 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.3 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.1 [analyzer async build dart_style glob meta path source_span yaml]
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.2 [flutter sqflite_common path]
- sqflite_common 2.2.1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- test_api 0.4.8 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- time 2.1.0 [clock]
- timezone 0.8.0 [path]
- timing 1.0.0 [json_annotation]
- transparent_image 2.0.0
- tuple 2.0.0 [quiver]
- typed_data 1.3.0 [collection]
- unicode 0.3.1 [lists]
- url_launcher 6.0.20 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- url_launcher_android 6.0.15 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.0.15 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.0 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.0 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.0.5 [flutter plugin_platform_interface]
- url_launcher_web 2.0.9 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.0 [flutter url_launcher_platform_interface]
- vector_math 2.1.1
- very_good_analysis 2.4.0
- vibration_web 1.6.3-nullsafety.0 [flutter flutter_web_plugins]
- video_player_android 2.3.1 [flutter video_player_platform_interface]
- video_player_avfoundation 2.3.1 [flutter video_player_platform_interface]
- video_player_platform_interface 5.1.0 [flutter plugin_platform_interface]
- video_player_web 2.0.7 [flutter flutter_web_plugins video_player_platform_interface]
- wakelock 0.6.1+2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.0 [flutter wakelock_platform_interface win32]
- watcher 1.0.1 [async path]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- webrtc_interface 1.0.2
- win32 2.4.1 [ffi]
- wkt_parser 2.0.0
- xdg_directories 0.2.0+1 [meta path process]
- xml 5.3.1 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]

@bilalgodesto
I believe you are hitting https://github.com/firebase/flutterfire/issues/6290, so please follow-up in it for further updates.
Closing this as a duplicate.


Try to make it more easier to use.

For example write a guide where explain how use in another project and which file are necessary.

Hi, that explanation is both in the readme file and in the Wiki.

Sorry, but for me it's not a good explanation :)

Could you elaborate on that? what is missing in the explanation to be clearer?

Or, what makes it unclear to you.

Sure is probably that is unclear for me. But who are the essential files? The method getLifecycle() where is defined?

You need a layout file, in which you have to add the YouTubePlayerView
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.pierfrancescosoffritti.youtubeplayer.player.YouTubePlayerView
        android:id="@+id/youtube_player_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

and in your Activity/Fragment you need to get a reference to the view and initialize it, like this:
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player_view);

youTubePlayerView.initialize(new YouTubePlayerInitListener() {
    @Override
    public void onInitSuccess(final YouTubePlayer initializedYouTubePlayer) {
        initializedYouTubePlayer.addListener(new AbstractYouTubePlayerListener() {
            @Override
            public void onReady() {
                String videoId = "6JYIGclVQdw";
                initializedYouTubePlayer.loadVideo(videoId, 0);
            }
        });
    }
}, true);

getLifecycle() is a method that every lifecycle owner has. Activity and Fragment are lifecycle owners.

Any idea because this.getLifecycle().addObserver(youTubePlayerView); say to me "Cannot resolve method getLifecycle()" ?

Is your Activity extending AppCompatActivity?

if you don't want to use the lifecycle of your Activity you can do this instead:
@Override
public void onDestroy() {
    super.onDestroy();
    youTubePlayerView.release();
}

Is your Activity extending AppCompatActivity?
Yes is it.

i'll try this
@Override
public void onDestroy() {
    super.onDestroy();
    youTubePlayerView.release();
}

Ok i'm getting made to use it. What i need to do for install this library in android studio?

As explained in the introduction:
Add this to your project-level build.gradle
allprojects {
  repositories {
    ...
    maven { url "https://jitpack.io" }
  }
}

Add this to your module-level build.gradle
dependencies {
  implementation 'com.github.PierfrancescoSoffritti:AndroidYouTubePlayer:4.1.7'
}


Beautify removes Array

Description
I noticed that in this one particular instance, an array definition was stripped from the code by js-beautify.
Input
The code looked like this before beautification:
var _0xb050 = ['foo', 'bar', 'baz'];
(function(_0x4f7b12, _0x1ae29e) {}(_0xb050, 0x6c));

Expected Output
The code should have looked like this after beautification:
var _0xb050 = ['foo', 'bar', 'baz'];
(function(_0x4f7b12, _0x1ae29e) {}(_0xb050, 0x6c));

Actual Output
The  code actually looked like this after beautification:
(function(_0x4f7b12, _0x1ae29e) {}(_0xb050, 0x6c));

Steps to Reproduce
This can be checked in the web interface.

Duplicate of #1350


Removed help link

it's giving a 404 cc @kenwith
https://github.com/MicrosoftDocs/windows-powershell-docs/issues/140

OK to merge.


fix: meterType devices missing ccSpecific values

When a Command Class is type Meter. In some cases is not a sensor. This metric is a Delta in time, or reset parameter for the Sensor.
There Parameters miss the ccSpecific values, which sets the type of sensor. This change fixes this error

Pull Request Test Coverage Report for Build 387567036

188 of 472 (39.83%)  changed or added relevant lines in 7 files are covered.
29 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.5%) to 28.833%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app.js
0
7
0.0%

lib/ZwaveClient.js
0
30
0.0%

lib/Gateway.js
52
299
17.39%

Files with Coverage Reduction
New Missed Lines
%

lib/utils.js
1
85.19%

lib/Gateway.js
28
21.68%

Totals

Change from base Build 387238528:
0.5%

Covered Lines:
1827

Relevant Lines:
6463

💛  - Coveralls

I am trying to fix hass discovery for multilevel sensors of temperature
The sensor has unit of measurement and this is a problem. I do not know how to do this in the node part. I spent a bit of time but...could not find it
the hass payload is:
{
  "value_template": "{{ value_json.value }}",
  "device_class": "temperature",
  "state_topic": "zwave2mqtt/Garage/sensorBackSide/49/0/Air_temperature",
  "json_attributes_topic": "zwave2mqtt/Garage/sensorBackSide/49/0/Air_temperature",
  "device": {
    "identifiers": [
      "zwavejs2mqtt_0xcddb486e_node35"
    ],
    "manufacturer": "Shenzhen Neo Electronics Co., Ltd.",
    "model": "PIR Motion Sensor with Temperature Sensor (PD03Z)",
    "name": "Garage-sensorBackSide",
    "sw_version": "3.80"
  },
  "name": "Garage-sensorBackSide_temperature_air",
  "unique_id": "zwavejs2mqtt_0xcddb486e_35-49-0-Air temperature"
}

The payload is:
{
  "id": "35-49-0-Air temperature",
  "nodeId": 35,
  "commandClass": 49,
  "commandClassName": "Multilevel Sensor",
  "endpoint": 0,
  "property": "Air temperature",
  "propertyName": "Air temperature",
  "type": "number",
  "readable": true,
  "writeable": false,
  "label": "Air temperature",
  "ccSpecific": {
    "sensorType": 1,
    "scale": 0
  },
  "genre": "user",
  "unit": "°C",
  "list": false,
  "value": 0,
  "lastUpdate":<PHONE_NUMBER>869
}


[WIP] Cleanup JsonSerializerParameterCode

Add CSharpClientTemplateModel.JsonConvertersArrayCode
Fix Client.Class.liquid

Instead of #3350

Is this also ready?
I'd like to update NJS and then also release NSwag with the updates.

Is this also ready?
I'd like to update NJS and then also release NSwag with the updates.

Yes.
Just need to run tests after updating NJS to make sure everything is good.

Updated your branch with the latest NJS version...
Can you finish the PR?

Updated your branch with the latest NJS version...
Can you update the PR or is it ready?

@RicoSuter
Added more tests. Now it is ready.


Cannot debug non-main pkg error when using --backend=lldb option in Windows

What version of Delve are you using (dlv version)? 0.12.2
What version of Go are you using? (go version)? 1.7
What operating system and processor architecture are you using? Windows 10 64 bit
What did you do? Run dlv debug hello.go --backend=lldb
What did you expect to see? Delve to start without error
What did you see instead? The error Can not debug non-main package

The same using --backend=native works as expected.

Can you post steps of how using the native backend works? If you're debugging a non-main package, you'd have to debug it via dlv test, because dlv debug calls go build under the hood, which builds main packages.

It is a main package. Just trying to debug the hello package here: https://github.com/golang/example/blob/master/hello/hello.go
A simple dlv debug hello.go --backend=native works fine

The debug command doesn't take a path to a file but a path to a package. I don't see how dlv debug hello.go --backend=native can possibly work.

dlv debug . --backend=lldb and dlv debug --backend=lldb also gives the same "Can not debug non-main package" error
dlv debug . --backend=native and dlv debug --backend=native work fine

Weird. Can you do go build -gcflags='-N -l' hello.go then dlv --backend=lldb exec ./main?

@aarzilli
dlv exec ./hello.exe --backend=lldb gives ./hello.exe is not executable
dlv exec ./hello.exe --backend=native works fine
stat ./hello.exe gives the below

Oh, I see. The lldb backend isn't supported on windows. You said you were using windows but apparently I didn't read it.
The error message is weird however, not sure why that's happening.

Then all we need is a better error message :)

Is there a particular reason why you want to use the lldb on windows? I gave it a very very low priority because we are under the impression that the native backend works well on windows.

Oh, I personally had no intention of using lldb on windows.
Got sucked into the whole --backend option due to #818
From there I was experimenting around the 2 options in different platform and found this.
Also, to fix #818 from VS Code side, I added an option where user can specify the backend option from configuration.
Now for any which reason some one sets it to lldb in Windows, they will face this issue.
Therefore thought it would be right to log this

I see, thanks.


Docker build failing

Having an issue with the docker build on the hello world example, getting the following feedback:
#9 5.446 Downloading vm_service 7.2.0...
#9 125.7 Connection closed before full header was received
executor failed running [/bin/sh -c dart pub get]: exit code: 69
Any suggestions on a fix?

Also running into a docker build failure.
Steps to reproduce:

Creating a helloworld application,
Running dart run bin/server.dart works fine locally
Running docker build .  and after that docker run [container_name]

This error pops up:
standard_init_linux.go:228: exec user process caused: no such file or directory
Any thoughts?

I just did
docker build -t dart-server .
run -it --rm -p 8080:8080 --name myserver dart-server

no problem.
If you try to run /bin/sh or similar that will fail because that command does not exist in the compiled image. It's from scratch which is tiny

I'm also getting the "standard_init_linux.go:228: exec user process caused: no such file or directory" error message as reported by @Mooibroek above.
Steps to reproduce.
Run dartfn generate helloworld in a new folder.
As instructed by the README file. Run commands ...
docker build -t hello .
docker run -it -p 8080:8080 --name app hello

@Mooibroek If you created your project via the dartfn tool it may be that you've got a faulty docker file. Try and add a line similar to ...
COPY --from=0 /runtime/ /
to get the runtime needed by the server in the final runt-time Docker image.

We clearly need to fix something here...will take a look!

This is now fixed – thanks to @subfuzion – update dartfn and you should be good to go!


multi_state xmv attempts to migrate data sources?

I am trying to run some migrations within my TF CI/CD system using tfmigrate. Specifically, I am trying to move all the resources and modules from one state to another using the wildcard syntax like so:
`migration "multi_state" "xmv_alert_to_task" {
from_dir = "../workspaces/sysadmin/alert"
to_dir   = "../workspaces/sysadmin/task"
actions = [
"xmv * $1"
]
}`
However, when I do so, I get a bizarre error from tfmigrate saying:
Cannot move to data.aws_secretsmanager_secret_version.cloudflare_api_token: there is already a resource instance at that address in the current state.
Data sources are not tracked in the Terraform state so this seems quite bizarre to me that tfmigrate would be trying to migrate them when using wildcard syntax. Also, since that data source it's complaining about is being generated dynamically by Terragrunt for initializing my Cloudflare provider, I can't just remove it temporarily for the sake of these migrations. This effectively forces me to not rely on the wildcard syntax as I would like to simply move all the resources from one workspace to another.

Hi @jkstpierre, Thank you for reporting the issue!
Data sources are stored in tfstate; you can see them in tfstate as plain text and move them like resources. I have confirmed it works as expected in the sandbox environment, and I cannot reproduce your error. Could you provide the minimal reproduction case so we can dig it further?

Oh well if that's the expected behavior then it's not a bug. The reason why it is problematic for me is because I am using Terragrunt which creates a providers.tf file in each workspace. Inside this providers.tf file would be the data source in question because it is required for initializing the cloudflare provider. And because of this, it is impossible for me to have the data source be absent from one workspace and appearing in another when trying to do a full migration from one state into another like I would be able to with other resources / modules. Given all this, it would be super fantastic if there was a way to tell tfmigrate to skip migration of resources that match a given pattern.

Also, I love your tool by the way. I managed to work around this limitation just fine and completed the migration that I was trying to complete when I made this issue.

What I came up with is to allow not only a simple *glob pattern match but also regular expressions. One concern is that the regular expression in the Go standard library is RE2, not PCRE, so a negative look-ahead such as ^(?!data).*$ is impossible. Thus, we can't simply write that it doesn't start with data..
Since the regex function in Terraform is also RE2, if we use the PCRE's regex engine, Terraform users would be confused. Is it possible to write an exclusion rule for data sources in the syntax of RE2? Any idea?


Project UmbraCalendar

There's a need for UmbraCalendar (v13 site) to have improvements across the board

[!NOTE]
Todo: make UmbraCalendar code available publicly

Thoughts we have are around the following topics:

Design
html/css
Filtering
Feeds
Make headless / static?
Upgrade to v14

https://github.com/nul800sebastiaan/UmbraCalendar

Be great to add local timezones within the front end for virtual/hybrid(/all?) events

Erica is having a look at the styling of this 😍

@eqberry just confirming that we can definitely know whether events in the calendar are Physical, Virtual or Hybrid (aka both)
And the calendar repo is now public - https://github.com/nul800sebastiaan/UmbraCalendar.Public


[BUG] English checker isn't so good

Perhaps upgrade the dictionary to the one used in Ciphey;
https://github.com/Ciphey/CipheyDists/blob/master/cipheydists/list/english.json

We can add backticks here too https://discord.com/channels/754001738184392704/809202069788426301/1048008778295037962