nixos/networkd: Add routes from interfaces to [Route] section of .network file

Motivation for this change
For motivation see #93635.
The difference to that PR is that this one resolves the merge conflict, adds more route.options and changes the existing test to work correctly with the new code.
Previously, the test would test the scripted network backend, even when executing nix-build -A nixosTests.networking.networkd.routes.
I added many of the other route.options as best as I could but I didn't test any of them because they exceed my networking knowledge. It's possible that I missed some options that would translate well from iproute to networkd. Or maybe I made a a mistake and I mapped some option to a slightly different networkd option.
I found a small difference between the iproute and networkd:
From man ip route, section scope:
If this parameter is omitted, ip assumes scope global for all gatewayed unicast routes, scope link for direct unicast and broadcast routes and scope host for local routes.
From man systemd.network, section Scope=:
For IPv4 route, defaults to "host" if Type= is "local" or "nat", and "link" if Type= is "broadcast", "multicast", or "anycast". In other cases, defaults to "global".
The default type is unicast for both. As you can see, in this case iproute sets the scope to link while networkd sets it to global. To make the test pass, I simply manually specify the scope in the test.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Previously, the test would test the scripted network backend, even when executing nix-build -A nixosTests.networking.networkd.routes.

Thank you! It seems I had forgotten about networkd when implementing this.
I checked all the options for typos and mismatch and they look ok, however I noticed something:
Metric, PreferredSource, Protocol, Scope, Source and Table are technically not route options, in the sense used in the manual:

Other route options. See the symbol OPTIONS in the ip-route(8) manual page for the details.
I think they still work due to the syntax of ip route add and the way we build the command, but I haven't checked yet. In any case, the description needs to be reworded.

The default type is unicast for both. As you can see, in this case iproute sets the scope to link while networkd sets it to global.

Uhm, I'm not sure how to deal with this. Should we pick and enforce the same default or leave it ambiguous? Either way, it should be documented.

Sorry @rnhmjoj, if it's about networking you can count me out :). I don't have the required expertise and knowledge.

Sorry @rnhmjoj, if it's about networking you can count me out :)

Oh, sorry I meant to ping @andir.

In any case, the description needs to be reworded

I can't think of a good description. Do you have a suggestion?

Uhm, I'm not sure how to deal with this. Should we pick and enforce the same default or leave it ambiguous? Either way, it should be documented.

I think we should leave it ambiguous for now. Where would be a good place to document this?

I think we should leave it ambiguous for now. Where would be a good place to document this?

There's nothing in the manual about routes, so I think the description of networking.interfaces.<name>.routes is probably the only place.

What do you think of
If the route type is the default "unicast", then ip route (and therefore the default scripted network backend) and networkd set the route scope differently. ip route sets it to link while networkd sets it to global. If you want consistency between the two implementations, set the route scope manually with networking.interfaces.eth0.ipv4.routes = [{ options.scope = "link"; }] for example.

Sorry for the late reply, I have kind of forgotten about this. Yes, the explanation looks fine to me.

ping

Yeah sorry, might be another week before I get to it.

Sorry for taking so long.
I added the documentation to the networking.interfaces.<name>.ipv4.routes option. Adding it to the ipv6 routes docs is not needed since "The value [Scope=] is not used for IPv6." according to man systemd.network.
I altered my previous proposed text slightly ("route scope" -> "scope of the route" and changed the example to global). Is the use of <literal> appropriate for achieving the same purpose as the ` in GitHub?
Do you think this is ready for merging now?

I added a changelog entry under the "Backward Incompatibilities" section. Please read it and decide if it is good or if you can think of any improvements.

There's still this (minor) issue:

Metric, PreferredSource, Protocol, Scope, Source and Table are technically not route options, in the sense used in the manual

Otherwise the change looks good.

There's still this (minor) issue:

Metric, PreferredSource, Protocol, Scope, Source and Table are technically not route options, in the sense used in the manual

Otherwise the change looks good.

Yes but since there is no type checking being done on networking.interfaces.<name>.ipv4.routes.*.options and because of the way ip route add is called, I think it's entirely possible that users use this option to specify things like Metric in there. Should I add new options like networking.interfaces.<name>.ipv4.routes.*.metric instead?

No, I think it's enough to change the description: mention that you can also specify metric, source and such.

Like this?

Yep, thank you! I'll take another look and hopefully merge it soon.

Thank you. Do you know why the "Build NixOS manual" test is failing?

You need to run some docbook generation pipeline, and commit both the
updated markdown and the corresponding docbook text.

You must open a paragraph inside the  block.
Don't ask me why, thankfully docbook well be gone soon.
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index e5457546907..ac51f130ba8 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -213,10 +213,10 @@ let
type = with types; listOf (submodule (routeOpts 4));
description = ''
List of extra IPv4 static routes that will be assigned to the interface.

     <warning>If the route type is the default <literal>unicast</literal>, then the scope is

     <warning><para>If the route type is the default <literal>unicast</literal>, then the scope is
     set differently depending on the value of <option>networking.useNetworkd</option>:
     the script-based backend sets it to <literal>link</literal>, while networkd sets

     it to <literal>global</literal>.</warning>

     it to <literal>global</literal>.</para></warning>
     If you want consistency between the two implementations,
     set the scope of the route manually with
     <literal>networking.interfaces.eth0.ipv4.routes = [{ options.scope = "global"; }]</literal>

On 13-01-22, Luflosi wrote:

Thank you. Do you know why the "Build NixOS manual" test is failing?
--
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/144590#issuecomment-1012129681
You are receiving this because you were mentioned.
Message ID: @.***>

Yeah, that was it, thanks @rnhmjoj.

@andir @flokli can you finish your review?

@Luflosi can you fix the conflict?

Done. I followed the advice in that file: "To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead.".

@GrahamcOfBorg test networking.networkd.routes networking.networkd.routes

Broke the networking.networkd.static test

--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -92,7 +92,7 @@ in
             };
           };
         });
-        networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
+        networks."40-${i.name}" = mkMerge [ (genericNetwork mkMerge) {
           name = mkDefault i.name;
           DHCP = mkForce (dhcpStr
             (if i.useDHCP != null then i.useDHCP else false));

seems to fix it. Is that a good fix or does it break something else?

Can you open a PR so we can run the tests?

Applying your patch as-is gives

Sorry, my bad.
I think the problem is, that setting defaultGateway does this
systemd.network.networks."40-${i.name}".routes = mkDefault [
  {
    routeConfig = {
      Gateway = gateway;
      GatewayOnLink = false;
    };
  }
];

while the code I added (if networking.interfaces.<name>.ipv4.routes is not set) does this:
systemd.network.networks."40-${i.name}".routes = [ ];

(If I understand the code correctly).
This means that the latter overrides the former. Can we just remove the mkDefault above, so the two lists are merged?
Like this:
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -66,7 +66,7 @@ in
           let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
             ++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
           in optionalAttrs (gateway != [ ]) {
-            routes = override [
+            routes = [
               {
                 routeConfig = {
                   Gateway = gateway;

Ok, that sounds right to me and passes the tests. You can implement it as genericNetwork id (is that argument really useful btw?)

I'll create a PR with your suggestion.

is that argument really useful btw?

Not entirely sure, I honestly don't understand the code well enough. It was presumably added for a reason.

PR: #156083.


allowEmpty mandatory on Create form using a ReferenceInput

What you were expecting:
Using ReferenceInput inside a Create Simpleform to work without having to use the allowEmpty prop
What happened instead:
The component is disabled
Related code:
https://codesandbox.io/s/52o4m4pxo4
Other information:
To be able to enter a resource with a mandatory ReferenceInput, there is no other choice than to use the allowEmpty prop in the Create config. Which is very contradictory, specially together with validation={{ required: true }}
Since there is no reference id yet, and allowEmpty is false, this piece of code is executed in ReferenceInput
            if (!referenceRecord && !allowEmpty) {
                return _react2.default.createElement(_Labeled2.default, {
                    label: typeof label === 'undefined' ? 'resources.' + resource + '.fields.' + source : label,
                    source: source,
                    resource: resource
                });
            }

and the dropdown is deactivated

Could we change this condition and not do this if we are on a create form maybe ?
Environment

Admin-on-rest version: 1.3.1
React version: 15.6.1
Browser: Chrome

We've used allowEmpty erroneously, and this has this kind of side effects. Here is what I think.
Reminder: allowEmpty adds an empty choice in the choices list, with a value of null
SelectInput
Non-nullable field: allowEmpty should not be used. The Select can already have an initial null value, it’s supported by material ui without the need for an empty choice.
Nullable field: allowEmpty should be used, but is not compulsory in Creation. As it adds a blank choice on top of the choices list, it’s not useful for creation (because the user can leave the input unchanged with a null value), but it’s necessary for edition (to allow the user to deselect a choice and switch to the null choice).
ReferenceInput
In general, If the possible reference aren’t fetched yet, the component should show a loader instead of rendering its child. Here, allowEmpty is used in conjunction with referenceRecord to know if the fetching of the possible references is finished, and this has bad side affects.
Just like for SelectInput:
Non-nullable field: allowEmpty should not be used.
Nullable field: allowEmpty should be used in Edition, can be used in Creation.
So the question remains about how to detect the end of the possible references loading without relying on allowEmpty. I suggest relying on matchingReferences, which should be null before and during the fetch, and contain an array once the fetch completes.
What do you think?

So for ReferenceInput we would get a spinner prior to the actual element rendering properly. And as soon as fetch complete, the correct element will display ?
Sounds good to me !

Exactly


Early registration lookup in station tracking

Issue
During the registration process a station may receive the same registration multiple times. Currently this results in the registration being fully processed each time it is received, including liveness testing. However it is entirely possible to do an early lookup and prevent the extra processing for registrations that are already valid
Solution
To fix this I have added a RegistrationExists function to the registration manager which allows the station to do a lookup upon receiving a registration to check if the registration is already known. If the registration is already tracked the station short circuits the processing pipeline and returns.
Note
Based on the way that the registratiion manager tracks registrations, v4 and v6 registrations are tracked independently so adding to the count for each is the correct behavior, even if they were received as part of the same registration connection.

The first draft attempt fails to solve this issue in practice because the RegistrationExists function checks the map of already validated registrations, however if we are receiving multiple registrations associated with the same session, it is unlikely that they will be spaced out over time. This means that the first registration we receive will not have progressed through the stations registration validation pipeline far enough to be included in the registration manager's map of valid registrations  by the time subsequent registrations show up.
Potential solutions:

new list tracked by registration manager that stores received, but not valid registrations
Add a bool to tracked registrations to indicate whether they have been validated yet. Early add all registration and then mark them as validated once it finishes the pipeline. If a registration fails to be validated remove it (or make sure the validated bool is never checked and it will be recycled when it times out). Don't allow connections for a registration until it has been validated.

The first draft attempt fails to solve this issue in practice because the RegistrationExists function checks the map of already validated registrations, however if we are receiving multiple registrations associated with the same session, it is unlikely that they will be spaced out over time. This means that the first registration we receive will not have progressed through the stations registration validation pipeline far enough to be included in the registration manager's map of valid registrations  by the time subsequent registrations show up.
Potential solutions:

new list tracked by registration manager that stores received, but not valid registrations
Add a bool to tracked registrations to indicate whether they have been validated yet. Early add all registration and then mark them as validated once it finishes the pipeline. If a registration fails to be validated remove it (or make sure the validated bool is never checked and it will be recycled when it times out). Don't allow connections for a registration until it has been validated.

* Add a bool to tracked registrations to indicate whether they have been validated yet. Early add all registration and then mark them as validated once it finishes the pipeline. If a registration fails to be validated remove it (or make sure the validated bool is never checked and it will be recycled when it times out). Don't allow connections for a registration until it has been validated.

I think this is the right solution, but It is non-obvious how this will interact with the variable channels of registration, and may make it harder to figure out exactly what happens when a registration is received.

* Add a bool to tracked registrations to indicate whether they have been validated yet. Early add all registration and then mark them as validated once it finishes the pipeline. If a registration fails to be validated remove it (or make sure the validated bool is never checked and it will be recycled when it times out). Don't allow connections for a registration until it has been validated.

I think this is the right solution, but It is non-obvious how this will interact with the variable channels of registration, and may make it harder to figure out exactly what happens when a registration is received.

Implemented Solution
First, A new bool field has been added to the DecoyRegistration struct called Valid. This is used for two things, first to indicate whether a registration has progressed through the validation pipeline, and second, whether it has been shared with the detector.
The functions for interacting with the tracked registration records has been changes slightly. There is a new function called Track which inserts a registration into the record mappings, but marks the registration as not Valid (on initial call). If a registration exists already and track is called, then the registration is found and the count is updated (note: in the future this could be a location to update a list of ip addresses that registered, or decoys seen).
For a registration to be marked valid the AddRegistration function must be called. The first time it is called on a specific registration, it marks the registration as valid, and sends the registration to the detector. Subsequent calls with the same registration just return. If it is called on a registration that has not yet been tracked, it will call track itself, then proceed with the registration.
Registrations that fail to reach the AddRegistration call (i.e. registrations with live phantoms) will never be marked valid and will be garbage collected after they timeout.
Notes:
This should allow for generic usage across registration channels, as new registrations are all received over ZMQ where track is called, and call AddRegistration when they are done with their pipeline.
This change also required a modification of the GetRegistrations function so that only registrations marked valid will be able to accept connections. This is required in the case where two registrations are received with the same phantom IP address. If one is valid and one invalid, we need to be able to prevent connections to the session associated with the invalid registration.

Implemented Solution
First, A new bool field has been added to the DecoyRegistration struct called Valid. This is used for two things, first to indicate whether a registration has progressed through the validation pipeline, and second, whether it has been shared with the detector.
The functions for interacting with the tracked registration records has been changes slightly. There is a new function called Track which inserts a registration into the record mappings, but marks the registration as not Valid (on initial call). If a registration exists already and track is called, then the registration is found and the count is updated (note: in the future this could be a location to update a list of ip addresses that registered, or decoys seen).
For a registration to be marked valid the AddRegistration function must be called. The first time it is called on a specific registration, it marks the registration as valid, and sends the registration to the detector. Subsequent calls with the same registration just return. If it is called on a registration that has not yet been tracked, it will call track itself, then proceed with the registration.
Registrations that fail to reach the AddRegistration call (i.e. registrations with live phantoms) will never be marked valid and will be garbage collected after they timeout.
Notes:
This should allow for generic usage across registration channels, as new registrations are all received over ZMQ where track is called, and call AddRegistration when they are done with their pipeline.
This change also required a modification of the GetRegistrations function so that only registrations marked valid will be able to accept connections. This is required in the case where two registrations are received with the same phantom IP address. If one is valid and one invalid, we need to be able to prevent connections to the session associated with the invalid registration.


Switch to stable rust

This package is great, so I want everyone to be able to use it.
I don't think we need nightly, and it severely limits who can use the crate in practice.
We can discard let chains and turn the anonymous sum types into an enum.
Awesome work!

Yup, fully agree, will put up a PR in a sec :)


problem

how can people who are not signed in add favorit list

You need to be signed in to use this functionality


Squash schema change

When @rexissimus added support for unions, he created a new schema version (1.0.5). Since this schema only added a single attribute to the PortSpec, it should be ok to just squash this into version 1.0.4. Schema 1.0.5 has only existed on master so this doesn't break any released versions.
This helps simplify the use-uuid/sql-alchemy merge I'm currently working on where 1.0.5 is the sql-alchemy version.

Shouldn't the union change be merged up into your uuid/sqlalchemy change instead? 1.0.4 is released...

Ok, let's delay this. The union change be backed out and re-added in 1.0.5. In my original vision for the sql-alchemy branch, I had a 1.0.5 that has the exact same specs as 1.0.4 but with a changed implementation in the database code. I wanted to preserve that, but can revisit this, just adding the union change on top of the other changes.


dontstarve_steam.exe - System Error

When i try to splitscreen (2 players, 2 controllers) dont starve together, i get a series of system errors
"The code execution cannot proceed because _____ was not found. Reinstalling the program may fix this problem."
I get this problem with multiple DLLs, including:
libEGL.dll
libGLESv2.dll
fmod_event.dll
twitchsdk_32_release.dll
It gives me the errors one time for each player....
Any way to fix this?

Here's what I did to get it working, Made a video tut!
https://www.youtube.com/watch?v=wE7TlgsItHQ


Dockerfile: Use multiple stage builds

Reduce the time spent on building (80% faster in China)
Reduce the size of the image （891 MB -> 16.7 MB (2% of the original image))

/assign @YujiOshima

/lgtm

The CI takes too long time thus I merged it manually first.


Remove stackdriver dependencyConvergence failure list because they are not clean.

They bring multiple dependencies for protobuf.

Did the dependency convergence test start failing recently?

Currently I see only warnings in Idea:
Warning:root project 'opencensus-java': Unable to resolve additional project configuration.
Details: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':opencensus-exporter-stats-stackdriver:compile'.
Caused by: java.lang.RuntimeException: A conflict was found between the following modules:

com.google.protobuf:protobuf-java:3.5.1
com.google.protobuf:protobuf-java:3.4.0

I am trying to understand how to make it really fail in the build.

Codecov Report

Merging #1019 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1019      +/-   ##
============================================
+ Coverage      81.8%   81.81%   +0.01%
  Complexity     1139     1139
============================================
  Files           181      181
  Lines          5319     5319
  Branches        498      498
============================================
+ Hits           4351     4352       +1
  Misses          838      838
+ Partials        130      129       -1

Impacted Files
Coverage Δ
Complexity Δ

...census/implcore/trace/export/SpanExporterImpl.java
98.38% <0%> (+1.61%)
7% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Managed to reproduce the failure with a gradle command:
./gradlew opencensus-exporter-stats-stackdriver:dependencies

Does that mean that we aren't currently running the check in CI?  Do you want to also add that command to the script?

Correct we do not check this in CI. Trying to see what is the best command to do that. I created an issue https://github.com/census-instrumentation/opencensus-java/issues/1030


ssl certificate error in install

Under Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1
900 64 bit (AMD64)] on win32
See the following error on pip install:
(C:\ProgramData\Anaconda3) C:\Windows\system32>pip install pyzdde
Collecting pyzdde
  Could not fetch URL https://pypi.python.org/simple/pyzdde/: There was a proble
m confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate v
erify failed (_ssl.c:749) - skipping
  Could not find a version that satisfies the requirement pyzdde (from versions:
 )
No matching distribution found for pyzdde

This may be due to corporate firewall

This issue is due to firewall and affects all packages I try to install.
Solved with python setup.py install


docs($httpProvider): typo fix

fix a typo:
default.cache -> defaults.cache

I signed it!

landed as f15f8df2b4ba84969eb0767ab3851a2b2d228ffb


Option to show types in signatures

As asked in https://github.com/mkdocs/mkdocs/issues/2097, we could add a rendering option for the Python handler, to show types in the signatures themselves. Something like show_types_in_signature.

Meanwhile you can override the python/material/signature.html template to make use of parameter.annotation in the loop.

Implemented in https://github.com/pawamoy/mkdocstrings/commit/f94ce9bdb2afc2c41c21a53636980ca077b757ce. If I don't get more features implemented soon, I'll release as 0.14.0.


No table formatting support

It seems that ronn doesn't create formatted table from markdown input.
Manual pages can contain tables. ronn should support formatting tables as well.

I stumbled upon the same issue today.

We might like tables for jq's documentation.

I guess maybe tables could be converted in to tbl(1) and *roff(1) invoked with -t.  But there's probably a lot of work to do for this.

Hey y'all. C'mon over to my Ronn-NG fork and post a feature request Issue and I'll make this happen.

I've added table support to Ronn-NG using tbl(1)/groff -t in https://github.com/apjanke/ronn-ng/commit/58b41779f1a44fd378abc0c8cb4b441c61725e90 / https://github.com/apjanke/ronn-ng/issues/8.


Add confidence score to non hocr requests

Codecov Report

Merging #23 into master will increase coverage by 0.25%.
The diff coverage is 89.47%.

@@            Coverage Diff             @@
##           master      #23      +/-   ##
==========================================
+ Coverage   82.14%   82.40%   +0.25%
==========================================
  Files           5        6       +1
  Lines         112      125      +13
==========================================
+ Hits           92      103      +11
- Misses         14       15       +1
- Partials        6        7       +1

Impacted Files
Coverage Δ

controllers/scan_text.go
80.00% <80.00%> (ø)

controllers/base64.go
86.95% <100.00%> (+0.28%)
:arrow_up:

controllers/file.go
79.06% <100.00%> (+1.02%)
:arrow_up:

Continue to review full report at Codecov.

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

The idea looks good to me.
I just don't think it's beneficial to get rid of information which are available from GetBoundingBoxes.


UG-646 Handle config within RPCO

Currently the rpc-gating scripts drop some RPCO config overrides,
some are always added, others are scenario dependant. This is
problematic as those overrides may not work for every branch of RPCO
and it creates a tight and inflexible coupling between RPCO and gating.
This commit adds the overrides that gating currently drops into
the boostrap-aio.yml playbook. These overrides are conditionally
applied based on environment variables that indicate the type of
build that is required.
Depends:

https://github.com/rcbops/rpc-gating/pull/266
rcbops/rpc-gating#296

Issue: UG-646

Had a successful test build, with modified rpc-gating branch: https://rpc.jenkins.cit.rackspace.net/blue/organizations/jenkins/RPC-AIO_master-xenial-deploy-swift-pr/detail/RPC-AIO_master-xenial-deploy-swift-pr/172/pipeline/257

recheck_cit_xenail_deploy_swift

recheck_cit_xenial_deploy_swift

recheck_cit_xenial_deploy_swift previous job aborted

Do we still need the user_zzz_gating_variables.yml related tasks still if we're combining everything into user_variables_overrides?

@mkam good point, removed those.

recheck_cit_xenial_deploy_swift

This shouldn't be merged as it requires a change to RPC-Gating to pass the MaaS token and URL to the bootstrap process. Without that periodics will break, PRs may work (hence the successfull checks) because they don't do any MaaS verifications that require a connected agent or access to the MaaS api.

recheck_cit_xenial_deploy_swift


Running test from IntelliJ crashes, flutter test works

dart:async/stream_controller.dart 594:43                     _StreamController.addError
dart:async/stream_controller.dart 862:13                     _StreamSinkWrapper.addError
package:stream_channel/src/guarantee_channel.dart 140:14     _GuaranteeSink._addError
package:stream_channel/src/guarantee_channel.dart 131:5      _GuaranteeSink.addError
package:flutter_tools/src/test/flutter_platform.dart 454:29  _FlutterPlatform._startTest.<fn>
===== asynchronous gap ===========================
dart:async/zone.dart 1055:19                                 _CustomZone.registerUnaryCallback
dart:async/runtime/libasync_patch.dart 77:23                 _asyncThenWrapperHelper
package:flutter_tools/src/test/flutter_platform.dart         _FlutterPlatform._startTest.<fn>
package:flutter_tools/src/test/flutter_platform.dart 630:26  _FlutterPlatform._startTest
===== asynchronous gap ===========================
dart:async/zone.dart 1055:19                                 _CustomZone.registerUnaryCallback
dart:async/runtime/libasync_patch.dart 77:23                 _asyncThenWrapperHelper
package:flutter_tools/src/test/flutter_platform.dart         _FlutterPlatform._startTest
package:flutter_tools/src/test/flutter_platform.dart 367:36  _FlutterPlatform.loadChannel
package:test/src/runner/plugin/platform.dart 65:19           PlatformPlugin.load
===== asynchronous gap ===========================
dart:async/zone.dart 1055:19                                 _CustomZone.registerUnaryCallback
dart:async/runtime/libasync_patch.dart 77:23                 _asyncThenWrapperHelper
package:test/src/runner/loader.dart                          Loader.loadFile.<fn>
package:test/src/runner/load_suite.dart 89:31                new LoadSuite.<fn>.<fn>
===== asynchronous gap ===========================
dart:async/zone.dart 1047:19                                 _CustomZone.registerCallback
dart:async/zone.dart 964:22                                  _CustomZone.bindCallbackGuarded
dart:async/timer.dart 52:45                                  new Timer
dart:async/timer.dart 87:9                                   Timer.run
dart:async/future.dart 172:11                                new Future
package:test/src/backend/invoker.dart 402:15                 Invoker._onRun.<fn>.<fn>.<fn>

Shell subprocess crashed with segmentation fault after tests finished.
Test: /Users/zoechi/dart/customers/lookatyou/lookatmybaby/lookatmybaby_flutter/test/localization/localizations_test.dart
Shell: /Users/zoechi/flutter/flutter/bin/cache/artifacts/engine/darwin-x64/flutter_tester

[✓] Flutter (Channel master, v0.5.7-pre.111, on Mac OS X 10.13.5 17F77, locale en-AT)
• Flutter version 0.5.7-pre.111 at /Users/zoechi/flutter/flutter
• Framework revision 7ebf2728dc (12 hours ago), 2018-07-12 14:59:22 -0700
• Engine revision fed2ea458e
• Dart version 2.0.0-dev.67.0.flutter-84ca27a09e
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /usr/local/opt/android-sdk
• Android NDK at /usr/local/opt/android-sdk/ndk-bundle
• Platform android-27, build-tools 27.0.3
• ANDROID_HOME = /usr/local/opt/android-sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.4.1, Build version 9F2000
• ios-deploy 1.9.2
• CocoaPods version 1.5.3
[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 23.1.2
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.1.5)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 26.0.2
• Dart plugin version 181.4892.1
[✓] Connected devices (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator)
• No issues found!
This worked with master channel from yesterday.

Maybe related:
https://github.com/flutter/flutter/issues/17989
It came up previously and the change was reverted. I don't know if it's been re-applied and the underlying issue still remains (cc @aam @mravn-google).

Just got the same error after upgrading to the latest Flutter from master:
Flutter (Channel master, v0.5.7-pre.115, on Mac OS X 10.13.5 17F77, locale en-BY)
Looks like IDEA crashes only when running tests in debug mode (with observatory?)

Yeah, that's what I noticed in the linked issue - only happened when I had a breakpoint.

@DanTup wrote

Maybe related:
#17989

That issue was about sync-async only partially enabled(enabled in vm, but not enabled in frontend). Now it's enabled everywhere.
@pulyaevskiy wrote

Looks like IDEA crashes only when running tests in debug mode (with observatory?)

Running tests in Flutter Gallery seems to work fine. Do folks have a sample app where the problem can be reproduced?

@aam
Sorry I forgot to mention that tests should be run in debug mode and there needs to be a breakpoint.
I was able to reproduce this in flutter_gallery just now:

I can reproduce this from the CLI as well by adding a breakpoint via Observatory UI.
Command:
/Users/anatoly/flutter/bin/flutter --no-color test --machine --start-paused --plain-name "Flutter Gallery drawer item test" test/drawer_test.dart

Then go to observatory, add a breakpoint in that test and resume with F7. I got following output:
{"protocolVersion":"0.1.0","runnerVersion":"0.12.41","type":"start","time":0}
{"suite":{"id":0,"platform":"vm","path":"/Users/anatoly/flutter/examples/flutter_gallery/test/drawer_test.dart"},"type":"suite","time":7}
{"test":{"id":1,"name":"loading /Users/anatoly/flutter/examples/flutter_gallery/test/drawer_test.dart","suiteID":0,"groupIDs":[],"metadata":{"skip":false,"skipReason":null},"line":null,"column":null,"url":null},"type":"testStart","time":9}
{"count":1,"type":"allSuites","time":13}

[{"event":"test.startedProcess","params":{"observatoryUri":"http://<IP_ADDRESS>:53054/"}}]
{"group":{"id":2,"suiteID":0,"parentID":null,"name":null,"metadata":{"skip":false,"skipReason":null},"testCount":1,"line":null,"column":null,"url":null},"type":"group","time":32212}
{"test":{"id":3,"name":"Flutter Gallery drawer item test","suiteID":0,"groupIDs":[2],"metadata":{"skip":false,"skipReason":null},"line":66,"column":3,"url":"package:flutter_test/src/widget_tester.dart","root_line":15,"root_column":3,"root_url":"file:///Users/anatoly/flutter/examples/flutter_gallery/test/drawer_test.dart"},"type":"testStart","time":32213}
{"testID":1,"result":"success","skipped":false,"hidden":true,"type":"testDone","time":32217}
{"testID":1,"error":"Shell subprocess crashed with segmentation fault after tests finished.\nTest: /Users/anatoly/flutter/examples/flutter_gallery/test/drawer_test.dart\nShell: /Users/anatoly/flutter/bin/cache/artifacts/engine/darwin-x64/flutter_tester\n\n","stackTrace":"dart:async/stream_controller.dart 594:43                     _StreamController.addError\ndart:async/stream_controller.dart 862:13                     _StreamSinkWrapper.addError\npackage:stream_channel/src/guarantee_channel.dart 140:14     _GuaranteeSink._addError\npackage:stream_channel/src/guarantee_channel.dart 131:5      _GuaranteeSink.addError\npackage:flutter_tools/src/test/flutter_platform.dart 454:29  _FlutterPlatform._startTest.<fn>\n===== asynchronous gap ===========================\ndart:async/zone.dart 1055:19                                 _CustomZone.registerUnaryCallback\ndart:async/runtime/libasync_patch.dart 77:23                 _asyncThenWrapperHelper\npackage:flutter_tools/src/test/flutter_platform.dart         _FlutterPlatform._startTest.<fn>\npackage:flutter_tools/src/test/flutter_platform.dart 630:26  _FlutterPlatform._startTest\n===== asynchronous gap ===========================\ndart:async/zone.dart 1055:19                                 _CustomZone.registerUnaryCallback\ndart:async/runtime/libasync_patch.dart 77:23                 _asyncThenWrapperHelper\npackage:flutter_tools/src/test/flutter_platform.dart         _FlutterPlatform._startTest\npackage:flutter_tools/src/test/flutter_platform.dart 367:36  _FlutterPlatform.loadChannel\npackage:test/src/runner/plugin/platform.dart 65:19           PlatformPlugin.load\n===== asynchronous gap ===========================\ndart:async/zone.dart 1055:19                                 _CustomZone.registerUnaryCallback\ndart:async/runtime/libasync_patch.dart 77:23                 _asyncThenWrapperHelper\npackage:test/src/runner/loader.dart                          Loader.loadFile.<fn>\npackage:test/src/runner/load_suite.dart 89:31                new LoadSuite.<fn>.<fn>\n===== asynchronous gap ===========================\ndart:async/zone.dart 1047:19                                 _CustomZone.registerCallback\ndart:async/zone.dart 964:22                                  _CustomZone.bindCallbackGuarded\ndart:async/timer.dart 52:45                                  new Timer\ndart:async/timer.dart 87:9                                   Timer.run\ndart:async/future.dart 172:11                                new Future\npackage:test/src/backend/invoker.dart 402:15                 Invoker._onRun.<fn>.<fn>.<fn>\n","isFailure":false,"type":"error","time":32578}
{"testID":3,"result":"success","skipped":false,"hidden":false,"type":"testDone","time":32588}
{"success":false,"type":"done","time":32601}

Thanks @pulyaevskiy  for the repro steps!

@DanTup wrote

Maybe related:
#17989
That issue was about sync-async only partially enabled(enabled in vm, but not enabled in frontend). It > is enabled now both in vm and in frontend.

Or so I thought! It seems that with enabling dart2 by default we once again have sync_async is inconsistently set: it is enabled in frontend compiler, but is disabled in dart vm that runs in the engine.
cc @a-siva

Can't reproduce anymore.
Does someone still see this or should we close?

This was fixed some time ago, and we have tests covering it now (which pass on macOS/Linux but are skipped on Windows - something I think I can address today).

I am running on Windows 10 (IntelliJ Community 2020.1.2). Flutter version 1.18.0-11.1.pre at C:\idea\projects\flutter\sdk\flutter
• Framework revision 2738a1148b (4 weeks ago), 2020-05-13 15:24:36 -0700
• Engine revision ef9215ceb2
• Dart version 2.9.0 (build 2.9.0-8.2.beta).
I tried to run a standard test and I get a similar error.
Testing started at 21:48 ...
C:\idea\projects\flutter\sdk\flutter\bin\flutter.bat --no-color test --machine test\counter_test.dart
Waiting for another flutter command to release the startup lock...
 Check the logs above for an error message.
Test: C:\idea\projects\flutter\flutter_development_show_01\test\counter_test.dart
Shell: C:\idea\projects\flutter\sdk\flutter\bin\cache\artifacts\engine\windows-x64\flutter_tester.exe


Instatiating an Inference model with local files is difficult

Not sure if I'm just missing something obvious, but it seems difficult/impossible to create an InferenceBase model without having your config and weights files on S3 somewhere.

This is fixed now in #428


[Question] I wish to get more info on a different issue

Hey man, love your work, I have used this and it works flawlessly.
However, I would like to know more about Issue #70 or more about the "guy yesterday with PC full of wormhole drivers running at same time." You refer to this legend in Issue #71
Honestly, I am not joking I just found it really funny. You gotta tell me what happened and show me a copy of it.

(I created this account just to ask this)

This issue has been deleted, tl;dr this guy downloaded all possible kernel driver mappers found in google (mostly from unknowncheats site), installed and loaded all the vulnerable drivers (~20) at his own machine at same time and started complaining how everything is not working for him.

This issue has been deleted, tl;dr this guy downloaded all possible kernel driver mappers found in google (mostly from unknowncheats site), installed and loaded all the vulnerable drivers (~20) at his own machine at same time and started complaining how everything is not working for him.


Unable to build poedit 3.5

I'm testing poedit 3.5 on Slackware 15.0 and it failed to build with the log can be found here
https://github.com/SlackBuildsOrg/slackbuilds/pull/7782
the spesific error part are this:
fileviewer.cpp:153:28: error: incomplete type ‘wxWebView’ used in nested name specifier
fileviewer.cpp:155:16: error: invalid conversion from ‘wxWebView*’ to ‘int’ [-fpermissive]
fileviewer.cpp:164:17: error: invalid conversion from ‘wxWebView*’ to ‘size_t’ {aka ‘long unsigned int’} [-fpermissive]
fileviewer.cpp:320:14: error: invalid use of incomplete type ‘class wxWebView’
fileviewer.cpp:349:18: error: invalid use of incomplete type ‘class wxWebView’
make[1]: *** [Makefile:748: fileviewer.o] Error 1
make: *** [Makefile:483: all-recursive] Error 1

Another issue:
The README says C++REST SDK is optional, but now it's considered mandatory in 3.5

@willysr Concerning the wxWebView errors: Please check the removal of wxGTK3 for correctness:
https://github.com/SlackBuildsOrg/slackbuilds/pull/7782/commits/bc22d93883ef6137f181b2b3cc9398388fc2fd09
- REQUIRES="wxGTK3 LucenePlusPlus gtkspell3 webkit2gtk"
+ REQUIRES="wxWidgets LucenePlusPlus gtkspell3 webkit2gtk cpprestsdk"

@c72578 i assume that's what the ChangeLog in poedit
https://github.com/vslavik/poedit/commit/22a556cdd68a5f280cac426eefbc8b2edcdbff99

This part: upgraded to wxWidgets 3.2

What about webkit2gtk4.1 instead of webkit2gtk?

let me try that, will let you know the result in few hours since the CI is retesting all scripts in the repository now

@c72578 unfortunately that didn't work either
https://github.com/SlackBuildsOrg/slackbuilds/pull/7782#issuecomment-2323416371

fileviewer.cpp:153:28: error: incomplete type ‘wxWebView’ used in nested name specifier

If you search this issue tracker, you will see that the cause is that you have incomplete build of wxWidgets. Poedit requires a full one. Closing as wontfix, because there's nothing that can be done about this in Poedit — you have to fix your build system to build all wxWidgets sublibraries.

Another issue:

Please limit one issue to one issue. It's basic hygiene. If the README says something is optional, anything differing from that warrants creating an issue (but please, with actual details, not just off-hand remark like this). Thanks!

I think i know why it builds fine on my machine and failed to build on CI
i have webkit2gtk and webkit2gtk4.1 installed and wxWidget SlackBuild have autodetect feature but the default is that webkit2gtk is not listed as a dependency so it doesn't build the webkit feature in the CI. I will try building with webkit2gtk listed as dependency and see how it goes.
@vslavik : Perhaps a note in the README about wxWidgets needs to be compiled with webkit feature enabled and not just Unicode? That should clarify for packagers

Perhaps a note in the README about wxWidgets needs to be compiled with webkit feature enabled and not just Unicode? That should clarify for packagers

It says wxWidgets is required, not some subset of it, so reasonable reading is all of wx, no?
Configure does list the used libs, but since wx-config doesn't enforce that, I did add explicit sanity check before replying here, see a88e6d9131962df44ddbbe75a336fbda6c1e4960

yes, that should do it

it's now built properly
thanks for the hint @vslavik and @c72578 :)
https://github.com/SlackBuildsOrg/slackbuilds/pull/7782

The README says C++REST SDK is optional, but now it's considered mandatory in 3.5

OK, found the bug: 1673c796


Upgrade dependency "github.com/cloudflare/cfssl"

Background
Repo github.com/johanbrandhorst/certify depends on<EMAIL_ADDRESS>https://github.com/johanbrandhorst/certify/blob/master/go.mod#L8
However, comparing version v1.6.2 of github.com/cloudflare/cfssl from proxy.golang.org and github, there are inconsistencies.

commit time of the copy on github.com

"committer": {
      "name": "Nicky Semenza",
      "email"<EMAIL_ADDRESS>      "date": "2022-08-26T21:11:36Z"
    }

commit time of the copy on proxy.golang.org

{"Version":"v1.6.2","Time":"2022-08-24T17:57:20Z","Origin":{"VCS":"git","URL":"https://github.com/cloudflare/cfssl","Ref":"refs/tags/v1.6.2","Hash":"cacf1702e49e95c402b3b041a1689965e784dadd"}}

So the checksum from the code in github does not match the checksum saved in sum.golang.org. The v1.6.2 tag of github.com/cloudflare/cfssl might have been retagged after a minor edition on github. I guess you use proxy.golang.org to get dependencies, but that also shows that your project is depending on the copy of<EMAIL_ADDRESS>before its edition. Depending upon such inconsistent tag version may also result in some unexpected errors as well as build errors due to different proxy settings.
For example, when someone who does not use proxy.golang.org, say GOPROXY=direct, attempts to get<EMAIL_ADDRESS>the following error occurs.
go: downloading github.com/cloudflare/cfssl v1.6.2
go<EMAIL_ADDRESS>verifying module: checksum mismatch
        downloaded: h1:V7EcbVzttAkK3J7PmAxjf7wD7UpMtWSCI+Wl+mu87mw=
        sum.golang.org: h1:3T2oQHypP81rykPfkTxOCyJkRU3xQz5SySVahMpN5LE=

SECURITY ERROR
This download does NOT match the one reported by the checksum server.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.

So, this is a reminder in the hope that you can get rid of this problematic version of project github.com/cloudflare/cfssl.
Solution
1. Bump the version of dependency github.com/cloudflare/cfssl
I would recommend bumping the version of github.com/cloudflare/cfssl to a new release to ensure dependency copy in proxy.golang.org and github in sync.
References

https://github.com/cloudflare/cfssl/issues/1243
https://proxy.golang.org/

Hm, that's pretty worrying, thanks for raising this. Should probably just bump that dependency anyway.


Implement UniformInterface

Implement UniformInterface from Jersey, so it can be used with Client instead of Jena-based DataManager subclass:
https://jersey.java.net/documentation/1.17/client-api.html#d4e548
https://jersey.java.net/nonav/apidocs/1.9/jersey/com/sun/jersey/api/client/UniformInterface.html

This does not seem necessary after all


Removes the horizontal scroll for datatables wrap

https://github.com/Laravel-Backpack/CRUD/issues/538

Hi @votintsev ,
Thanks a lot for the fix, works like a charm! I merged it into the dev branch and it will be available to everyone in the next patch update (later this week).
Keep 'em coming. Cheers!


Claim strong typing

As described in #26 this PR claims explicit typing of the library, allowing for type checkers to examine types in this codebase and enable type checking of other codebases which import this library.
There are no intended changes to library behaviour in this PR. There is an additional job added to the workflows file which performs type checking alongside already existing tests.
Typing errors on imports in datafile.py have been ignored, as these imports are python version dependant and will fail for the import intended for other versions of python, much in the same way the import itself will fail (due to not being able to find that import).
Closes #26.

Thank you for contributing to this library. I've finally taken the time to find out more about type information distribution and I don't see anything to change in your pull request. Can I merge?

I merge. A new release should be out soon. Thanks again for your time  @LachJones.


Register

@JuliaRegistrator register branch=main

Registration pull request created: JuliaRegistries/General/67312
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.4.0 -m "<description of version>" 6925fd10b1ccd5d68d6605d01820f4e14907b348
git push origin v1.4.0


run packer init in GitHub Actions

Closing this in favor of #54

Note: Packer init does not work with legacy JSON templates. You can upgrade your JSON config files to HCL using the hcl2_upgrade command.


Idea: Add antidote search command that lets users discover awesome plugins

Possible v2.0 roadmap feature: Add an antidote search command. This command, similar to brew search, could allow antidote to facilitate discoverability of awesome Zsh plugins!
One very simple implementation of this would be to use unixorn/awesome-zsh-plugins as the data source, and fzf as the interface to find plugins. We could simply antidote bundle unixorn/awesome-zsh-plugins kind:clone like any other bundle to ensure it exists. This has all the benefits of regular bundles, including staying up-to-date with antidote update commands. If parsing the Readme in Zsh proves difficult, we could always index it with a simple Python script to feed fzf.
It looks like the author of zinit might have even tried something like this before 4 years ago??? This proposal wouldn't require any commits to unixorn/awesome-zsh-plugins to work - it would just use its readme as-is. It would also not rely on zsh-plugin-assessor, whatever that is.
Possible downsides:

Potential for increased (unwanted?) traffic for @unixorn
Issues with antidote search related to upstream awesome-zsh-plugins might reflect poorly on antidote or cause user confusion. For example, Awesome-Zsh-Plugins:

has a lot of non-working or non-maintained plugins
could change the format of the readme in a way that breaks antidote's search
might not want plugin managers (like antidote) using their IP this way

Possible mitigations:

A more robust index could be used that filtered out non-working or non-maintained plugins (this sounds easy to just look for recent commits, but I'm not inclined to make a massive curation project like homebrew requires, so it would have to be fast and fully-automated or it's a non-starter)
Issue template that directs issues to AZP for broken plugins. Again, gotta make sure we don't just dump problems on Joe.

Still, this seems like an idea worth exploring for the future 2.0 release of antidote. @unixorn - you are welcome to weigh-in here if you have an opinions on this feature.

I still like this idea, but am less convinced it's appropriate inside antidote. I don't want to have to cut an antidote release every time something goes awry upstream where I have no control. It's probably better as a separate dedicated project.


⬆(dependencies) upgrade to pydantic v2

Purpose
Pydantic v2 has been released and Marion needs an upgrade.
The reason of this PR is to stay up to date with the latest release of Pydantic v2, which is more efficient in comparison to previous versions. The reason why we upgrade to V2 is to have improved performances and enhanced usability.
At first, I've used the bump-pydantic beta tool to help migrate from V1 to V2. It did some work, but it did not complete all the necessary changes that seems to be required, since some tests are failing...
A good part of source code has been updated according to the Migration guide of Pydantic v2.
Proposal

[x] update code source with the tool bump-pydantic
[x] update code source when the bump-pydantic can not find a solution
[x] update tests that are remaining as 'failed'
[x] update methods that are deprecated soon from v1 to v2.

Context
I have some questions about the following class : class Organization(BaseModel) located at howard/howard/issuers/realisation.py
Let me summarize what happened :
I've upgraded from pydantic v1 to v2, and I had one particular test (def test_realisation_certificate_fetch_context) that didn't suceed until I've updated the class Organization(BaseModel) the following way :
From this state (test fails) :
class Organization(BaseModel):
    """Organization model definition."""

    name: str
    manager: Manager = None
    location: str = None

To this state (test suceeds) :
class Organization(BaseModel):
    """Organization model definition."""

    name: str
    manager: Manager
    location: str

Here is the error with the None values :
E   pydantic_core._pydantic_core.ValidationError: 2 validation errors for Organization
E   manager
E     Input should be a valid dictionary or instance of Manager [type=model_type, input_value=None, input_type=NoneType]
E       For further information visit https://errors.pydantic.dev/2.1/v/model_type
E   location
E     Input should be a valid string [type=string_type, input_value=None, input_type=NoneType]
E       For further information visit https://errors.pydantic.dev/2.1/v/string_type
../howard/howard/tests/issuers/test_realisation.py:57: ValidationError

Questions
Why do we declare that the attributes manager or location can be set to None ? Is it really useful ? If so, I would like to know why please.
I have checked into the HTML template (howard/templates/howard/realisation.html) : it seems that we are accessing to the value directly without any control if it exists or not.
While looking at the test, it did not prepare data for mocking with a Manager or a location, and it raises a Validation Error with the None values set in the class Organization(BaseModel). I wonder why None is useful here if we always have a value.
Looking forward to your answer.

@jonathanreveille Don't forget to update the CHANGELOG with a bullet point concerning the Pydantic upgrade


[bug]:  error while running flutterfire configure

Is there an existing issue for this?

[X] I have searched the existing issues.

CLI Version
0.2.6.+1
Firebase Tools version
11.15.0
Flutter Doctor Output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.5, on macOS 13.0 22A380 darwin-x64, locale sv-SE)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.72.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!
Description
The CLI throws the following error if I run the following command flutterfire configure.
i Found 1 Firebase projects.
✔ Select a Firebase project to configure your Flutter application with · ***** (*****)
✔ Which platforms should your configuration support (use arrow keys & space to select)? · android, ios
i Firebase android app ***** registered.
i Firebase ios app ***** registered.
Unhandled exception:
Exception: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- xcodeproj (LoadError)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from -e:1:in `<main>'

#0      ConfigCommand.run (package:flutterfire_cli/src/commands/config.dart:517:11)
<asynchronous suspension>
#1      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#2      main (file:///Users/*****/.pub-cache/hosted/pub.dartlang.org/flutterfire_cli-0.2.6+1/bin/flutterfire.dart:57:5)
<asynchronous suspension>

Steps to reproduce

Run command flutterfire configure
You will see the error mentioned above.

Expected behavior
When running the CLI everything should be configured correctly
Screenshots
No response
Additional context and comments
No response

Run following command solve issue on my machine "Mac M1"
sudo gem install cocoapods && pod install

I found similar behavior from source stackoverflow

So it turns out it wasn't this CLI it is cocoapods. So I reinstalled the xcodeproj by running gem install xcodeproj which worked.

For anyone that can't use sudo gem install xcodeproj for some reason, you are likely using the macOS's ruby. Install ruby with homebrew and then do gem install xcodeproj as an alternative.
See this: https://mac.install.guide/faq/do-not-use-mac-system-ruby/index.html

This works for me !!! Thanks....

may relate with this issue https://github.com/invertase/flutterfire_cli/issues/30

Pour tous ceux qui ne peuvent pas l'utiliser sudo gem install xcodeproj pour une raison quelconque, vous utilisez probablement le rubis de macOS. Installez Ruby avec homebrew, puis faites-le gem install xcodeproj comme alternative.
Voir ceci : https://mac.install.guide/faq/do-not-use-mac-system-ruby/index.html

Pour tous ceux qui ne peuvent pas l'utiliser sudo gem install xcodeproj pour une raison quelconque, vous utilisez probablement le rubis de macOS. Installez Ruby avec homebrew, puis faites-le gem install xcodeproj comme alternative.
Voir ceci : https://mac.install.guide/faq/do-not-use-mac-system-ruby/index.html

Ceci m'a aidé. Merci!

So it turns out it wasn't this CLI it is cocoapods. So I reinstalled the xcodeproj by running gem install xcodeproj which worked.

MABOY! Thanks, solved in M3 Pro.

For anyone that can't use sudo gem install xcodeproj for some reason, you are likely using the macOS's ruby. Install ruby with homebrew and then do gem install xcodeproj as an alternative.
See this: https://mac.install.guide/faq/do-not-use-mac-system-ruby/index.html

Thank you so much sir...This saved me so much time

Thanks solved also my problem!

So it turns out it wasn't this CLI it is cocoapods. So I reinstalled the xcodeproj by running gem install xcodeproj which worked.

Solved for me, many tks.

Thanks, works for me, too (M1 Pro)


WIP: Positive/negative highest ranking terms

Regarding get_topics() I'm not sure about that one. I only included that method so that the uninitiated, who come over from e.g. Gensim, and do not know how topic models work in sklearn can get a nice JSON serializable Python object. So it's basically an interface for people coming from the more software-development side of things who don't like NumPy and Pandas magic.
On the other hand I don't personally like it, and I'm not sure it is worth the hustle to implement negative terms in it. What do you think @rbroc ?

Regarding the other point: Yes, totally! I just haven't implemented it yet. But if you look at the issue's description I already outlined that I wanna do it :D

Regarding get_topics() I'm not sure about that one. I only included that method so that the uninitiated, who come over from e.g. Gensim, and do not know how topic models work in sklearn can get a nice JSON serializable Python object. So it's basically an interface for people coming from the more software-development side of things who don't like NumPy and Pandas magic.
On the other hand I don't personally like it, and I'm not sure it is worth the hustle to implement negative terms in it. What do you think @rbroc ?

Fine by me to leave as is for now - I like how “semantically” transparent get_topics is but this is something we can re-evaluate later. :)


Add the option to generate the CoreUI template as a set of basic Razor views for ASP.NET Core MVC

As commented on issue #367, this PR adds the option to build the CoreUI template as a set of basic Razor views for ASP.NET Core MVC, while keeping the files from node_modules under "lib" with the same folder structure as node_modules.
This feature is executed with the new script "build-aspnetcore" in packages.json.
Running the build-aspnetcore script creates two sets on files in the dist folder:

A set of html files, similar to the ones created by the build script, but referencing the vendor files from the lib folder and the images from the images folder, following the ASP.NET MVC conventions.
This set of files should just work, to verify the conversion worked properly.
A set of Razor views (.cshtml) similar to the html files, with a few tweaks:

Begins with the line @{ Layout = ""; } to bypass the standard layout
Adds ~/ to all references to static files
Replaces @ for @@ under certain conditions (check aspnetcore-lib.js)
Replaces all links href="{page}.html" for asp-route="CoreUI" asp-route-view="{page}" so they work with the following controller:

[Route("CoreUI")]
public class CoreUIController : Controller
{
    [Route("{view=Index}")]
    public IActionResult Index(string view)
    {
        return View(view);
    }
}

Only three files where modified:

.eslintignore: added /build and /test because js coding standards are not enforced in these folders (weren't even for the existing code)
.gitignore: The PR includes unit and integration tests that required some input files if the file system, so:

All files in test-fs/source have to go into source control (all of node_modules files are fakes, most one-liners)
All files in test-fs/dest have to be ignored

package.json

build-aspnetcore script: Builds the set of Razor views
test script: Runs all tests
Added mocha and should as dev dependencies
Set minimum node version to latest LTS: 8.11.1

These are the new files:

build/aspnetcore-deploy.js: The main "user interface" function, that calls relevant functions in
build/aspnetcore-lib.js: Contains all the functions that do the relevant work
test/build/aspnetcore-lib.test.js: All tests for the functions above
test/build/aspnetcore-lib.testdata.js: Test data for unit tests
test-fs/source/**/*: Test data for integration tests with the file system
test-fs/dest/**/*: Integration tests results (expendable)

can we get this updated with current core ui please, async partials/actions, and user/role identity views too

Heya, any updates?

Is there any documentation ?
How can we use build-aspnetcore script ?


Problem running under Ubuntu 20 LTS

I have a microk8s installation:
$ uname -a
Linux 5.8.0-53-generic #60~20.04.1-Ubuntu SMP Thu May 6 09:52:46 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

I used the branch i4trust from the repo FIWARE/helm-charts and installed as:
helm install -f ... helm-charts/charts/api-umbrella/ --version 0.0.4

The installation completes successfully. However, the api-umbrella constantly issues these errors:
[trafficserver] Fatal: [LocalManager::LocalManager] please set bin path 'proxy.config.bin_path'

As a consequence, the UI returns error 502 bad gateway with "openresty" as the source. It looks like the file bin/api-umbrella-env  does not get executed.

One note: This does not appear when running under Ubuntu 18.04, so might be something kernel related.

Fixed with release https://github.com/FIWARE/api-umbrella/releases/tag/0.15.5


Expose environment variable for currently running scenario.

In some circumstances, you may want to know the scenario currently being ran (i.e. one example is generating test results files for each scenario).  This exposes the current scenario name as EMBER_TRY_CURRENT_SCENARIO just before running the command and resets it just before cleaning up.
My personal use case for this is to generate a testem report file for each scenario, and to do that I need to be able to detect the scenario in my projects Testem config...
See https://github.com/rwjblue/ember-collection/commit/58c88088ed8abf511f88208932c965f553c0f9c0 for an example of how I tried to work around this (and failed)...

This seems reasonable but I want to note that this is a little different than your workaround. Your workaround has an environment variable per config file, not per scenario. I think your workaround is overwriting SCENARIO/test-results.xml for any config file that has more than 1 scenario.

Yes, you are 100% correct, and when I realized this I came to make this PR :smiley_cat:

Does this warrant an example in the README of how to use the env var with Testem config?

Yeah, good point.  I'll try to add in a section for this (not sure the full detail on testem.js and all is needed, but an explanation of "how to detect what scenario is being run" makes sense).

Add a small blurb in the README, mind reviewing?

Thanks for adding that!


Track support in Google Chrome

I'm running the beta html5test with Google Chrome 16.0.912.75 and in the html5 subtitle support said that my browser don't support the subtitles. I have the track html5 option activated in the about:flags chrome's page, and in many pages the subtitles work for me.
An example of a page, that uses html5 subtitles:
http://www.storiesinflight.com/js_videosub/#example
PS: Sorry about my poor english, but I'm from Spain.

The text seems to be correct. I just tested this on Chrome 19.0.1038.0 canary and the test pass.
Note: You need to enabled the track element in chrome://flags/
I can't really comment in firefox I didn't test it.


Update 04-01-identity-and-personhood.md

Given that Adhaar is highlighted more prominently in the latest version of the text and MOSIP is given a whole paragraph.
It felt like the adoption of the three party model ( holder, issuer, verifier) that is being deployed in the real world by the EU, USCIS and Bhutan (with others in the pipeline that are not public) was important to give space to.
I also removed the paragraph about covid creds in Europe - the work to build out eIDAS2.0 supersedes that.

I support these changes but your version has conflicts.  Please address and resubmit.


Building FFmpeg on WSL

For those of you interested and on the Windows 10 insiders, I've written a new blog post on using the Windows Subsystem for Linux to build FFmpeg.
https://blogs.msdn.microsoft.com/gillesk/2016/12/02/building-ffmpeg-using-wsl/

Hey Gilles,
Thanks again for your work on FFmpegInterop!
I tried to build via WSL today but failed.
First off the wsget command parameter is --no-check-certificate (one more dash) so I guess it is a typo in your blog or some sort of wrong auto-correction... furthermore the command did only work without the parameter. Could be just my case though.
Now the problem:
git am ../0001-Updating-scripts-to-run-under-WSL.patch failed.
Anyone else had the same problem?

Hi @helmut-steiner
Thanks for noticing the issue. There's some wierd correction going on, where the two hyphens are either merged or removed. I've updated the post to fix this. This should also fix the patch not being able to be applied, because the clonning of the repo dropped the double hyphen from --recursive preventing the ffmpeg submodule from being cloned properly. The right command should have been
git clone https://github.com/Microsoft/FFmpegInterop -b gillesk/wsl --recursive
Please try it again and see if it works.

Hi @khouzam,
I followed your steps but it failed to build. The console output is:
Verifying ffmpeg directory...
Building FFmpeg for Windows 10 apps x64...

Make Win10
Make Win10 x64
/mnt/d/Dev/FFmpegInterop/ffmpeg /mnt/d/Dev/FFmpegInterop
cl.exe is unable to create an executable file.
C compiler test failed.

The last lines of the log file are:
WARNING: pkg-config not found, library detection may fail.
mktemp -u XXXXXX
BTBwg5
WARNING: Unknown C compiler cl.exe, unable to select optimal CFLAGS
check_ld cc
check_cc
BEGIN ./ffconf.Ays7ltGk.c
    1	int main(void){ return 0; }
END ./ffconf.Ays7ltGk.c
cl.exe -MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00 -c -o ./ffconf.uLz889bn.o ./ffconf.Ays7ltGk.c
../../../configure: 875: ../../../configure: cl.exe: not found
C compiler test failed.

Not sure what's the issue, it's the first time I try to build FFmpeg. I'm using VS 2015 Update 3 with Win 10 SDK installed and CL.exe version is 19.00.24215.1. I've got the same issue with the regular Command Prompt and VS 2015 Developer Command Prompt with x86 or x64 options.
Thanks!

Just hit the same 'cl is unable to create an executable file' error.

After reading up on https://github.com/Microsoft/FFmpegInterop/issues/60, I tried which cl along with some others and realized that cl wasn't in my path. After adding to my path with ``, I tried to run cl and that gave me, The program 'cl' is currently not installed. You can install it by typing: sudo apt-get install cl-launch. After that I tried the same script snippet from FFmpegConfig.sh that I'd tried previously and it ran though there was no output so now I'm not sure what's going on. My CPU usage isn't maxed out as I'd expect (as it is when I build directly in WSL using my own scripts to generate a WSL binary). I even added make -j12 (I have a 6-core HT CPU) like my script has.
When I hit Ctrl-C, I get the following:
^CHelp! 11 nested errors. SB-KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded.
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1002A8C263}>
Help! 11 nested errors. SB-KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded.
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1002A8C263}>

Now I've gone through the steps at https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT to do an x64 build for Win10 using msys2. which cl reports /c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/x86_amd64/cl, but when I try to run configure, I get the cl is unable to create an executable file error. I mention it here because it seems likely enough to not be a coincidence.

Hi @shymorrisson
Which build of Windows are you running on? Can you share your complete config.log?
@rainabba
Looking online cl-launch is intended for lisp and doesn't have anything to do with cl, the Microsoft compiler. Can you also share the same information as shymorrisson?
Thanks, we'll figure this out.

Hi @khouzam,
I'm running Windows 10 Home, Build 14393. Here's the complete log file: config.log.txt
Thanks!

@shymorrisson
The WSL interop is not available on build 14393. You will need to be on an insider build of at least 14971, otherwise, CL cannot be invoked from the Windows subsystem for Linux. You can join the insider program at http://insider.windows.com or wait until the Windows 10 Creator Update is released.

Hi @khouzam,
I've updated Windows 10 to build 15019. CL is found, but it failed to build later. When I look the log file, it seems that some header files are missing. Here's the log file and console output:

config.log.txt
consoleOutput.txt

Thanks!

Hi @shymorrisson,
Can you try to do a sudo apt-get install realpath in bash to add the realpath program which is required from my patch?
This might be the missing piece.

Hi @khouzam,
I added realpath and pkg-config packages. The later was also missing. I still get the following output errors:

../../../configure: 6203: [: =: unexpected operator
cl : Command line warning D9002 : ignoring unknown option '/libavdevice/alldevices.c'
cl : Command line error D8003 : missing source filename

Here's the full console output and log file:
consoleOuput.txt
config.log.txt
Regards!

@shymorrisson
There's something weird, realpath doesn't seem to be the same version that is expected:
realpath: unrecognized option '--relative-to=.' Usage:  realpath [-s|--strip] [-z|--zero] filename ...  realpath -h|--help  realpath -v|--version
Can you run realpath -h and realpath -v
Thanks

@shymorrisson,
Ok, I've found the discrepancy. It seems that realpath has been updated on Ubuntu 16.04 which is the default install the insider builds, while the installs from Anniversary edition are 14.04. The instructions that I wrote were taking into account the new version of realpath. It doesn't look like 14.04 realpath supports calculating relative paths. If you're willing, you can try to update your distribution of Linux by running do-release-upgrade from your bash prompt.

@rainabba
Don't worry, I can clearly understand the reluctance to move to an insider build on your main development machine. Please continue to provide feedback and raise issues.

@khouzam,
I'm able to build FFmpeg after I've updated Unbutu to 16.04. 👍
Thanks a lot!

@shymorrisson
Thanks for confirming. I've updated the blog post with the new requirements.
I'm glad that we were able to get to the bottom of this.

Helo, i'm also trying to install but getting the same error.
The provided work arounds are not making any effect:
`'"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools....\VC\vcvarsall.bat"' is not recognized as an internal or external command, as an operable program or as a batch file.
Make Win10
Make Win10 x64
/mnt/c/dev/FFmpegInterop/ffmpeg /mnt/c/dev/FFmpegInterop
cl.exe is unable to create an executable file.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
<EMAIL_ADDRESS>mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.
make: *** No rule to make target 'install'.  Stop.
/mnt/c/dev/FFmpegInterop`
I dont know where to find this config.log
can you help?

Hi @zerinoid,
Can you specify your environment? Are you building using Visual Studio 2015 or 2017? Other details might be helpful.
Thanks.

Visual studio 2015, (as I followed your tutorial).
win10 x64
1760
Build 16299.431

Hi. I faced the same issue and figured out a smaller patch.
Note, it's valid for the current master version of ffmpeg, so it may need to be input manually.
diff --git a/configure b/configure
index 169f23e17f..19d8d192f1 100755
--- a/configure
+++ b/configure
@@ -4698,7 +4698,11 @@ probe_cc(){
         else
             _ident=$($_cc --version 2>/dev/null | head -n1 | tr -d '\r')
         fi
-        _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        if [ -f /bin/wslpath ]; then
+            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) b=substr($0,3); $$0=gensub(/(\w):(.*)/,"/mnt/\\1" b,1,tolower($0)); print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        else
+            _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)'
+        fi
         _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs'
         _cflags_speed="-O2"
         _cflags_size="-O1"
@@ -5570,11 +5574,15 @@ link_name=$(mktemp -u $TMPDIR/name_XXXXXXXX)
 mkdir "$link_dest"
 $ln_s "$link_dest" "$link_name"
 touch "$link_dest/test_file"
-if [ "$source_path" != "." ] && [ "$source_path" != "src" ] && ([ ! -d src ] || [ -L src ]) && [ -e "$link_name/test_file" ]; then
+if [ "$source_path" != "." ] && [ "$source_path" != "src" ] && ([ ! -d src ] || [ -L src ]) && [ -e "$link_name/test_file" ] && [ ! -e /bin/wslpath ]; then
     # create link to source path
     [ -e src ] && rm src
     $ln_s "$source_path" src
     source_link=src
+elif [ -e /bin/wslpath ]; then
+    # cl.exe does not support slash-lead paths (i.e. /mnt/c/source/code.c). Use relative path instead.
+    source_path=$(realpath --relative-to=$(pwd) "$source_path")
+    source_link=$source_path
 else
     # creating directory links doesn't work
     # fall back to using the full source path

@JunielKatarn Did you try to submit this to FFmpeg?

@JunielKatarn Did you try to submit this to FFmpeg?

I just did yesterday. They haven't replied.


Integration in stable diffusion

I dont want to use the "replicate" network.
So i tried to integrate "scribble diffusion" in the interface of automatic1111.
Now i have "scribble diffusion" listed as an extension, but i dont see any extra menu or extra feature.
This is very new for me, so a couple of question:

Does it make sense to try to integrate scribble diffusion is automatic1111 ?
Should it work right now?
Is there a way to use scribble diffusion without using the replicate network ?

Thank you for your time.

(doesn't make sense: better to use controlnet in sd)


content: add talks

fix #101
@vfdev-5

I embed the youtube video directly using hugo built-in shortcode, youtube. You can revert https://github.com/pytorch-ignite/pytorch-ignite.ai/pull/114/commits/061f1ebd0622c87d4cbc18c7974e82b20785f742 if you find youtube videos take much spaces.

@ydcjeff yes, looks good. Do you think we can make them a bit smaller ?

Hugo built-in shortcode doesn't provide options for re-sizing.


provide a interface to custom map initialization

As https://github.com/okfn/timemapper/issues/156 mentioned, we may need to set zoom level, overlaps, control, etc.
To accomplish this, we could add a custom callback that user registered, this callback will be called and hook the map object when map is initialized.

WONTFIX.
Reason: age of issue and spring cleaning (not anything about the idea!)


When the etcd server shuts down, the keepalive process crash

code is :
void CfgEtcd::KeepAlive()
{
    // key: /services/cserver/gouhuo:<IP_ADDRESS>:cserver2
    auto key = fmt::format("/services/{}{}:{}:{}", server_type_name, m_cfg_root, Get("", CFG_ITEM_listenHost, "<IP_ADDRESS>"), m_serverid);
    // value: <IP_ADDRESS>:11220
    auto value = fmt::format("{}:{}", Get("", CFG_ITEM_listenHost, "<IP_ADDRESS>"), Get("", CFG_ITEM_listenPort, "10000"));
    etcd::Response resp = m_etcd_cli->leasegrant(1).get();
    auto lease_id = resp.value().lease();
    m_etcd_cli->set(key, value, lease_id);
    m_keepalive = std::make_shared<etcd::KeepAlive>(
        *m_etcd_cli, [](std::exception_ptr eptr)
        {
            try
            {
                if (eptr)
                {
                    std::rethrow_exception(eptr);
                }
            }
            catch (const std::runtime_error &e)
            {
                ERROR("[etcd] Connection failure: {}", e.what());
            }
            catch (const std::out_of_range &e)
            {
                ERROR("[etcd] Lease expiry : {}", e.what());
            }
        },
        1, lease_id);
}

when I close etcd server .  the process crash .
this is log:
[etcd] Connection failure: Failed to refresh lease: error code: 10, message: Failed to create a lease keep-alive connection
terminate called after throwing an instance of 'std::system_error'
  what():  Resource deadlock avoided

Hi @fananchong,
The bug has been fixed on master. Please try with the latest version, and thanks for reporting to us.


Update index.yml

首页的视图文件中，"Features" 对应的节点是 index.features.title
但是在英文的语言文件里，对应的节点却是 index.features.index

Codecov Report

Merging #43 into dev will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev      #43   +/-   ##
=========================================
  Coverage     97.19%   97.19%
  Complexity      845      845
=========================================
  Files           129      129
  Lines          3779     3779
  Branches        185      149   -36
=========================================
  Hits           3673     3673
  Misses          106      106

Flag
Coverage Δ
Complexity Δ

#js
100% <ø> (ø)
0 <ø> (ø)
:arrow_down:

#php
96.14% <ø> (ø)
845 <ø> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Chatterbot slows down on large databases

So my plan was, to make a irc bot that would learn from logs and then be in the channel.
I fed it about 25k lines of logs from a large log file, and then I decided to test it out.
I asked it something, then waited for it to respond, it was taking about 40% CPU usage, and I waited an hour for it to respond. Nothing.
Also I am on PyPy so the default json library is already very fast

This is a known issue. I'm working on writing database adapters for mongodb and sqllite. The mongodb adapter should be available in the next release of ChatterBot.

Greetings! Just to provide an update, https://github.com/gunthercox/ChatterBot/pull/51 adds support for connecting ChatterBot to MongoDB which should yield significant performance improvements on large databases.

Okay I'll give it a try, thanks!


No option to remove near expiry profiles

Describe the Bug
Unable to remove near expiry profiles due to the option not being available
Expected Behavior
Request to remove should appear on a profile no matter how long it's registered
Screenshots

Device and Browser Information
Brave, Chrome, Edge, Firefox

This is the expected behavior. It's not allowed to request a removal while profiles are in the renewal period.


feat: add nameMC button

Description
Adds https://canary.discord.com/channels/738971489411399761/738990231348314123/1067862577125785753
Examples

No need to add as NameMC does not provide any valuable information as a resource to SkyCrypt.


aubio: 0.4.6 -> 0.4.7

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/aubio/versions.
meta.description for aubio is: '"Library for audio labelling"'.

Checks done (click to expand)

built on NixOS
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubiomfcc passed the binary check.
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubionotes passed the binary check.
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubioonset passed the binary check.
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubiopitch passed the binary check.
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubioquiet passed the binary check.
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubiotrack passed the binary check.
6 of 6 passed binary check by having a zero exit code.
0 of 6 passed binary check by having the new version present in output.
found 0.4.7 with grep in /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7
directory tree listing: https://gist.github.com/4f0ca9e9ff756ef115f4568ee5b11738
du listing: https://gist.github.com/5b7b459fed9e454278db708fb77ba2c6

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/3768c3a62d4f7468c20302ecc28b5281b3e990b2.tar.gz -p aubio
ls -la /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7

cc @cillianderoiste @marcweber @fpletz for testing.

Success on aarch64-linux (full log)
Attempted: aubio
Partial log (click to expand)
shrinking /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/bin/aubiopitch
shrinking /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/bin/aubioonset
shrinking /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/bin/aubionotes
shrinking /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/bin/aubiomfcc
shrinking /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/lib/libaubio.so.5.3.7
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/lib  /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7/bin
patching script interpreter paths in /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7
checking for references to /build in /nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7...
/nix/store/amx8lkr11vwfc0fn8vr8rwgjjn50mjwb-aubio-0.4.7

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: aubio
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: aubio
Partial log (click to expand)
shrinking /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubioquiet
shrinking /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubiopitch
shrinking /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubiomfcc
shrinking /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubionotes
shrinking /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin/aubioonset
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/lib  /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7/bin
patching script interpreter paths in /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7
checking for references to /build in /nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7...
/nix/store/acy1g3kig2dqan70y5jnmqm6mlca8jry-aubio-0.4.7


Added lazy-loading for Images on speakers page

Issue #1105 Loading Time Improvement

Lazy loading Images in DOM result in significant Improvements of Web app
On speaker page, the number of requests for Images reduces to 22 from 204.
Only those images are requested which are in the viewport.
Previous => loading Requests on first load

After = >loading Requests on first load

Will be doing the same for other pages.
@mariobehling Please merge this.

Codecov Report

Merging #1132 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           development   #1132   +/-   ##
===========================================
  Coverage         62.6%   62.6%
===========================================
  Files                8       8
  Lines             1353    1353
  Branches           210     210
===========================================
  Hits               847     847
  Misses             506     506

Continue to review full report at Codecov.

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

This is great. Would make page loading so much faster now. Thanks @aayusharora

This is an issue: Before I was able to download the whole page at once and then walk around at locations in a conference where there is no Internet. Now I need to be online to see the whole page. Let's discuss this in more detail, please. We need to optimize the images, but in regards to lazy loading it does not help to achieve the goal of making this app work when people lost Internet connection (which is very common at  large events both for 4G and Wifi). Also see my comment here: https://github.com/fossasia/open-event-webapp/issues/1105#issuecomment-286018073
Sorry, I have to reverse that for now unfortunately.


Open search panel programmatically

When you do cmd+f in the Monaco Editor, you get the find/search box appear.
Is there a way to have this open when the editor loads, with pre-populated text?
monaco-editor version: 0.9.0
Browser: chrome
OS: macOS
Steps or JS usage snippet reproducing the issue:

You can run editor.getAction('actions.find').run().

Is it at all possible to prepopulate the search box with arbitrary strings, like @owennicol asks? The only thing I've managed to do so far with the function you mentioned, @rebornix, is to search for the text that is currently selected.

@owennicol I already added an answer to your question on SO:
https://stackoverflow.com/a/51291297/596082

how to close the search panel programmatically?

@ijse I found the event ID is closeFindWidget in this useful snippets. https://github.com/Microsoft/monaco-editor/issues/823#issuecomment-470754000


Question

I have been looking into your script to find how the process to find a place to inject the payload code is processed  , but i have my head in water and i could not understand it very well .
One of the errors that users are having is that the default points used in apks to inject the payload are not found , by this i believe that somehow is a new apk security implementation .
In other scripts i used , you have the possibility to select a hook point from a list , but in the end you get an error because somehow the program was not able to find inside that hook a location to place the payload .
My question is simple , how does your tool search for hook points ?
Based on word lists that you have in your "lists" folder ?
I got your script running here but i always get stuck into that part where no hook was found .
What if word lists were updated ?
just an idea to know if we can bypass this part .

@peterpt The algorithm is fairly simple:

Find the 'android.intent.category.LAUNCHER' line in the AndroidManifest.xml file
Determine if the "LAUNCHER" line is contained in an "activity" or "activity-alias" element
Normalize the path to the smali file to hook
Search the smali directories for the path to the smali file (e.g. it could be in 'smali' or 'smali_classes2' etc.)
Inject code into the smali file to hook when found

There are few reasons why folks might be getting this error:

There could be edge cases not covered by the algorithm
The APK files could be non-standard
The tool may not be used properly

It's hard to say without having samples of the APK files that aren't working. I always ask for the APK file used but the folks reporting issues recently haven't attached any APK files.

Do you want to collaborate and try to fix the error in one version of fatrat i have build to use your tool ?
I can create a private git for us to work with it and then you can check it out by using your tool in  fatrat why apk brings up error in apks .
I had to change many stuff in your code to be able to work with this fatrat version , specially the paths where files are decompiled , variables etc ...
a lot of changes .
If i send you only the script i changed , you will not be able to run it because it will depend from variables that fatrat will write on a file that your tool will read to build the payload .
It is a very confusing script , but i let there notes for guidance .
Let me know if you have some little time to work with me on it and i upload the code of that version .
Also fatrat 1.9 will have mother other things implemented that i did not wrote yet , but that part i can do it myself .
I only need you to concentrate on your script in there .
Let me know anything .


Investigate API documentation tools

There are a number of tools available for documenting HTTP-based APIs. We should consider using one.
Known Tools:

Swagger UI
OpenAPI
ReDoc
Document360

Are there others?

The OpenAPI Spec, is formerly known as the Swagger Spec.

https://github.com/Redocly/create-openapi-repo

https://www.openapis.org/

Do you know Apidog? I think it's worth your understanding because I'm currently using it.


Issues with usage of @vue-email/nuxt along with @nuxtjs/i18n

Hello everyone 👋
First of all thank you for all of your hard work on the module. I think the idea behind it is absolutely amazing!
Inside my project, I am using the official NuxtJS Module for i18n (https://i18n.nuxtjs.org/). As our translations have gotten pretty long, we have decided to move our translations into separate JSON files to better handle the different locales. (~/locales/en.json etc.).
For the integration of the Nuxt i18n, we can then pass an array of locales, along with the location of the JSON.
{
  i18n: {
    langDir: 'locales',
    locales: [{ name: 'English', code: 'en', file: 'en.json' }],
    defaultLocale: 'en',
  },
}

These are then used by the module (which under the hood runs vue-i18n). The issue I am facing now is how to also pass these JSON to the Nuxt Vue-Email module. Based on the documentation, it seems like these currently need to be set via the nuxt.config.ts. Do you have any recommendations on how we can best handle our use case?
What I have tried

Directly importing the JSON into the Nuxt Config (sadly does not work, as it fails due to maximum stack size being exceeded).
Linking our external i18n.config.ts which is used to configure the vuei18n options. In theory we can also set the messages here, so this could resolve the issue, however I can see no way to refer to an external i18n config inside this module

We would love to be able to adopt this into our projects, but sadly this is currently blocking us! Would love to hear your input and tips 🥰
Reproduction
I have created a minimal reproduction of our project setup, so you get a better idea, of what we currently have setup. Maybe this can help you give us some pointers 🙏
https://stackblitz.com/edit/github-cgzqmr?file=nuxt.config.ts
Context
NuxtI18n injects a vue-i18n instance into your Node application. This cannot be accessed on the server side. They do however offer solutions to use the translations server-side, so this may be worth looking into, if it can resolve this issue? https://i18n.nuxtjs.org/docs/guide/server-side-translations

Hi there, thanks for the detailed issue, yeah indeed its a good idea to have it working with i18n nuxt module, i'll be looking into it

oh yeah tottally, especially when there's no good docs about it, but we managed to do something, ofc it still not perfect, but yeah, we are not done yet, love the work on the nuxt-pdf library, great stuff!
will keep you posted, if i come up with anything

It would be great if we could simply link to i18n.config.ts the same way Nuxt i18n does:
...
  vueEmail: {
    baseUrl: getUrl(),
    autoImport: true,
    vueI18n: './i18n.config.ts',
  },
  i18n: {
    vueI18n: './i18n.config.ts',
  }
...

So we dont define translations (messages) in two places. Also within vueI18n we can have nested objects which we cant have in vue-email atm:
messages: {
   de: {
          invite: {
             greeting: '...',
          },
          accountCreated: {
             text: '...',
          },
          passwordReset: {
             cta: '...',
          },
   },
}

we just merged a new project rewrite, please do check the docs and the updated logic https://vuemail.net/


Make trailing slash optional

A minor annoyance, sometimes links are broken when they have a trailing slash, e.g. ../project/123/ instead of ../project/123
It would also be nice if after an edit the user is redirected to a regular (shareable) project link.
And even nicer if the project line was human-readable (had a minified title of the project) as well as the ID (see how Discourse does this).

The following code in app.py should do the trick:
    # Ignore trailing slashes
    app.url_map.strict_slashes = False

    @app.before_request
    def clear_trailing():
        from flask import redirect, request
        rp = request.path
        if rp != '/' and rp.endswith('/'):
            return redirect(rp[:-1])

However, we need to change all routes to consistently not have a trailing slash defined!