InertiaJs sometimes test fails

Hi,
When I run the InertiaJs tests, sometimes test fails. I don't update my code, juste run again. The others test (no Inertia test) run without problem.
<?php

namespace Tests\Feature\Dashboard\View;

use App\Models\Company;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Inertia\Testing\Assert;
use Tests\TestCase;

class CompanyTest extends TestCase
{
    use RefreshDatabase;

    public function setUp(): void
    {
        parent::setUp();

        $this->company1 = Company::factory()->create([
            'name' => 'Red'
        ]);
        $this->company2 = Company::factory()->create([
            'name' => 'Honey'
        ]);

        $this->user = User::factory()->create([
            'company_id' => $this->company2->id
        ]);
    }

    /**
     *
     */
    public function test_can_view_companies()
    {
        $this->actingAs($this->user)
            ->get('/dashboard/entreprises')
            ->assertInertia(fn (Assert $page) => $page
                ->component('Companies/CompaniesIndex')
                ->has('companies.data', 2)
                ->has('companies.data.0', fn (Assert $page) => $page
                    ->where('id', $this->company2->id)
                    ->where('name', 'Honey')
                    ->where('address', $this->company2->address)
                    ->where('city', $this->company2->city)
                    ->where('postal_code', $this->company2->postal_code)
                    ->where('country', $this->company2->country)
                    ->where('phone_number', $this->company2->phone_number)
                    ->where('email', $this->company2->email)
                    ->where('is_active', $this->company2->is_active)
                    ->where('users_count', 1)
                    ->etc()
                    ->has('users', 1)
                )
            );
    }
}

The test fails without information :
 • Tests\Feature\Dashboard\View\CompanyTest > can view companies
  Not a valid Inertia response.

  at vendor/inertiajs/inertia-laravel/src/Testing/Assert.php:80
     76▕             PHPUnit::assertArrayHasKey('props', $page);
     77▕             PHPUnit::assertArrayHasKey('url', $page);
     78▕             PHPUnit::assertArrayHasKey('version', $page);
     79▕         } catch (AssertionFailedError $e) {
  ➜  80▕             PHPUnit::fail('Not a valid Inertia response.');
     81▕         }
     82▕
     83▕         return new self($page['component'], $page['props'], $page['url'], $page['version']);
     84▕     }

      +2 vendor frames
  3   tests/Feature/Dashboard/View/CompanyTest.php:59
      Illuminate\Testing\TestResponse::__call("assertInertia")

I tried many things :
PhpUnit cache
added cacheResult="false"
Added cache:clear and config:clear in CreateApplication.php
<?php

namespace Tests;

use Illuminate\Contracts\Console\Kernel;
use Illuminate\Support\Facades\Artisan;

trait CreatesApplication
{
    /**
     * Prepare the test
     */
    public function setUp() : void
    {
        parent::setUp();

        $this->prepareForTests();
    }

    /**
     * Creates the application.
     *
     * @return \Illuminate\Foundation\Application
     */
    public function createApplication()
    {
        $app = require __DIR__.'/../bootstrap/app.php';

        $app->loadEnvironmentFrom('.env.testing');

        $app->make(Kernel::class)->bootstrap();

        return $app;
    }

    /**
     * Migrate the database
     */
    private function prepareForTests()
    {
        Artisan::call('cache:clear');
        Artisan::call('config:clear');
        Artisan::call('migrate:refresh');
        Artisan::call('db:seed --class=CompanySeeder');
        Artisan::call('db:seed --class=UserRoleSeeder');
    }
}

I use :

inertiajs/inertia-laravel 0.4.4
Laravel 8.54.0
@inertiajs/inertia: "^0.10.1"
@inertiajs/inertia-vue3: "^0.5.2"
Vue 3

Thank you so much for your help !
More informations :
For example, when I modify the test, add ->dump('companies.data'), I don't see dump just after the run again test. The test fails and I don't see the dump. I launch again and again the test, and after 5 or 6 launch, I see the dump.
And after 5 or 6 launch, test fails again.
In Inertia test, it's like the test doesn't always loaded, it's like a scope doesn't complete load and PhpUnit execute the test on it.
->component('Companies/CompaniesIndex')
->dump('companies.data')
->has('companies.data', 2)

Hello ... same problem here with  Laravel 8 + Jetstream:
Route:
Route::get('/dashboard', function () {
    return Inertia::render('Dashboard');
})->name('dashboard');

Test:
$user = User::factory()->withPersonalTeam()->create();
$this->actingAs($user);
$response = $this->get('/dashboard');
$response->assertInertia(fn (Assert $inertia) => $inertia
    ->component('Dashboard')
);

Error:
Not a valid Inertia response.
at vendor/inertiajs/inertia-laravel/src/Testing/Assert.php:80

@claudiodekker , in my case,  the problem comes from :
public static function fromTestResponse($response): self
    {
        try {
            $response->assertViewHas('page');

Calling $response->assertViewHas('page') always thrown an error "The response is not a view." because in this Laravel TestResponse method:
    protected function responseHasView()
    {
        return isset($this->original) && $this->original instanceof View;
    }

$this->original exists but is always a string ( with html response ),  not a instance of View
Not sure why "original" in response is a string or if is Inertia::render related.

Not a valid Inertia response.

I once got this because beyondcode/laravel-query-detector was finding N+1 queries and blocking Inertia. I discovered it by inspecting the response in the test.

Not a valid Inertia response.

I once got this because beyondcode/laravel-query-detector was finding N+1 queries and blocking Inertia. I discovered it by inspecting the response in the test.

I had the same issue. Not sure why Query Detector breaks things, but i've removed it and just used Clockwork's built in tools instead.

Hey,
I'm going close this issue, as it is a duplicate of #290. In addition, as others here already indicate, as well as my closing reply on #290, this issue is likely caused by something else in your application such as a third-party package, custom routing code, custom middleware etc.
In either case, because your issue doesn't contain sufficient information to either reproduce the problem, or to confirm that it's actually an issue with the library, I'm going to close this issue for now. However, if you (or anyone else) has more details (such as an example repository) that allows for reproducing this issue, then please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response, at which point we can re-open this issue.
Thanks!

@claudiodekker this issue occurs when there is a redirect not when a proper Inertia::render() is initiated

Just because this is the top response on Google for "Not a valid Inertia Response" I thought I'd reply to this closed thread.
I was getting "Not a valid Inertia response" and couldn't work out why. It ended up being simple - my test was being redirected to the login page which on a vanilla Jetstream app is not considered a valid Inertia response.
Once I added the following, before my code, it worked fine:
$this->actingAs(\App\Models\User::factory()->create());

I had this issue because I was passing in the inertia headers X-Inertia and X-Inertia-Version. When you pass these in you will instead get an object back instead of the inertia view.

Same problem here when using $response->assertInertia and pest
The tests fail randomly.  :confused:

In my case, i run npm run build script, becase inertia can't found /public/build/manifest.json

Hi guys,
Just for reference - https://github.com/spatie/laravel-blade-comments/issues/8
In most of the cases it's something away from Inertia, either a third-party library or a faulty component.

I'm encountering this too at random with Pest -- it was working just fine with PHPUnit. Did you find a solution?

I cannot recall the exact root cause of the issue, but i remember it not being related to Inertia, but some other middleware causing issues.

I'm encountering this too at random with Pest -- it was working just fine with PHPUnit. Did you find a solution?

I cannot recall the exact root cause of the issue, but i remember it not being related to Inertia, but some other middleware causing issues.

I just installed a fresh Laravel project from scratch and doing my first test I get this error. I don't have any specific middleware. I have only installed libraries like laravel pint and phpstan that should not interfere in this process.


AutoSync may consume excessive CPU if a management agent runs for a very long time (eg days)

Fixed in https://github.com/lithnet/miis-autosync/releases/tag/v1.1.6500


Add timeout listener

Thanks for the fork – here's a timeout listener/handler for authenticate (the timeout setting does absolutely nothing right now)

Gonna close this as I'm making more changes. Feel free to use em.


aichat: 0.15.0 -> 0.16.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sigoden/aichat/releases.
meta.description for aichat is: Use GPT-4(V), Gemini, LocalAI, Ollama and other LLMs in the terminal
meta.homepage for aichat is: https://github.com/sigoden/aichat
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.16.0 with grep in /nix/store/2rxj2r6wxrpi9vh5i94yyy1jw2fc2x8y-aichat-0.16.0
found 0.16.0 in filename of file in /nix/store/2rxj2r6wxrpi9vh5i94yyy1jw2fc2x8y-aichat-0.16.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
aichat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2rxj2r6wxrpi9vh5i94yyy1jw2fc2x8y-aichat-0.16.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A aichat https://github.com/r-ryantm/nixpkgs/archive/67e326f4f80cb472a9f57f9157f40cab29c01bbe.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/67e326f4f80cb472a9f57f9157f40cab29c01bbe#aichat

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2rxj2r6wxrpi9vh5i94yyy1jw2fc2x8y-aichat-0.16.0
ls -la /nix/store/2rxj2r6wxrpi9vh5i94yyy1jw2fc2x8y-aichat-0.16.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

aichat

Maintainer pings
cc @mwdomino for testing.

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

1 package built:

aichat

tested execution, worked fine for me.


Allow swipe gesture for down arrow on video minimize

Got some complaints about the need to use the down arrow (hard to click, behavior unknown).

Head's up, I made a PR that achieves this – I'll polish it up and post it later today.


Step 2/n: Implementing new compiler python API.

Builds on the iree-tf-import work submitted prior.
Creates a temporary pyiree.compiler2 module to eventually replace pyiree.compiler and pyiree.tf.compiler.
Stays somewhat close to the original API but shaves off a lot of rough edges that accumulated over time.
Will introduce more logging and debugability in a follow-on once more is wired up.
No build support yet: just running tests individually at the moment with IREE_TOOL_PATH set to find the compiled tools.

This is really nice!
Could be in a future change, but it would be nice to have a .../compiler2 level README briefly glossing functionality and a few basic examples (or just a link+nudge to look at the tests for examples).

Added a README.


add multiple sdn providers to playbooks

i think we need to add multiple cni-enabled sdn providers to the set of playbooks. i would like to see this done in the following (somewhat opinionated) way:
role:
  kube-sdn:
    tasks:
      main.yml (referring to other sdn playbooks)
        calico.yml
        canal.yml
        romana.yml
        weave.yml

i would like to add an "sdn boostrapped" artifact in /etc/kubernetes/halcyon/network/.sdn, and include the following output that can then be used later to identify which SDN is deployed:
ubuntu@kube1:~$ cat /etc/kubernetes/halcyon/network/.sdn

# Halcyon Network Deployment:
kube_sdn_deploy: {{ kube_sdn_deploy }}
kube_sdn: {{ kube_sdn }}

if any of the sdn folks are interested in this, that's fine...i can pick this up later as well.

along with this, i want to keep an eye on items like:
https://github.com/kubernetes/kubernetes/issues/34101
http://stackoverflow.com/questions/39872332/how-to-fix-weave-net-crashloopbackoff-for-the-second-node
we may need to fetch the manifests, and adjust them based on the deployment. the instructions included with romana at least address this issue. the community is still trying to determine how to handle this going forward.

@aric49 do you want to take a stab at doing this? i can explain more, and help on monday.

done. closing issue.


Incompatibility with newest mmcv version

python tools/train_retriever.py --config configs/retriever_consumer_to_shop/roi_retriever_vgg.py

If I try to run training with newest mmcv(-full) version, the script return this error:
Traceback (most recent call last):
  File "tools/train_retriever.py", line 85, in <module>
    main()
  File "tools/train_retriever.py", line 81, in main
    logger=logger)
  File "/home/hachreak/projects/mmfashion/mmfashion/apis/train_retriever.py", line 54, in train_retriever
    _non_dist_train(model, dataset, cfg, validate=validate)
  File "/home/hachreak/projects/mmfashion/mmfashion/apis/train_retriever.py", line 79, in _non_dist_train
    cfg.log_level)
  File "/home/hachreak/projects/mmcv/mmcv/runner/epoch_based_runner.py", line 174, in __init__
    super().__init__(*args, **kwargs)
  File "/home/hachreak/projects/mmcv/mmcv/runner/base_runner.py", line 89, in __init__
    raise TypeError(f'logger must be a logging.Logger object, '
TypeError: logger must be a logging.Logger object, but got <class 'str'>

I meet the same problem, how did you solve it?


Better Admin-User Index View sorting

Added a whole bunch of sorting options for the default admin user index view.
The template now cycles between ascending sort and descending sort when clicked, and the arrows now make sense depending on the way the column is sorted.
Primary sorting

?ordering=x
how it sorts
which way the arrow points

name
last_name, first_name, username
up, because the names are ascending

-name
-last_name, -first_name, -username
down, because the names are descending

username
User.USERNAME_FIELD
up, ascending

-username
'-'+User.USERNAME_FIELD
down, descending

level
superusers, then staff, then others (-secondary_sort per group)
down, because it's descending power

-level
others, then staff, then superusers (+secondary_sort per group)
up, because it's ascending power

status
is_active, -secondary_sort
down, although this is probably not much use

-status
-is_active, +secondary_sort
up

last_login
latest login first, and puts people who have never logged in at the end (+secondary_sort)
up, because time since login is ascending

-last_login
oldest login first, and puts people who have never logged in at the end (-secondary_sort)
down, because time since login is descending

Secondary sorting
Where the primary order is ambiguous, it will sort by last_name, first_name, then username (for the case of blank or common names).

secondary sorting
sort order
purpose

+secondary_sort
last_name, first_name, username
ascending order, added to resolve ambiguities

-secondary_sort
-last_name, -first_name, -username
descending order, added to resolve ambiguities

Special note: Django doesn't let you chain order_bys, so it's not simple to factorize the code. It looks a bit verbose and I'm not sure if there's a better way to chain it. Open to suggestions.

Also, just a note that this will address part of #5191.

Closing this as solved by #11823


[macOS] Re-add support for the sc inside app bundle.

See https://github.com/godotengine/godot/issues/73424

If there are so many caveats to get it working, it's pretty much a given that users will fail using it and will end up getting Godot files in their user paths.
Maybe it would be better to add a --self-contained command line option for all platforms (and make sure it's passed from project manager to editor/game when running) as an alternative to the hacky ._sc_ file.
I don't know if the plist file lets us define default command line arguments for the binary which could then be used to enforce self-contained mode (e.g. for the macOS builds on Steam and EGS)?

Maybe it would be better to add a --self-contained command line option for all platforms (and make sure it's passed from project manager to editor/game when running) as an alternative to the hacky .sc file.

It won't help with path randomization, all used data will be written to the temp folder and deleted on restart.

It's a bit surprising that portable tools can't work on macOS. Are there no apps that do that currently? Maybe we don't know about some hack or Gatekeeper setting? :)

Maybe it would be better to add a --self-contained command line option for all platforms (and make sure it's passed from project manager to editor/game when running) as an alternative to the hacky .sc file.

See https://github.com/godotengine/godot-proposals/issues/2474, which also proposed adding more ways to enable self-contained mode (such as an environment variable).

See https://github.com/godotengine/godot-proposals/issues/2474, which also proposed adding more ways to enable self-contained mode (such as an environment variable).

App bundle started form Finder will ignore all user defined environment variables.

I have done some testing and updated it with more detailed information, it's actually usable with some extra steps. Also, should work for Steam releases since Steam remove quarantine flag automatically.
Summary of the current changes in this PR:

Update docs to reflect macOS limitations.
Re-add support for _sc_ inside .app bundle (not recommended, but usable if you do not move it between different macs).
_sc_ in the same folder as bundle is still supported.

Thanks!

Cherry-picked for 4.0.2.


Fix infinite loop when computing parse tree for recursive nullable grammars

Computing the parse tree (needed for getting captures) previously caused an infinite loop if the grammar has loops of nullable rules, where a nullable rule is any rule where every symbol on the RHS is nullable.
E.g., the grammar
  A -> A C
  A -> B
  A ->
  B -> A
  C -> 'x'

has nullable rules
  A -> B
  A ->
  B -> A

and there is a loop in these rules formed by A -> B and B -> A.
For a deeper discussion on this, see section "One Last Trap" of https://loup-vaillant.fr/tutorials/earley-parsing/parser
This PR solves the issue by keeping a set of visited nodes when computing the parse tree (or getting captures) and skipping any node that has already been seen. AFAIK, the only way this can happen is when we have these nullable loops, but admittedly I still have a lot to learn about the parser (so more eyes on this would be really helpful!)
This closes #863

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 57.10%. Comparing base (15ff21d) to head (3f2a3ef).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #874      +/-   ##
==========================================
+ Coverage   57.02%   57.10%   +0.08%
==========================================
  Files          63       63
  Lines        4575     4579       +4
==========================================
+ Hits         2609     2615       +6
+ Misses       1966     1964       -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Currently, my fix is to avoid infinitely recursing over children, but I suspect that it might be nicer to prevent accepting parses that have infinitely looping children to begin with. That being said, the behavior seems correct (in that captures are correctly being... captured).
@slundberg I would really appreciate some input from you on this as well as what the correct semantics of partial captures should be (I tried to preserve existing behavior, but I'm not entirely clear on whether that behavior was the intended one).


python3.pkgs.authlib: init at 0.13

Motivation for this change
This adds authlib, a popular OAuth and OpenID Connect library.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python27Packages.authlib python37Packages.authlib python38Packages.authlib


home page example does not work?

Describe the bug
nix-shell JL_minimal.nix  --command "jupyter lab"
# JupyterLab Error
# JupyterLab application assets not found in "/nix/store/vzbkm01kxkyvj6nc3f1f7ay3nz0ps987-jupyterlab"
# Please run `jupyter lab build` or use a different app directory

in shell:
jupyter lab build
[LabBuildApp] JupyterLab 2.1.0
[LabBuildApp] Building in /nix/store/vzbkm01kxkyvj6nc3f1f7ay3nz0ps987-jupyterlab
[LabBuildApp] Building jupyterlab assets (build:prod:minimize)
Build failed.
Troubleshooting: If the build failed due to an out-of-memory error, you
may be able to fix it by disabling the `dev_build` and/or `minimize` options.

If you are building via the `jupyter lab build` command, you can disable
these options like so:

jupyter lab build --dev-build=False --minimize=False

You can also disable these options for all JupyterLab builds by adding these
lines to a Jupyter config file named `jupyter_config.py`:

c.LabBuildApp.minimize = False
c.LabBuildApp.dev_build = False

If you don't already have a `jupyter_config.py` file, you can create one by
adding a blank file of that name to any of the Jupyter config directories.
The config directories can be listed by running:

jupyter --paths

Explanation:

- `dev-build`: This option controls whether a `dev` or a more streamlined
`production` build is used. This option will default to `False` (ie the
`production` build) for most users. However, if you have any labextensions
installed from local files, this option will instead default to `True`.
Explicitly setting `dev-build` to `False` will ensure that the `production`
build is used in all circumstances.

- `minimize`: This option controls whether your JS bundle is minified
during the Webpack build, which helps to improve JupyterLab's overall
performance. However, the minifier plugin used by Webpack is very memory
intensive, so turning it off may help the build finish successfully in
low-memory environments.

An error occured.
OSError: [Errno 30] Read-only file system: '/nix/store/vzbkm01kxkyvj6nc3f1f7ay3nz0ps987-jupyterlab/extensions'
See the log file for details:  /run/user/1000/jupyterlab-debug-_pc02ek1.log

To Reproduce
let
  jupyter = import (builtins.fetchGit {
    url = https://github.com/tweag/jupyterWith;
    rev = "41ef8935b2a0eb1ee8729fd53cf4b08313541628";
  }) {};

  iPython = jupyter.kernels.iPythonWith {
    name = "python";
    packages = p: with p; [ numpy ];
  };

  iHaskell = jupyter.kernels.iHaskellWith {
    name = "haskell";
    packages = p: with p; [ hvega formatting ];
  };

  jupyterEnvironment =
    jupyter.jupyterlabWith {
      kernels = [ iPython iHaskell ];
      ## The generated directory goes here
      directory = ./jupyterlab;
    };
in
  jupyterEnvironment.env

Expected behavior
Jupyter Lab opens in browser
Environment
nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.7.10, NixOS, 20.03.2652.076c67fdea6 (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4pre20200622_334e26b`
 - channels(ae): `"home-manager-20.03, home-manager-unstable, nixos-20.03.2652.076c67fdea6, nixpkgs-20.03.2652.076c67fdea6, unstableNix-20.09pre235652.7d557a5d1b3, unstableOS-20.09pre235279.5717d9d2f7c"`
 - nixpkgs: `/home/user/.nix-defexpr/channels/nixpkgs`

Additional context
Add any other context about the problem here.

Did you generate the jupyterlab folder as described in the relevant section? https://github.com/tweag/jupyterWith#using-jupyterlab-extensions
Otherwise, if you just place an empty folder there, it will not work.
If you remove the directory = ./jupyterlab; line, you should have a working install.

I created the folder and tried to run:
generate-directory  jupyterlab_bokeh
Generating directory './jupyterlab' with extensions:
- jupyterlab_bokeh
An error occured.
ValueError: The extension "jupyterlab_bokeh" does not yet support the current version of JupyterLab.

Conflicting Dependencies:
JupyterLab                        Extension      Package
>=2.1.0 <2.2.0                    >=0.19.1 <0.20.0@jupyterlab/application
>=2.1.0 <2.2.0                    >=0.19.1 <0.20.0@jupyterlab/apputils
>=2.1.0 <2.2.0                    >=0.19.1 <0.20.0@jupyterlab/notebook
>=2.1.0 <2.2.0                    >=1.2.1 <2.0.0 @jupyterlab/rendermime-interfaces
>=5.1.0 <5.2.0                    >=3.2.1 <4.0.0 @jupyterlab/services
See the log file for details:  /run/user/1000/jupyterlab-debug-npfb2qzh.log

This seems to be a problem with the extension:
The extension "jupyterlab_bokeh" does not yet support the current version of JupyterLab.

Can you try with another extension?

other extensions are working. Thanks


Armada-773 Enhance Supporting Files Functionality on Jobbergate

What
This is a follow-up task after the refactoring of the Jobbergate application file management. Supporting files functionality was added back.
Why
Additional template files can be used for two reasons:

Template files: Different templates that can be used to render a given application into a job script. The default_template  can be chosen at the UI or set by the application code on the question/answer workflow.
Supporting files: Optional templates that can be rendered and copied to the working directory together with the job script.

Task: https://app.clickup.com/t/18022949/ARMADA-773

Peer Review
Please follow the upstream omnivector documentation concerning
peer-review guidelines.

Task linked: ARMADA-773 Enhance Supporting Files Functionality on Jobbergate


Bert model prediction is slow , consider more practical implementation

There is a new approach from AliBaba described here.
ALIBABA AI BEATS HUMANS IN READING-COMPREHENSION TEST
A Deep Cascade Model for Multi-Document Reading Comprehension
It seems faster with better scalability. Not sure there is code available.

Hi @alex-movila
Thank you for recommending this implementation!
Speed and scalability are indeed very important to use cdQA in production. At this stage, our primary focus is to make end-to-end question answering easy for our users but we might need to dig deeper into this new approach in the future, probably as soon as Alibaba has released some code (I couldn't find it yet).
We'll follow their updates on the topic closely 😉

There are some other tips here to make BERT better suited for production:
https://hanxiao.github.io/2019/01/02/Serving-Google-BERT-in-Production-using-Tensorflow-and-ZeroMQ/

Thanks for the tips @alex-movila !
However, I am afraid they are not compatible with cdQA for two reasons:

These tips are for the TF version of BERT, while we use the PyTorch version, provided by Hugging Face

The bert-as-service project has one feature: map a variable-length sentence to a fixed-length vector. This is a good feature to use for Information Extraction (it can be used for the Retriever component of cdQA for example - for now we use a TF-IDF approach). But it is not useful for the Question Answering part of the pipeline (i.e. the Reader).

I will take a deeper look a it to see if we can extract some useful stuffs to our package.

I think the idea of quantization + pruning could be useful to make BERT smaller.
Here is another idea. I think this one should be easy. To implement the reader with allennlp.:
https://allenai.github.io/bi-att-flow/
https://allennlp.org/models
seems 2 lines of code.. I will try it myself.

Related:
Here is another paper for XML model which is available at huggingface
Large Memory Layers with Product Keys (https://arxiv.org/abs/1907.05242)
""outperforms a baseline transformer model with 24 layers, while being twice faster at inference time"

Fwiw, using QAPipeline(reader='models/bert_qa_vGPU-sklearn.joblib', predict_batch_size=128, verbose_logging=True).to('cuda') gives me very reasonable inference time over a pretty large set of documents.
Obviously this might not be feasible for everyone, I'm just running this in Colab.

Well we must consider production where we have 1000 users doing inference concurrently.
Also not everyone has GPU.

I think if we can achieve #209 and make cdQA modular (having possibility to chose different retriever/reader impementations) hopefully everyone will be able to have a solution given his/her specific constraints.

Well we must consider production where we have 1000 users doing inference concurrently.
Also not everyone has GPU.

For sure on the first point, it obviously doesn't scale. Just wanted to point out that it does work on some level.
That said, I think it might be reasonable to expect the availability of a GPU, even if not a large one. Don't know much about deploying these models, but would inference on CPU really be feasible?

but would inference on CPU really be feasible?

Currently, inference on CPU is feasible but is really slow (about 10 to 20s per inference depending on the question and the CPU).
We are thinking about some solutions to improve inference time on CPU, although it will probably take some time to these solutions to be implemented.

Well some question caching scheme. For example classify the question after intent and get the answer from cache if the same intent. Use a simpler model for getting question intent.

Would DistilBERT be one way to achieve faster inference? Huggingface have already fine-tuned it on SQuAD v1.1: https://huggingface.co/transformers/model_doc/distilbert.html#distilbertforquestionanswering
In their blog post they quote 60% speedup in inference time compared to BERT, and that's on a CPU.

Now we have Albert: ALBERT:
A Lite BERT For Self-Supervised Learning of Language Representations

Would DistilBERT be one way to achieve faster inference? Huggingface have already fine-tuned it on SQuAD v1.1: https://huggingface.co/transformers/model_doc/distilbert.html#distilbertforquestionanswering
In their blog post they quote 60% speedup in inference time compared to BERT, and that's on a CPU.

Yes, it's in our plans to add support for DistilBERT and other Transformer based models as well. We will be adding them soon.
There's also TinyBert: https://arxiv.org/abs/1909.10351
If ever they publish the model we can add it in cdQA too.

Thanks for the information @andrelmfarias - is the general procedure to add new models that listed in this PR?

There is a new approach from AliBaba described here.
ALIBABA AI BEATS HUMANS IN READING-COMPREHENSION TEST
A Deep Cascade Model for Multi-Document Reading Comprehension
It seems faster with better scalability. Not sure there is code available.

Google just release "PAWS: Paraphrase Adversaries from Word Scrambling", maybe can benefit cdQA as well?
https://github.com/google-research-datasets/paws

Anything new with this?
I've been testing cdQA for production,  but it takes like 7 seconds to answer a question. Which is OK but kind of annoying for the user.

Do you know where the bottle neck is? Is it the QA inference with BERT that is slow? What about the retriever step?
I know you are using tf-idf, but have you experimented with other representations at all?

@andrelmfarias

We are thinking about some solutions to improve inference time on CPU, although it will probably take some time to these solutions to be implemented.
If you are interested in contributing to cdQA working with this particular issue, it can be very helpful and we could implement the solutions sooner 😃

Certainly not everyone will be interested in using GPU for inference, but I am!
I have been experimenting with some pretrained models from the NVIDIA NeMo (neural modules) framework - they are based on Hugging Face pretrained BERT checkpoints but optimized for fine-tuning and inference on GPUs. Since they are based on the Hugging Face models and use a Pytorch backend, I wonder if they could be easily plugged in to cdQA as a Reader?
Any idea where to start if I want to try this? I have a couple engineers who might be interested in making this happen.


[Dokku/Heroku] less-middleware is in devDependencies, but needed by server.js

I am running Hackdash on Dokku.
For running Hackdash, I have to manually enable the installation of devDependencies for the nodejs-buildpack.
Thus installation may also fail for Heroku with the old installation instructions in the blog post.
Thanks for the new design, though.

@almereyda that's right!, just moved, thanks for the heads up.


becomeFirstResponder() crashed

I create CustomeTableViewCell and after initing wrote below:
otpView.text =  ""
_ = otpView.becomeFirstResponder()
When i run project:
open override func becomeFirstResponder() -> Bool {
if isCursorHidden {
for i in 0 ..< arrTextFields.count {
if arrTextFields[i].text?.count == 0 {
_ = arrTextFields[i].becomeFirstResponder()
break
} else if (arrTextFields.count - 1) == i {
_ = arrTextFields[i].becomeFirstResponder()
break
}
}
} else {
_ = arrTextFields[0].becomeFirstResponder()
}
dpOTPViewDelegate?.dpOTPViewBecomeFirstResponder()
return super.becomeFirstResponder()
}
this part of code inside DPOTPView
_ = arrTextFields[0].becomeFirstResponder() // Thread 1: Fatal error: Index out of range (crashed)
my code :
otpView = DPOTPView(frame: CGRect(x: 20, y: 15, width: windowWidth - 40, height: height - 10))
otpView.count = 6
otpView.spacing = 10
otpView.dpOTPViewDelegate = self
otpView.fontTextField = .appFont(20, .FONT_BOLD)
otpView.dismissOnLastEntry = false
otpView.cornerRadiusTextField = 10
otpView.textColorTextField = .colorTextBlack
otpView.borderWidthTextField = 1
otpView.borderColorTextField = .colorDivider
otpView.selectedBorderColorTextField = .colorDivider
otpView.selectedBorderWidthTextField = 1
otpView.backGroundColorTextField = .colorEditBackground
self.contentView.addSubview(otpView)

Even I too faced same issue, was able to resolve by calling "_ = otpView.becomeFirstResponder()" in "viewDidAppear".

Adding 1 second delay worked for me.
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    let deadlineTime = DispatchTime.now() + .seconds(1)
    DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
        _ = self.txtOTPView.becomeFirstResponder()
    }
}

Hello @sukhrabbek , @rapuru & @shamsudheen ,
Check out new release(v1.5.12), This issue is resolved.
Thanks,
Datt


Refactor to use store for all temp IO

Description
Refactor to use Store for all temporary IO processing. Enable contributing Store implementations via service loader. Changes are not be visible to end users.
Motivation and Context
This separates refactoring needed for #3439. Then the in-memory and caching Store implementation can be merged without refactoring changes.
How Has This Been Tested?
All existing tests pass.
Type of Changes

New feature (non-breaking change which adds functionality)

Documentation and Compatibility
Contributing alternative Store implementations via org.dita.dost.store.StoreBuilder service loader may be documented, but it's very unlikely that plugin contributed Store implementations will be used.

General question ... some of the most frustrating failures I've had with DITA-OT over the last couple years come from URI Exceptions, when the input is not a valid URI and the code crashes (without telling you what URI it was trying to validate).
I see a lot of URI variables in the new code -- is there any new testing for bad input URIs? Are external links going to be rewritten in any way, or are those left alone? For example:
<object data="https://www.youtube.com/watch?v=5gdIvjF99ac"> (object can't set scope=external)
<xref href="www.youtube.com/watch?v=5gdIvjF99ac"> (forgot the https)
<topicref href="missing file.dita"> (space instead of %20 )

All/most the places where we've added a URI field, are to replace direct InputStream use. So I don't see it as a risk that we start breaking old content that has invalid links. All those invalid links should be fixed during initial read, in the normalization/fix filters.


Flexicanvas cuts off bottom of reaction

Drawing a reaction in a flexicanvas cuts off the bottom of the image:

To Reproduce
TEST_CASE("") {
  const char *rxnBlock = R"RXN($RXN

      Mrv1920<PHONE_NUMBER>11

  3  1
$MOL

  Mrv1920<PHONE_NUMBER>2D

  1  0  0  0  0  0            999 V2000
  -12.3227   -0.2785    0.0000 Cl  0  0  0  0  0  0  0  0  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

 11 11  0  0  0  0            999 V2000
   -6.0796   -0.5503    0.0000 Cl  0  0  0  0  0  0  0  0  0  0  0  0
   -6.7352   -0.0493    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -6.6291    0.7688    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   -7.4967   -0.3666    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   -8.1522    0.1344    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -8.9137   -0.1829    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -9.5692    0.3181    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  -10.3307    0.0008    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  -10.4370   -0.8173    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -9.7813   -1.3182    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -9.0199   -1.0009    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
  2  3  2  0  0  0  0
  2  4  1  0  0  0  0
  4  5  1  0  0  0  0
  5  6  1  0  0  0  0
  6  7  4  0  0  0  0
  7  8  4  0  0  0  0
  8  9  4  0  0  0  0
  9 10  4  0  0  0  0
 10 11  4  0  0  0  0
 11  6  4  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

 10 10  0  0  0  0            999 V2000
   -3.2982    1.9786    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.4043    1.1605    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   -2.7488    0.6596    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.9872    0.9767    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   -2.8547   -0.1585    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.1992   -0.6594    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.3055   -1.4777    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.0669   -1.7949    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.7225   -1.2939    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.6163   -0.4759    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
  2  3  1  0  0  0  0
  3  4  2  0  0  0  0
  3  5  1  0  0  0  0
  5  6  1  0  0  0  0
  6  7  1  0  0  0  0
  7  8  1  0  0  0  0
  8  9  1  0  0  0  0
  9 10  1  0  0  0  0
 10  5  1  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

 20 21  0  0  0  0            999 V2000
    7.3862    1.9786    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    7.2800    1.1605    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    7.9356    0.6596    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    8.6971    0.9768    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    7.8294   -0.1586    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    8.4850   -0.6595    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    8.3789   -1.4777    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    7.6173   -1.7950    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    6.9619   -1.2939    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    7.0679   -0.4758    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    6.4124    0.0252    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    6.5186    0.8432    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    5.6509   -0.2920    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    4.9954    0.2089    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.2337   -0.1084    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.5784    0.3926    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.8166    0.0753    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.7107   -0.7427    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.3661   -1.2438    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.1276   -0.9266    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
  2  3  1  0  0  0  0
  3  4  2  0  0  0  0
  3  5  1  0  0  0  0
  5  6  1  0  0  0  0
  6  7  1  0  0  0  0
  7  8  1  0  0  0  0
  8  9  1  0  0  0  0
  9 10  1  0  0  0  0
 10 11  1  0  0  0  0
 11 12  2  0  0  0  0
 11 13  1  0  0  0  0
 13 14  1  0  0  0  0
 14 15  1  0  0  0  0
 15 16  4  0  0  0  0
 16 17  4  0  0  0  0
 17 18  4  0  0  0  0
 18 19  4  0  0  0  0
 19 20  4  0  0  0  0
 10  5  1  0  0  0  0
 20 15  4  0  0  0  0
M  END)RXN";

  std::string nameBase = "testGithub6683_";
  std::unique_ptr<ChemicalReaction> rxn(RxnBlockToChemicalReaction(rxnBlock));
  MolDraw2DSVG drawer(-1, -1);
  drawer.drawReaction(*rxn);
  drawer.finishDrawing();
  std::string text = drawer.getDrawingText();
  std::ofstream outs((nameBase + "1.svg").c_str());
  outs << text;
  outs.close();
}

Expected behavior
I would have hoped to have seen the bottom of the piperidine.
Screenshots
If applicable, add screenshots to help explain your problem.
Configuration (please complete the following information):

RDKit version: current master branc
OS: macOS

Additional context
This is a simpler version of the display of the reaction @paconius is using in #6683.  This may or may not be the same bug, but clearly needs fixing.  Looking into it now.

Hi David, I'm guessing that the clipping is not related to the svg issue in the orig. discussion based on teh following. I've seen a number of cases where the image is clipped. usually on teh left or right, but sometimes on the top/bottom as you observed. These clipping cases can be "fixed" by increasing the 'padding' parameter in draw options. However, no value of the padding parameter seems to be able to fix the negative widths in the SVG.
I could be wrong about this, as I am just speaking form limited observations.

I think you’re right, now I’ve fixed it, but we can always hope!  I’ll look at the other one early next week. It’s clearly a bug- whatever is going on, it should never produce negative values for width and height.

Here are a couple more rxn blocks that produce clipped svg images:
$RXN

      Mrv1920<PHONE_NUMBER>47

  2  1
$MOL

  Mrv1920<PHONE_NUMBER>2D

  2  1  0  0  0  0            999 V2000
   -7.4817   -0.2130    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
   -6.6567   -0.2130    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

  9  8  0  0  0  0            999 V2000
   -3.3781    2.1354    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.5235    1.3233    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
   -4.2996    1.0435    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.8932    0.7914    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.0387   -0.0206    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.7812   -0.3803    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.8567   -1.3430    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.4672   -0.6157    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.6500   -0.5031    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
  2  3  1  0  0  0  0
  2  4  1  0  0  0  0
  4  5  2  0  0  0  0
  5  6  1  0  0  0  0
  7  8  1  0  0  0  0
  8  9  2  0  0  0  0
  8  5  1  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

  8  8  0  0  0  0            999 V2000
    5.5359   -0.2650    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.3537    1.0574    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.6115    0.6978    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.7993    0.8433    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.4102    0.1159    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    3.9815   -0.4790    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    4.7240   -0.1195    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.5929    0.0033    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
  2  3  1  0  0  0  0
  3  4  4  0  0  0  0
  4  5  4  0  0  0  0
  5  6  4  0  0  0  0
  6  7  4  0  0  0  0
  7  1  1  0  0  0  0
  7  3  4  0  0  0  0
  5  8  1  0  0  0  0
M  END

$RXN

      Mrv1920<PHONE_NUMBER>50

  1  2
$MOL

  Mrv1920<PHONE_NUMBER>2D

 20 22  0  0  0  0            999 V2000
   -2.4533   -0.5079    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.0179    0.0939    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.8212   -0.0941    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -4.0600   -0.8837    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -4.8633   -1.0715    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
   -5.4277   -0.4698    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -6.2311   -0.6577    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -6.7954   -0.0558    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -7.5987   -0.2436    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -7.8377   -1.0333    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -7.2734   -1.6351    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -6.4701   -1.4473    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -5.1888    0.3199    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -4.3855    0.5077    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -4.1465    1.2974    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -4.7110    1.8993    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -5.5142    1.7114    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -5.7532    0.9218    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -3.4957   -1.4854    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -2.6923   -1.2975    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  4  0  0  0  0
  2  3  4  0  0  0  0
  3  4  4  0  0  0  0
  4  5  1  0  0  0  0
  5  6  2  3  0  0  0
  6  7  1  0  0  0  0
  7  8  4  0  0  0  0
  8  9  4  0  0  0  0
  9 10  4  0  0  0  0
 10 11  4  0  0  0  0
 11 12  4  0  0  0  0
  6 13  1  0  0  0  0
 13 14  4  0  0  0  0
 14 15  4  0  0  0  0
 15 16  4  0  0  0  0
 16 17  4  0  0  0  0
 17 18  4  0  0  0  0
  4 19  4  0  0  0  0
 19 20  4  0  0  0  0
 20  1  4  0  0  0  0
 12  7  4  0  0  0  0
 18 13  4  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

  7  7  0  0  0  0            999 V2000
    5.5920    0.3948    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.0277    0.9966    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.2244    0.8087    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.9855    0.0191    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.1821   -0.1689    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    4.5499   -0.5827    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.3531   -0.3949    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  4  0  0  0  0
  2  3  4  0  0  0  0
  3  4  4  0  0  0  0
  4  5  1  0  0  0  0
  4  6  4  0  0  0  0
  6  7  4  0  0  0  0
  7  1  4  0  0  0  0
M  END
$MOL

  Mrv1920<PHONE_NUMBER>2D

  1  0  0  0  0  0            999 V2000
    8.3990    0.0732    0.0000 Cl  0  0  0  0  0  0  0  0  0  0  0  0
M  END

@DavidACosgrove : I see your fixes were merged yesterday. Thanks for your help with this. I can further test and provide feedback whenever the next rdkit-dev becomes avaialble. Thanks again!


ERROR: unknown function: array_to_string() with CockroachDB

I am building an application using CockroachDB and Yii2 framework. As CockroachDB support PostgreSQL driver for its connectivity for any language. I want to use CockroachDB for this application and unfortunately I am getting below error:
SQLSTATE[42883]: Undefined function: 7 ERROR: unknown function: array_to_string()
Any help would be appreciated.
Query being run by Yii2:
SELECT
d.nspname AS table_schema,
c.relname AS table_name,
a.attname AS column_name,
COALESCE(td.typname, tb.typname, t.typname) AS data_type,
COALESCE(td.typtype, tb.typtype, t.typtype) AS type_type,
a.attlen AS character_maximum_length,
pg_catalog.col_description(c.oid, a.attnum) AS column_comment,
a.atttypmod AS modifier,
a.attnotnull = false AS is_nullable,
CAST(pg_get_expr(ad.adbin, ad.adrelid) AS varchar) AS column_default,
coalesce(pg_get_expr(ad.adbin, ad.adrelid) ~ 'nextval',false) AS is_autoinc,
CASE WHEN COALESCE(td.typtype, tb.typtype, t.typtype) = 'e'::char
THEN array_to_string((SELECT array_agg(enumlabel) FROM pg_enum WHERE enumtypid = COALESCE(td.oid, tb.oid, a.atttypid))::varchar[], ',')
ELSE NULL
END AS enum_values,
CASE atttypid
WHEN 21 /int2/ THEN 16
WHEN 23 /int4/ THEN 32
WHEN 20 /int8/ THEN 64
WHEN 1700 /numeric/ THEN
CASE WHEN atttypmod = -1
THEN null
ELSE ((atttypmod - 4) >> 16) & 65535
END
WHEN 700 /float4/ THEN 24 /FLT_MANT_DIG/
WHEN 701 /float8/ THEN 53 /DBL_MANT_DIG/
ELSE null
END AS numeric_precision,
CASE
WHEN atttypid IN (21, 23, 20) THEN 0
WHEN atttypid IN (1700) THEN
CASE
WHEN atttypmod = -1 THEN null
ELSE (atttypmod - 4) & 65535
END
ELSE null
END AS numeric_scale,
CAST(
information_schema._pg_char_max_length(information_schema._pg_truetypid(a, t), information_schema._pg_truetypmod(a, t))
AS numeric
) AS size,
a.attnum = any (ct.conkey) as is_pkey,
COALESCE(NULLIF(a.attndims, 0), NULLIF(t.typndims, 0), (t.typcategory='A')::int) AS dimension
FROM
pg_class c
LEFT JOIN pg_attribute a ON a.attrelid = c.oid
LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_type tb ON (a.attndims > 0 OR t.typcategory='A') AND t.typelem > 0 AND t.typelem = tb.oid OR t.typbasetype > 0 AND t.typbasetype = tb.oid
LEFT JOIN pg_type td ON t.typndims > 0 AND t.typbasetype > 0 AND tb.typelem = td.oid
LEFT JOIN pg_namespace d ON d.oid = c.relnamespace
LEFT JOIN pg_constraint ct ON ct.conrelid = c.oid AND ct.contype = 'p'
WHERE
a.attnum > 0 AND t.typname != ''
AND c.relname = 'tbl_user'
AND d.nspname = 'public'
ORDER BY
a.attnum;

The fact that CockroachDB supports PgSQL driver does not mean that both DBMSs utilize the same functions (and stored procedures) as well as the system tables structure.
The query that fails is here and it provides tables columns list for the ActiveRecord layer.
It will be nice to have additional DBMS support in Yii. In case you would like to implement CockroachDB support in your project, I suggest you to look on how it's done for MySQL, PgSQL or SQLite.

Sure, let me think about it!
Thanks.


Main

PR
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our Commit Message Guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

Thank you for your contribution, but this PR clearly cannot be merged due to two reasons

This PR is too large. You have submitted all the history records
You did not explain clearly what this PR did and did not sign it. Please refer to the details for reference https://github.com/opentiny/tiny-vue/blob/dev/CONTRIBUTING.md
So I will close it and look forward to your next PR


Pause livestream when Soundcloud show activated

Couldn't test it as I don't have the Contentful env vars - should fix the problem though

Tested and this fix is working, thanks for the help @charlesfrisbee!


New version: Discord.Discord version 1.0.9013

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.4 schema?

Microsoft Reviewers: Open in CodeFlow

@SpecterShell, Installer Switches for Discord break it
https://github.com/microsoft/winget-pkgs/pull/107089


Issue with UTC?

Hi what does the enable UTC parameter do?
I have a problem with a counter, if I set the time in UTC and sets the UTC flag to true. The remaining time still varies if I change timezone on my computer.
Has I misunderstood the flag?
Regards,
Jens

Hello @scrog,
The UTC flag was added later on the project development.
The plugin will create a  Date object with the given parameters (year, month, dayn hours, minutes and seconds). This date is created without using any timezone parameter like so :
let d = new Date(year, month, day, hours, minutes, seconds);

Then ig you enable the UTC flag, the plugin will turn the original date object nto a new one using the previous Date object data like this :
let utcDate = new Date(
        d.getUTCFullYear(),
        d.getUTCMonth(),
        d.getUTCDate(),
        d.getUTCHours(),
        d.getUTCMinutes(),
        d.getUTCSeconds()
);

So, as you can see, the first Date object created is using the browser timezone...
You just point on a real issue and adding a timezone parameter will be a great solution to solve it.
I think adding a date object parameter should be a great option to solve this issue. With this new parameter, users will be able to select the way they want to inject the date into the plugin.

Hi, I'm not sure if I missed it, but has the timezone parameter been added?
How can we use it?

Hi, I'm not sure if I missed it, but has the timezone parameter been added? How can we use it?

Nope, but if you want to contribute, you're still welcome (yes, I'm quite late :) )

Should be fixed by 7a1c66f98b787956828e90c59975b5b90d522949


FAQ Update

FAQ Update

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65d8b193c4acfb109a856bf4--harness-developer.netlify.app


[DM-33014] Add an initial brain dump of monitoring targets

Some initial thoughts on things we may want to track.

I'm going to close this, as I've rolled Russ's changes into https://github.com/lsst-sqre/sqr-061/pull/2


Un-packed .siva files perf optimization

In some cases we want to skip copy\unpack .siva files, if it has been already done.
This should be possible to enable this by configuration.
It is related to #29

Implemented in: https://github.com/src-d/spark-api/pull/50


Add Height Max-Height options to FilePondPluginFilePoster

Because of the way we're saving files we can't use the FilePondPluginImagePreview to preview images. Fortunately FilePondPluginFilePoster does the job. However, unlike image preview, the poster does not have a height or max-height option. We are currently solving the problem with a wrapper element and setting the height on it, but an option on the poster would be a better solution. Thanks!

Just came here to post the same issue.
Can you share your current workaround?

@robjbrain Right now I'm adding a max-width to the .filepond--root in css. I wanted to use height, but it doesn't work correctly. It's not perfect, but it works well enough, I would prefer to be able to use height.

Sourcecode of both the ImagePreview and Poster plugin are now on GH, feel free to submit a pull request.


Scroll bar does not respond to clicks

Description
Scroll bar does not respond to clicks.
Steps To Reproduce

Open Files app.
Go to any folder with many items.
Make sure the list is in Details mode
Make sure the columns are wider than the available width.
Scrollbars are not clickable.

Steps to fix
Make it respond to mouse clicks on scrollbar.
Files Version
Version : <IP_ADDRESS>
Windows Version
OS Version: 10.0.19045.2486
Relevant Assets/Logs
None.

Thank you for opening this issue, it's something we would like to resolve but we are held back because the DataGrid control is outdated. WinUI is planning to create a new DataGrid control, I am linking the discussion here so you can upvote/comment on the issue and hopefully increase the priority for Microsoft. https://github.com/microsoft/microsoft-ui-xaml/issues/1500


Updated doks theme ref and removed the second build of the documentation

Task
Doks repo PR -> https://github.com/CoherentLabs/doks/pull/23

Even though it is having one missing "search.png" and two .woff fonts when testing in Cohtml repo, it isn't related to these fixes and Mitko said it is a known issue.


Use the Spring Initializr

I changed the document and re-arranged the code to use the Spring Initializr.

LGTM


OADP-1067: Set env vars on datamover deployment for batching

although not required, if there are any test failures, consider rebasing because this PR is 2 commits behind master branch

/retest

/retest


Need to set mode twice in order to work

Information

ratbagd version (ratbagd --version): 0.14
Distribution: Fedora 33
Kernel version (ex. uname -srmo): Linux 5.10.7-200.fc33.x86_64 x86_64 GNU/Linux

Device info (if applicable):
$ ratbagctl <device> info
singing-gundi - Logitech G203 Prodigy Gaming Mouse
             Model: usb:046d:c084:0
 Number of Buttons: 6
    Number of Leds: 1
Number of Profiles: 1
Profile 0: (active)
  Name: n/a
  Report Rate: 1000Hz
  Resolutions:
    0: 400dpi
    1: 800dpi (default)
    2: 1600dpi (active)
    3: 3200dpi
    4: 0dpi
  Button: 0 is mapped to 'button 2'
  Button: 1 is mapped to 'button 1'
  Button: 2 is mapped to 'button 3'
  Button: 3 is mapped to 'button 4'
  Button: 4 is mapped to 'button 5'
  Button: 5 is mapped to 'resolution-cycle-up'
  LED: 0, depth: rgb, mode: cycle, duration: 8000, brightness: 180

Describe the bug
Whenever I try to set a mode with ratbagctl I have to do it twice to make it work.
To Reproduce
Steps to reproduce the behavior:

Get your device name, here is singing-gundi
Execute this command ratbagctl singing-gundi led 0 set mode off
You will see light is not off, repeat command below
It now turns the LED off

Logs
Please start the daemon with verbosity and reproduce the issue.
 Thanks!

@sant123 Can you try to apply #1183 and validate that it works?

Sorry for the delay @t-8ch I just tested v0.16 on Fedora 33 and works like a charm.
Thanks!!!


assertTrue is not a global

Guessing bare asserts got changed to assertTrue instead of self.assertTrue
@ticoann please merge

Ahh, and the guilty party is your's truly. :-(
https://github.com/ericvaandering/WMCore/commit/f083350625b71bdf5b6b9307dc3f2fb04550a8bc

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/577/ for details

No pylint warnings for pull request 6249:

Unit test changes for pull request 6249:

WMCore_t.DataStructs_t.Fileset_t.FilesetTest:testAddFile changed from error to success
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testSitesFromResourceControl changed from failure to success

@ticoann please merge


Fixes duplicate error messages for collection input field items

Fixes #147 by cleaning error messages before validation

@developer-devPHP can you test this?

tests failed with 7.* because of https://github.com/zendframework/zend-inputfilter/pull/141

I've rebased after merging #141 so we can see how tests go.

Yet another place where stateless validators/input filters would resolve this...

Thanks, @svycka!


sdrangel: set SOAPYSDR_DIR in build

Motivation for this change
sdrangel has some strange logic for finding SoapySDR in its cmake script. If cmake locates soapysdr, the UI components for soapysdr will be compiled but the plugins won't be. Setting SOAPYSDR_DIR makes sure the plugins are compiled too.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Confirmed working end to end with a local SoapySDR server.


upgradetest: change readiness probe period

Period increased to 10s to reduce polling frequency of readiness probe.
[skip ci]

lgtm


popover=hint support

Is your feature request related to how popovers work in general?
No
Is your feature request related to how this polyfill works? Please describe.
Sort of, it's on adding support for a new part of the popover spec.
Describe the solution you'd like
Add support for popover=hint as described in https://github.com/whatwg/html/pull/9778.
Describe alternatives you've considered
Use alternative library / wait for browser support
Additional context
This is still early days, but having the popover polyfill support this would mean we could start using it prior to the more wider rollout in the browser engines if it's deemed stable enough.

It sounds like there's still some ongoing discussion in https://github.com/whatwg/html/pull/9778 as to whether this will be implemented in browsers or not -- is that correct?


Roll Flutter Engine from e3f75650ac5f to 75d022385205 (1 revision)

https://github.com/flutter/engine/compare/e3f75650ac5f...75d022385205
2023-08-04<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from Qo3dJIXjK-Ia8j42J... to FAGt3OEY8Yi1-SaFj... (flutter/engine#44366)
Also rolling transitive DEPS:
fuchsia/sdk/core/mac-amd64 from Qo3dJIXjK-Ia to FAGt3OEY8Yi1
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Multiline TextInput's onContentSizeChange doesn't take horizontal padding into a consideration (IOS)

Description
If you have multiline <TextInput/> with horizontal padding styles, onContexntSizeChange works as if horizontal padding is 0. So you can't set input's height of nativeEvent.contentSize.height correctly
Version
0.70.5
Output of npx react-native info
System:
OS: Windows 10 10.0.19044
CPU: (8) x64 Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz
Memory: 718.71 MB / 3.83 GB
Binaries:
Node: 16.15.0 - C:\Program Files\nodejs\node.EXE
Yarn: Not Found
npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Not Found
Visual Studio: Not Found
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: ^18.1.0 => 18.1.0
react-native: ^0.70.5 => 0.70.5
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

Create <TextInput multiline={true} blurOnSubmit={false}/>
Add onContentSizeChange prop and inside log nativeEvent.contentSize.height
Type until the line breaks
Add horizontal padding and type for line break again

onContentSizeChange logs increased height too late when the input is already on the next line, but without padding it works correctly
Snack, code example, screenshot, or link to a repository
import * as React from "react";
import { TextInput, View, StyleSheet } from 'react-native';

export default function App() {
  const [message, setMessage] = React.useState('')

  return (
    <View style={styles.container}>
      <TextInput
        placeholderTextColor="#909090"
        style={{...styles.input, height: 50}}
        placeholder="Message"
        blurOnSubmit={false}
        scrollEnabled={true}
        onChange={({nativeEvent}) => setMessage(nativeEvent.text)}
        multiline={true}
        value={message}
        onContentSizeChange={({nativeEvent}) => {
            console.log(nativeEvent.contentSize.height)
        }}
      />
    </View>
  );
}

const styles = StyleSheet.create({
  input: {
    backgroundColor: "#F5F5F5",
    height: '100%',
    fontFamily: "Semibold",
    paddingHorizontal: 16,
    paddingVertical: 10,
    borderRadius: 10,
    maxHeight: 150,
    fontSize: 14,
    flex: 1,
  },
});

Expo Snack: https://snack.expo.dev/@redger1/multiline-text-input

@Redger1 I am also facing this issue. Can we tag someone to help look into this issue?

@Redger1 I have a workaround for this issue. Since, the issue with onContentSizeChange is mainly due to horizontal padding. I removed the padding from the TextInput style. Instead, I created a wrapper View which would handle the padding and other border styles for the TextInput component so the UI wise, there is no change and TextInput behaves same on both platform.

It looks like the origin of the bug is here: it should count here for the padding. I wanted to send PR with a fix to this, but couldn’t find where can I take the padding value

Can we reopen this?

I solved the problem
FIX: The height returned by TextInput's 'onContentSizeChange' callback method is incorrect
Reason: Borderwidth and horizontal padding are not subtracted from the content width used to calculate the height of the text
Please use this patch
diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m
index aac20ea..4bc7f9c 100644
--- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m
+++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m
@@ -78,7 +78,9 @@ - (void)invalidateContentSize
     return;
   }

-  CGSize maximumSize = self.layoutMetrics.frame.size;
+  CGSize maximumSize = self.layoutMetrics.contentFrame.size;

   if (_maximumNumberOfLines == 1) {
     maximumSize.width = CGFLOAT_MAX;

@zyestin can you do a PR for that? Changing node modules is not the best thing :/

@zyestin If I will use your patch, I will need to do this every time in a new project? Is there a way to make a pull request or something?

Same issue :/
@zyestin can you do a PR for that? Changing node modules is not the best thing :/

👌🏻 react-native/pull/41803


Dynamic type helps programmer with interpreted languages

I can't compile this nit code. Please fix.
var a = 42
a = "Actually this needs to be a string"
print a

I get this error when trying to compile:
21:08 ~
jp@debian-vm$ nitg serious_script.nit
serious_script.nit:3,5--40: Type error: expected Int, got String
        a = "Actually this needs to be a string"
            ^
Errors: 1. Warnings: 0.

Hi again,
In your case the fix is simple, type a with object statically and enjoy
your script ! :)
On a more serious note though, we should consider transferring the type
system to dynamic, this is in my opinion the main weakness of the language,
well aside from what you expressed in #1237 !
On 1 Apr 2015 12:02, "Jean-Philippe Caissy"<EMAIL_ADDRESS>wrote:

I can't compile this nit code. Please fix.
var a = 42
a = "Actually this needs to be a string"
print a
I get this error when trying to compile:
21:08 ~
jp@debian-vm$ nitg serious_script.nit
serious_script.nit:3,5--40: Type error: expected Int, got String
a = "Actually this needs to be a string"
^
Errors: 1. Warnings: 0.
—
Reply to this email directly or view it on GitHub
https://github.com/privat/nit/issues/1238.

it's a bug in nitc related to niti cf #1236 (in fact no). try:
var a
a = 42
a = "Actually this needs to be a string"
print a

(yes, this works)

With
var a = 42
a = "Actually this needs to be a string"
print a

I get
  File "x.py", line 1
    var a = 42
        ^
SyntaxError: invalid syntax

with Python, and
x.rb:1:in `<main>': undefined method `var' for main:Object (NoMethodError)

with Ruby, and
/home/privat/prog/nit/src/parser/x.js:3
print a
      ^
SyntaxError: Unexpected identifier
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

with nodejs, and
var a = 42
a = "Actually this needs to be a string"
print a

with php... (php, you're so silly...)
Therefore i suspect that the original error is in the program and not in the nit tools since the program does not seems to work even with mainstream dynamically typed languages.


Support workflow status filtering in Argo UI

Now workflow controller assign status labels to each workflow which might be used for filtering.

@roofi07 following PR allows filtering workflows by status: https://github.com/argoproj/argo/pull/550 . Once it is merged, can you please connect UI?


chore:update paths

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

GitHub release
v1.0.0

Your semantic-release bot :package::rocket:


Update crates

Removes nodrop and extra arrayvec
We have an extra crossbeam-queue and crossbeam-utils left but those should
drop once rayon accepts https://github.com/rayon-rs/rayon/pull/704

It's interesting to note that we don't get a duplicated crossbeam-channel, because, while all subcrate of crossbeam have received a major version bump, the umbrella crossbeam crate didn't, and salsa depends on the whole of crossbeam.
bors r+


Video playing on https://lbry.io/get doesn't feel right

The video playing when browsing to https://lbry.io/get is called 'It's a disaster'.
I don't want to think that LBRY is a disaster, please choose another video.

Good find. These things do get subliminally locked in peoples subconscious and can affect their feelings about a product.
Big companies use this in a positive way to sell a product and I also use the technique in my work.
This was obviously not planned but is an important issue that could do with some love <3

https://www.wordstream.com/blog/ws/2017/10/24/subliminal-advertising

This is the line of code that handles that particular gif.
https://github.com/lbryio/lbry.io/blob/master/view/template/download/get.php#L47
Feel free to suggest another gif and change it.
Also, it needs to be changed to represent the latest version of the app.

We'll be updating when the redesign is launched.
It's a Disaster was one of the first major movies released on LBRY, which is why it is showcased on the GIF.

The get page gif is now updated.


Add DB schema using liquibase.

Add a simple DB schema to a new directory called database. On that directory you will find the liquibase properties, a MariaDB driver and a change set file. Also, a description on how to deploy locally the app was added to the README file (Issue #197).

Messed up branches.


Allow more granular skipping of tests via VS Version

Today the IDEFact will let you set a minimum and maximum VS version, but the granularity is only to the level of "2022, 2019, etc". It would be helpful in some instances to have more granular control than that. Ideally we'd be able to specify a specific build as Min or Max.

For now, you should be able to return immediately (without running the test) based on the result of TestServices.Shell.GetVersionAsync.


Unable to uninstall

So i cannot uninstall, as every time i run the installer it throws an error.  Using control panel, it points out it cannot find the msi file to uninstall for 0.37.2  Can someone please just send me the msi uninstall so i can fix my power toy installation!?!

You can extract the msi if you download the installer and then add the argument --extract_msi.
Please tell me if it worked.


pipelineRun and taskRun outcomes should be restricted with enums

According to the current schemas, the pipelineRun.subject.content.outcome and taskRun.subject.content.outcome are not restricted with an enum, but the markdown doc assumes they are.
We should restrict the value range of the outcome and therefore the schemas should be updated to enable that.

Done by #158


V 1.5.1 /setup page error wont open

hi all,
anyone can tell me what issue this is?  i checked the logs and cant find any error.
i have to plave a screenshot of the error as i cant copy the text  for some reason.
http://prntscr.com/obqtb3

:grey_exclamation: Duplicate Issue
Thanks for your contribution. There is already an open Issue about this topic. #796
Feel free to participate in the discussion and share your thoughts in the comments.
:x: Issue closed

Auto-generated response


Refactor codebase for new Game and GameFriendLink

Changes:

Refactor Game -> Game with GameId
Add GameFriendLink
Refactor Friend to maintain a set of GameFriendLink
Make necessary additions and refactoring to other dependent and associated classes like GameList, ModelManager
Make temporary fixes to tests, that are to be updated incrementally where associated.

Future:

Tests for some newly added files and methods haven't been written yet, as these can be added in parallel while others work with this skeleton code.

Issues:

Resolves #54

Testing:
All commands work as previously intended except the link command.
Reason: Need to update the inner workings of the command to match the new structure.
Screenshot:

Depicting the new file/folder structure

Notes:

As this is a large commit (1000+ insertions), I have added all 4 other team mates as PR reviewers to get a higher level of inspection.

Codecov Report

Merging #58 (2510754) into master (74e3471) will decrease coverage by 7.61%.
The diff coverage is 32.22%.

@@             Coverage Diff              @@
##             master      #58      +/-   ##
============================================
- Coverage     71.82%   64.20%   -7.62%
- Complexity      425      432       +7
============================================
  Files            77       85       +8
  Lines          1338     1492     +154
  Branches        130      146      +16
============================================
- Hits            961      958       -3
- Misses          331      474     +143
- Partials         46       60      +14

Impacted Files
Coverage Δ

src/main/java/seedu/address/MainApp.java
0.00% <0.00%> (ø)

...rc/main/java/seedu/address/logic/LogicManager.java
68.18% <0.00%> (-6.82%)
:arrow_down:

...java/seedu/address/logic/commands/LinkCommand.java
22.58% <0.00%> (-58.07%)
:arrow_down:

.../seedu/address/logic/parser/EditCommandParser.java
86.95% <ø> (ø)

src/main/java/seedu/address/model/FriendsList.java
85.71% <0.00%> (-7.15%)
:arrow_down:

.../seedu/address/model/friend/UniqueFriendsList.java
81.63% <0.00%> (-12.49%)
:arrow_down:

...ss/model/friend/gamefriendlink/GameFriendLink.java
0.00% <0.00%> (ø)

.../address/model/friend/gamefriendlink/UserName.java
0.00% <0.00%> (ø)

...ess/model/game/GameIdContainsKeywordPredicate.java
0.00% <0.00%> (ø)

.../model/game/exceptions/DuplicateGameException.java
0.00% <0.00%> (ø)

... and 23 more

Continue to review full report at Codecov.

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


More documentation for docker-compose workflow

In the section about the usage of docker-compose there are several commands
docker-compose run site jekyll new site
docker-compose run --service-ports site jekyll s
docker-compose run site bundle update
docker-compose run site jekyll b

while I kind of figured out what the commands are doing, it would me more intuitive if there was some explicit documentation about what the purpose of each command is. Why is docker-compose up not in the list? It seems to have the same effect as docker-compose run --service-ports site jekyll s.

This is kind of out of scope for me.  I understand I provide a few examples of how to use Docker-Compose, however, it was never my intention to show you how to use Docker-Compose, it was never my intention to say Docker-Compose is recommended.  It's only my intention to show you what is possible if you use Docker-Compose, really.


Help with LSTM

I am new to Keras and I am trying to create a few toy examples so that I get to know Keras better. I was trying to implement a LSTM that takes as inputs two binary strings (b1 and b2, and returns the result of applying b1 OR b2. I know this is not what you would generally use an LSTM for, but I'd still like to try this to get familiar with the different LSTM architectures
I've created a sequence-to-sequence model.  This way:
X_train = (100000, 5, 2) # [samples, time steps, features]
y_train = (100000, 5, 1)
X_test = (30000, 5, 2)
y_test = (30000, 5, 1)

I am creating the LSTM and fitting it with:
model = Sequential()
model.add(LSTM(5, input_dim=2, input_length=5, return_sequences=True))
model.add(TimeDistributed(Dense(1)))
model.compile(loss='mse', optimizer='rmsprop', metrics=['accuracy'])
model.fit(X_train, y_train, batch_size=100, nb_epoch=10,
          validation_data=(X_test, y_test))

However, this doesn't converge, this the output:
Loading data...
100000 train sequences
30000 test sequences
Data Shapes:
 X_train: (100000, 5, 2)
 y_train: (100000, 5, 1)
 X_test: (30000, 5, 2)
 y_test: (30000, 5, 1)
Build model...
Train...
Train on 100000 samples, validate on 30000 samples
Epoch 1/10
100000/100000 [==============================] - 8s - loss: 0.3251 - acc: 0.5748 - val_loss: 0.2094 - val_acc: 0.6819
Epoch 2/10
100000/100000 [==============================] - 9s - loss: 0.1963 - acc: 0.6852 - val_loss: 0.1860 - val_acc: 0.7068
Epoch 3/10
100000/100000 [==============================] - 9s - loss: 0.1772 - acc: 0.7252 - val_loss: 0.1706 - val_acc: 0.7396
Epoch 4/10
100000/100000 [==============================] - 8s - loss: 0.1686 - acc: 0.7394 - val_loss: 0.1665 - val_acc: 0.7453
Epoch 5/10
100000/100000 [==============================] - 8s - loss: 0.1654 - acc: 0.7425 - val_loss: 0.1639 - val_acc: 0.7455
Epoch 6/10
100000/100000 [==============================] - 9s - loss: 0.1634 - acc: 0.7428 - val_loss: 0.1620 - val_acc: 0.7457
Epoch 7/10
100000/100000 [==============================] - 8s - loss: 0.1615 - acc: 0.7471 - val_loss: 0.1601 - val_acc: 0.7511
Epoch 8/10
100000/100000 [==============================] - 9s - loss: 0.1594 - acc: 0.7545 - val_loss: 0.1581 - val_acc: 0.7557
Epoch 9/10
100000/100000 [==============================] - 8s - loss: 0.1576 - acc: 0.7553 - val_loss: 0.1566 - val_acc: 0.7573
Epoch 10/10
100000/100000 [==============================] - 8s - loss: 0.1564 - acc: 0.7554 - val_loss: 0.1559 - val_acc: 0.7585
29900/30000 [============================>.] - ETA: 0sTest score:  0.155859013249
Test accuracy:  0.758480000496

Any clues on what I am doing wrong? I've tried tweaking the hyperparams without much success. Should I be working with another LSTM architecture?

Have you tried running for more than 10 epochs? It looks fine to me, but training stops too early.

Hi CCXD, thanks for your reply. I tried with 50, and 100 epochs and it stagnates at val_acc: 0.8049.

What is the training loss/acc and valid loss at that point? Try adding regularization techniques such as L2 regularization.

I tried adding regularization techniques, but I still don't get any better results. This is what it usually looks like:
100000/100000 [==============================] - 5s - loss: 0.1505 - acc: 0.7601 - val_loss: 0.1509 - val_acc: 0.7596
Epoch 492/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7600 - val_loss: 0.1510 - val_acc: 0.7612
Epoch 493/500
100000/100000 [==============================] - 5s - loss: 0.1505 - acc: 0.7601 - val_loss: 0.1509 - val_acc: 0.7616
Epoch 494/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7609 - val_loss: 0.1510 - val_acc: 0.7594
Epoch 495/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7602 - val_loss: 0.1510 - val_acc: 0.7599
Epoch 496/500
100000/100000 [==============================] - 5s - loss: 0.1505 - acc: 0.7599 - val_loss: 0.1508 - val_acc: 0.7612
Epoch 497/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7603 - val_loss: 0.1509 - val_acc: 0.7619
Epoch 498/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7605 - val_loss: 0.1510 - val_acc: 0.7597
Epoch 499/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7604 - val_loss: 0.1509 - val_acc: 0.7608
Epoch 500/500
100000/100000 [==============================] - 6s - loss: 0.1505 - acc: 0.7600 - val_loss: 0.1508 - val_acc: 0.7608
29550/30000 [============================>.] - ETA: 0sTest score:  0.150830901116
Test accuracy:  0.760773334801

any clues on what to try next? I also tried Dropout, but no success with it either.

I see, the amount of features is very low. Do you know if any other model has achieved a higher performance with those descriptors?
Looks like you'll have to change something in that aspect

Binary operations such as OR, AND, XOR etc are not good examples for RNNs, since there is no sequence / time dependency. Take a look at this page
http://www.xcprod.com/titan/XCSB-DOC/binary_or.html
You can see that each result bit is dependent on only the two bits to be OR'd, and not any surrounding bits.
An RNN should be able to learn it, but it makes for a better example for static NNs, that's why XOR is a 'hello world' example.
Binary addition is a better exercise, since it involves a carry bit which is dependent on the previous operation in the sequence. This is in numpy, not keras, but see this page and scroll down to 'Our Toy Code'
https://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/
On a separate note, are you generating the dataset at random? Because when n=5, 2^5 = 32 so there are only 32 5 bit sequences. So the number of possible OR operations with two 5 bit numbers is 32^2 = 1024, so that's the max size of your dataset. So for low n, you could generate the entire set and then split by train / test / validation.
By the time you get to n = 9 or so it will probably be worth going back to random.


Remove dependency on future for Python 3

As I understand it, the future package has no effect when installed on Python 3, and exists only to allow Python 2 to run Python 3 code. Insofar as OSQP-Python actually relies on any of future's features, it does so only when running on Python 2. Thus, it should be possible to reduce the installation load for Python 3 users by not installing future when hosted on Python 3. To do this, all you would need to do is to change
https://github.com/oxfordcontrol/osqp-python/blob/8e009e7dd41c44d1d2c31f92a5a0a035de6fb9f0/requirements.txt#L3
to
future;python_version<="2.7"

(See PEP 508.)

This is fixed in #35. Feel free to reopen it in case.


Build with only Montgomery curves (conditional mul_add)

Fix compile-time checks to allow building with ECP enabled, but no short Weierstrass curve (i.e. with only Montgomery curves: Curve25519 or Curve448). Also add support for Curve24419 and Curve448 to the self-test of the ECP module. Fix #941, #1412.
Fix the ECP self-test to work with any curve, including secp192k1. Fix #1013.
Test by augmenting curves.pl to test with a single curve, for each curve, in addition to testing with all-but-one curve. The two sets of test catch different problems.

This is an almost complete rewrite of #2013. The two points of divergence are:

In this PR, mbedtls_ecp_mul_add is not defined in a Montgomery-only build, following the discussion in #2013. As a consequence, ecp.h now defines preprocessor symbols to indicate the presence of at least one curve for each curve class (short Weierstrass, Montgomery).
For testing, the previous PR used a fixed configuration, but this was unsatisfactory for several reasons. This PR expands curves.pl as described above.

To make curves.pl pass, I needed to also:

Fix the dependencies of ECDSA: it needs a short Weierstrass curve.
Fix the ECP self-tests to cope with any curve. Fix #2017.

Abandoned features from the previous PR:

The “DJB-only” reference configuration. The library is not ready for this yet.
A small fix to some cipher test suites which is also in #1919.
Support HMAC_DRBG in the TLS test programs, for which I'll make a separate PR.

I don't think this needs to be backported since this is about supporting configurations that we didn't support before, not about fixing the behavior of officially supported configurations.

retest

CI is passing apart from a failed test step involving Coverity which is failing for configuration reasons. We're also missing Travis results (why? how?), but any problems missed there will get caught in gatekeeping checks. Therefore, labelling as 'ready to merge'.

@sbutcher-arm Travis doesn't run when there's a conflict. This PR has a changelog conflict, as do many others. The reason for this is that the Travis job tries to merge with the target branch tip. This gives more accurate results than running on the actual PR code, but doesn't work out well for us because almost every changelog addition results in a conflict according to git's merge strategy.

There's a conflict in library/ecp.c. Demoting to 'needs: work'.
cc: @gilles-peskine-arm, @Patater

New, rebased branch at https://github.com/gilles-peskine-arm/mbedtls/tree/build_with_only_montgomery_curves-conditional_mul_add-march . This branch is based on some PRs that are pending merge, I'll do a last rebase and update this PR once those PRs are merged. What's changed:

“mbedtls_ecp_muladd is only for short Weierstrass curves” was reworked to include mbedtls_ecp_muladd_restartable.
In “Replace ECP_xxx by MBEDTLS_ECP__xxx_ENABLED”, I re-did the search-and-replace of ECP_xxx by MBEDTLS_ECP__xxx_ENABLED rather than attempt conflict resolution syntactically.
New commit “Fix unused variables in Montgomery-only configuration”.
Changelog updated to mention #1147.
Other than that, there were a few trivial conflicts during the rebase (colocated additions).

Any progress on merging this? We disabled the old curves in one of our builds and ran into this exact issue.

I did another rebase, starting with the version from https://github.com/ARMmbed/mbedtls/pull/2019#issuecomment-468280117 .
Changes:

"Add Curve25519 and Curve448 to check_config.h" has disappeared because this was done independently in the meantime.
Renamed MBEDTLS_ECP__xxx_ENABLED to not have double-underscores since it's come to our attention that these names are reserved in C++.

@wyattoday I've rebased this branch on top of current development. The next step is to review. Unfortunately, bandwidth for review is still a limiting factor for the Mbed TLS team.

Another rebase:

Add back "ECDSA requires a short Weierstrass curve" which had disappeared in the “march” (Feb 2019) rebase.
"Document what needs to be done when adding a new curve": move the comment outside the enum braces to pacify check-names.sh.
"Add ChangeLog entry for single-curve build fixes": fix indentation.

Since the original version of this pull request, two major things happened in the ECP module: restartable ECC, and Everest (which includes a new ECDH context format).
Restartable ECC had the following impact on this PR:

mbedtls_ecp_muladd_restartable needs to be excluded like mbedtls_ecp_muladd when no short Weierstrass curve is enabled.
Heavy reshuffling of #if defined(ECP_WEIERSTRASS) and #if defined(ECP_MONTGOMERY) inside ecp.c. This has no impact on the semantics of the changes in this PR, but caused many conflicts when applying "Replace ECP_xxx by MBEDTLS_ECP__xxx_ENABLED" on top of restartable ECC.

Everest had the following impact on this PR:

Everest should be tested with Curve25519 as the sole curve, since it may well fail differently from the default Curve25519 implementation as the sole curve. I did this in a new all.sh component.

To cross-check, I made a merge of development plus some adaptation commits with the version of this pull request that was approved in October 2018. The result (which I didn't try to get to pass CI) is https://github.com/gilles-peskine-arm/mbedtls/tree/build_with_only_montgomery_curves-conditional_mul_add-july-merge . I checked that the differences and they are all either cosmetic, or improvements in the version obtained by rebasing.

CI says that the automatic merge with development produces code that doesn't build in most configurations. Either the new function mbedtls_ecp_write_key needs tweaking or the automatic merge didn't put the bits together sensibly. I'm afraid I'll have to rebase. The current version is at https://github.com/gilles-peskine-arm/mbedtls/tree/build_with_only_montgomery_curves-conditional_mul_add-4

Rebased. The new version is identical to the merge of https://github.com/gilles-peskine-arm/mbedtls/tree/build_with_only_montgomery_curves-conditional_mul_add-4 and https://github.com/ARMmbed/mbedtls/tree/development except that the new function in development mbedtls_ecp_write_key now uses the renamed preprocessor guards for curve families from this PR. The history is the same, with “Replace ECP_xxx by MBEDTLS_ECP__xxx_ENABLED” now having two more replacements.


Use UIAlertControllerStyleAlert for UIAlertControllers on iPads #480

If running on an iPad, use UIAlertControllerStyleAlert for UIAlertControllers. This will place the popups in the centre of the screen on iPads, and on the bottom of the screen for iPhones (as before).

@apike Seems odd to show these errors on the bottom of the screen even on a phone. Is there a reason this was being done this way?

Yeah, that is really odd - seems like a conversion error or something? We would only want the bottom-of-screen action sheet when it happens in response to a user action and there are multiple options for them to pick from. Shall we just switch it to using a pop-up alert on both devices?

@apike I think moving the errors to be shown as alerts on both phone and tablet makes more sense.

The code seems reasonable to me - to Abey for testing these network errors on iPad and iPhone.

Looks good to me 💯

Merged with master and fixed up conflict. Once BuddyBuild verifies a successful build I will squash and merge.


FFmpeg Device / USB-camera: Power Saving / Turn Camera Off / Nginx exec_pull

Hello,
Many thanks for this great project. I'm not sure if this is somehow supported but here's my question / feature request.
I'm used to use Nginx to publish a rtmp stream from a USB camera and I wanted to move to this project as it supports more camera types and seems to have less latency than what I get with Nginx. Here's my typical Nginx config for refence.
rtmp {
        server {
                listen 1935;
                chunk_size 4096;
                allow publish <IP_ADDRESS>;
                deny publish all;

                application live {
                        live on;
                        exec_pull /usr/bin/ffmpeg -f v4l2 -input_format h264 -video_size 1920x1080 -i /dev/video4 -copyinkf -codec copy -f flv rtmp://<IP_ADDRESS>/live/stream;
                        record off;
                }
        }
}

The important part here is the exec_pull option. It starts external process when first subscriber connects to the stream and kills it when the last one disconnects. It's extremely useful if you don't want the stream to be always pulled and transcoded but only do that when there's at least one client.
This means that whenever nobody is consuming the stream ffmpeg is killed and the camera is turned off / saving power. Is there a way to have the same behavior with go2rtc?
Thank you!

This is the default behaviour. And users are now asking just the opposite - that the stream should run all the time, regardless of clients.

This is the default behaviour.

Great then! I'll to give it a try.

And users are now asking just the opposite - that the stream should run all the time, regardless of clients.

Maybe include an option on the settings for those users? But I personally like it to only run whenever there's someone connected.

This feature is not so easy to implement. The application architecture is not ready for it


Sign in without explicit "Grant admin consent"-set gives "No authorization code provided"

I'm implementing django-auth-adfs in an organisation that has some strict permission inside Azure. We are unable to grand admin consent and so when trying to sign in the use has to grant access themselves. They see an extra popup with the permission asked and if they want to grant them. Upon doing that they'll be redirected but the message
"No authorization code provided" gets thrown.
In my test application this just works when "Granting admin consent".

The URL does give some more information, this is part of it

The+user+or+administrator+has+not+consented+to+use+the+application+with+ID
This+happened+because+application+is+misconfigured%3a+it+must+require+access+to+Microsoft+Graph+by+specifying+at+least+%27Sign+in+and+read+user+profile%27+permission

While the permission is granted it is not done via Admin consent.
Do you know if this is by design? Is this just something that django-auth-adfs does not support?

I can confirm that granting the permission via Admin consent does work and allows the users to sign in. This solves my problem.
From what I gather this is a normal setup azure documentation on admin consent.
This involves the process of requesting the consent from an admin, azure configure consent workflow.
Not sure if the other option should indeed work and I can't really find any good documentation on the subject with regards too applications trying to use this.
I'll close this issue as this 1. seems to be the default way of working with apps and oauth within Azure. 2. my problem has been solved 🙂


Lines falsely identified as commands in shell session

Information

Language: Shell session
Plugins: none

Description
# lines are falsely identified as commands.
Only lines that start with $ (in following example) should be considered commands.
Here are a few examples in production (each highlighted word is a separate link).
Issue is likely related to https://github.com/PrismJS/prism/issues/2644.
Thanks for helping out!
Code snippet
Test page

#: lines are falsely identified as commands
$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.1 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.1 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD - Data     340.9 GB   disk1s1
   2:                APFS Volume Preboot                 85.9 MB    disk1s2
   3:                APFS Volume Recovery                529.0 MB   disk1s3
   4:                APFS Volume VM                      3.2 GB     disk1s4
   5:                APFS Volume Macintosh HD            11.3 GB    disk1s5

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32 boot                    268.4 MB   disk2s1
   2:                      Linux                         15.7 GB    disk2s2

$ sudo diskutil unmount /dev/diskn
disk2 was already unmounted or it has a partitioning scheme so use "diskutil unmountDisk" instead

$ sudo diskutil unmountDisk /dev/diskn (if previous step fails)
Unmount of all volumes on disk2 was successful

$ sudo dd bs=1m if=$HOME/Downloads/tails-amd64-4.18.img of=/dev/rdiskn
1131+0 records in
1131+0 records out
1185939456 bytes transferred in 44.708618 secs (26525970 bytes/sec)

$ sudo diskutil unmountDisk /dev/diskn
Unmount of all volumes on disk2 was successful

Commands starting with # are a feature, not a bug.
The problem is that there is some ambiguity here. I'll make a PR fixing that.

Commands starting with # are a feature, not a bug.

👍

The problem is that there is some ambiguity here. I'll make a PR fixing that.

Thanks so much for helping out. 🙌


Fix issue on linux kde window Disappears

Fix the #556 issu

cerebro-bin-0.11.0-1 still not working on KDE.

Also confirming that the issue implemented in cerebro-bin 0.11.0-1.
Tested on KDE version 6.02.


Update README.md

Added h37-fakestream with alphabetical sort

Superseded by https://github.com/faker-js/awesome-faker/pull/3


Also allow dot secrets dot yaml

Related PR in esphome/esphome#2649. This allows for specifying secrets in a file called .secrets.yaml. This PR adds the possibility to edit this file from the Dashboard.

I will follow the comment in esphome/esphome#2649 from @balloob and skip (or warn) at files called secrets.yaml and secrets.yml