feat: Added Recursive Bubble Sort

Description of Change
I recently contributed to Algorithms-Explanation repository and added the explanation for Recursive Bubble Sort. I further decided to add implementation for the same and used the existing bubble_sort.cpp as a reference to write my code.

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:
Recursive implementation of bubble_sort.cpp

Is this better?

Can you please tell me the specific area where my documentation is lacking? I used the iterative bubble_sort.cpp as a reference for my code, and my code structure and documentation are very similar to it.

bubble_sort.cpp is kinda old and doesn't conform too much to our guidelines. As I mentioned above, please check the typical structure of a program for how to make your code as per our guidelines. Thank you. 🙂

Okay! Will do. Sorry for the confusion 😅

Done! :D

I have made the changes that you requested! :D

Thanks! I learnt a lot from this pull request, and I hope to make some more in the future! :)


Wrong positioned floating thumb?

I set up my RecyclerView as README writes, but finding the thumb view has a wrong position. Like this:

It's about that I press the letter 'M' (middle of the screen), the thumb starts showing from the top. And then keep sliding the letters on right side, the thumb also follows, starts going down. It always has a half-screen distance between the pressed letter and the thumb.
My XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
>
    <androidx.recyclerview.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/recycler_view"
    />
    <com.reddit.indicatorfastscroll.FastScrollerView
            android:layout_width="32dp"
            android:layout_height="match_parent"
            android:id="@+id/fast_scroller"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
    />
    <com.reddit.indicatorfastscroll.FastScrollerThumbView
            android:id="@+id/fast_scroller_thumb"
            android:layout_width="40dp"
            android:layout_height="match_parent"
            android:layout_marginEnd="16dp"
            app:layout_constraintBottom_toBottomOf="@+id/fast_scroller"
            app:layout_constraintEnd_toStartOf="@+id/fast_scroller"
            app:layout_constraintTop_toTopOf="@+id/fast_scroller"
    />
</androidx.constraintlayout.widget.ConstraintLayout>

Recently I have also faced this issue and I solved it by changing the FastScrollerThumbView tag id from fast_scroller_thumb to something else. I don't why but it seems that if you used the same id as the FastScrollerThumbView library layout id i.e. fast_scroller_thumb  then it triggers this positioning issue.

Oh thanks for the info! Now I got it worked!

I don't know why I picked this conflicted ID for the thumb view... But just having solved it, I can close this issue.


add WebglPointsLayer and SourceWebglPoints

add WebglPointsLayer and SourceWebglPoints
Description

add WebglPointsLayer and SourceWebglPoints
Motivation and Context

When the openlayer renderer over 10000 points in vector layer without using cluster, the browser will be super lag.
according to https://openlayers.org/en/latest/examples/webgl-points-layer.html,
webgl layer is a solution

How Has This Been Tested?

I add an example in App.vue by using geojson data from https://openlayers.org/en/latest/examples/webgl-points-layer.html

It worked!

Screenshots (if appropriate):

Types of Changes

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

Checklist:

[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

thanks for your contribution. Please update  v0.1.59


mx.nd._internal._mul_scalar and other scalar operators give incorrect results when PySide2 is used

Description
Creating an instance of PySide2.QtCore.QCoreApplication makes mx.nd._internal._mul_scalar and other scalar operators function incorrectly.
To Reproduce
import argparse

import mxnet as mx
import numpy as np

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="Demonstrate an MXNet incompatibility with PySide2.")
    parser.add_argument("--import-pyside", dest="import_pyside", action="store_true", default=False)
    parser.add_argument("--create-app", dest="create_app", action="store_true", default=False)
    parser.add_argument("--scalar", type=float, default=0.6)
    args = parser.parse_args()
    if args.import_pyside:
        from PySide2.QtCore import QCoreApplication

        if args.create_app:
            app = QCoreApplication()

    tensor = mx.nd.full(shape=(375, 600, 3), val=255).astype(np.int32)
    tensor = tensor.astype(np.float32)
    scalar = args.scalar
    print("All of the following operations should yield the same result:")
    print("Multiply numpy ndarray by scalar: ", (tensor.asnumpy() * scalar).max())
    print("Multiply MXNet NDArray by MXNet NDArray: ", (tensor * mx.nd.array([[[scalar]]])).max().asscalar())
    print("Multiply MXNet NDArray by float: ", (tensor * scalar).max().asscalar())

Steps to reproduce
(Paste the commands you ran that produced the error.)

Install a Python 3.7.2 virtual environment with PySide2 and MXNet.
Run the provided script without any arguments. You should see the following results:

All of the following operations should yield the same result:
Multiply numpy ndarray by scalar:  153.0
Multiply MXNet NDArray by MXNet NDArray:  153.0
Multiply MXNet NDArray by float:  153.0

Run the provided script with --import-pyside. You should observe the same results.
Run the provided script with --import-pyside --create-app. The following output will be printed into the console:

All of the following operations should yield the same result:
Multiply numpy ndarray by scalar:  153.0
Multiply MXNet NDArray by MXNet NDArray:  153.0
Multiply MXNet NDArray by float:  0.0

Run the provided script with --import-pyside --create-app --scalar 1.6.The following output will be printed into the console:

All of the following operations should yield the same result:
Multiply numpy ndarray by scalar:  408.0
Multiply MXNet NDArray by MXNet NDArray:  408.0
Multiply MXNet NDArray by float:  255.0

This suggests that the float scalar is being rounded down to an integer.
What have you tried to solve it?

Using the naive engine, disabling op fusion, common expression elimination, and inplace optimizations did not solve the issue.

Environment
We recommend using our script for collecting the diagnositc information. Run the following command and paste the outputs below:
----------Python Info----------
Version      : 3.7.2
Compiler     : GCC 7.4.0
Build        : ('default', 'Oct 23 2019 22:40:04')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 18.1
Directory    : /home/nick/.pyenv/versions/mxnet-dev/lib/python3.7/site-packages/pip
----------MXNet Info-----------
Version      : 1.6.0
Directory    : /home/nick/workspaces/3rdparty/incubator-mxnet/python/mxnet
Num GPUs     : 1
Hashtag not found. Not installed from pre-built package.
----------System Info----------
Platform     : Linux-5.0.0-37-generic-x86_64-with-debian-buster-sid
system       : Linux
node         : REDACTED
release      : 5.0.0-37-generic
version      : #40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019
----------Hardware Info----------
machine      : x86_64
processor    : x86_64
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               42
Model name:          Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
Stepping:            7
CPU MHz:             2314.518
CPU max MHz:         3700,0000
CPU min MHz:         1600,0000
BogoMIPS:            6585.04
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            6144K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0069 sec, LOAD: 0.8626 sec.
Timing for GluonNLP GitHub: https://github.com/dmlc/gluon-nlp, DNS: 0.0005 sec, LOAD: 0.5098 sec.
Timing for GluonNLP: http://gluon-nlp.mxnet.io, DNS: 0.1136 sec, LOAD: 2.0384 sec.
Timing for D2L: http://d2l.ai, DNS: 0.0912 sec, LOAD: 1.0025 sec.
Timing for D2L (zh-cn): http://zh.d2l.ai, DNS: 0.0514 sec, LOAD: 1.1740 sec.
Timing for FashionMNIST: https://repo.mxnet.io/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.1106 sec, LOAD: 0.7961 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0067 sec, LOAD: 0.8546 sec.

Seems to be the same issue as #16134. Closing.


unfs3 was moved to the boneyard

See: https://github.com/Homebrew/homebrew-core/pull/7667
We either need to get this reversed or add it to the dinghy tap.

As a workaround, you can just install unfs3 from boneyard explicitly, and continue with Dinghy install normally:
brew install homebrew/boneyard/unfs3

That's exactly what I did. Not good for new users though.

👍

Bleh that's a pain. I've added ufs3 to the dinghy tap for now while I try to get this resolved with homebrew. Installation succeeds, though you'll see Warning: Bottle installation failed: building from source. and it'll build from source, because I'm not sure how to fix the bottle setup. Can somebody else confirm they can install without manually tapping from boneyard now?

Hi. I tried to upgrade dinghy today, and ran into a problem.
~> brew upgrade dinghy
Updating Homebrew...
==> Upgrading 1 outdated package, with result:
codekitchen/dinghy/dinghy 4.4.2
Error: Formulae found in multiple taps:
 * codekitchen/dinghy/unfs3
 * homebrew/boneyard/unfs3

Please use the fully-qualified name e.g. codekitchen/dinghy/unfs3 to refer the formula.

Maybe adding unfs3 to your own tap has made this worse? I had run brew update beforehand. Let me know if you need anymore information.

Ah, I hadn't tried it with the boneyard tapped as well. I also didn't realize that I could give a fully-qualified name for a dependency, so I've modified the dinghy tap to remove its new copy of the unfs3 formula, and it references homebrew/boneyard/unfs3 directly now.
In my testing, that results in auto-tapping the boneyard if you don't already have it tapped. That seems OK to me, especially since this should be a temporary solution.

I'm going to close this issue as the workaround seems to be working OK. Follow https://github.com/Homebrew/homebrew-core/pull/7825 if you're interested in the efforts to get unfs3 added back to homebrew-core.


Replace goog.abstractMethod

With very convenient timing, the June compiler release "Added support for @abstract on methods as an ES6-compatible alternative to goog.abstractMethod" - see also https://developers.google.com/closure/compiler/docs/js-for-compiler#tags
So I've replaced all goog.abstractMethod with empty functions and an @abstract annotation (plus a couple of small docs changes to keep the linter happy).

I'm wondering if ol.nullFunction would work instead of defining an empty function every time. Maybe the type of ol.nullFunction would have to be changed to something like /** @type {function(...*): *?} */.

the compiler objects if the params in the abstract method don't match those in the implementing method, so I'm not sure that would work. What would you see as the advantage?

I just played with this, and I could not find a way to make it work with an alternative approach. But I could verify that the compiler strips these definitions out completely - the build size is the same with and without this change.

Thanks @probins!


Spring context creation not logged

When using the @ActiveProfiles annotation, the Spring context creation is not logged. ~This might be due to the fact that we only watch for the ContextRefreshedEvent and this could be a ContextCreatedEvent.~
Update: There is not any application context related event triggered that we could intercept. Not even the ApplicationContextEvent shows any activity. This will be really hard to fix because it relates to #15 which we also have not fixed yet.
Example:
@ExtendWith(SpringExtension.class)
@SpringBootTest
@ActiveProfiles("test-profile")
public class FourthApplicationTest {

    @Autowired
    private String testString;

    @Test
    public void testMethod() {
        System.out.println(testString);
    }

    @Profile("test-profile")
    @Configuration
    static class testProfileConfig {
        @Bean
        String testString() { return "Test Profile String"; }
    }
}

The generated JSON from the report file looks like this:
{
    "reportTitle": "JUnit Insights Report 03.01.2019 13:12:00",
    "created": "Jan 3, 2019, 1:12:00 PM",
    "springContextsCreated": 0,
    "testClasses": [
        {
            "name": "ThirdApplicationTest",
            "firstTimestamp":<PHONE_NUMBER>642,
            "methods": [
                {
                    "name": "testMethod()",
                    "firstTimestamp":<PHONE_NUMBER>778,
                    "before": 356,
                    "exec": 2,
                    "after": 2,
                    "successful": true
                }
            ],
            "beforeAll": 1136,
            "before": 356,
            "exec": 2,
            "after": 2,
            "afterAll": 2,
            "between": 0,
            "spring": 0
        }
    ]
}

This was fixed in #116


Accessibility - error message work history

Context
An error message was not being rendered within the radio buttons. This was because the attribute in the fieldset did not match the attributes in the radio buttons.
Changes proposed in this pull request

Change radio button fieldset attribute

Guidance to review
Before

After

Link to Trello card
https://trello.com/c/ujMATkdd/244-bug-error-is-not-repeated-within-radios-for-work-history-question
Things to check

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

 Bug: error is not repeated within radios for work history question


System tray icon disappears after screen lock

Describe the bug
5.5.0-beta.4, on Ubuntu 19.10: The Franz icon disappears from the system tray after the screen is locked and unlocked.
To Reproduce
Steps to reproduce the behavior:

Go to 'File' -> 'Settings'
Turn off 'Show Franz in system tray', than turn it on again.
Verify that the Franz icon is in the system tray
Lock screen
Unlock screen
The Franz icon is no longer in the system tray

Expected behavior
The Franz icon is expected to stay visible in the system tray after screen lock/unlock or suspend/resume.
Desktop (please complete the following information):

OS: Ubuntu 19.10
Version 5.5.0-beta.4

I'm experiencing the same issue;

OS: Ubuntu 20.04 LTS
Version 5.5.0-beta.3

Same here with Ubuntu 20.04 LTS and Franz Version 5.5.0-beta4.

Seems like the issue only affect Ubuntu!

Just updated from 19.10 to 20.04 POP LTS and icon dissapeared. If you install the flatpak version of Franz it is displayed correctly, otherwise just the invisible box.

I just want to add that i updated to v 5.5.0 (deb package) from beta4 and the issue still stands.

reproduces for Franz 5.5.0 on Ubuntu 18.04.4


Failure test cases

We need tests that are supposed to fail, and make sure they fail in a defined way.  In particular, many deserializers allow fields to be null even though they shouldn't be.  It might require a lot of boilerplate in some languages to force them to be non-nullable, in which case we could add an option to not be strict about null.

TypeScript runtime typechecks also need these tests.


Packaging request: normcap

Project description
OCR-powered screenshot tool to capture text instead of images.
Metadata

homepage URL: https://dynobo.github.io/normcap/
source URL: https://github.com/dynobo/normcap
license: GPL3
platforms: unix
example package: AUR (PKGBUILD)

I started working on this but I'm stuck at how to package with qt

This seems to be a poetry-based project, meaning you should set format="pyproject" and add poetry-core as a nativeBuildInput. If adding the python qt libraries is not sufficient, then try using the hooks for Qt applications.

https://github.com/nix-community/nur-combined/blob/6bddae47680482383b5769dd3aa7d82b88e6cbc8/repos/renesat/pkgs/normcap/default.nix#L42

I'll try to make a PR with this, ty

Is it possible that normcap causes issues in recent NixOS?

error: builder for '/nix/store/zk4imnx8zyibcghr5lriq31rwsyzcpvn-normcap-0.5.4.drv' failed with exit code 1;
       last 10 log lines:
       > =========================== short test summary info ============================
       > FAILED tests/test_app.py::test_get_application - RuntimeError: Please destroy the QApplication singleton before creating a n...
       > FAILED tests/tests_gui/test_loading_indicator.py::test_radius - AttributeError: 'LoadingIndicator' object has no attribute 'timer'
       > FAILED tests/tests_gui/test_loading_indicator.py::test_opacities - AttributeError: 'LoadingIndicator' object has no attribute 'timer'
       > FAILED tests/tests_gui/test_loading_indicator.py::test_show_starts_timer - AttributeError: 'LoadingIndicator' object has no attribute 'timer'
       > FAILED tests/tests_gui/test_loading_indicator.py::test_hide_stops_timer - AttributeError: 'LoadingIndicator' object has no attribute 'timer'
       > FAILED tests/tests_gui/test_loading_indicator.py::test_frame_count_progresses - AttributeError: 'LoadingIndicator' object has no attribute 'timer'
       > FAILED tests/tests_gui/test_loading_indicator.py::test_circles_are_rendered - AttributeError: 'LoadingIndicator' object has no attribute 'timer'
       > ==== 7 failed, 297 passed, 15 skipped, 21 deselected, 13 warnings in 5.69s =====
       > /nix/store/9wnvhjyxjykwn5y06xc9a2h8rs5fbfia-stdenv-linux/setup: line 1579: pop_var_context: head of shell_variables not a function context
       For full logs, run 'nix log /nix/store/zk4imnx8zyibcghr5lriq31rwsyzcpvn-normcap-0.5.4.drv'.
error: 1 dependencies of derivation '/nix/store/2pvf5yvj6qi68k6hzlp6s3pjab7m09m5-home-manager-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/mja27h5nbrcn4m82rb2mc972sxr625bp-home-manager-generation.drv' failed to build
error: 1 dependencies of derivation '/nix/store/2wxil3bbrlk02vkg8qvwgr56q7i936q7-user-environment.drv' failed to build
error: 1 dependencies of derivation '/nix/store/wib7xmij8pai67c6mvdvcplzqkl797n5-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/lbcml8mj88hiv0s2glv86ks2gm5lbr29-nixos-system-nixos-24.05.20240421.6143fc5.drv' failed to build

> nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.21, NixOS, 24.05 (Uakari), 24.05.20240312.0ad13a6`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos-23.11, unstable"`
 - nixpkgs: `/nix/store/k5l01g2zwhysjyl5zjvg5zxnj0lyxpp1-source`

Fixed by https://github.com/NixOS/nixpkgs/pull/305822 which reaches unstable in a few fays


Allow unquoted keys in gitgitgadget.cismtpopts in config

Quotes will now be added to gitgitgadget.cismtpopts JSON keys as needed.
Quoting can be difficult to set in automation where env variables may
be used to issue git config commands.
A possible GitHub action may need the cismtopts set as a secret.  The windows cmd environment has problems setting the config.

A possible GitHub action may need the cismtopts set as a secret. The windows cmd environment has problems setting the config.

Great!
Please note that GitHub seems to call these things "GitHub workflows", and the building blocks of those workflows are "GitHub Actions".

Please note that GitHub seems to call these things "GitHub workflows", and the building blocks of those workflows are "GitHub Actions".

"GitHub Actions" (capitalized) appears to be the product name.  Yes it is about workflows, which have jobs which contain "actions" or tasks/steps.  I was referring to an action.
@dscho would you like the workflow added to gitgitgadget?  It will run on both linux and windows to ensure compatibility.  Should a secret be needed to enable it so only devs who want it get it?

I'd love to have that workflow, and I don't think we need to install any secret.


500: Don't bid NT without Joker

Also in many many areas of the country (USA) a No Trump Indication means the person or Bot has the Joker and the Bot routinely indicates NT when it has trash.

Perhaps related:

I humbly suggest you either fix how the bot plays no-trumps. Or just block it from calling no-trumps.
90% of the time it calls no-trumps, it loses the hand.


Update live branch from master

Merging changes from master (specifically the update to the broken Outlook Actionable Messages link, but apparently there were also other things in master that hadn't been merged)

OPS Build status updates of commit 6c3f78c:
:clock10: Preparing: average preparing time is 45 sec(s)

OPS Build status updates of commit 6c3f78c:
:clock10: Incremental building: average incremental building time is 18 sec(s)

OPS Build status updates of commit 6c3f78c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/docfx.json
:white_check_mark:Succeeded

AdaptiveCards/getting-started/bots.md
:white_check_mark:Succeeded

AdaptiveCards/resources/future.md
:white_check_mark:Succeeded

AdaptiveCards/resources/partners.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/javascript/getting-started.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/net-html/render-a-card.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/net-wpf/render-a-card.md
:white_check_mark:Succeeded

AdaptiveCards/sdk/rendering-cards/uwp/native-styling.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[DUOS-2174][DUOS-2347][risk=no] Remove v1 match algorithm

Addresses
Partially addresses https://broadworkbench.atlassian.net/browse/DUOS-2174
Fully addresses https://broadworkbench.atlassian.net/browse/DUOS-2347 which is a partial duplicate of 2174
This PR removes the v1 match algorithm that has been unused since Consent migrated to using the v2 match endpoint.
Future PRs will remove other deprecated code paths that make use of UseRestriction.

Have you read CONTRIBUTING.md lately? If not, do that first.

Label PR with a Jira ticket number and include a link to the ticket
Label PR with a security risk modifier [no, low, medium, high]
PR describes scope of changes
Get a minimum of one thumbs worth of review, preferably two if enough team members are available
Get PO sign-off for all non-trivial UI or workflow changes
Verify all tests go green
Test this change deployed correctly and works on dev environment after deployment

@nmalfroy @fboulnois  - very sorry but I missed a bunch of classes in the scala automation directory. These tests are run each morning (I tested manually) and report results to QA's BQ tables. We're in the middle of migrating all of those to java based tests.


Play -> Create game dialog: No "Friends only" option

Split from #848.
Thy Python client has the "Friends only" option:

Labeling as minor issue because it's the impact on the user, not the complexity. I even would say it's cosmetic because a user could provide a password.

I also thought this was broken server-side (or maybe it was just python client-side) but apparently, it's been implemented/fixed https://github.com/FAForever/server/blame/eff0729087a0b56e8ce1388da99c766409d80d08/server/init.py#L112
So yes, we should support it.

Classes are already there but can not be set in UI


Rename "markerClick" output to "click"

Warning: nitpick ahead. I think it's the best we follow the usual convention. People expect this event to be called simply click. Relevant code here. Seeing this, I'd also vote for moving all events to lowercase instead of camelCase, to match the native events.

Looks like this is actually not possible. Native DOM elements are still present and although we can add (click) event, it would fire off our own, plus the native DOM, which is just more confusing.


MoodCat classifier test #47

Merge into #47
In order to get started with #51

Apart from the formatting it looked good. Ready to merge.

Note: As soon as we start working edit the error to a workable value.


Changing model values when dragging

Hello Lucklooke, thanks for this wonderful project.
I have a question regarding the usage of this. I implemented drag and drop with this project in angular. My question is :- I am using a list of objects as my model, which I set in the div using ng-repeat. When I drag an item o another div, is it possible to change/modify some property of the object that I dragged ?
I tried ways to get the model of the moving object, but failed. Hope someone have found a solution for this.

Model of dragged element can be accessed via service dragularService.shared.sourceModel[dragularService.shared.initialIndex]. I know it is not very polished way, but it should work ;)


Bulk Update of notes to Quip

Related to https://github.com/sblakey/obsidian-quip/issues/8
A command (e.g. "Bulk Update Notes to Quip") enabled that will gather up all notes in the vault that have a "quip" value in the frontmatter (meaning they were previously exported and the quip url was saved), display a checkbox list of all of those notes to enable which ones to export (or not), allow the user to check (or not) the various notes, and then export the checked notes to quip at the same previous url they had before.

YES.
(and thanks for adding these issues).


Update to 1.17.1

Fixes #11
Fixes #10

Fix particles
Removed jna from discord-rpc
Fix text2speech (narrator)

@blueberry-bot addentry major Core;Update to 1.17.1


VideoMetaData is not working

When loading a YouTube video on the currently deployed version, no video metadata is shown.
In addition to that, the following error appears in the console:
TypeError: "e.videoMetaData is null"
    Ge VideoMetaData.vue:1
    VueJS 7
    it es.promise.js:114
    r microtask.js:26
instrument.js:110:45

Thanks to Frederico we figured out that I simply forgot to update the production API-Keys


Support linuxArm64/linuxX64/mingwX64

Currently Linux ARM64 is not supported. It would be great to get support for this for at least the jvm() target, but maybe for the linuxArm64() target as well.
This would allow using this library for both server-side ARM64 Linux and desktop ARM64 Linux applications.

Hi @jakobkmar. Thanks for the input. It is almost just (🙈) a matter of extending our CI build matrix, but we also need to restructure the build a bit to enable proper parallelization of the individual platform builds and test to avoid stalling our pipelines. This is already on our nearterm roadmap.

Hi @jakobkmar Yes, that is correct. Nothing technically prevents us from supporting these platforms, but as you say, we do need to be able to test them before we can ship the support.

When adding support for this we should consider using the same toolchain as Kotlin so we avoid any binary compatibility issues https://github.com/JetBrains/kotlin-native/pull/2917/files#diff-4fc3178fb05af292931b549048e0c2a3142a1953433264d65fb3e71130780694R227
It is unclear if JetBrains setup mean that some specific variants of Linux ARM64 are not supported.


Height is applied to header as negative

Was wondering why the height is set as negative,
https://github.com/renancaraujo/bitmap/blob/ed8df15d759eb15a4819711f7670315893fefd2a/lib/bitmap.dart#L87

I actually spent 1 whole month trying to figure out that. The answer is here: https://stackoverflow.com/questions/8346115/why-are-bmps-stored-upside-down

And here: https://stackoverflow.com/questions/26144955/after-writing-bmp-file-image-is-flipped-upside-down

Closing as this is intentional


New versions of gmail don't have that table anymore

Feel free to discuss

Hey there and thanks for the patch!
I've tested the existing version on my free grandfathered "legacy" GSuite account, and the existing code seems to work fine there, at least for me.
Maybe the best approach would be to combine the two checks into one, just to be sure it keeps on working equally well for everyone? Could you update your PR to do that instead?
If you do that, I'll merge and push a new version to npmjs.

Ive retested, and now this code is the only one which works on plain gmail.com accounts and my grandfathered Google apps account. Consider this good enough :)


Frame blending between scenes

I suggest adding an option (even the default one) so that when changing a scene, you do not copy the last frame, but blend the last frame of the old scene with the first frame of the new scene.
This is what Topaz Video does and it looks pretty good, better than doubling the last frame.

Isn't what sc=false doing?

Yes, rather average :)

You want the average of the last frame of the old scene and the first frame of the new scene?

You want the average of the last frame of the old scene and the first frame of the new scene?

The new version of Topaz (Chronos) does it even differently, but I don't know what algorithm it is.
1:

2 (intraframe):

3:

In any case, in both cases there is no feeling of video chopping.

You can try the new version 1.2.0. Parameter sc1 is added.

Thanks! I will check how it works and write.


Server Hang on Offline Player Lookup

I can reliably cause a Spigot 1.8 server to hang with the following set up:

WorldGuard is installed
PreciousStones is installed
I set off TNT near a protection field of an offline player

The resulting hang log is here:
http://pastebin.com/tNc5aDx7

I suggest getting a better internet connection. That hang is in Mojang code, not PEX code.


ProfilerMiddleware will overwrite .prof files with same filename

If testing results of two requests are the same :

{method} - The request method; GET, POST, etc.
{path} - The request path or ‘root’ should one not exist.
{elapsed} - The elapsed time of the request.
{time} - The time of the request.

Older .prof file will be overwritten with newer results.

That seems acceptable to me. You can pass a callablr to the filename parameter to further customize the file name.


hdl_helloworld enhancements

May be few enhacements:
Shouldn't we add DISABLE_SDRAM_AND_BRAM and DISABLE_NVME in Kconfig to be sure not to enable them by error?
can the application filename begin as all other application filename by snap_xxx?

hardware/Makefilesays to print all messages produced by
@$(MAKE) -C $(ACTION_ROOT) hw

into action_make.log:
snap/hardware/Makefile
Line 242 in b6254c4
@$(MAKE) -C $(ACTION_ROOT) hw >> $(LOGS_DIR)/action_make.log;
All other messages of the make process are visible on the console. Therefore, when testing this branch I was surprised to see no messages for the creation of any action user IP.
So, maybe that should be changed.

Creating new branch HDL_helloworld_updates for these.

Fixed with #822.
Changing this was already part of pull request #819. After a rebase of  the corresponding branch I closed #819 and opened #822 which still contains that change.
@acastellane The remote version of HDL_helloworld_updates does not yet contain the change. So, it looks like it is only existing in your local version. You may remove that change (for instace via git checkout HDL_helloworld_updates; git rebase --interactive master).

Seems ok to close. Thanks


"Export Notebook as..." does not seem to be working on Windows

Description

First, I am so very excited for a JupyterLab app. Thank you to the Jupyter team for this incredible contribution and gift! I am particularly excited to promote it as a general engineering tool.
I tried a simple calculation script and went to export the notebook using the "Export Notebook as..." functionality in the File menu. Immediately a blank window popped up. I waited to see if it would populate or otherwise trigger some process but it does not seem to.
It looks as follows:

I tried exporting as HTML and Latex but neither seemed to do anything but both brought up this window. I am guessing this functionality is not currently implemented yet?
Many thanks!
Reproduce

Create a new Notebook and fill it with some stuff
Click on 'File' in the menu
Scroll down to 'Export Notebook as...' and select HTML or Latex
See window

Expected behavior

Either a browser window opens to display the output (HTML?) or a system file dialogue pops up asking where I would like to save the exported Notebook.
Context

Operating System and version: Windows 10
Browser and version: Firefox 92.0.1
JupyterLab version: App: Version 3.1.13-1

It does not work on Ubuntu either. There is an error showing up in console:
Uncaught (in promise) TypeError: child.location.assign is not a function
    at browser.bundle.js:83613
    at new Promise (<anonymous>)
    at execute (browser.bundle.js:83612)
    at CommandRegistry.execute (browser.bundle.js:126833)
    at RankedMenu.Menu.triggerActiveItem (browser.bundle.js:149582)
    at RankedMenu.Menu._evtMouseUp (browser.bundle.js:149929)
    at RankedMenu.Menu.handleEvent (browser.bundle.js:149728)

If child.location.href = url; was used instead it would have worked. It might get resolved once we update Electron, but give location.assign() has generally lower support (e.g. not supported in Deno) it might be a good idea to switch to .href for now in https://github.com/jupyterlab/jupyterlab/blob/88ae23f798c2adfcaea6a8fd0385f23b8aa2b8a1/packages/notebook-extension/src/index.ts#L403-L413. Would you like to make a PR?

@krassowski thanks for debugging the issue. I would try upgrading Electron first to see if that fixes the problem.

@krassowski I tried upgrading Electron but it didn't fix the issue. I will push a PR to jupyterlab as workaround as you suggested.

Closing as fixed in the most recent version.


v-bind not update dom in client side when data in client side is different from the server side

Version
2.6.10
Reproduction link
https://github.com/maunier/nuxt-learning
Steps to reproduce
npm install
npm run dev
http://<IP_ADDRESS>:8080/
What is expected?
i expect the div is like this:

isClient

What is actually happening?
but now it is:

isClient

it is not Nuxt's issue, I have tested in my own vue-ssr server without Nuxt, the problem is exsist still.  but the that project is not on the github, so i paste the nuxt project's link here
the core code is like this:

{{ text }}

data () {
      return {
        text: ''
      }
    },

    created () {
      this.text = Vue.prototype.$isServer ? 'isServer' : 'isClient'
    },

Seems to be related to https://github.com/vuejs/vue/issues/7787, it looks like a bug to me but I might not considering something
so a workaround is to use a ref on the element

I didn't say it, but next time please provide a real repro not a project you are testing things on. I created o bare foot Nuxt project to repro it and a correct minimal repro would have been what was provided at https://github.com/vuejs/vue/issues/9231

so a workaround is to use a ref on the element

@posva could you elaborate on this comment for me to understand what does ref do to make v-bind work?
I have a similar problem that is reported in #11398 which the workaround that you suggested here fixed it.


Xcode 8 beta 2 updates

Xcode 8 beta 2 has introduced a few new issues that needed to be addressed.
As the current swift 3 branch was a bit behind master, I've started fresh from the latest master and converted everything over again. Where Xcode's conversion failed, I've copied the existing fixes that were on the swift3 branch.
I'm not 100% sure if any other non-swift-3 changes have gone on here, so this may have not been the best approach. Let me know if you'd like an updated PR!

Thanks for the PR. Can we point it at the Swift 3 branch? I know it is a tad behind, but shouldn't be anything major and couldn't easily be pulled in. Also the current Swift 3 branch brought in a couple of idiomatic changes for Swift 3 that I would like to keep (such as changing writeString and writeData to just write, with a named first parameter as required by Swift now). If we could include those changes and pointed to be merged into the Swift 3 branch I would appreciate it. Thanks!

I could not figure out how to edit this PR appropriately, so I've made a new one with the correct destination branch here: https://github.com/daltoniam/Starscream/pull/218. The write methods are re-named as well.


Job submission forms: genome groups should be listed most recent first

In the selection panel, genome groups should be listed most recent first.
-Maulik

This is fixed on beta. However, per discussion during the Florida workshop, we need both options for sorting. This will be another ticket. I am closing this one.


Multipart upload to MINIO server through aws c++ sdk fails with "SDK failed to sign the request"

What platform/OS are you using?
win2k12R2
Which version of the SDK?
Initiate AWS SDK for C++ with Version:1.7.142
What compiler are you using? what version?
installed through vcpkg
What are your CMake arguments?
vcpkg install aws-sdk-cpp[core,s3,ec2]:x86-windows
aws_sdk_2019-11-07-04.log
Can you provide a TRACE level log? (sanitize any sensitive information)

I am able to connect to server, create new bucket and Initiate multipart upload successfully.
After that i uploaded part 1 and it failed with error "SDK failed to sign the request"
I am purely following example giving in below link
https://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp
I had to turn off useVirtualAddressing for other endpoints which i did. From the log is see that
[DEBUG] 2019-11-07 04:15:14.574 AWSAuthV4Signer [9244] Canonical Request String: POST
/qash2-sql5/QASH2-SQL5/master/master.bkp
uploads=
content-length:0
content-type:application/xml
host:<IP_ADDRESS>:9000
x-amz-api-version:2006-03-01
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:20191107T041514Z
content-length;content-type;host;x-amz-api-version;x-amz-content-sha256;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[DEBUG] 2019-11-07 04:15:14.574 AWSAuthV4Signer [9244] Final String to sign: AWS4-HMAC-SHA256
20191107T041514Z
20191107/us-east-1/s3/aws4_request
ded3754249a466f61db4856a2a34d1c796af2ea0e761488a64657c0e79ed92a5
[DEBUG] 2019-11-07 04:15:14.574 AWSAuthV4Signer [9244] Final computed signing hash: 87ee4ced448232133afb8f248f586f6ab8aa27fc6df574b43bb44ae14aaf4430
[DEBUG] 2019-11-07 04:15:14.574 AWSAuthV4Signer [9244] Signing request with: AWS4-HMAC-SHA256 Credential=BKIKJAA5BMMU2RHO6IBB/20191107/us-east-1/s3/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-api-version;x-amz-content-sha256;x-amz-date, Signature=87ee4ced448232133afb8f248f586f6ab8aa27fc6df574b43bb44ae14aaf4430
[DEBUG] 2019-11-07 04:15:14.574 AWSClient [9244] Request Successfully signed
[INFO] 2019-11-07 04:15:14.574 WinHttpConnectionPoolMgr [9244] Attempting to aquire connection for <IP_ADDRESS>:9000
[DEBUG] 2019-11-07 04:15:14.574 WinHttpConnectionPoolMgr [9244] Pool found, reusing
[INFO] 2019-11-07 04:15:14.574 WinHttpConnectionPoolMgr [9244] Connection now available, continuing.
[DEBUG] 2019-11-07 04:15:14.574 WinHttpConnectionPoolMgr [9244] Returning connection handle 01264E48
[DEBUG] 2019-11-07 04:15:14.574 WinHttpSyncHttpClient [9244] Acquired connection 01264E48
[DEBUG] 2019-11-07 04:15:14.574 WinHttpSyncHttpClient [9244] AllocateWindowsHttpRequest returned handle 0128F800
[DEBUG] 2019-11-07 04:15:14.574 WinHttpSyncHttpClient [9244] with headers:
[DEBUG] 2019-11-07 04:15:14.574 WinHttpSyncHttpClient [9244] authorization: AWS4-HMAC-SHA256 Credential=BKIKJAA5BMMU2RHO6IBB/20191107/us-east-1/s3/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-api-version;x-amz-content-sha256;x-amz-date, Signature=87ee4ced448232133afb8f248f586f6ab8aa27fc6df574b43bb44ae14aaf4430
content-length: 0
content-type: application/xml
host: <IP_ADDRESS>:9000
user-agent: aws-sdk-cpp/1.7.142 Windows/6.3.9600.17031 x86 MSVC/1916
x-amz-api-version: 2006-03-01
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date: 20191107T041514Z
[DEBUG] 2019-11-07 04:15:14.578 WinHttpSyncHttpClient [9244] Received response code 200
[DEBUG] 2019-11-07 04:15:14.578 WinHttpSyncHttpClient [9244] Received content type application/xml
[DEBUG] 2019-11-07 04:15:14.578 WinHttpSyncHttpClient [9244] Received headers:
[DEBUG] 2019-11-07 04:15:14.578 WinHttpSyncHttpClient [9244] HTTP/1.1 200 OK
Date: Thu, 07 Nov 2019 04:12:51 GMT
Content-Length: 273
Content-Type: application/xml
Accept-Ranges: bytes
Server: MinIO/RELEASE.2019-10-12T01-39-57Z
Vary: Origin
**Content-Security-Policy: block-all-mixed-content
X-Amz-Request-Id: 15D4C616E1DA98B5
X-Xss-Protection: 1; mode=block**
[DEBUG] 2019-11-07 04:15:14.578 WinHttpSyncHttpClient [9244] Closing http request handle 0128F800
[DEBUG] 2019-11-07 04:15:14.578 WinHttpSyncHttpClient [9244] Releasing connection handle 01264E48
[DEBUG] 2019-11-07 04:15:14.578 WinHttpConnectionPoolMgr [9244] Releasing connection to endpoint <IP_ADDRESS>:9000
[DEBUG] 2019-11-07 04:15:14.578 AWSClient [9244] Request returned successful response.
[ERROR] 2019-11-07 04:15:14.652 AWSAuthV4Signer [4172] Unable to hash (sha256) request body
[ERROR] 2019-11-07 04:15:14.652 AWSClient [4172] Request signing failed. Returning error.

Could you please open Trace level log?
Also the sample code.

sure will do first thing in the morning

First i tried the example given and it worked then re looked at the logic of my code to populating the buffers and found some issues in it. Once i fixed it worked properly.


How to rotate GLMakie.mesh

How do I rotate the view for GLMakie.mesh? Specifically, I want to have the x- and y-axes increasing going away from the camera, not towards.
I saw in the documentation that there is an attribute model::Makie.Mat4f but I haven’t been able to find anywhere how to use this.

Well that depends on your camera position right? How did you create your plot? The model matrix can be used for rotation but so can the camera.

I wasn't able to figure out how to use the camera and wasn't sure if it was compatible with mesh. My plotting is pretty simple, and for the sake of illustration is similar to the example:
using FileIO
using GLMakie

brain = load(assetpath("brain.stl"))

mesh(
    brain,
    color = [tri[1][2] for tri in brain for i in 1:3],
    colormap = Reverse(:Spectral),
    figure = (resolution = (1000, 1000),)
)

I figured out how to rotate my figure using Scene and cam3d!:
scene = Scene(resolution = (500, 500))
cam3d!(scene)
f = GLMakie.mesh!(scene, verts, faces, color=verts′[:, 1])
rotate_cam!(scene, (0, -pi/2, 0))
zoom!(scene, 0.5)

However, the axes have now disappeared, how do I get these back? For example, below are two images that correspond to before and after using Scene/cam3d!:

If you're going through Scene you also need to create the axis manually with axis3d!(scene[, limits]).

mesh(
    brain,
    color = [tri[1][2] for tri in brain for i in 1:3],
    colormap = Reverse(:Spectral),
    figure = (resolution = (1000, 1000),)
)

This expands to something like
fig = Figure()
ax = LScene(fig[1, 1])
mesh!(ax, ...)

which is the preferred way of doing things now I think

This seems incompatible with rotating the cam now, as the axes themselves rotate.
fig = Figure()
lscene = LScene(fig[1, 1])
scene = lscene.scene
cam3d!(scene)
f = GLMakie.mesh!(lscene, verts′, faces′, color=verts′[:, 1])
rotate_cam!(scene, (0, -pi/2, 0))
GLMakie.save(joinpath(out_dir_full, "pcmesh-cam3d-view3-$id.png"), scene)

Similar happens with the axis3d! approach.

You can also do rotate!(plot, axis, angle) to rotate just a plot. That doesn't rotate the axis, which means that the x direction in your mesh data won't match the x-direction the axis shows. If you want to keep those in sync and just want to keep the grids behind the mesh while rotating you should try Axis3 instead of LScene. https://makie.juliaplots.org/v0.17.10/examples/blocks/axis3/index.html


[WIP][SourceKit][IDE] New SourceKit request to retrieve context type information

This is a new SourceKit request which receives a position in the source file, returns possible expected types and their members which can be referenced by "implicit member expression" syntax.
TODO:

[ ] Add request error handling.
[ ] Add comprehensive test cases.

The name "context info" is fairly general; do you think "type context info" would work?  Right now all the results are related to the semantic type of the context.  On the other hand, if you foresee us adding non-type information here it might be misleading.

One possible enhancement in my mind is adding "kind" of context. Like
foo(x: #TOKEN#)  // -> call argument
return #TOKEN#   // -> return value
if #TOKEN# {     // -> statement condition

But I'm not sure it's valuable. And I think "type context info" still works even after adding it.
Let's change it to typecontextinfo.


Links not working

Good work. Some links don't work. Missing files?
Also, it would be good to add documentation about different classes and link them to PyG help. Thanks.

Sorry about that. I have updated the links in the introduction part of the documentation. Our examples usually are put in the examples folder.
Yes, we will keep updating the documentation, package, and examples in the future. Thanks :)


add exit() function

I couldn't find any tests for existing core* functions, and since this exits the entire process how would we test it?
As per the docstring for the function I set the default exit code to EXIT_FAILURE (equivalent to 1) because it's most likely (I think) that exit() would be called like that in situations requiring termination due to some bad world-state, say a bad argument or an error. The requirement to exit successfully, which is still possible, could naturally happen by way of the process ending normally so defaulting exit() to EXIT_SUCCESS (equivalent to 0) didn't seem right.
I also corrected a small typo I found along the way.

Discussed issue: https://github.com/ThakeeNathees/pocketlang/issues/122

Here's some rudimentary testing:
(i) pocketlang () 〉make && ./build/debug/pocket
make: Nothing to be done for 'debug'.
PocketLang 0.1.0 (https://github.com/ThakeeNathees/pocketlang/)
Copyright(c) 2020 - 2021 ThakeeNathees.
Free and open source software under the terms of the MIT license.
>>> exit(20)
(i) pocketlang () 〉echo $?
20

Pass.
(i) pocketlang () 〉make && ./build/debug/pocket
make: Nothing to be done for 'debug'.
PocketLang 0.1.0 (https://github.com/ThakeeNathees/pocketlang/)
Copyright(c) 2020 - 2021 ThakeeNathees.
Free and open source software under the terms of the MIT license.
>>> exit()
(i) pocketlang () 〉echo $?
1

Just realised I should clamp this down to 0 - 255 as per exit-status spec, will add now.

I've added a new validation function validateIntegerRange since I imagine we might in future need to validate integer ranges. I was going to add the guts of that function inside the coreExit definition but pulled it out for reuse. My C is rusty so I hope this is a valid approach. It helpfully adds the actual range for users too.
(i) pocketlang (*) 〉make && ./build/debug/pocket
Copyright(c) 2020 - 2021 ThakeeNathees.
Free and open source software under the terms of the MIT license.
>>> exit(420)
Error: Argument 1 must be between 0 and 255, inclusive.
  $(SourceBody)() [line:1]
>>> exit()
(i) pocketlang () 〉echo $?
0


Flush cache with version change

if node version changes, the cache should be cleared

@danielleadams I left a few comments, can you take a look?

@danielleadams I left a few comments, can you take a look?

@danielleadams @lillianzhang331 have you thought about just using the [metadata] table in the layer.toml? The file should include everything needed to decide whether we decide to bust the cache from the previous build. I think that should include both the node version and stack. This means you wouldn't have use store.toml or an env var for the previous need version.

This caused #85 which is fixed by #86.


checklist indicators per taxon, not per species

Be sure to change checklist indicators so that all of the piepelins count taxa (key), not species (speciesKey).

This has been solved while merging: https://github.com/trias-project/indicators/pull/69


Update upstream libraries in make process

Some upstream libraries get updated and since we use them we need to be up to date with their latest versions so we can utilise their new features.
Otherwise if we try to use a new feature and make it work locally due to a new installation of fullerite with a clean on-disk cache of libraries, we get the errors similar to
Getting dependencies...
fullerite/collector
src/fullerite/collector/procstatus_linux.go:73: proc.Comm undefined (type procfs.Proc has no field or method Comm):
Keeping in mind that proc.Comm is defined in the latest version of that library and we already use it in fullerite since the developer in charge of it had the latest version of that library installed by mere coincidence since they started on a clean fullerite installation.

i think it is worth exploring one of those go package managers going forward. The out of box package management doesn't provide us a way to lock down version of a package.

Most mature solution looks like - https://github.com/tools/godep

Thanks for the heads up @gnufied I have started on METRICS-96 and will explore more options as well.

This is fixed in master.


UI: Explore page initial filters reset when tabs change.

Affected module
Does it impact the UI, backend or Ingestion Framework?
UI
Describe the bug
A clear and concise description of what the bug is.
Initial filters are reset when tabs change.
To Reproduce
https://user-images.githubusercontent.com/51777795/191020377-b5b4eff7-1bfa-46c0-855e-0c9e9dd1cea8.mov
Expected behavior
A clear and concise description of what you expected to happen.
Filters should not reset on tab change.
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: [e.g. 0.8]
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

This is intentional


live stream

hi,
is it possible with the module to do a livestream to the cam? now there are just pictures or do i have made a wrong config????
thanks

You could lower updateInterval to 1000, but I don't know if any lower of an amount is supported.


How to build this app?

Thanks for this app.
Can you provide the instructions to build this app in netbeans?
I get the following error when trying to build it:
<>/Human-hair-detection/nbproject/jfx-impl.xml:1212: Warning: Could not find resource file "<>/Human-hair-detection/${libs.OpenCV.classpath}" to copy.
BUILD FAILED (total time: 0 seconds)
Alternatively, on trying to run the bundled HairDetection.jar file in dist/ folder, I get the error:
Caused by: java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at hairdetection.OpenCVoperation.(OpenCVoperation.java:79)
at hairdetection.FXMLDocumentController.handleGenerateAction(FXMLDocumentController.java:76)
How to resolve these errors?

Can you provide the instructions to build this app in Android studio?

@satishkumar : Sorry for delayed reply. For solving "Caused by: java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path" you need to compile OpenCV natively from source.
For compiling OpenCV 3.1.0 without Nvidia gpu follow steps given in "http://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html"
For compiling OpenCV 3.1.0 with Nvidia gpu with Cuda8 :
1.clone OpenCV 3.1.0 from git@github.com:daveselinger/opencv.git (maintained by https://github.com/daveselinger)
2. Follow remaining steps for OpenCV compilation from source as given in "http://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html"
Once compilation is completed successfully:

Add reference to opencv-310.jar available from newly compiled binaries.
Go to Hair Detection Netbeans Project > Properties > Run > VM Options : add  -Djava.library.path=/path/to/lib/containing/opencv_libraries
for e.g. on my machine: -Djava.library.path="/home/sujit25/softwares/opencv-3.1.0-with-cuda8/release/lib"

Note: I have not tested application with any OpenCV version above 3.1.0.

@mehulnahar: This application is a GUI based standalone application. You can refer to getting started with opencv on android for getting started with OpenCV on android.

your instructions did not solve the error. you copied the error wrong from the original issue. The error that i am getting is Could not find resource file "<>/Human-hair-detection/${libs.OpenCV.classpath}" to copy.

make sure you are on netbeans 8.2, not 8.1
When clicking "Resolve problems" to figure out the OpenCV library, create a new library by selecting  "Add new library" in the bottom left. if you just add the opencv jar to an existing library it won't work
if you don't have an opencv jar follow instructions for compiling from source in readme

Also had to disable DT to ignore java development toolkit error, as described here:
http://hongouru.blogspot.com/2015/09/solved-error-building-new-project-using.html

nevermind, the library doesn't work at detecting hair


Custom events android fix

Disabling the translation of the EventBlock due to it breaking with custom events on non-windows builds. This will be re-evaulated once Dialogic 2.0 is live.


DS-1656 New attribute Maxlength for input-forms.xml

https://jira.duraspace.org/browse/DS-1656

Closing as outdated/obsolete (no activity in several years). Please resubmit if you are interested in helping move this forward. Thanks!


Unlocking with time far in the future shows timestamp in 1910

I did this:
>>> wallet_unlock 999999999
>>> info
{
...
  "wallet_open": true,
  "wallet_unlocked": true,
  "wallet_unlocked_until": "31 years  in the future",
  "wallet_unlocked_until_timestamp": "1910-10-25T10:17:58",
...
}

Needs fixed.

Meh too low priority.

https://bitsharestalk.org/index.php/topic,15469.msg199153.html#msg199153


[SchemaRegistry] Avro API changes for GA

related to: #23288
fixes: #23318

API changes have been detected in azure-eventhub. You can review API changes here
API changes
-     def __message_content__(self) -> Dict
+     def __message_content__(self) -> MessageContent
-             content_type: str
+             content_type: str,
+             **kwargs: Any


Output the formatting issue

Hey,
I was wondering if there is a way for the plugin to output the formatting issue with the file. Currently, it outputs ExampleClass.java is not correctly formatted ! which only tells me that there is an issue with the formatting, not specifying why or which part of the code is causing the failure. I don't see anything in the documentation that can let me add to the output what the specific formatting rule the file isn't following (and what line in the file).
Is it possible to achieve what I want using this plugin? If this isn't possible, can/will you add this functionality to the plugin?
Thanks!

Hi,
That would be a nice feature.
There is currently nothing allowing to do that. Also https://github.com/google/google-java-format does not have a straight way of doing that.
IMO, we would need to call https://github.com/google/google-java-format/blob/4ddb9148c103b9c65768e519884b0c8ad5caaf39/core/src/main/java/com/google/googlejavaformat/java/Formatter.java#L278 and interpret its output.
Since it is not a priority for me, I hope you or somebody else will contribute with a pull request :)


CAMEL-7862-add CVSRecord annotation attribute to allow empty streams to be processed

Can you fix checkstyle issues first
mvn compile -P sourcecheck

sorry about that. my checkstyle plugin was deactivated somehow. added them. thanks.

@oscerd looks good for me

Sure. Merging.

@onders86 Thanks the PR has been merged. Can you close this?

sure. thanks.


Manage encoding at Java binding

Description
Depending on the DB encoding a Java application might fail retrieving OpenNebula information. The JAVA OCA should be able to manage the encoding of the messages.
Details

Affected Component: oned, Java OCA
Version: 5.12

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

@OpenNebulaSupport ,I would like work on the above issue and contribute my solution to the problem .Please provide me with the necessary requirements so that I will start working on it. Since it is mandatory for my course requirement I assure you for the completion of the issue.

PRs to merge:

code
docs


Reuse curl handler

Hello, is it possible to reuse a curl handler? I will be sending multiple requests to the same host but with different parameters.
Example
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/a")
curl_easy_perform(curl, "completed_callback")

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/b")
curl_easy_perform(curl, "completed_callback")

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/c")
curl_easy_perform(curl, "completed_callback")

curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/d")
curl_easy_perform(curl, "completed_callback")

Yes, i have it done in this example plugin, url is the same but changing POST data and using keep-alive

Hi! Yes, curl handle can be reused in different requestd only if they are executed sequentially. The same handle cannot be used in parallel requests.

Thank you


[Docs code snippets] Make it obvious what is command what is result

Sometimes when reading the docs, it's not obvious for some users what part is the command, and what part is the result of running the command.
See #24031 for more context.
Consider adding a blank like between the command and the result, for improving clarity.
We're already doing this in some doc pages. Example.

#dibs


Incorrect PATH variable

Agent Version and Platform
2.150.3 - Linux - Debian 9.7
Azure DevOps Type and Version
dev.azure.com/Sellfer
What's not working?
When executing bash tasks the agent doesn't pickup the proper user path.
Path returned from doing echo $PATH in a bash task : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Expected (when doing the same from a shell as the same user as the agent) :
/usr/local/lib/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/lib/npm/lib/node_modules/pm2/bin/:/usr/lib/postgresql/9.6/bin
All of the above paths were added after the installation of the agent.
The agent runs as a service, and the paths were not updated after agent restart nor from machine reboot.
To fix this i had to manually update the .path file in the agent folder.

hope this help. :)
https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-linux?view=azure-devops#service-
update-environment-variables

Ah... yes it does... not sure how i missed this.
However wouldn't it be less confusing if this was done automatically after service restart? or not store those variables on disk and instead using the current runtime values ?


how to get the newest information of the RL paper

thank you! the recommended papers are all excellent. i want to know how i can get the the state of art paper in RL  if you do not tell me by this github repository.how to find RL paper by myself?

Hey! You can check https://github.com/dbobrenko/reinforcement-learning-notes#miscellaneous section.
But usually I search for new papers through my tweeter feed, just subscribe to some famous researchers in Deep RL field.

ok, thank u!


Bug: Promote operation for canary strategy doesn't work with v4.2 or later

What happened?
Hi 👋 . I was testing the deployment scenario with Canary strategy, but the promote operation seems not working.
It just removes the -canary pods and it does not promote the original pods, which is similar behavior as reject.
Observed Behaviors

In my environment,

With @v1.4 and @v1.5, deploy successfully promotes canary.
With @v2.0 through @v4.1, deploy fails with different errors.
With @v4.2 or later, deploy does not promote the canary.

Implementations
I am wondering if #165 has some relationship with this behavior. I was trying to fix it, but I am struggling to overcome the errors due to the lack of knowledge around existing codebase. Do you have any insights? (including workaround, misconfiguration, etc.)

"deploymentHelper" was removed and replaced with "deploy". But I assume it handles deploy rather than promote.

https://github.com/Azure/k8s-deploy/pull/165/files#diff-909286eed5c74f021abae99f94d8edf4f81acbf7d97ae4f8901e2de8a0d425ebL14
https://github.com/Azure/k8s-deploy/pull/165/files#diff-909286eed5c74f021abae99f94d8edf4f81acbf7d97ae4f8901e2de8a0d425ebL55

I am not confident enough, but the behavior seems like the deploy logic tries to perform deploy operation at first (instead of promote, deploy -baseline and -canary, then remove the -canary as part of the clean-up). If it is true, it would not promote -canary.

https://github.com/Azure/k8s-deploy/pull/165/files#diff-909286eed5c74f021abae99f94d8edf4f81acbf7d97ae4f8901e2de8a0d425ebL61

Additional Notes

Blue-Green strategy is working as expected (-green pods will be promoted with the promote operation).

Version

[X] I am using the latest version

Runner
ubuntu-latest
Relevant log output
After deploying with Canary strategy, I can see the -baseline and -canary pods deployed along with original pods. I am expecting -canary pods to replace original pods after promote operation.
Commands
$ kubectl get pods
NAME                                         READY   STATUS    RESTARTS   AGE
ingress-nginx-controller-54d587fbc6-ssh82    1/1     Running   0          2d1h
nginx-deployment-6dc9c6cd6f-bdh77            1/1     Running   0          6h51m
nginx-deployment-6dc9c6cd6f-fr59m            1/1     Running   0          6h51m
nginx-deployment-6dc9c6cd6f-kkhnr            1/1     Running   0          6h51m
nginx-deployment-6dc9c6cd6f-r7r42            1/1     Running   0          6h51m
nginx-deployment-baseline-78cfdc9fb6-vmxt4   1/1     Running   0          5h30m
nginx-deployment-canary-7c497564bb-lrnrb     1/1     Running   0          5h30m

$ kubectl get deploy
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
ingress-nginx-controller    1/1     1            1           2d1h
nginx-deployment            4/4     4            4           29h
nginx-deployment-baseline   1/1     1            1           5h31m
nginx-deployment-canary     1/1     1            1           5h31m

Log with debug log enabled (Excerpt)
During the "promote", the job tries Creating canary and baseline objects (which results in unchanged since they're already "deployed"), then Deleting canary and baseline workloads occurs.
Deploying input manifests
  ##[debug]Input manifest files: /tmp/Deployment_nginx-deployment_1662783396039,/tmp/Service_nginx_1662783396039,/tmp/Service_nginx-preview_1662783396040,/tmp/Ingress_nginx-ingress_1662783396040
  ::group::Deploying manifests

##[debug]Creating canary and baseline objects. Stable object found:

deployment.apps/nginx-deployment-canary unchanged
deployment.apps/nginx-deployment-baseline configured
service/nginx unchanged
service/nginx-preview unchanged
ingress.networking.k8s.io/nginx-ingress unchanged
##[debug]Deployed manifest files: /tmp/Deployment_nginx-deployment-canary_1662783396511,/tmp/eployment_nginx-deployment-baseline_1662783396511,/tmp/Service_nginx_1662783396511,/tmp/Service_nginx-preview_1662783396511,/tmp/Ingress_nginx-ingress_1662783396511

Deleting canary and baseline workloads
##[debug]Kubectl run with command: /usr/local/bin/kubectl delete,Deployment,nginx-deployment-canary,--insecure-skip-tls-verify
/usr/local/bin/kubectl delete Deployment nginx-deployment-canary --insecure-skip-tls-verify
deployment.apps "nginx-deployment-canary" deleted
##[debug]Kubectl run with command: /usr/local/bin/kubectl delete,Deployment,nginx-deployment-baseline,--insecure-skip-tls-verify
/usr/local/bin/kubectl delete Deployment nginx-deployment-baseline --insecure-skip-tls-verify
deployment.apps "nginx-deployment-baseline" deleted
::endgroup::

Workflow
name: Deploy (Canary)
on:
  workflow_dispatch:
env:
  RESOURCE_GROUP: xxx
  AKS_CLUSTER_NAME: xxx
  SECRET: xxx
  APP_NAME: xxx
jobs:
  build_push:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: azure/docker-login@v1
      with:
        login-server: ${{ secrets.xxx }}
        username: ${{ secrets.yyy }}
        password: ${{ secrets.zzz }}
    - run: |
        docker build . -t ${{ secrets.xxx }}/${{ env.APP_NAME }}:${{ github.sha }}
        docker push ${{ secrets.xxx }}/${{ env.APP_NAME }}:${{ github.sha }}
      working-directory: ./xxx
  deployapp:
    runs-on: ubuntu-latest
    needs: build_push
    steps:
      - uses: actions/checkout@v3
      - name: Set cluster context
        uses: azure/aks-set-context@v1
        with:
          creds: '${{ secrets.aaa }}'
          cluster-name: ${{ env.AKS_CLUSTER_NAME }}
          resource-group: ${{ env.RESOURCE_GROUP }}
      - uses: azure/k8s-create-secret@v1
        name: Create image pull secret
        with:
          container-registry-url: ${{ secrets.xxx }}
          container-registry-username: ${{ secrets.yyy }}
          container-registry-password: ${{ secrets.zzz }}
          namespace: default
          secret-name: ${{ env.SECRET }}
          arguments: --force true
      - name: Deploy app
        uses: k8s-deploy/k8s-deploy@v4
        with:
          namespace: default
          manifests: |
            kubernetes/deploy.yaml
            kubernetes/service.yaml
            kubernetes/preview-service.yaml
            kubernetes/ingress.yml
          images: |
            ${{ secrets.xxx }}/${{ env.APP_NAME }}:${{ github.sha }}
          imagepullsecrets: |
            ${{ env.SECRET }}
          pull-images: false
          strategy: canary
          traffic-split-method: pod
          action: deploy
          percentage: 25
  approveapp:
    runs-on: ubuntu-latest
    needs: deployapp
    environment: akspromotion
    steps:
      - run: echo asked for approval
  promotereject:
    if: always()
    runs-on: ubuntu-latest
    needs: approveapp
    steps:
      - uses: technote-space/workflow-conclusion-action@v3
      - uses: actions/checkout@v3
      - name: Set cluster context
        uses: azure/aks-set-context@v1
        with:
          creds: '${{ secrets.aaa }}'
          cluster-name: ${{ env.AKS_CLUSTER_NAME }}
          resource-group: ${{ env.RESOURCE_GROUP }}
      - name: Promote App
        uses: azure/k8s-deploy@v4
        if: ${{ env.WORKFLOW_CONCLUSION == 'success' }}
        with:
          namespace: default
          manifests: |
            kubernetes/deploy.yaml
            kubernetes/service.yaml
            kubernetes/preview-service.yaml
            kubernetes/ingress.yml
          images: |
            ${{ secrets.xxx }}/${{ env.APP_NAME }}:${{ github.sha }}
          imagepullsecrets: |
            ${{ env.SECRET }}
          pull-images: false
          strategy: canary
          traffic-split-method: pod
          action: promote
          percentage: 25
      - name: Reject App
        uses: azure/k8s-deploy@v4
        if: ${{ env.WORKFLOW_CONCLUSION != 'success' }}
        with:
          namespace: default
          manifests: |
            kubernetes/deploy.yaml
            kubernetes/service.yaml
            kubernetes/preview-service.yaml
            kubernetes/ingress.yml
          images: |
            ${{ secrets.xxx }}/${{ env.APP_NAME }}:${{ github.sha }}
          imagepullsecrets: |
            ${{ env.SECRET }}
          pull-images: false
          strategy: canary
          traffic-split-method: pod
          action: reject
          percentage: 25

Thanks for the comprehensive issue template! Looking into it 😄

I have noticed the same issue using @v4. The canary deploys fine (pod was the only type that worked) but the promote action seems to just remove the -canary and -baseline and leave the original version of the deployment in place (effectively this is a reject).

Small update: @jaiveerk found the issue and is working on a fix.

This has been fixed. v4 an v4.5 should now work and behave as expected. Thanks for the issue!

Thank you for the fix!


switch to bun

Run<EMAIL_ADDRESS>
Error: Input required and not supplied: apiToken


Composer installation

Hi,
I can't install with Composer.

Any idea how I can fix this?

@Rubenvanhoeyveld Try with composer require "dbdiff/dbdiff:@dev"
The issue is noted here: https://github.com/composer/composer/issues/5211

I'm still having issues following the documentation to make dbdiff work...
I have composer install dbdiff in the Z:\path\to\project\vendor directory.
The documentation says

Make sure you are in the root of your application for all the following steps, using 'cd' to navigate on the command line to where you have placed your "dbdiff" folder

We are going to assume that composer.phar is installed inside your "dbdiff" folder. If it is installed elsewhere you will need to use it's exact path

If you didn't install DBDiff with composer, install the dependencies of the project with: php composer.phar install
Make a .dbdiff file by following the File Examples and place it in the root of your "dbdiff" directory
Type ./dbdiff {dbdiff command here e.g. server1.db1:server1.db2} to start the app! See Command-Line API for more details on which commands you can run.

You should see something like...

ℹ Now calculating schema diff for table foo
ℹ Now calculating data diff for table foo
ℹ Now generating UP migration
ℹ Now generating DOWN migration
ℹ Writing migration file to /path/to/dbdiff/migration.sql
✔ Completed

But this happens:
Z:\path\to\project>./dbdiff
'.' is not recognized as an internal or external command,
operable program or batch file.
I think either I don't understand the documentation, or the instructions aren't very clear...


fixed and updated FAQ table of contents links

i.e. of https://docs.gitea.io/en-us/faq/
rewording one heading that wouldn't generate a working link in the process

Codecov Report

Merging #13835 (eda625f) into master (b1cf7f4) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13835      +/-   ##
==========================================
- Coverage   42.23%   42.14%   -0.09%
==========================================
  Files         699      708       +9
  Lines       76959    77167     +208
==========================================
+ Hits        32501    32522      +21
- Misses      39091    39297     +206
+ Partials     5367     5348      -19

Impacted Files
Coverage Δ

modules/indexer/stats/queue.go
52.94% <0.00%> (-23.53%)
:arrow_down:

models/avatar.go
35.00% <0.00%> (-17.18%)
:arrow_down:

modules/cache/cache.go
27.16% <0.00%> (-12.35%)
:arrow_down:

models/issue_comment.go
43.50% <0.00%> (-9.22%)
:arrow_down:

modules/indexer/stats/db.go
43.47% <0.00%> (-8.70%)
:arrow_down:

modules/notification/ui/ui.go
84.72% <0.00%> (-8.34%)
:arrow_down:

modules/queue/unique_queue_channel.go
58.06% <0.00%> (-6.46%)
:arrow_down:

modules/notification/mail/mail.go
33.33% <0.00%> (-5.75%)
:arrow_down:

routers/user/avatar.go
18.18% <0.00%> (-4.68%)
:arrow_down:

modules/charset/charset.go
68.53% <0.00%> (-4.50%)
:arrow_down:

... and 51 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 b1cf7f4...eda625f. Read the comment docs.


File format of Data Artifacts?

Trying to understand what file format the artifacts / data files are stored in s3.
I want the frontend to be able to download the artifacts directly given the path of the artifacts, without using the Metaflow API. Any suggestions on how to decompress the artifacts file and have it ready for use without the API?
Also,
Is there an alternative to find a particular task in a list of tasks triggered by a foreach WITHOUT USING task_id. I know I can run an iterator through the tasks but that wouldn't be fast if there are thousands of tasks triggered by foreach. To use the task id solution, I have to first track the task ids in some table and map it with the input which is extra work. It would be nice if I could search and find the task of interest based on the input value it used.

The current format is typically gzipped pickled data. For your second question, do you mean you want to find the task that ran for a particular value of input?


made changes based on comments of https://github.com/networknt/light-rest-4j/pull/65

made changes based on comments of https://github.com/networknt/light-rest-4j/pull/65
-change usage of ValidatorConfig in json-schema-validator to SchemaValidatorsConfig
-change ValidatorHandlerConfig back to ValidatorConfig

Thanks for your help @BalloonWen


fix(runtime-core): improve isSVG check

close #2926

It seems there is an alternative PR, but if this was to be accepted I think we'd need a test case. There's a lot of commotion around SVG detection in recent PRs and it'd be a shame if this fix regressed at some point.

It seems there is an alternative PR, but if this was to be accepted I think we'd need a test case. There's a lot of commotion around SVG detection in recent PRs and it'd be a shame if this fix regressed at some point.

Closing in favor of https://github.com/vuejs/vue-next/pull/2929 since it affects only initial mounting

Closing in favor of https://github.com/vuejs/vue-next/pull/2929 since it affects only initial mounting


Sync version of react with react-dom

Sync version of react with react-Dom

@GeorgeApos Take a look here


Add python package workflow (Fixes #7)

This workflow will install Python dependencies, run tests and lint with a variety of Python versions
Fixes #7

Currently not useful, will be useful when python codebase will be maintained

I merged it into master to check if this works fine on others PRs and allow it to check PRs straight away, however I would like you to review it again, I changed it a lot.


page.goto returns null periodically

Steps to reproduce
Similar/same as: #1391
Tell us about your environment:

Puppeteer version: 1.3.0
Platform / OS version: Mac
URLs (if applicable): https://www.microsoft.com/en-gb/store/d/xbox-one-s-1tb-console-playerunknowns-battlegrounds-bundle/908z9jn5cnh2/gz4w?cid=msft_web_collection
Node.js version: 9.11.1

What steps will reproduce the problem?
const browser = await puppeteer.launch();

const page = await browser.newPage();

for (var i = 0; i < 15; i++) {
  const r = await page.goto('https://www.microsoft.com/en-gb/store/d/xbox-one-s-1tb-console-playerunknowns-battlegrounds-bundle/908z9jn5cnh2/gz4w?cid=msft_web_collection', { waitUntil: 'domcontentloaded' });

  console.log(r.ok());
}

await browser.close();

What is the expected result?
true outputted 15 times
What happens instead?
Sometimes true 15 times, sometimes TypeError: Cannot read property 'ok' of null
It works as expected on 1.2.0, but fails on 1.3.0

@ntzm Thanks for filing this separately, I can easily repro this.
You can workaround using waitUntil: "networkidle0" command while this is being fixed.

Thanks!

Here's an even simpler way to reproduce it:
const puppeteer = require("puppeteer");
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // const Url = "https://www.peterbe.com/#anything";  // FAILS
  const Url = "https://www.peterbe.com#anything";  // ALSO FAILS
  // const Url = "https://www.peterbe.com";  // WORKS
  const r1 = await page.goto(Url, { waitUntil: "domcontentloaded" });
  if (r1 === null) console.log("Response is null!");
  else console.log("Response OK?", r1.ok());

  const r2 = await page.goto(Url, { waitUntil: "domcontentloaded" });
  if (r2 === null) console.log("Response is null!");
  else console.log("Response OK?", r2.ok());

  await browser.close();
})();

Output is:
Response OK? true
Response is null!

Every time.
Note that removing the anchor part of the Url variable value "solves" the problem.
Note, I don't think it's related to https://www.peterbe.com/... specifically. The killer difference is the anchor link or not.

Actually, regarding my above example of reproducing it. If you comment out the first request (or second, doesn't matter) so it looks like this:
const puppeteer = require("puppeteer");
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // const Url = "https://www.peterbe.com/#anything";  // FAILS
  const Url = "https://www.peterbe.com#anything";  // ALSO FAILS
  // const Url = "https://www.peterbe.com";  // WORKS
  const r1 = await page.goto(Url, { waitUntil: "domcontentloaded" });
  if (r1 === null) console.log("Response is null!");
  else console.log("Response OK?", r1.ok());

  // const r2 = await page.goto(Url, { waitUntil: "domcontentloaded" });
  // if (r2 === null) console.log("Response is null!");
  // else console.log("Response OK?", r2.ok());

  await browser.close();
})();

Then it works.
So, pretty sure the response becomes null if the URL has been requested before and contains an anchor part.

@peterbe I am curious if you also got this error when using it on a URL that does not have (or which you block) Google Analytics, Intercom, etc?
I am also experiencing this issue: that is: when setRequestInterception(true) and I crawl two URLs on the same site, the 2nd URL will return a null response. If I block/remove any iframe creating Javascript, everything works. 9See also this comment.](https://github.com/GoogleChrome/puppeteer/issues/1391#issuecomment-357030001)

This happens for us too, when using setRequestInterception(true) only.

Here's a bit of a workaround until this is fixed:
let fullResponse = await chromePage.goto("https://wherever.com");
 if (fullResponse === null) {
  console.log("Got null, trying wait.");
  fullResponse = await chromePage.waitForResponse(() => true);
}

@bluepeter that workaround works for me, thanks a lot

@ntzm somehow it doesn't reproduce for me anymore on v1.8.0. Here's my script:
const puppeteer = require('puppeteer');
const url = 'https://www.microsoft.com/en-gb/store/d/xbox-one-s-1tb-console-playerunknowns-battlegrounds-bundle/908z9jn5cnh2/gz4w?cid=msft_web_collection';
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  for (var i = 0; i < 30; i++) {
    const r = await page.goto(url, { waitUntil: 'domcontentloaded' });
    console.log(!!r);
  }
  await browser.close();
})();

@peterbe I looked into your script. We're actually quite consistent with chromium here:

the first time you navigate to https://example.com, a network is hit and a new page is loaded
the next time you navigate to https://example.com#asdf, a new page is not loaded - inside, an anchor navigation is happenning, so chromium doesn't hit network.

This might be surprising, but this is consistent with what happens if user types in the address bar. if you want to force-load a website, I'd open a new page and navigate it instead.

Yep, I can confirm this works on 1.8.0!

Still isnt working for me.

@alphonse92 can you share the URL that doesn't work?

@aslushnikov Hi, sorry, it was my fault, the problem was the ssl certificates and chromium is killing the request.

@aslushnikov still broken with 1.20.
This returns null most of the times
const puppeteer = require('puppeteer');
const url = 'https://havgaarden.dk/restaurant';
(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    response = await page.goto(url, {
        timeout: 15000,
        waitUntil: 'domcontentloaded'
    });
    if (!response) console.log('null response');
    await browser.close();
})();

is it possible the server just ends the connection earlier than expected? something like https://httpstatuses.com/444 but more subtle or silent?

@jtara1 that sounds unlikely, for me it happens everytime that a page has a redirection initiated by javascript after the even domcontentloaded is triggered

It seems this problem has something todo with caching. When I create a createIncognitoBrowserContext for every request. This never happens. Since I removed that extra context. This Problem happened also to me.
So my guess is that now the second request is fullfilled via cache and so there is no response. This is also why the chromePage.waitForResponse(() => true); works. Since it waits for the cache refresh request.

It seems this problem has something todo with caching. When I create a createIncognitoBrowserContext for every request. This never happens. Since I removed that extra context. This Problem happened also to me.
So my guess is that now the second request is fullfilled via cache and so there is no response. This is also why the chromePage.waitForResponse(() => true); works. Since it waits for the cache refresh request.

wow... it's working... it's weird that we need to make new context for every request... I hope it will be fixed soon

It seems this problem has something todo with caching. When I create a createIncognitoBrowserContext for every request. This never happens. Since I removed that extra context. This Problem happened also to me.
So my guess is that now the second request is fullfilled via cache and so there is no response. This is also why the chromePage.waitForResponse(() => true); works. Since it waits for the cache refresh request.

wow... it's working... it's weird that we need to make new context for every request... I hope it will be fixed soon

You dont need the context. Just call page.setCacheEnabled(false). From my limited tests, it seems to do the same.

I see... I'll try it

ah yes... I can confirm it's working

wait... I'm mistaken, it's not working with page.setCacheEnabled(false)

It is not working with page.setCacheEnabled(false) alone but a combination from above:
  page = await browser.newPage()
  page.setCacheEnabled(false)
  await page.setDefaultNavigationTimeout(0);
  response = await page.goto(url, {waitUntil: "networkidle0"});

  if (response === null) {
    response = await page.waitForResponse(() => true);
  }

yields the perfect results. I'm afraid to change it now, but some of that, such as networkidle0 may be unnecessary. But again, networkidle0 did not work alone, and neither did disabling the cache.
Thanks to all in this thread.

if (response === null) {
    response = await page.waitForResponse(() => true);
}

This will return the first response you're getting once interception starts. This will NOT return the intial request you're actually looking. So if you actually need that request, you're out of luck unless you use an incognito tab.

if (response === null) {
    response = await page.waitForResponse(() => true);
}

This will return the first response you're getting once interception starts. This will NOT return the intial request you're actually looking. So if you actually need that request, you're out of luck unless you use an incognito tab.

In my case I was accessing different pages of an SPA where the pages were after the hash symbol. There's a footnote in puppeteer documentation about goto that says the following:

"page.goto either throws an error or returns a main resource response. The only exceptions are navigation to about:blank or navigation to the same URL with a different hash, which would succeed and return null."

What I did as a temporary workaround was to force the page to go somewhere else (e.g. 'about:blank') and then 'goto' the page I wanted to test. Something like this:
if (response === null) {
    await page.goto('about:blank');
    response = await page.goto(urlWithHash);
}

This doesn't seem optimal since it downloads the entire page again but the crawling system I'm working on depends on the response data for every single page, so that works.

In my case the service-worker is the issue because sw server the index.html and get null response
The first time it works, the second time it already returns null. You have to delete the chrome data to remove the SW
const puppeteer = require('puppeteer');
const url = 'https://whatpwacando.today/';
(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    const response = await page.goto(url, {
        timeout: 15000,
        waitUntil: 'domcontentloaded'
    });
    if (!response) console.log('null response');
    await browser.close();
})();

FWIW, If you could have an issue due to service workers, over at playwright they have the ability to block the service worker registration (but maybe the real issue is that page.goto still returns the wrong 'frame')
https://github.com/microsoft/playwright/pull/14321/files#diff-5e6d61431da6c4bb6fda4276ba5781ae64e98537d9f68c9c51a465e1fcb4c6c2R125


Update _make_component_list_from_actions to address TRANSFORM_TARGET action code

TargetDistributionDataCheck returns a TRANSFORM_TARGET action code, but _make_component_list_from_actions currently does not return any components to handle this action!
We should update _make_component_list_from_actions to handle this action code by checking the transformation strategy (aka lognormal for now) and returning the appropriate component (LogTransformer).

Got it. So this is the last piece we need to make it so that log transform gets turned on/off by the data check, but that users can override this behavior via data check actions.
Note #2866 is related


Please allow for the use of / as a key separator, as described in the sysctl man page

In RHEL, the sysctl man page describes the use of / as a key separator instead of .:
PARAMETERS
       variable
              The  name  of  a  key to read from.  An example is kernel.ostype.  The ’/’ separator is also accepted in
              place of a ’.’.

This is required in situations where a sub-key name itself includes a ., such as network interfaces with vlans (bond0.209 for example).  Specifically:
# sysctl net.ipv4.conf.bond0.209.rp_filter
error: "net.ipv4.conf.bond0.209.rp_filter" is an unknown key
# sysctl net/ipv4/conf/bond0.209/rp_filter
net.ipv4.conf.bond0/209.rp_filter = 1
# sysctl net.ipv4.conf.bond0/209.rp_filter
net.ipv4.conf.bond0/209.rp_filter = 1

As seen in the output of the second example, you can apparently also replace a . in the sub-key name with a /.
However, neither work-around works with the augeas provider, because the / apparently breaks the parsing of the key names:
# puppet apply -t --debug -e 'sysctl {"net/ipv4/conf/bond0.209/rp_filter": value=>2 }'
…
Notice: /Stage[main]/Main/Sysctl[net/ipv4/conf/bond0.209/rp_filter]/ensure: created
Debug: Puppet::Type::Sysctl::ProviderAugeas: Save failure details:
/augeas/files/etc/sysctl.conf/error/path = /files/etc/sysctl.conf/net
/augeas/files/etc/sysctl.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/simplevars.aug:34.7-36.43:
/augeas/files/etc/sysctl.conf/error/message = Failed to match

()
 (     | { })
()
 (     | { /#comment/ = /[^\001-\004\t\n\r ][^\001-\004\n]*[^\001-\004\t\n\r ]|[^\001-\004\t\n\r ]/ })
  with tree
    { "ipv4" }
Error: /Stage[main]/Main/Sysctl[net/ipv4/conf/bond0.209/rp_filter]: Could not evaluate: Failed to save Augeas tree to file. See debug logs for details.
…
# puppet apply -t --debug -e 'sysctl {"net.ipv4.conf.bond0/209.rp_filter": value=>2 }'
…
Notice: /Stage[main]/Main/Sysctl[net.ipv4.conf.bond0/209.rp_filter]/ensure: created
Debug: Puppet::Type::Sysctl::ProviderAugeas: Save failure details:
/augeas/files/etc/sysctl.conf/error/path = /files/etc/sysctl.conf/net.ipv4.conf.bond0
/augeas/files/etc/sysctl.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/simplevars.aug:34.7-36.43:
/augeas/files/etc/sysctl.conf/error/message = Failed to match

()
 (     | { })
()
 (     | { /#comment/ = /[^\001-\004\t\n\r ][^\001-\004\n]*[^\001-\004\t\n\r ]|[^\001-\004\t\n\r ]/ })
  with tree
    { "209.rp_filter" = "2" }
Error: /Stage[main]/Main/Sysctl[net.ipv4.conf.bond0/209.rp_filter]: Could not evaluate: Failed to save Augeas tree to file. See debug logs for details.

Please update the augeas lens to allow the use of this work-around.

Related: https://github.com/hercules-team/augeas/issues/176

This is also discussed in hercules-team/augeas/pull/755

Ok, so I am almost there. I have confirmed that I can run augtool with the puppet agent libraries and lenses and confirm failure with the sysctl lens
$ grep Version /opt/puppetlabs/puppet/lib/pkgconfig/augeas.pc
Version: 1.13.0

$ cat vlan-augeas-commands
set /files/etc/sysctl.conf/net.ipv4.conf.eth2\/666.rp_filter 6

$ LD_LIBRARY_PATH=/opt/puppetlabs/puppet/lib ./augtool --include /opt/puppetlabs/puppet/share/augeas/lenses/dist --backup --root /tmp/augeas-sandbox --autosave --interactive --file vlan-augeas-commands
augtool> print /files/etc/sysctl.conf/
/files/etc/sysctl.conf
/files/etc/sysctl.conf/net.ipv4.conf.eth2\/666.rp_filter = "6"
augtool> save
error: Failed to execute command
saving failed (run 'errors' for details)

$ cp sysctl/augeas-HEAD/lenses/sysctl.aug /opt/puppetlabs/puppet/share/augeas/lenses/dist/sysctl.aug

$ LD_LIBRARY_PATH=/opt/puppetlabs/puppet/lib ./augtool --include /opt/puppetlabs/puppet/share/augeas/lenses/dist --backup --root /tmp/augeas-sandbox --autosave --interactive --file vlan-augeas-commands
augtool> print /files/etc/sysctl.conf/
/files/etc/sysctl.conf
/files/etc/sysctl.conf/#comment[1] = "HEADER: This file was autogenerated at 2023-06-21 14:11:36 +1000"
/files/etc/sysctl.conf/#comment[2] = "HEADER: by puppet.  While it can still be managed manually, it"
/files/etc/sysctl.conf/#comment[3] = "HEADER: is definitely not recommended."
/files/etc/sysctl.conf/fs.file-max = "19574123"
…
/files/etc/sysctl.conf/vm.nr_overcommit_hugepages = "0"
/files/etc/sysctl.conf/jw = "1"
/files/etc/sysctl.conf/net.ipv4.conf.eth2\/666.rp_filter = "6"
augtool> save
Saved 1 file(s)

Now, when I run puppet with the sysctl lens from 1.14/HEAD, I am sooo close! The commands are mostly run and puppet fails on a weird UTF-8 invalid byte sequence
If I was to guess, maybe the provider needs to escape the / forward slash before writing? But that's only a guess
Debug: Executing: '/usr/sbin/sysctl -n net.ipv4.conf.eth2/666.rp_filter'
Notice: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]/value: changed configuration value from '' to '0' and live value from '1' to '0'
Debug: Executing: '/usr/sbin/sysctl -w net.ipv4.conf.eth2/666.rp_filter=0'
Debug: Puppet::Type::Sysctl::ProviderAugeas: Save failure details:
/augeas/files/etc/sysctl.conf/error/path = /files/etc/sysctl.conf/files/etc/sysctl.conf/net.ipv4.conf.eth2
/augeas/files/etc/sysctl.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/sysctl.aug:44.7-46.43:
/augeas/files/etc/sysctl.conf/error/message = Failed to match tree under /files/etc/sysctl.conf/net.ipv4.conf.eth2

     { "666.rp_filter" = "0" }

  with pattern

()
 (     | { })
<F4>
 (     | { /#comment/ = /[^\t\n\r ].*[^\t\n\r ]|[^\t\n\r ]/ })

Error: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]: Could not evaluate: invalid byte sequence in UTF-8

Follow up - that 'invalid byte sequence' phrase appears in puppet::stdlib, and I note dI had a very old version.  I updated it and all augeas related modules and now back to the error @waipeng is reporting
I suspect more work is required in puppet-augeasproviders_sysctl to quote the / when passing to augeas as the augeas internal representation quotes the /
Debug: Executing: '/usr/sbin/sysctl -n net.ipv4.conf.eth2/666.rp_filter'
Notice: /Stage[main]/Imc_r_profile::Sysctl/Sysctl[net.ipv4.conf.eth2/666.rp_filter]/value: changed configuration value from '' to '0' and live value from '1' to '0'
Debug: Executing: '/usr/sbin/sysctl -w net.ipv4.conf.eth2/666.rp_filter=0'
Debug: Puppet::Type::Sysctl::ProviderAugeas: Save failure details:
/augeas/files/etc/sysctl.conf/error/path = /files/etc/sysctl.conf/files/etc/sysctl.conf/net.ipv4.conf.eth2
/augeas/files/etc/sysctl.conf/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/sysctl.aug:44.7-46.43:
/augeas/files/etc/sysctl.conf/error/message = Failed to match tree under /files/etc/sysctl.conf/net.ipv4.conf.eth2

     { "666.rp_filter" = "0" }

  with pattern

()
 (     | { })
E
 (     | { /#comment/ = /[^\t\n\r ].*[^\t\n\r ]|[^\t\n\r ]/ })

Error: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]: Could not evaluate: Failed to save Augeas tree to file. See debug logs for details.

A good night's sleep and I worked out that the provider needed to quote the slashes in strings only when communicating with augeas and not every time the key is used
With the changes in PR #79 plus the new sysctl lens jammed into the puppet agent, I managed to get a working add/modify/delete for strings with a / in them:
Debug: Executing: '/usr/sbin/sysctl -n net.ipv4.conf.eth2/666.rp_filter'
Notice: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]/value: changed configuration value from '' to '1'
Debug: Executing: '/usr/sbin/sysctl -w net.ipv4.conf.eth2/666.rp_filter=1'
Debug: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]: The container Class[Imc_r_profile::Sysctl] will propagate my refresh event

and
Notice: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]/ensure: removed
Debug: /Stage[main]/Sysctl[net.ipv4.conf.eth2/666.rp_filter]: The container Class[Imc_r_profile::Sysctl] will propagate my refresh event

This also works for me dropping the 1.14 sysctl lens into puppet agent $libdir/augeas/lenses rather than directly hacking /opt/puppetlabs/puppet/share/augeas/lenses/dist/sysctl.aug


Clean up unused --seed-kubecfg-path flag from the Shoot creation framework

How to categorize this PR?

/area testing
/kind cleanup
What this PR does / why we need it:
After https://github.com/gardener/gardener/pull/8833/files#diff-0c5fc2d4d1cea0541004c8163ef28b926d4ba2702fdc4c143115ecfa992127adL437-L446 the --seed-kubecfg-path flag is no longer used by the Shoot creation framework.
Which issue(s) this PR fixes:
N/A
Special notes for your reviewer:
See https://github.com/gardener/test-infra/issues/533
Release note:

NONE

/lgtm


Schema v1 v2 converter (#942)

Add a converter for schema v1 -> v2. I also included some fancy custom handling, like we discussed. There are some very basic tests as well, you can run them via nosetests scripts/upgrade_dbt_schema_tests_v1_to_v2.py. I didn't add them to the test harness since it's not clear we're even keeping this here, but I could easily do so.
I tested it out briefly on some of the 008_schema_tests_test cases and everything does appear reasonable.

@beckjake this is really neat! Some initial thoughts:

I pictured this working recursively on the whole models/ directory, updating schema.yml files as it finds them. As it is, you can run the script in a loop over find models -name schema.yml, but I think it would be good if the script did this automatically.
If we do make this recursively search through models/, can we check for the existence of dbt_project.yml and error out if it doesn't exist? I imagine this would go poorly if the script is run from a higher-level directory
I like what you're doing with --overwrite and --in-place, but I think we can simplify this. How do you feel about the script "dry running" by default, then accepting an argument like --replace to actually update the schema.yml files with the new code?
This is lower priority, but I noticed the output looks like:

models:
- columns:
  - name: collector_tstamp
    tests: [not_null]
  - name: event_id
    tests: [not_null, unique]
  name: stg_snowplow_events
version: 2

Is there an arg (flow_style?) to yaml.safe_dump() that makes the arrays render more vertically? Nbd if it's at all difficult -- I'm only interested in this if it's a one-line code change.
I need to play around with this some more but this is looking really great!

@drewbanin I think I have addressed your comments and adjusted output accordingly, let me know what you think. On error, it currently bails on the file but not on the entire run, which seemed best to me. Unfortunately it looks like fixing the flow output of yaml.safe_dump would require writing our own yaml.SafeDumper, so I don't think we'll be doing that.

That sounds like some effort, but pretty valuable. We control the schema, so it's doable and not super difficult, but it will be brittle. Let me see if I can get it done today, I guess?

I've been doing some more validation here. I think this script doesn't correctly handle this case:
model_name:
  constraints:
    dbt_utils.equality:
      - ref('other_table_name')

The output of this script is
- name: model_name
  tests:
  - dbt_utils.equality: ref('other_table_name')

whereas I think the test needs to be a dict, like:
- name: model_name
  tests:
  - dbt_utils.equality:
      compare_model: ref('other_table_name')

This just came up over here).
I think compare_model could equivalently be arg here instead