[Bug] Snowflake connections closing before on-run-end macro(s) finish

Is this a new bug in dbt-snowflake?

[X] I believe this is a new bug in dbt-snowflake
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
I am running a custom on-run-end macro that creates a cloned table that is built during my dbt run/build command. It appears that dbt is closing connections made with snowflake before my on-run-end is able to finish. The on-run-end hook begins, and abruptly exists with the below error.
17:24:38  Running 1 on-run-end hook
17:24:39  1 of 1 START hook: <hookname>.on-run-end.0 ................. [RUN]
17:24:39  Snowflake adapter: [WARNING]: Explicit transactional logic should be used only to wrap DML
logic (MERGE, DELETE, UPDATE, etc). The keywords BEGIN; and COMMIT; should be
placed directly before and after your DML statement, rather than in separate
statement calls or run_query() macros.
17:24:40
17:24:40  Finished running 9 view models, 1 table model, 5 tests in 0 hours 0 minutes and 25.68 seconds (25.68s).
17:24:40  Encountered an error:
local variable 'connection' referenced before assignment

Below is my macro
{% macro deploy_staged_aggregation(results) %}

{% if execute %}

    {% set final_tables = [] %}

    {% set failed_test_models = [] %}

    {% for result in results %}

        /* Creates a list[dict] of 'final' aggregation table models */
        {% if 'marts/' in result.node.path|lower
            and result.node.resource_type|lower == 'model'
            and result.status|lower == 'success'
            and result.node.config.materialized|lower  == 'table'%}
            {% do final_tables.append(result) %}
        {% endif %}

        /* Creates a list[string] of models that had a failed test */
        {% if result.status == 'fail'
            and result.node.resource_type == 'test' %}
            {% do failed_test_models.append(result.node.file_key_name.split(".")[-1]) %}
        {% endif %}

    {% endfor %}

    /* For each model (table) object in 'final_tables', check if it has a failed test */
    {% for final_table in final_tables %}

        /* If the final table had a test failure */
        {% if final_table.node.name in failed_test_models %}
            {{ log("FAILED: not deploying " ~ final_table.node.name ~ " to " ~ target.schema, info=True) }}

        /* No test failure, create clone */
        {% else %}
            {{ log("PASSED, deploying " ~ final_table.node.name ~ " to " ~ target.schema, info=True) }}

            {% set sql %}
            CREATE OR REPLACE TABLE {{ target.database }}.{{ target.schema }}.{{ final_table.node.name }}
            CLONE {{ final_table.node.database }}.{{ final_table.node.schema }}.{{ final_table.node.name }};
            {% endset %}

              {% do run_query(sql) %}

        {% endif %}

    {% endfor %}

{% endif %}

{% endmacro %}

It is not using any DML logic. It parses logs to find out if any tests failed, and if they did not, it creates a clone of the final built table in my dbt run/build/test.
Expected Behavior
I expect this on-run-end to create a clone of a table if all tests do pass. If all tests do not pass, the on-run-end should still run, just not create a clone table.
Steps To Reproduce
Private environment. I am running a custom on-run-end macro that creates a clone of a table depending on conditions.
Relevant log output
17:33:41  Running with dbt=1.7.17
17:33:41  target not specified in profile 'aggregations_xsmall', using 'default'
17:33:41  Registered adapter: snowflake=1.7.5
17:33:41  Found 10 models, 1 operation, 5 tests, 7 sources, 0 exposures, 0 metrics, 572 macros, 0 groups, 0 semantic models
17:33:41
17:33:43  Concurrency: 4 threads (target='default')
17:33:43
17:33:43  1 of 15 START sql view model <model> [RUN]
17:33:44  1 of 15 OK created sql view model <model>  [SUCCESS 1 in 0.80s]
17:33:44  2 of 15 START sql view model <model>  [RUN]
17:33:44  3 of 15 START sql view model <model>  [RUN]
17:33:44  4 of 15 START sql view model <model>  [RUN]
17:33:44  4 of 15 OK created sql view model <model>  [SUCCESS 1 in 0.79s]
17:33:45  3 of 15 OK created sql view model <model>  [SUCCESS 1 in 0.82s]
17:33:45  5 of 15 START sql view model <model>  [RUN]
17:33:45  6 of 15 START sql view model <model>  [RUN]
17:33:45  2 of 15 OK created sql view model <model>  [SUCCESS 1 in 0.84s]
17:33:45  7 of 15 START sql view model <model>  [RUN]
17:33:45  6 of 15 OK created sql view model <model>  [SUCCESS 1 in 0.78s]
17:33:45  5 of 15 OK created sql view model <model>  [SUCCESS 1 in 0.79s]
17:33:45  8 of 15 START sql view model <model>  [RUN]
17:33:46  7 of 15 OK created sql view model <model>  [SUCCESS 1 in 1.36s]
17:33:47  8 of 15 OK created sql view model <model>  [SUCCESS 1 in 1.87s]
17:33:47  9 of 15 START sql view model <model>  [RUN]
17:33:49  9 of 15 OK created sql view model <model>  [SUCCESS 1 in 1.92s]
17:33:49  10 of 15 START sql table model <model> ....... [RUN]
17:34:05  10 of 15 OK created sql table model <model> .. [SUCCESS 1 in 15.46s]
17:34:05  11 of 15 START test <test>  [RUN]
17:34:05  12 of 15 START test <test>[RUN]
17:34:05  13 of 15 START test <test>  [RUN]
17:34:05  14 of 15 START test <test>  [RUN]
17:34:05  14 of 15 PASS <test>  [PASS in 0.68s]
17:34:05  15 of 15 START test <test>  [RUN]
17:34:06  15 of 15 PASS <test>  [PASS in 0.61s]
17:34:07  11 of 15 PASS <test>  [PASS in 2.66s]
17:34:08  12 of 15 PASS <test> [PASS in 3.31s]
17:34:08  13 of 15 PASS <test>  [PASS in 3.33s]
17:34:08
17:34:08  Running 1 on-run-end hook
17:34:10  1 of 1 START hook: <project name>.on-run-end.0 ................. [RUN]
17:34:10  Snowflake adapter: [WARNING]: Explicit transactional logic should be used only to wrap DML
logic (MERGE, DELETE, UPDATE, etc). The keywords BEGIN; and COMMIT; should be
placed directly before and after your DML statement, rather than in separate
statement calls or run_query() macros.
17:34:10
17:34:10  Finished running 9 view models, 1 table model, 5 tests in 0 hours 0 minutes and 28.46 seconds (28.46s).
17:34:10  Encountered an error:
local variable 'connection' referenced before assignment
17:34:10  Traceback (most recent call last):
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/requires.py", line 91, in wrapper
    result, success = func(*args, **kwargs)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/requires.py", line 76, in wrapper
    return func(*args, **kwargs)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/requires.py", line 169, in wrapper
    return func(*args, **kwargs)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/requires.py", line 198, in wrapper
    return func(*args, **kwargs)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/requires.py", line 245, in wrapper
    return func(*args, **kwargs)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/requires.py", line 278, in wrapper
    return func(*args, **kwargs)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/cli/main.py", line 220, in build
    results = task.run()
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/task/runnable.py", line 502, in run
    result = self.execute_with_hooks(selected_uids)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/task/runnable.py", line 464, in execute_with_hooks
    self.after_run(adapter, res)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/task/run.py", line 476, in after_run
    self.safe_run_hooks(adapter, RunHookType.End, extras)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/task/run.py", line 415, in safe_run_hooks
    self.run_hooks(adapter, hook_type, extra_context)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/task/run.py", line 383, in run_hooks
    response, _ = adapter.execute(sql, auto_begin=False, fetch=False)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/adapters/base/impl.py", line 310, in execute
    return self.connections.execute(sql=sql, auto_begin=auto_begin, fetch=fetch, limit=limit)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/adapters/snowflake/connections.py", line 472, in execute
    _, cursor = self.add_query(sql, auto_begin)
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/adapters/snowflake/connections.py", line 500, in add_query
    connection, cursor = self._add_begin_commit_only_queries(
  File "/Users/kevinmampe/mai-github/snowflake-dbt/venv/lib/python3.10/site-packages/dbt/adapters/snowflake/connections.py", line 548, in _add_begin_commit_only_queries
    return connection, cursor
UnboundLocalError: local variable 'connection' referenced before assignment

Environment
- OS: macOS Monterey version 12.1.1
- Python: 3.10.9
- dbt-core: 1.7.17
- dbt-snowflake: 1.7.5

Additional Context
No response

Hello!
Did you find any solution for your problem?
We get the same error local variable 'connection' referenced before assignment.
This happens in a post_hook of the last model in our DAG.


[RFC] Template Actions Anywhere

Status: Open for comments

Need

We need a lightweight mechanism for executing one-off template actions from the
context of an entity page, card, or something similar. The main motivating
factor is this: suppose that you have thousands of services and a new, optional
integration comes online, then another, and another, and so on. We'd want users
to apply these integrations to existing services as they see fit.
Proposal

This work would build on top of what #7211 is proposing. The idea is to execute
template actions without the need for a template. On the frontend, we would use
the same mechanism that renders the templates to do the same for an action's
schema.input. The values that the user enters will be POSTed to /v2/tasks
route; we could either check for certain request values or use a new query
parameter to determine whether we're trying to run a task based on template
values or standalone action ones. From there, the existing scaffolder task logic
would run as if the user had filled out a template to create a new project. This
assumes that we generated a valid task spec for the action before sending it off
to the task broker.
Alternatives

Rather than repurposing the existing /tasks route, we could create a new
one for these one-off scenarios. The logic would be similar but adhere to the
proposal above.
Export the task broker so that backend plugins can dispatch task
specs with only the actions that we have in mind.
Execute the action(s) using a template wrapper. This wrapper would be nothing
more than the JSON representation of the template descriptor and would allow
us to reuse the same logic for creating new projects using templates.

The third alternative would work in a similar fashion to the proposal above and
use much of the existing logic to carry out its task. It would circumvent the
fetching of an existing template and craft a temporary one that serves only to
wrap the action(s) that we want to execute before sending it off to the task
broker. And to clarify, circumventing the fetching of an existing template does
not mean that we skip validation of the temporary template that we're creating.
The temporary template would be nothing more than the JSON representation of a
basic template descriptor. We would inject the action(s) inside of spec.steps.
Risks

As far as I can tell, validating user inputs for actions outside of a template
is pretty rudimentary. The third alternative above could help with that. The
problem with that alternative is the added complexity. The case could be made to
add a new route for that purpose, but the more that I think about it, the less
it makes sense to do so for such a specific use-case. That being said, both the
proposal and the temporary template alternative are possibly more ideal than
exposing the task broker.

I'm thinking a great use case here would be to take a repository that's already been scaffolded previously, run a codemod or something on it to upgrade it to the latest base template and then push the changes as a PR to the repo.

The codemod idea makes sense. The adavantage here is that we don't have to
modify anything. That leaves us with the idea of being able to apply these
codemods from anywhere, similar to what #7211 is proposing.
As a contrived example, suppose you're browsing a service and click on its
pipeline tab. CI/CD has not been setup for this service, so the pipeline page
displays a button or link to get it setup. Clicking on this should bring up
a template that would allow you to run the codemod for the repo that the
service resides in.

@hostsamurai @benjdlambert @sagacity is this feature implemented?

So there's something similar that was implemented but it's not been released yet. #15162. More info to follow about how to use this eventually.

Has this been released?


Tie ActionMessageView bottom constraint to Navigation Bar

Task/Issue URL:
Tech Design URL:
CC: @miasma13
Description:
Makes notification toast tied to the navbar (see video)
https://user-images.githubusercontent.com/365498/175515471-8db57871-24bb-4559-b7df-b2334948bcd8.mp4

Steps to test this PR:

Test toast position in web view with navbar shown/hidden and in popup views

Orientation Testing:

[ ] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone
[ ] iPad

Internal references:
Software Engineering Expectations
Technical Design Template
When ready for review, remember to post the PR in MM

Looks like this can be rebased and merged? @mallexxx  @amddg44 ?


Update curl to 7.85.0

This PR updates curl to 7.85.0 (7.85.0 covers the following vulnerabilities):
CVE-2022-35252: control code in cookie denial of service
See https://curl.se/docs/security.html for details
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Let's hold off on this until 2.10 gets released. With me leaving the team, there is a slowdown in the TF OSS processes and this would add to the confusion (as it needs to be cherrypicked on older branches, tracked, etc.)


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/landing-zone/ibm (source)
module
patch
5.25.0 -> 5.25.1

terraform-ibm-modules/powervs-instance/ibm (source)
module
patch
2.0.1 -> 2.0.2

Release Notes

terraform-ibm-modules/terraform-ibm-landing-zone (terraform-ibm-modules/landing-zone/ibm)
v5.25.1
Compare Source
Bug Fixes

added a fix to handle the new ibm-storage-operator addon which comes installed by default on OCP 4.15 cluster (#838) (e02f396)

terraform-ibm-modules/terraform-ibm-powervs-instance (terraform-ibm-modules/powervs-instance/ibm)
v2.0.2
Compare Source
Bug Fixes

upgrade ibm provider version (#283) (d3742fe)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This issue has been resolved in version 6.0.0 :tada:
The release is available on:

GitHub release
v6.0.0

Your semantic-release bot :package::rocket:


RFC: Postgres Bundle for Pageserver

Rendered
Epic: https://github.com/neondatabase/cloud/issues/14519

Regarding of what we decide about the way we build/pin wal-redo there are two things to imvestigate:

static wal-redo without libicu/openssl/locale-coversion so files / etc -- should be fairly straightforward
avoiding initdb on pageserver -- quite a lot of small changes all over the place (compute, cplane, pageserver)


Init scripts need access to ProviderFactory to allow for configuration cache- safe logic branches

With the configuration cache enabled, configuration cache hits result in a lack of init script execution. As a result, any branching logic contained within the init script will fail to be re-evaluated unless:

The logic happens to be based upon an input that would be detected as changed via other means (e.g., command line changes)
The init script file content itself changes

I don't see any way to obtain a ProviderFactory instance from within an init script.  As a result. init scripts are unable to leverage the ValueSource API and therefore have no means to communicate changes in conditions that might result in a need to be reevaluated.
A simple example of this might be the test for a file's presence at a particular path.
Expected Behavior
Init scripts have access to ProviderFactory and can register custom implementations.
Current Behavior
Init scripts don't appear to be able to access the ProviderFactory and therefore cannot take advantage of the existing providers (e.g., environmentVariable(...)) nor can it register custom value sources.
Context
Our build utilizes a sentinel file's presence as an indicator that a particular build feature should be enabled.  When running with configuration cache enabled, the presence of this file is only tested once and the result is stored in the configuration cache.  If the sentinel file is removed and the build re-run then Gradle does not detect the necessary change in behavior since the init script is not reinvoked.

One clarification: gradle.rootProject { providers... } can be used but in my understanding this is a deferred invocation versus direct/inline.

This is going to be solved as part of the more general #13121.


Correctly calculate changelogs commensurate on commencement of correctional commit

Correctly calculate changelogs when a hotfix has been released
When a hotfix was created, it means that the last vX.Y tag was not a --first-parent of the current tip. Since the hotfix (probably) just had cherry-picks, we want to include those PRs (as well as those that were not cherry-picked when releasing the next, formal, version. To do this, we need to go back to the last vX.Y tag that was made on a commit on main.

Nice! I presume we should wait until after the next vX.Y to merge this, otherwise our beta release numbers will step back in time?

Nice! I presume we should wait until after the next vX.Y to merge this, otherwise our beta release numbers will step back in time?

I don't think so. I'll update the PR description to explain why.


Pcov || XDebug with RR

Hello!
Is your feature request related to a problem?
It is noted in the Dockerfile that xdebug is supposed to be used. But there are no settings for the RoadRunner.
Describe the solution you'd like

If xdebug is only used to cover code with tests, it may be possible to use pcov instead?
Or maybe add documentation with examples on using the RoadRunner with xdebug?

Additional context
RR with debug: https://roadrunner.dev/docs/php-debugging
Pcov is built for PHPUnit code coverage not something else.

Hi there! Xdebug is used only for internal test coverage calculation, not more. Are you sure this is a relevant repository for your question?  :)

Are you sure this is a relevant repository for your question?

Yes.

Ok, is this affects RR integration with Laravel? 😄

yes, I mixed up the repositories 😵💫

@tarampampam close it, thank you


Adjust AWS partitioning for RHEL 8 and 9 (COMPOSER-2155)

distro/rhel9: make /boot even bigger
We have reports that 600 MiB might still not be enough for certain use-cases,
so let's bump it again. See COMPOSER-2155 for more details.

disk: add PartitionTable.GetMountpointSize
It's generally useful to be able to get a size of a certain mountpoint. Let's
add a method for this.
In order to cover this method with tests, I extended the fake PT generator to
correctly set partition sizes. Also, I had to move the current content of
partition_table_test to a separate file and package, in order to break
an inclusion cycle.

distro/rhel8: Adjust /boot size again
It turns out 500 MiB /boot is too small. Thus, we agreed to do the following
changes for 8.10:

for x86_64, let's not have a separate /boot at all (parity with 8.8 and
older)
for aarch64, let's make /boot 1 GiB big

I've removed an old, weird test for EC2 partitioning, and instead implemented
a new one that actually checks whether /boot is correctly sized (or even if it
exists) for a given distro-arch combo.

distro/rhel9: cover the new ec2 partitioning with tests
Same thing as we did for rhel8

OK, I simplified the code in RHEL 8:

the ami type now behaves the same way as ec2 types: it now respect the given minor versions. Thus amis built for older RHEL 8 versions will have different partitioning than for 8.10. The rationale behind this change is that we now have only one code-path to maintain, and if the customers want an older image with a bigger /boot, they can just use a customization.
8.9 for x86_64 now doesn't have a separate /boot for x86_64. The original version of this PR had a separate one for the sake of backward compatibility, but since a separate /boot turned out to be basically a bug that broke some users, we should treat it as a bug and revert the faulty behaviour. This once again led to a simplification.


Feature/permissions support

:tada: This PR is included in version 2.0.1-beta.9 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove not needed TEN_POW_16 constants

The TEN_POW_16 constants are only referenced in the FastIntegerMath classes, not the  JavaBigDecimalFrom* classes.

Thank you for contributing this code! 🙂


WebHooks docs for ASP.NET were created without metadata

Add metadata to all docs under https://github.com/aspnet/Docs/tree/master/aspnet/webhooks

@tdykstra  can you close this now?


[BUG] - Deleting CSV parameters works until the second attempt

Describe the bug
Deleting a CSV parameter then restarting shows paras are still in effect.  After second attempt they disappear.
Ref: https://issues.redhat.com/browse/ENTESB-17734
To Reproduce
See  https://issues.redhat.com/browse/ENTESB-17734

The initial issue https://issues.redhat.com/browse/ENTESB-17734 is a Syndesis issue.  I verified that Atlasmap is correctly deleting CSV params.  Also ref:
https://github.com/atlasmap/atlasmap/pull/3401


WIP: Update hyper related deps and bump version

@bors-servo r+

:clipboard: Looks like this PR is still in progress, ignoring approval

@Eijebong Why is this WIP?

Because I'm still waiting for warp to get released to be able to update it in webdriver. Otherwise we'll dupe hyper in servo if we need anything else from this crate

Ack.

The new release of warp is out now.

Yeah, and webdriver has been updated upstream but not released yet

webdriver 0.41 is out now.

Hi,
Is this still WIP or can we release a new version to bump hyper into servo? (BTW last hyper version is now 0.14)
Regards

Nobody is actively working on the upgrade. One issue with upgrading hyper to 0.14 is that it transitively depends on mio 0.7, and https://github.com/servo/servo/issues/26896 was a concern. Now that we're not actively shipping a UWP product that may be less important than it used to be.

:umbrella: The latest upstream changes (presumably #36) made this pull request unmergeable. Please resolve the merge conflicts.


Support Kubernetes 1.14

With Kubernetes 1.14 coming out on 26th March, we should start planning and working on support for Kubernetes 1.14.

With #328 merged we have resolved all release-blocking issues we had. In the morning I'll start staging the v0.5.0 release.
/close


TTBuffer classes are missing

TTBufferPlay
TTBufferRecord
TTBufferWindow
see more on the original redmine issue http://redmine.jamoma.org/issues/143

Buffers are being totally redesigned as SampleBundles in jamoma2
https://github.com/jamoma/jamoma2/blob/master/includes/core/JamomaSample.h


executor: Support configuring process name

Is your feature request related to a problem? Please describe.
I'd like to fuzz drivers which only allow processes with a specified name to open their associated device files. Currently I can fuzz them by removing the check and rebuilding the kernel, but being able to set process name in config would be much more convenient than rebuilding the kernel.
Describe the solution you'd like
Process name checks are done by calls to current->comm (see: https://github.com/OP-TEE/optee_linuxdriver/blob/master/core/tee_core.c#L169 for an open-source example of such code). Right now, current->comm will always be 'syz-executor'. Those checks can be trivially bypassed by changing executable name, and I'm pretty sure a more elegant option would be to run the syz-executor binary as it is but put the configured name in argv[0] (I am however not sure if it's doable in Go as my knowledge of Go is very limited; in C it's easy to do with execve: https://man7.org/linux/man-pages/man2/execve.2.html)

Why would a kernel driver want to do this? This does not look like it's a serious security protection. Can this check be removed entirely? Or at least made configurable with cmdline option?
prctl(PR_SET_NAME) should change comm, this can be executed from executor itself.

I agree that this is not a serious security protection and shouldn't be done. I didn't write the driver I'm fuzzing though (the one I've linked is just an example, the driver I'm fuzzing doesn't seem to be publicly available), so I'm just suggesting  things that would make fuzzing easier.


New API allowing message headers to be sent and consumed more easily from application code

Use cases for headers from application level code is not very well supported with the current request abstractions.
This could be improved upon. Let's use this issue to discuss possible ways to support it.

Partially solved, we need to make this possible to use for ClusterContext also.

Fixed for cluster requests in #1411


systemctl --user is broken in tests

Describe the bug
When running machine.systemctl("start repro.service --wait", user="repro") in a nixos test, we get this error:
machine # Failed to connect to bus: No such file or directory

Steps To Reproduce
This is a small repro:
let
  nixpkgs = <nixpkgs>;
  pkgs = import nixpkgs { };
  homeManagerModule = pkgs.home-manager.src + "/nixos/default.nix";
in
pkgs.nixosTest ({ lib, ... }: {
  name = "repro";
  nodes.machine = {
    imports = [
      homeManagerModule
    ];
    users.users.repro = {
      isNormalUser = true;
    };
    home-manager = {
      useGlobalPkgs = true;
      useUserPackages = true;
      users.repro = {
        systemd.user = {
          startServices = true;
          services = {
            "repro" = {
              Service = {
                ExecStart = "/run/current-system/sw/bin/true";
                Type = "oneshot";
              };
            };
          };
        };
      };
    };
  };
  testScript = ''
    machine.start()
    machine.wait_for_unit("multi-user.target")

    (c, out) = machine.systemctl("start repro.service --wait", user="repro")
    print(out)
    assert c == 0
  '';
})

You can use feedback -- nix-build test.nix --no-out-link as a feedback loop.
Expected behavior
A passing test.
Metadata
From inside the test:
 - system: `0`
 - host os: `Linux 5.15.53, NixOS, 22.05 (Quokka), 22.05pre-git`
 - multi-user?: `no`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - nixpkgs: `0`

It would be great if we could add this nixos test so that it's not broken again in the future as well.

My guess:
For systemctl --user to work, DBUS must be running for that user. But there's nothing in the NixOS config that would result in it running for the user repro.
According to https://serverfault.com/questions/936985/cannot-use-systemctl-user-due-to-failed-to-get-d-bus-connection-permission/1047069#1047069 there are 3 things that commonly start DBUS for a user:

graphical session
login on terminal (username and password)
ssh

So I think one way to address the issue could be to start a graphical session, as is done in this KDE test:
https://github.com/NixOS/nixpkgs/blob/dfda4ec196a5b882c1e7d962d8d635a8379766aa/nixos/tests/plasma5-systemd-start.nix#L38
In the GNOME test https://github.com/NixOS/nixpkgs/blob/dfda4ec196a5b882c1e7d962d8d635a8379766aa/nixos/tests/gnome.nix#L55 DBUS_SESSION_BUS_ADDRESS is set directly, which may also be relevant; but I think the key thing here, too, is that a graphical session is running.
You may try to find another way to start DBUS for the user repro without a graphical session, which would be lighter-weight.

The following works for me, copying the code from plasma5-systemd-start.nix and putting the DBUS_SESSION_BUS_ADDRESS in:
let
  nixpkgs = <nixpkgs>;
  pkgs = import nixpkgs { };
  homeManagerModule = pkgs.home-manager.src + "/nixos/default.nix";
in
pkgs.nixosTest ({ lib, ... }: {
  name = "repro";
  nodes.machine = {
    imports = [
      homeManagerModule
    ];
    services.xserver = {
      enable = true;
      displayManager.sddm.enable = true;
      displayManager.defaultSession = "plasma";
      desktopManager.plasma5.enable = true;
      desktopManager.plasma5.runUsingSystemd = true;
      displayManager.autoLogin = {
        enable = true;
        user = "repro";
      };
    };
    users.users.repro = {
      isNormalUser = true;
      uid = 1000;
    };
    home-manager = {
      useGlobalPkgs = true;
      useUserPackages = true;
      users.repro = {
        systemd.user = {
          startServices = true;
          services = {
            "repro" = {
              Service = {
                ExecStart = "/run/current-system/sw/bin/true";
                Type = "oneshot";
              };
            };
          };
        };
      };
    };
  };
  testScript = { nodes, ... }:
    let
      user = nodes.machine.config.users.users.repro;
      uid = toString user.uid;
    in
      builtins.trace uid ''
        machine.start()
        machine.wait_for_unit("multi-user.target")

        with subtest("Wait for login"):
            start_all()
            machine.wait_for_file("${user.home}/.Xauthority")
            machine.succeed("xauth merge ${user.home}/.Xauthority")

        with subtest("Check plasmashell started"):
            machine.wait_until_succeeds("pgrep plasmashell")
            machine.wait_for_window("^Desktop ")

        machine.succeed("sudo -u repro DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus systemctl --user start repro.service --wait")
      '';
})

@nhI think it's possible to make this work

Ok I figured it out, here is the result with a bunch of comments:
let
  nixpkgs = <nixpkgs>;
  pkgs = import nixpkgs { };
  homeManagerModule = pkgs.home-manager.src + "/nixos/default.nix";
in
pkgs.nixosTest
{
  name = "repro";
  nodes.machine =
    ({ lib, config, ... }: {
      imports = [
        homeManagerModule
      ];
      users.users.repro = {
        isNormalUser = true;
      };
      # We must enable lingering so that the Systemd User D-Bus is enabled.
      # We also cannot do this with loginctl enable-linger because it needs to happen before systemd is loaded.
      # It would be nice if there were a nixos option for this.
      # See https://github.com/NixOS/nixpkgs/issues/3702
      system.activationScripts = {
        enableLingering = ''
          # remove all existing lingering users
          rm -rf /var/lib/systemd/linger
          mkdir -p /var/lib/systemd/linger
          # enable for the subset of declared users
          touch /var/lib/systemd/linger/repro
        '';
      };
      home-manager = {
        users.repro = {
          # We must enable xdg so that the ~/.config directory exist
          # Because the systemd user services are stored in .config/systemd/user
          # and home manager will fail to put them there otherwise.
          xdg.enable = true;
          systemd.user = {
            services = {
              "repro" = {
                Service = {
                  ExecStart = "/run/current-system/sw/bin/true";
                  Type = "oneshot";
                };
              };
            };
          };
        };
      };
    });
  testScript = ''
    machine.start()
    machine.wait_for_unit("multi-user.target")

    (c, out) = machine.systemctl("start repro.service --wait", user="repro")
    print(out)
    assert c == 0
  '';
}

So we need to:

Enable lingering so that the Systemd User D-Bus is running when we run the start command.
Enable xdg so that home manager has a place to put the unit files

You can use this to enable lingering for all users;
system.activationScripts = {
          enableLingering =
            let touchUserLinger = username: _: "touch /var/lib/systemd/linger/${username}";
            in
            ''
              # remove all existing lingering users
              rm -rf /var/lib/systemd/linger
              mkdir -p /var/lib/systemd/linger
              # enable for the subset of declared users
              ${lib.concatStringsSep "\n" (lib.mapAttrsToList touchUserLinger config.users.users)}
            '';
        };

It would be great if this could be a nixos option.

Agreed! Your workaround cleared the final hurdle for me to be able to stop running all my services as root, on a headless device where there are often no user logged in.

Okay, I spoke slightly too soon. This didn't do quite what I expected.
In particular, multiple instances (up to 46!) of some services are started at boot. This is presumably since config.users.users has 47 members, including avahi, dhcpcd, root, sshd, systemd-coredump, and nixbld1 all the way up to nixbld32.
Then again, to be fair, there's nothing in the specification of these user units that says they should only run for one particular user (and I wouldn't even know how to do this without https://github.com/NixOS/nixpkgs/issues/26128), so maybe my whole approach is just misguided, and if I want only one copy of each service I should just run them as root. Anyway, I'm now only enabling lingering for a single user, and everything seems to be fine.

This workaround also seems to be causing relevant units not to be automatically restarted after a system rebuild.


Add force_dcmread to run_model

Adds possibility of force_dicom_read to the model runtime arguments input for mirai_full model runtime to toggle the "force" argument for pydicom's dcmread method. This will allow users/deploying developers to allow for non-compliant DICOM's to be loaded depending on environment.

Functionality added in GH-09, v0.13.0

Thanks!


Basic project still contains unsupported javascript after setting browserslist to chromium 38

Version
4.3.1
Reproduction link
https://github.com/Peter-Barrett/vue-transpile-reproduction
Environment info
Environment Info:

  System:
    OS: macOS 10.15.4
    CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
  Binaries:
    Node: 12.16.1 - /usr/local/bin/node
    Yarn: 1.21.1 - ~/.yarn/bin/yarn
    npm: 6.13.4 - /usr/local/bin/npm
  Browsers:
    Chrome: 81.0.4044.122
    Firefox: 71.0
    Safari: 13.1
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.1.2
    @vue/babel-preset-app:  4.3.1
    @vue/babel-preset-jsx:  1.1.2
    @vue/babel-sugar-functional-vue:  1.1.2
    @vue/babel-sugar-inject-h:  1.1.2
    @vue/babel-sugar-v-model:  1.1.2
    @vue/babel-sugar-v-on:  1.1.2
    @vue/cli-overlay:  4.3.1
    @vue/cli-plugin-babel: ~4.3.0 => 4.3.1
    @vue/cli-plugin-eslint: ~4.3.0 => 4.3.1
    @vue/cli-plugin-router:  4.3.1
    @vue/cli-plugin-vuex:  4.3.1
    @vue/cli-service: ~4.3.0 => 4.3.1
    @vue/cli-shared-utils:  4.3.1
    @vue/component-compiler-utils:  3.1.2
    @vue/preload-webpack-plugin:  1.1.1
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^6.2.2 => 6.2.2
    vue: ^2.6.11 => 2.6.11
    vue-eslint-parser:  7.0.0
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.9.1
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.11 => 2.6.11
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: 4.3.1

Steps to reproduce
npm run build-component
What is expected?
The web component built in dist should not have javascript unsupported by chromium 38.
What is actually happening?
I have the browserslist set to support chromium 38 (I need it to be this version to support LG tvs). You can see in the dist folder that there is still unsupported javascript such as use strict, => and spread operators. From what I have read on the Vue docs this shouldn't be the case.

As explicitly noted in the documentation, the web component wrapper implementation that Vue CLI currently uses does not support IE11.
more specifically, it requires ES2015 support.
You can attempt to transpile vue-web-component-wrapper with the transpileDependencies option, but there's no warranty it's going to work.


Blank pages on web UI?

Currently been getting blank templates via the web UI (for any biocontainer) for a couple days so figured would report. Is there any way to figure out the tag of a container without the web UI? Thanks for your amazing work!

Hi,
Thanks for reporting
you can still get the available tags on dockerhub or quay.io related page (depending on container)

Look like could issues

kubernetes is very very slow
mongodb looks in brokebn state, a restart fails to attach cinder volume
api restarted (but mongo being down...)
can't even login to ebi cloud

I still get the empty page as screenshotted by OP. e.g. for https://biocontainers.pro/tools/fastqc


Countable callback not called in IE9 when input characters are deleted

There seems to be a bug in IE9's oninput event. The bug causes the event to not fire when characters are deleted (e.g. – backspace, delete, cut).
Countable currently uses oninput if the browser is capable. While IE9 is capable of oninput, it might be better to force IE9 to use the onkeyup event. IE9 does appear to fire onkeyup when characters are deleted.

Discussion on this issue will be in #31.


Logging PoC for issue #90

Hi @essenciary,
Not quite ready to merge this, but this is a PoC to use Julia's logging capabilities for Genie to address #90.

Created a default ConsoleLogger, and specfied a formatter that allows you to change the prefix and suffix of a log message. Just added the timestamp to it for now, you could change to whatever is best.
Put in an initialize_logging function that is called from AppServer.jl as it starts. This function configures the ConsoleLogger and sets it as the global logger
I wanted to keep the existing log() function signature, so I just translated between the log symbols/strings to Julia's LogLevel enumeration
I've tested this against a large number of calls and it seems to be stable
Updated to remove Memento and Millboard (not sure Milboard that was being used elsewhere? Can reintroduce)

Two things that are not yet addressed:

I only log to console and pipe the console data to a file in my use-case, so I didn't look at how the file configuration is done. However, the ConsoleLogger class allows you to pass a stream to it, so that could  be redirected to a file.
I didn't look at message truncation (I see you have an option for that). We would have to do some work to make that fit because ConsoleLogger only truncates to display size - ConsoleLogger Display Size. If that's important, a bit of refactoring would be needed.

Thoughts? If this is heading in the right direction, we can work on refining it.
Below included the 3 test cases I was using.
(I've made a small change to Router.jl to check if route handlers return nothing as part of the 3rd test case.)
Test Server:
using Genie.Router, Genie.Loggers

# Case 1: Info logging
route("/") do
  log("Hello!", :info)
  @info "Hello!" #Should be same
  return "HELO!"
end
# Case 2: Exception logging - bubbling up an exception - should log and send to user
route("/bubbleexception") do
  error("Bubble up to logging and as response")
end
# Case 3: Trap exception inside route handler, log it, and continue.
route("/trapexception") do
  try
    error("Ruh roh something broke")
  catch ex
    log(ex, :error)
  end
  # Returning nothing, so this call is the one where I included a small check for nothing in Router.jl:736
end

Case 1 - Informational logging:
[ [2018-12-29T16:37:57.242] Info: Accept (1):  🔗    0↑     0↓    0s <IP_ADDRESS>:8000:8000 ≣16
[ [2018-12-29T16:38:02.796] Info: Hello!
[ [2018-12-29T16:38:02.796] Info: Hello!
┌ [2018-12-29T16:38:02.873] Info: [2018-12-29T16:38:02.822] -- :/ -- Done

Case 2 - Bubbling up an exception:
┌ [2018-12-29T16:32:07.561] Error: Distributed.RemoteException(1, CapturedException(ErrorException("Bubble up to logging and as response"), Any[(error(::String) at error.jl:33, 1), ((::##5#6)() at routes.jl:11, 1), (#invokelatest#1 at essentials.jl:697 [inlined], 1),
...

Case 3 - Trapping+logging an exception:
┌ [2018-12-29T16:30:53.216] Error: ErrorException("Ruh roh something broke")
└ @ Genie.Loggers ~/.julia/dev/Genie/src/Loggers.jl:96
┌ [2018-12-29T16:30:53.229] Error: Can't convert nothing to HttpServer.Response
└ @ Genie.Loggers ~/.julia/dev/Genie/src/Loggers.jl:96
┌ [2018-12-29T16:30:53.232] Error: ErrorException("Route handler returned nothing. Please ensure a valid action result is returned.")

Hi guys 👋
It is exciting to see more eyes on Genie.jl and general Julia web development 👍
I haven't personally spent much time thinking about logging for Julia (although at one point my last startup had lots of developers thinking a lot about it for .NET), but in addition to the recent improvements with logging in base Julia, I know that @samoconnor and @quinnj have spent a lot of time making logging in HTTP.jl both useful and performant.
Now that Genie.jl is using HTTP.jl, I am curious if you have considered using that - already built - capability?

Cool. I trust you guys will work out something awesome. Just wanted to make sure you were aware of the HTTP.jl stuff 😊

@GearsAD Thanks! The Memento timezones issue is causing a lot of friction so I was actually working on the same thing: replacing Memento :)
I focused my efforts on updating MiniLogging from Julia 0.5 to Julia 1.x. Seems to work fine and I made a PR but it hasn't been reviewed yet: https://github.com/colinfang/MiniLogging.jl/pull/5
I also committed a very early Genie branch that uses my updated fork of MiniLogging (https://github.com/essenciary/Genie.jl/tree/minilogging -- not functional yet).
Regarding the architecture of the logger in Genie, the idea is for Loggers to be a wrapper around some lower level logging library. So Loggers takes care of the Genie parts (initialization, configuration, environments, and other Genie-specifics) and then delegates the data to be logged to the actual logging library (usually by invoking the corresponding info debug warn err etc macros or functions).
So in this line of thinking, the best thing would be to wrap your logging features as a separate module which Loggers can load and use. This way the Genie logic stays out of the lower level logging library, which can be reused and tested independently of Genie.
We do need to log to file separately - vs redirecting the stdout from console to file. The reason is that here we have two different usage scenarios. The console is for live inspection - while the file is for checking (usually in production) when an error needs to be traced. Hence, a lot less info should be logged to file, otherwise, in a few hours, the logs become useless as they're too large and it's impossible to search them efficiently. If you look at the other logging libraries, each output destination is treated as a different logger, with its own configuration. So there would be a console logger (which can log anything) and a file logger (which only logs errors for example). Also, another important issue here is that if the console output is formatted using ANSI, sending the same thing to file will write ANSI "junk" to file.
Another change I want to do now, as I refactor the logging, is to introduce LoggingAdapters (similar to CacheAdapters and SessionAdapters). This would allow us to configure the logging backend from the available options. So you could use the ConsoleLogger and I could use the MiniLogger.
So I suggest wrapping the logging functionality in an independent ConsoleLogger module which we can then hook into Genie.

@EricForgy can you please point us to some code or info regarding the logging in HTTP? Are there recent advancements? There's a lot to do about this in regards to Genie integration:

the HTTP logs leak out of Genie - we need a way to capture HTTP's logs into Genie's logging so that all the logging is consistent
it would also need to accept levels of verbosity (info, warn, err, etc)
we really need a way to disable some of the logging completely: for instance, from the perspective of a low-level server, it makes sense to debug every request. But in Genie, logging every request for every image, css file, etc is a distraction. In Genie one really wants to see the requests matching the routes, not the assets being served (with the option to log everything in the config).

Closing this as the feature has been implemented in different commits.


Amend pom.xml to specify final name of .war file for Fleet microservice build

Fixes #60
Changes have been made to pom.xml. I have added the correct project <groupId>  and <finalName>${project.artifactId}</finalName> in the build tag.
This should ensure that the .war file is built with the expected name of fleetms.war.
@djones6 do you want to try this out and check it all works with the deployment as expected.

@josiemundi This looks good, I was able to build an image based off this branch and the app is starting properly now.


Remove WARP_TIME_SLICING template param desc.

WARP_TIME_SLICING is contained in ALGORITHM and shouldn't be listed as a standalone template parameter.
Signed-off-by: Peter Han<EMAIL_ADDRESS>

LGTM, this change is correct. Thanks for the patch!


Add Zendesk authentication

Adds authentication callback to Zendesk web widget settings by passing along auth user JWT. This also moves the initialization of the Zandesk snippet from index.html to Store.ts.

@seniorquico Verified that the token I was receiving was for the correct account, but I noticed Zendesks own calls to verify the authentication was denied due to the request coming from a unknown domain (local).

So I am not sure how to go about verification on the Zendesk side of things that requests are being properly associated with the user account.


feature/FPHS-21

Added default implementation of back button so the owning vc doesn't always have to implement it

I like this change, nice to not have to provide custom back implementations everywhere.

r=me

looks good. r=me


[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082089, current: 3065629; changing to 3082090. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082090, current: 3067677; changing to 3082091. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082091, current: 3069725; changing to 3082092. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082092, current: 3071773; changing to 3082093. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082093, current: 3073821; changing to 3082094. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082094, current: 3075869; changing to 3082095. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082095, current: 3077917; changing to 3082096. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082096, current: 3079965; changing to 3082097. This may result in incorrect timestamps in the output file.
[mp4 @ 0000023c869d5540] Non-monotonic DTS in output stream 0:1; previous: 3082097, current: 3082013; changing to 3082098. This may result in incorrect timestamps in the output file.
[tcp @ 0000023c83144940] Successfully connected to <IP_ADDRESS> port 443
[AVIOContext @ 0000023c8556dcc0] Statistics: 8663 bytes read, 0 seeks
[dash @ 0000023c85a7d640] new fragment: min[0] max[9]
[dash @ 0000023c85a7d640] DASH request for url 'https://scontent-hkg4-1.cdninstagram.com/hvideo-pnb-ftw/_nc_cat-110/v/rASfQonGTRcJhb0ppr1WaFLSkeNfP7sqVB2luWEcOueNylg/_nc_ohc-6PFVFFtdVxkAX8WDlTx/live-dash/live-hd-a/18061029817479180_0-1099013.m4a?ms=m_C&ccb=2-4', offset 0
[tcp @ 0000023c831452c0] Starting connection attempt to <IP_ADDRESS> port 443
[tcp @ 0000023c831452c0] Successfully connected to <IP_ADDRESS> port 443
[tls @ 0000023c83144e80] Server closed the connection
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000023c869d5ac0] advanced_editlist does not work with fragmented MP4. disabling.
[AVIOContext @ 0000023c8556d1c0] Statistics: 12181 bytes read, 0 seeks
[tls @ 0000023c83144b00] Server closed the connection
[AVIOContext @ 0000023c8556cd80] Statistics: 768232 bytes read, 0 seeks
[tcp @ 0000023c83145040] Starting connection attempt to <IP_ADDRESS> port 443
[tcp @ 0000023c83144d80] Starting connection attempt to <IP_ADDRESS> port 443
[tcp @ 0000023c83144d80] Successfully connected to <IP_ADDRESS> port 443
[tcp @ 0000023c83145040] Successfully connected to <IP_ADDRESS> port 443
[AVIOContext @ 0000023c8556d040] Statistics: 8663 bytes read, 0 seeks
[dash @ 0000023c85a7d640]

ERROR: ffmpeg exited with code<PHONE_NUMBER>

.

TODO: fix login check.
The current implement will give a false positive if no valid cookies are provided:
        metadata_str = ...
        if not metadata_str:
            raise UserNotLive(video_id=video_id)

.


Cannot type flatMap polyfill

TypeScript Version:  3.4.3

Search Terms:
Code
Array.prototype.flatMap = function(f, that?) {
  type ElementType<T> = T extends readonly any[] ? T[number] : T
  const ys: ElementType<ReturnType<typeof f>>[] = []
  this.forEach((x, i, xs) => {
    const y = f.call(that!, x, i, xs)
    Array.isArray(y) ? ys.push(...y) : ys.push(y)
  })
  return ys
}

Expected behavior:
This an umbrella issue. I ran into multiple issues trying to polyfill Array#flatMap without duplicating the type signature from "lib": ["esnext"]:
interface Array<T> {
    flatMap<U, This = undefined> (
        callback: (this: This, value: T, index: number, array: T[]) => U|ReadonlyArray<U>,
        thisArg?: This
    ): U[]
}

Actual behavior:

ReturnType<typeof Array.prototype.flatMap> types as {}[].
ElementType<ReturnType<typeof f>> types as U | ElementType<U> instead of unifying on U.
f.call(that, x, i, xs) errors with Argument of type 'This | undefined' is not assignable to parameter of type 'This'..
Type guards don't appear to work in Array.isArray(y) ? ys.push(...y) : ys.push(y). The inferred types are (U | readonly U[]) ? (any[]) : (U | readonly U[]). I suspect it has to do with readonly.

Playground Link:
Not reproducible on the Playground, because it requires "lib": ["esnext"]. I could share a CodeSandbox, though.
Related Issues:

What is the bug here?

The 4 numbered under Actual behavior I would all qualify as bugs. I'm trying to track down related tickets, but it's the first time ever using TypeScript that I've encountered several at once. I reported it as an umbrella issue, because it's not at all contrived code. I'm just trying to implement a type in the standard lib.

1: I don't see this in 3.4
2: This is the correct behavior; the resolution needs to be deferred until instantiation
3: That's a correct error
4: #17002

Thank you!

I'm on 3.4.3:type MapRet = ReturnType<typeof Array.prototype.map>
// => type MapRet = {}[]
// type MapRet<T> = ReturnType<typeof Array.protot ype.map<T>>
// => error: '>' expected.

👍
Does that mean the library signature is unimplementable? I couldn't find any documentation on <This = undefined> and I couldn't make it work with an explicit signature, either.
🙏

As a TS newbie I'm not actually sure this is related (apologies if it's not) but I just ran into the below issue with flatMap and flat:
// Map<string, number[]>
const myMap = new Map([
  ['foo', [1, 2, 3]],
  ['bar', [4, 5, 6]]
]);

// string[]
const myArray = ['foo', 'bar', 'baz'];

// (key: any) => number[] | undefined
const mapFn = key => myMap.get(key);

const flatMapped = myArray.flatMap(mapFn);

Argument of type '(key: any) => number[] | undefined' is not assignable to parameter of type '(this: undefined, value: string, index: number, array: string[]) => number | readonly number[]'.
  Type 'number[] | undefined' is not assignable to type 'number | readonly number[]'.
    Type 'undefined' is not assignable to type 'number | readonly number[]'. ts(2345)

If I do the two operations separately:
// (number[] | undefined)[]
const mapped = myArray.map(key => myMap.get(key));

const flattened = mapped.flat();

flattened is inferred as any[].
I would expect the type for flatMapped/flattened to be inferred as (number | undefined)[]. Am I just missing something?

TS version: 3.4.3
VS Code version: 1.33.1
strictNullChecks on

It's a different issue. flatMap expects a function that returns a type U | readonly U[](some type or an array of that type). Your function returnsundefined | number[]. undefineddoesn't match withnumber`.

Yup my apologies, I reread the original issue again and realized too late. I've created a new issue over at #31033

1. ReturnType<typeof Array.prototype.flatMap> types as {}[].

#28655 et al. with workaround.

3. I couldn't find any documentation on <This = undefined>

Release notes.

I couldn't make call(that, ...) work with an explicit signature, either.

call<?This, Blabbity, Bloop>(that, ...).

3. Does that mean the flatMap<U, This = undefined> signature is unimplementable?

Not without dancing around null checks, no.


fix: improve node build reliability

Codecov Report
Patch and project coverage have no change.

Comparison is base (7ec6bb7) 20.05% compared to head (58b7076) 20.05%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #495   +/-   ##
========================================
  Coverage    20.05%   20.05%
========================================
  Files           31       31
  Lines         1960     1960
========================================
  Hits           393      393
  Misses        1544     1544
  Partials        23       23

Flag
Coverage Δ

unittests
20.05% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


finish paper document

Update the paper file

filter out spelling mistakes

finish results section

ensure the markdown is linked to the stored pdf's as made in the src/analysis/regression_analysis.Rmd

make final implication resection more coherent

Waiting on pull request review from @lindavdboogaart


HelmDeploy overrideValues is not a multiline field

Required Information
Question, Bug, or Feature?
Type: Bug
Enter Task Name: HelmDeploy
Environment

Server - Azure Pipelines
Agent - Hosted

Issue Description
HelmDeploy > "Set Values" field states that we can either split values with comma or new lines
Unfortunatly, this field is not defined as multiline

I guess "\n" would do the trick but it would be much better as a multiline field

Hi @MrLuje ,
As described in documentation, if you require a multiline value, you have to use the valueFile parameter 👍
.... Please note that if you have a value which itself contains newlines, use the valueFile option, else the task will treat the newline as a delimiter....

Hi,
This is not about a multiline value, but multiple keys/values
We are setting several values through this field but it quickly becomes
hard to read with everything on the same line.
We are also using valueFile but when we have to temporarily override a
value, we are doing it through the "Set value" field
Example of "Set values" :
cron.command={"/bin/sh","-c","$(pre_start_cmd)dotnet

/app/Pricing.Application.Console.dll Push FacialPrice &&
$(cronjob_curl_cmd)"},cron.schedule=$(cron_schedule),resources.limits.memory="800Mi",resources.limits.cpu="400m",resources.requests.memory="200Mi",resources.requests.cpu="100m",application.environment=$(helm_label_environment)

From the quick help, I understand I should be able to pass values like this
:
cron.command={"/bin/sh","-c","$(pre_start_cmd)dotnet

/app/Pricing.Application.Console.dll Push FacialPrice &&
$(cronjob_curl_cmd)"}
cron.schedule=$(cron_schedule)
resources.limits.memory="800Mi"
resources.limits.cpu="400m"
resources.requests.memory="200Mi"
resources.requests.cpu="100m"
application.environment=$(helm_label_environment)

but as stated in the issue, this is not the case.
If it is not expected to use this field like this, please reword the quick
help as it is misleading :)
By the way, the task is not referencing the documentation link you provided
(it refers to https://go.microsoft.com/fwlink/?linkid=851275 which is home
page documentation), could it be corrected ?
[image: image.png]
Many thanks,
Vincent
On Mon, Jun 28, 2021 at 12:37 PM Heisenberg74 @.***>
wrote:

Hi @MrLuje https://github.com/MrLuje ,
As described in documentation
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/helm-deploy?view=azure-devops,
if you require a multiline value, you have to use the valueFile parameter
👍
.... Please note that if you have a value which itself contains newlines, use the valueFile option, else the task will treat the newline as a delimiter....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azure-pipelines-tasks/issues/14991#issuecomment-869573910,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE2KC6DE7P63J6LAE4MGWTTVBGGRANCNFSM47FMNQDA
.

Issue still occuring for me, and would like to know fix?

This issue is still occurring.


Add listen option to reader commands

The first two commits are done so that the third and main change can be done in a natural way. The default input source for a concrete reader can be set by "overriding" the defaults struct from the reader base class:
struct my_reader : single_layout_reader {
  struct defaults {
    constexpr static inputs input = inputs::inet;
    constexpr static const char* uri = ":12345/udp";
  };
};

[ ] Update documentation
[x] Add changelog entry

Rebased and ready from my side.


Please consider to abstract a rawer Consumer/Producer class

Hi,
I've noticed that:

[UNSTABLE-API] We are considering making this class private in a future version so as to limit API surface area. Prefer to use the deserializing consumer Consumer<TKey, TValue> where possible.

but in many of my cases, I need to manually consume/deserializ messages (to adapt existing framework),
so I hope that there could be two or more public Consumer/Producer class——

a base Consumer/Producer，more free, more plain, just wrap the librdkafka.
Consumer<TKey, TValue> as high-level Consumer/Producer with advaced method like Poll().

Is this reasonable?

@csyszf - the non-deserializing Consumer is definitely being removed in 1.0. However you can just use the output from ByteArrayDeserializer or write your own custom deserializer (which can access the ReadOnlySpan<byte> data directly).


[#5450] subtask(web): support web ui for creating table (basic column type)

Proposed Changes in This Pull Request

Added support for a web UI to create relational tables (basic operations).
Enhanced the table list view with options to edit properties and delete tables.

Why Are These Changes Necessary?
These changes introduce the ability to create tables directly from the UI, improving user experience and efficiency.
Closes: #5450
User-Facing Changes

Added a "Create Table" button in the table list view.
Introduced a dialog for creating and updating tables.
Enabled actions for viewing, editing properties, and deleting tables from the table list view.

How Was This Patch Tested?

Started the Gravitino playground.
Ran the web UI to test the create table functionality, as well as the view, edit properties, and delete actions.
Conducted a lint check using Prettier for code formatting.
Built the entire project to ensure no build errors.

Failed to create, probably because the submitted data should be deleted `hasDuplicateName` field.

Must have a column by default. Then you can't delete when there is only one column left

@LauraXia123
Apologies—I should have tested the table creation feature after the latest commit.
I've corrected the issue and added functionality to hide the delete button when there is only one column. Additionally, I set a default value for the column.

Thank you very much for your contribution. LGTM

Thank you very much for your time
I will take extra care in future PRs.


Outdated dependency prevets successfully install of Lotus under Ruby 2.2.2

Lotus installation fails with Ruby 2.2.2, Apparently an old dependency version of libxml-ruby is the root of the issue:
$ gem install lotus
Building native extensions.  This could take a while...
ERROR:  Error installing lotus:
        ERROR: Failed to build gem native extension.

    /home/vagrant/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20150612-15074-lyj8dq.rb extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/vagrant/.rbenv/versions/2.2.2/bin/$(RUBY_BASE_NAME)
extconf.rb:17:in `<main>': uninitialized constant Config (NameError)

extconf failed, exit code 1

Gem files will remain installed in /home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/libxml-ruby-2.3.3 for inspection.
Results logged to /home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/libxml-ruby-2.3.3/gem_make.out

Although I can successfully install a newer version of libxml-ruby:
$ gem install libxml-ruby
Fetching: libxml-ruby-2.8.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed libxml-ruby-2.8.0

@brennovich gem install lotusrb. lotus gem is another gem

@brennovich Thank you for reporting this, but you need to install lotusrb. Have a good day.

Sorry for the misunderstanding, thanks for the responsiveness ;)


Data loaders returns 404 when having optional parameters

In the new Remix 2.13.1 with the Single Fetch feature enabled, Vercel does not recognize data loader calls during page navigation when using optional parameters. In the screenshot, you can see an example of this issue. The route has an optional parameter lang. In the first call, the en is not present at the beginning of the URL path, and it returns a status 200 with the correct response.
In the second call, the URL path includes a language, such as nl. This results in a 404 status code, and the page content displayed is from Vercel's default 404 page.

Live demo instructions:
In the live demo, you can see two navigation buttons at the top left: one for the home page and another for a subpage /brands. On the right, there is a simple language selector that also redirects to the homepage for the selected language. English redirects to '/' and Dutch redirects to '/nl'. There appear to be no issues with navigation when using optional parameters on the index page. However, when switching between the home page and the brands page, an issue happens when you are on /nl.
Repo:
https://github.com/joeykamsteeg/vercel-single-fetch-optional-route-issue
Live Demo:
https://vercel-single-fetch-optional-route-issue-dfbgqb4n2.vercel.app/

I think that when this issue is resolved, it will also impact #129


Support for cross-realm package links

Wally supports two different kinds of package links:

Relative - require(script.Parent["..."]["..."])
Absolute - require(game.Service.Path["..."]["..."])

This tool currently only supports the former, and panics with the message thread 'main' panicked at 'assertion failed: iter.next().unwrap() == \"script\"', src/command.rs:214:9 for the latter.
Support for absolute paths in links would be great 👍

Supported in https://github.com/JohnnyMorganz/wally-package-types/commit/1e292fc49cb690dfbcc131b40153f1ece7805ef2


Node Sass compiling failed when upgraded to NodeJS 7.7.1

Updated to Node from 7.7.0 and avoid the tracing related compile failure, but still encountered new problem when I create a new Angular 2 project using Angular CLI(1.0.0-rc.0).
The  failure messages:
 "E:\temp\mean-docker\client\node_modules\node-sass\build\Release\libsass.lib"
:\Users\hantsy\.node-gyp\7.7.1\Release\node.lib : fatal error LNK1106: invalid file
or disk full: cannot seek to 0x7AAC0 [E:\temp\mean-docker\client\node_modules\node-
ass\build\binding.vcxproj]
one Building Project "E:\temp\mean-docker\client\node_modules\node-sass\build\bindi
g.vcxproj" (default targets) -- FAILED.

one Building Project "E:\temp\mean-docker\client\node_modules\node-sass\build\bindi
g.vcxproj.metaproj" (default targets) -- FAILED.

one Building Project "E:\temp\mean-docker\client\node_modules\node-sass\build\bindi
g.sln" (default targets) -- FAILED.

uild FAILED.

Angular CLI works with NodeJS 7.6.0

Try removing node.lib (better yet, delete .node-gyp\7.7.1\ entirely) so that node-gyp downloads it again from https://nodejs.org/.  If the linker keeps complaining that the file is corrupt, please file an issue with nodejs/node.  Good luck.


Regen of Reactome models from release 80 BioPAX

Drop and reload of Reactome models as described in https://github.com/geneontology/reactome-go-cams/pull/6. There is a large drop in R-HSA-*.ttl file count (2423 -> 1885) because the previous load in dev was not filtering out disease pathways.

Talked to @dustine32 , seems good.


Start of schedule

I want to schedule an event on every other Monday at 4am, but it needs to start on a particular Monday. For example, it would run on 30/05, 13/06, 27/06, 11/07 and so on, instead of 23/05, 06/06, 20/06 and so on.
This is what I have:
weekly(2).day(:monday).hour_of_day(4) # Every other Monday at 4am

Is there any way to get around this with the current API? Thanks.

Easy, it was just passing the start time to IceCube::Schedule.new.


The difference between the web demo and api

Thanks for the exciting job!
I used the web demo and the local api to process the same video, but the result is different (the local api cannot track the object). Is there any difference between the demo and api ?

@cpm32 I find this in the paper. Maybe the released model is trained on the datasets with manual labels (ML) only, while the model in the demo is trained on the datasets with both manual labels and automatic labels. So the model locally is worse than the demo


Duplicate token error?

I'm submitting a ...
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ x] question about how to use this project

Summary

Hey, when I was submitting my pull request, I kept getting duplicate token error, but I'm not sure how that could be since there aren't any. If we could have it manually added or update that would be lovely. There is a pull request called add buddiezz token. Or if you could shoot me a dm on discord @corrupt#0999 It'd be greatly appreciated. Thanks

Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)

https://github.com/solana-labs/token-list#duplicate-token


GPU资源动态调节文档中如果使用burn的话，调整前后的效果并没有体现出来

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

前后应该是怎样的？


⚠ Secret Website 3 has degraded performance

In 6f12970, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2631 ms

Resolved: Secret Website 3 performance has improved in 6a6a35a.


Update module github.com/stackitcloud/stackit-sdk-go/services/argus to v0.8.0

This PR contains the following updates:

Package
Type
Update
Change

github.com/stackitcloud/stackit-sdk-go/services/argus
require
minor
v0.7.0 -> v0.8.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Done in #208


Server initialization fails due to rosetta error on Apple Silicon

Environment

Elixir & Erlang versions (elixir --version): Erlang/OTP 25 [erts-13.2] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit] [dtrace]; Elixir 1.14.4 (compiled with Erlang/OTP 25)
Elixir Language Server version: 0.15.0, 0.14.7
Operating system: MacOS Ventura 13.3.1
Editor or IDE name (e.g. Emacs/VSCode): VSCode
Editor Plugin/LSP Client name and version: ElixirLS 0.15.0

Current behavior

After updating to 0.15.0 on 6/21, my server began to fail initializing. I tried downgrading the VS Code extension back down to 0.14.7 but I am still getting the same error as below.

** (Mix.Error) Command "git -c core.hooksPath='' init --quiet" failed with reason: rosetta error: Attachment of code signature supplement failed: 1
 /var/db/oah/a3528330a643997ee464fb4defbe1d103b81b21b75fd7c0aa3262f932715a028/fbe163bfc58bb9557a8af127ca7863122b18d906558a8845d42b26f622ea02f7/libxcrun.dylib.aot
    (mix 1.14.4) lib/mix.ex:513: Mix.raise/2
    (mix 1.14.4) lib/mix/scm/git.ex:109: anonymous fn/2 in Mix.SCM.Git.checkout/1
    (elixir 1.14.4) lib/file.ex:1607: File.cd!/2
    (mix 1.14.4) lib/mix/dep/fetcher.ex:64: Mix.Dep.Fetcher.do_fetch/3
    (mix 1.14.4) lib/mix/dep/converger.ex:213: Mix.Dep.Converger.all/9
    (mix 1.14.4) lib/mix/dep/converger.ex:146: Mix.Dep.Converger.all/7
    (mix 1.14.4) lib/mix/dep/converger.ex:95: Mix.Dep.Converger.all/4
    (mix 1.14.4) lib/mix/dep/converger.ex:74: Mix.Dep.Converger.converge/4
[Error - 7:32:54 PM] Server initialization failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097

This is not a problem with the extension. Please make sire you have working git. Why are you running git via rosetta emulation instead of native arm? Have you tried cleaning mix install cache dir step from troubleshooting?


Provide storing/loading wallet from an I/O stream

I think abstracting the way the data are stored should be a good thing to do. Something like a writer/reader object for save and load methods.
This is an alternative to https://github.com/BP-WG/bp-wallet/pull/10

@dr-orlovsky how about use opendal as storage service?
i have a own development branch that tested with it, it works seems ok

Looks interesting. Never had any experience with opendal. Feel free to PR in your branch here


Add logo company on ER

I follow the step on  "Design an ER format to generate a report in Excel format with embedded images in page headers or footers"
section "Edit the custom format"
I can't find :  10.

Expand model.Payment > model.InvoiceBase > model.InvoiceBase.CompanyInfo, and then select the model.InvoiceBase.CompanyInfo.Logo data source field. The data source field of the Container type exposes the company logo image as media content.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 75e888e6-7cac-ee1d-700f-8b60ada6fc65
Version Independent ID: 1a67e9ce-939f-9ab8-00c0-05b5879b7d60
Content: Design an ER format to generate a report in Excel format with embedded images in page headers or footers - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/analytics/er-embed-images-header-footer-excel-reports.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @kfend
Microsoft Alias: filatovm

Bug 751246 has been logged to address this issue.

Hello vereden,
The improper state of the view mode can cause the issue that has been described in the defect 751246.  Please, make sure that the view mode of the Electronic reporting (ER) designer is set to the state Show all. Notice that when it is set to the state Show mapped only, any data source field that is not bound yet to a format element is hidden on the Mapping tab.
Best regards,
Nick Selin


Change the visibility of this constructor to "protected".

Description:
Abstract classes should refrain from having public constructors as they are meant to be instantiated through the constructors of their subclasses exclusively. Making the constructors of abstract classes public serves no purpose, as they should only be invoked within the context of their derived classes' constructors.
Location:
src/main/java/de/dennisguse/opentracks/settings/bluetooth/BluetoothLeSensorPreference.java
Proposed Solution:

Declare Constructors as Protected: Instead of making constructors public in an abstract class, declare them as protected. This limits access to the constructors to the class itself and its subclasses.

Encourage Subclass Initialization: By using protected constructors, you guide developers to instantiate the abstract class through its subclasses. This ensures proper initialization and adheres to the abstraction concept.

Prevent Direct Instantiation: Since protected constructors prevent direct instantiation from outside the class hierarchy, it enforces the intended usage of abstract classes as base classes for derived implementations.

Enhance Code Clarity: By restricting constructor access, you make the code clearer and encourage a design where abstract classes are extended and utilized through well-defined subclass constructors.

Maintain Encapsulation: Protecting the constructors helps maintain encapsulation, emphasizing that the abstract class is meant to be extended and initialized through its derived classes rather than instantiated directly

Reasons:
Declaring the constructors of an "abstract" class as "public" is unnecessary because abstract classes are designed to be instantiated through the constructors of their subclasses. Making them public undermines this design principle and can lead to misuse or unintended instantiation outside the intended hierarchy.

This issue has been solved by adding and changing the name of the access modifier from public to protected within an abstract class and the visibility of the constructor is also changed


Add TS-7553-V2 support

Adds TS-7553-V2 support

Adds ts7553v2-utils package which includes LCD demos
Creates two new configuration files, both for the TS-7553-V2, minimal and headless. Both include the above ts7553v2-utils
Adjusts Kconfig for utils packages. Makes it an optional exclusive selection, allowing one and only one utils package to be installed, if enabled. There is no reason to have and may be problematic to have multiple utils packages on a single target.
Clean up improper naming of U-Boot in various Kconfig/manifest/printed output.

The headless defconfig is also using the minimum kernel defconfig, I'll push a change to get that to use the full kernel defconfig shortly.

Pushed the aforementioned change to use the full kernel defconfig with the headless TS-7553-V2 defconfig.
Ready for final review.


Add support for the conditional compile elements

Thanks for your comments and remarks.
Starting to fix those issues.

I fixed the whitespace issues and added tests for conditional compile blocks.

Done. There were still a ton of whitespace issues in the main file (i.e. they were still indented with 2 spaces instead of 4), but I'll just fix them. Thanks for your contribution.

Done. There were still a ton of whitespace issues in the main file (i.e. they were still indented with 2 spaces instead of 4), but I'll just fix them. Thanks for your contribution.

Strange...
My default indentation is 4 spaces in all projects. Maybe is a formatter issue.
I'll check after the merge.


Server error in "Step 2" in "Add landing page grid" step

Description
In the step Add landing page grid of Step 2 of the tutorial just simply adding the import import { Grid, Column } from '@carbon/react';  leads to a Server Error right away. The error gets fixed only by adding 'use client'; to src/app/page.js.
Call stack:
- error<EMAIL_ADDRESS>(18:61) @ createContext
- error createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component
    at eval (webpack-internal:///(sc_server)/./node_modules/@carbon/react/lib/internal/usePrefix.js:17:63)
    at<EMAIL_ADDRESS>(/home/stanley/repos/carbon-tutorial-nextjs/.next/server/app/page.js:8866:1)
    at __webpack_require__ (/home/stanley/repos/carbon-tutorial-nextjs/.next/server/webpack-runtime.js:33:43)
    at eval (webpack-internal:///(sc_server)/./node_modules/@carbon/react/lib/components/Accordion/Accordion.js:12:17)
    at<EMAIL_ADDRESS>(/home/stanley/repos/carbon-tutorial-nextjs/.next/server/app/page.js:5709:1)
    at __webpack_require__ (/home/stanley/repos/carbon-tutorial-nextjs/.next/server/webpack-runtime.js:33:43)
    at eval (webpack-internal:///(sc_server)/./node_modules/@carbon/react/lib/index.js:11:17)
    at<EMAIL_ADDRESS>(/home/stanley/repos/carbon-tutorial-nextjs/.next/server/app/page.js:8580:1)
    at __webpack_require__ (/home/stanley/repos/carbon-tutorial-nextjs/.next/server/webpack-runtime.js:33:43)
    at eval (webpack-internal:///(sc_server)/./src/app/home/page.js:7:71) {
  name: 'TypeError',
  digest: undefined
}
null

Reproduce

checkout v11-next-step-2
add import { Grid, Column } from '@carbon/react'; just below use client in src/app/home/page.js
visit http://localhost:3000/

The same issue arises later in step Add repo page grid again.


Github Check sometime doesn't trigger even if the title was correct

Look like the check doesn't work correctly in some case, not sure why but rename to an invalid title and rename back to a valid one make it "triggered" and work correctly.
Initial issue:

Rename the title and works!

I'm seeing this too
Just a hunch, but from what I've noticed it only seems to happen when the PR is updated (e.g. by adding more commits)


Wrong/unclear exp and sqrt learning_rate_decay_scheme

See utils/optimize.py:learning_rate_decay

It is called only from one place (t2t_model.py), so the parameters num_worker_replicas=1 and num_train_steps=1 have always their default values and are thus misleading.
Even if it works, multiplying warmup_steps by num_worker_replicas (asynchronous only?) under the hood may be a bit unexpected. I think it should be done more visibly, e.g. in the hyperparameters, so when I want to override the warmup_steps to N, I can do that directly without having to counteract the hidden magic and set counter-intuitive N / num_worker_replicas.
exp100k ignores the warmup steps unlike exp10k, exp50k and exp500k, which is quite misleading.
_exp_decay_after takes parameters step and from_which_step, but depends actually only on their difference. So it is misleading to subtract warmup_steps from both parameters when calling _exp_decay_after - it just obfuscates the code without having any effect.
exp10k, exp50k and exp500k do not work as expected (they result in almost zero learning rate) because e.g. in case of exp10k the main formula rate**(step - from_which_step) boils down to  0.9995**(step + 9999) because from_which_step includes num_train_steps - 10000, while I think it should be just 10000.
The noam scheme has maximum learning rate about 1.7 (after warmup_steps=8k, the exact values slightly differ based on hidden_size and warmup_steps) and obviously it works well (as noam is the default in most problems). However, the sqrt scheme has maximum learning_rate=500 (after warmup_steps) because there is an artificial multiplier 500. I think the person adding the multiplier did not expect it will be called as _sqrt_decay(step - warmup_steps). If it was _sqrt_decay(step) than with warmup_steps=8k, the maximum would be about 5.5 and with warmup_steps=16k about 4, which sounds more reasonable.

I suggest to delete or fix all the schemes which are broken now, so they don't mislead the users.

Some of the problems are resolved in 1.4.3, some are still there and several new problems were introduced (#555).

How are things in 1.4.4? I believe everything is ok now.

In fact, most of the problems are still there in 1.4.4 (just from seeing the source code without actually running it) and I found few more potential problems. Here is the updated list:

[ ] learning_rate_schedule is still called only from one place (t2t_model.py), so the parameter num_worker_replicas always has the default value of 1 and I still consider this misleading.
[ ] num_worker_replicas is used only to divide the warmup_steps, which is probably meant only for the asynchronous distributed training (while the default is the synchronous training). I still consider this misleading because then warmup steps do not correspond to what one sees in TensorBoard etc.
[ ] The previous point opens a more interesting question (which perhaps should be discussed in a different issue): should the length of the warmup phase depend on the number of steps or on the number of examples seen? Maybe we should use a parameter called learning_rate_warmup_examples instead of learning_rate_warmup_steps. Similarly with the learning_rate_decay (exp, sqrt,...) - now it depends on the steps, but in most papers it depends on the number of epochs. I think we should do examples = global_step * batch_size * number_of_GPUs / constant and then use examples instead of global_step within the learning_rate_decay function.
[ ] The _exp_decay_after function is not used anymore and can be deleted.
[ ] The sqrt scheme has maximum learning_rate=500 (after warmup_steps) because there is an artificial multiplier 500. I think the person adding the multiplier did not expect it will be called as _sqrt_decay(step - warmup_steps). If it was _sqrt_decay(step) than with warmup_steps=8k, the maximum would be about 5.5 and with warmup_steps=16k about 4, which sounds more reasonable.
[ ] The linear_warmup_rsqrt_decay aka noam scheme is not parametrized in a user-friendly way. When lowering the warmup_steps and keeping the learning_rate, I would expect that the maximal learning rate remains the same (it will just occur sooner), but actually the maximal learning rate is increased. To counter-act this, one has to lower the learning_rate with a complicated formula. My suggestion is to change the current behavior (let's keep the backward compatibility aside for now) and interpret the learning_rate parameter as the maximum learning rate in all schedules (that is make sure the maximum is always 1 within the learning_rate_schedule function).

@martinpopel : I think you're right in all of the points. We'll get to them slowly, but don't hesitate to send PRs in the meantime if you have code that repairs it. Thanks!


Remove unused methods apparently leftover from a previous implementation

not sure what the reason was for the event scheduler, the validator is a leftover from PHAL that doesnt make sense here


Course Validation Bug From Moving Work Term to Different Semester

Problem Description:
If you drag and drop and work term into another semester, all the courses in that semester get dropped from the data that's sent to the SequenceValidator on the server-side.  So, any later classes which rely on those courses as prereqs complain that their prereqs are not being taken early enough.
Possible fixes:

Moving a work term from semester b to semester a results in a "shuffling-down" of all courses in semester a or later by one semester.  After this shifting over of one semester, the data is sent to the server for sequence validation.
Other ideas?

I see that David tried to handle this issue, now I was just playing around with the site and noticed that "work semester" course divs aren't draggable, I guess that's fine but when you add a course to a work semester it seems to just delete that work semester from existence.
You can eliminate them all if you just keep dragging courses into terms with "work semester" course divs in them.
Maybe we should add a UI widget/area for creating course divs? We could create some templates and load them up based on the users choice, such as (obviously) a work semester, or maybe even electives.

I'm closing this since the validator needs a complete rewrite, more or less


Spike: reconsider function_selector bit-length

Consider whether the function_selector should be a uint32 (4 bytes) instead of a field, inside our c++ structs.
We can always cast it to a field when including it in hashes.
There's been some criticism of 4-byte function selectors in ethereum [citation needed], so an alternative is to use an entire field (but even that isn't straightforward, because a keccak output is 256-bits, not 254).

Relevant discussion on slack.
TLDR:
Wait for local devnet to be finished and then reconsider. Before mainnet it's easy to change.

Replaced by https://github.com/AztecProtocol/aztec-packages/issues/1050


Add network plugin

Adding network plugin to configure network.

Can we also consider the below pointers?

If the PASSWORD is of less than 10 characters, then "changePASSWORD" job fails - Only SSID changes successfully. Now that WiFi AP is accessible with newSSID and old PWD which is of 10 characters. It accepts PASSWORD of minimum 10 characters. Hence it is required to incorporate the logic of either pointing out to the user or throwing error pop-up in HTML file whenever a PWD of <10 is provided as part of "changePASSWORD" use case.
There is a .sh file  (/usr/sbin/firstboot-connman-setup) present already which gets executed upon system boot-up. The same can be reused in place of  /usr/share/cockpit/network/reset_wifi.sh file - In future if any new modification is required with respect to "resetWiFiAP to default", then it becomes easy to modify in only one single file i.e (/usr/sbin/firstboot-connman-setup).

If the PASSWORD is of less than 10 characters, then "changePASSWORD" job fails - Only SSID changes successfully. Now that WiFi AP is accessible with newSSID and old PWD which is of 10 characters. It accepts PASSWORD of minimum 10 characters. Hence it is required to incorporate the logic of either pointing out to the user or throwing error pop-up in HTML file whenever a PWD of <10 is provided as part of "changePASSWORD" use case.

We should not validate password on the frontend because of possible failures on the connman side.  It should rather deal with possible failures while setting it. On the connman side, that's why you give AP name and password at the same time and it will error out the operation if any intermediary step fails.
We can provide the "minimum 10 chars" on the input field as an addition to that, not as substitute.

There is a .sh file (/usr/sbin/firstboot-connman-setup) present already which gets executed upon system boot-up. The same can be reused in place of /usr/share/cockpit/network/reset_wifi.sh file - In future if any new modification is required with respect to "resetWiFiAP to default", then it becomes easy to modify in only one single file i.e (/usr/sbin/firstboot-connman-setup).

Indeed. And on the cockpit's side there connman-reset-wifi.sh should be just a wrapper script around that one.

Created a new pull request. Closing this one


Issue fix

Associated Issue: #380
Summary of Changes
Added the word gift

Pull Request Test Coverage Report for Build 687

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.143%

Totals

Change from base Build 514:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls


Test failure in test_EdDSA_parse_verify

I'm building this package in our build system. Versions up until 0.5.0 were working fine, but with the latest 0.6.0 release, one test case is failing:
======================================================================
[   67s] FAIL: test_EdDSA_parse_verify (test.test_cose.TestCoseKey)
[   67s] ----------------------------------------------------------------------
[   67s] Traceback (most recent call last):
[   67s]   File "/home/abuild/rpmbuild/BUILD/fido2-0.6.0/test/test_cose.py", line 84, in test_EdDSA_parse_verify
[   67s]     self.assertIsInstance(key, EdDSA)
[   67s] AssertionError: {1: 1, 3: -8, -1: 6, -2: '\xee\x9b!\x804\x05\xd3\xcfE`\x1eX\xb6\xf4\xc0n\xa98b\xde\x87\xd3\xaf\x90<Xp\xa5\x01n\x86\xf5'} is not an instance of <class 'fido2.cose.EdDSA'>

Not sure what is at fault here (library version, etc.). The full build log can be found here.
On another distribution (openSUSE Factory / Tumbleweed) this works just fine, but libraries versions are newer, etc.: https://build.opensuse.org/package/live_build_log/openSUSE:Factory/python-fido2/standard/x86_64
Please let me know what additional information you need.

This is probably due to the cryptography and/or OpenSSL version being too low for EdDSA support. We should probably add a check for this and skip the test if that's the case.


error when run val_dataset.run_eval(preds, cfg.OUTPUT_DIR)

I have test the train process using first 100 samples of MSCOCO. The cmd of training is
 python3 train.py --cfg ../experiments/mobilenetv3_512x512.yaml

and when run mAP calculate in line 121 of train.py, I got an error like this:

but when I run
python3 evaluate.py --cfg ../experiments/mobilenetv3_512x512.yaml --NMS false --TESTMODEL ../models/model_zoo/mobilenetV3_1x.pth

It's ok and can output result.

Update:
Maybe change code like this will be work in here
dets_out = np.concatenate(
    [detection[1] for detection in dets_out], axis=0).astype(np.float32)
if self.cfg.TEST.NMS or len(self.cfg.TEST.TEST_SCALES) > 1:
    soft_nms_39(dets_out, Nt=0.5, method=2)
dets_out = dets_out.tolist()
# results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out[0]
results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out

Hi @murdockhou
The bug fixed and it should be work now.
Thanks for the comments and suggestions. :)

@tensorboy I pull the lateset repo and get the same error too. Please check this, I only change .yaml  file and change images = self.coco.getImgIds() code in coco_hp.py into images = self.coco.getImgIds()[:100] for only test. And get the same error as before mentioned.

Sure, will double check tmr!
On Mon, Jan 6, 2020 at 6:19 PM Shiwei Hou<EMAIL_ADDRESS>wrote:

@tensorboy https://github.com/tensorboy I pull the lateset repo and get
the same error too. Please check this, I only change .yaml file and
change images = self.coco.getImgIds() code in coco_hp.py into images =
self.coco.getImgIds()[:100] for only test. And get the same error as
before mentioned.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorboy/centerpose/issues/18?email_source=notifications&email_token=AEDERP3KK3VJTMUGYU54UDTQ4PREBA5CNFSM4KB6LJBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIHORWA#issuecomment-571402456,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEDERPZLQHBFWOZ7EMILFRLQ4PREBANCNFSM4KB6LJBA
.

@tensorboy Hi, I find you have changed results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out[0] to results[batch['meta']['img_id'].cpu().numpy()[0]] = {1:dets_out[0]} in lib/trains/multi_pose.py. Which difference is if I write like this
dets_out = np.concatenate(
   [detection[1] for detection in dets_out], axis=0).astype(np.float32)

results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out

And by the way, can I get your trian log.txt file about mobilenetv3  backbone network, I start to train this using mobilenetv3 but the mAP of the first 10 epochs is too small.


feat: an single top-level emitter

Description
Currently, every element/statement has their own emitter which is fine for the internal code generation. However, it would be nice to have a single top-level emitter defined in the public API which can be used as an emitter for every element/statement
Requirements

[ ] A single Emitter class with can be instantiated that can accept every element/statement

Additional Context
None

Another way of constructing this public API may be more interesting:
We can also allow the user to 'build' their code with Builders like Flutter builds their interface with Widget. This way, the package feels very familiar to those who have used Flutter in the past


Bar chart race

Is your feature request related to a problem? Please describe.
The bar chart race is a bar chart with a time slider that plays through the time and the bars in the chart update their position according to their value.
The result is an animated bar chart that allows the user to see the evolution of a values along the time.
Describe the solution you'd like
In visualize, we could add to a "bar chart race" chart that would have an encoding field "time" that would be displayed if a time dimension is present in the dataset. If a time filter is added to a chart, the publisher could decide to display a play / pause button and configure whether the animation autoplays.
This would not be the same thing as the "time filter" which only filters whereas here the "time" discussed here is an encoding (we encode time through multiple charts that can be scrolled through with a time slider).
Animation would be of the essence here so that bars animates smoothly as the time slider is scrubbed.
Usecases and impact
I find these charts very informative and they would be useful in context where we want to see the evolution of values through time. they could benefit from this type of chart.
We have multiple datasets with time encodings, I see this type of chart being very useful for environment / energy / finance / agriculture datasets.
Additionally, these type of charts are informative as well as being engaging, and they often are shared on social media. This could be a lever for increased user engagement.
Additional context
Example in d3 observable: https://observablehq.com/@d3/bar-chart-race-explained
Example in flourish: https://flourish.studio/visualisations/bar-chart-race/?utm_source=showcase&utm_campaign=visualisation/3498987
Article that demonstrates an example of this chart "Animated chart of the day" in the context of automotive production: https://www.aei.org/carpe-diem/animated-chart-of-the-day-worlds-top-ten-countries-for-motor-vehicle-production-1950-to-2019/
https://user-images.githubusercontent.com/465582/156765373-355465cb-5c45-47c0-9db8-dccee749b8ac.mp4

an additional reference of how something similar could also be applied to maps: https://www.covid19.admin.ch/de/epidemiologic/case/d/geo-regions?geoDate=2020-02-24

Should be closed when we implement time slider feature (starting with #834).

Closed by the latest work on animations (#1101, #1103, #1105).


Added Video

Added link to videos. Now, we have 4 videos but will be updated one or two per week.

@ritchieng Any thoughts?
FYI, my lectures are tweeted by the official PyTorch account: https://twitter.com/PyTorch/status/924215099069317121

@hunkim Thanks. I just saw this. This is good stuff.

It seems you are in SG. Do you have any chance to stop by HK?
On Sat, Oct 28, 2017 at 9:12 PM, Ritchie Ng<EMAIL_ADDRESS>wrote:

@hunkim https://github.com/hunkim Thanks. I just saw this. This is good
stuff.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ritchieng/the-incredible-pytorch/pull/37#issuecomment-340189943,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3DVzLj-_4LEgpGPie7zn_Shtzzigtdks5swyhJgaJpZM4QCNfw
.


Type onClick is missing when use UButton in tsx

Version
@nuxt/ui: v2.8.1
nuxt: v3.7.3
Reproduction Link

https://stackblitz.com/edit/nuxt-ui-c8yl8v?file=app.vue
Steps to reproduce
<template>
  <Button />
</template>

<script setup lang="tsx">
import { UButton } from '#components'
const sayHello = () => {
  console.log('Hello There!')
}
const Button = <UButton onClick={sayHello}>Go</UButton>
</script>

in Visual Studio Code, onClick will cause a TS Error  #2322
What is Expected?
Should not produce a  typing error.
What is actually happening?
Actually this example works great in runtime, which follows the vue3 documentation  https://vuejs.org/guide/extras/render-function.html#v-on —— what i do is just replace button to UButton.
The typing error should not appear.

I have also encountered this issue. Although it does not affect the runtime, it would be more user-friendly to include various Vue events in the component's type definition, such as onClick and onChage
@benjamincanac @danielroe 🙏🙏🙏

@mcpanl
Unlike other UI frameworks, there is no "events" listed at docs
https://ui.nuxt.com/components/button

same problem


Move AutobahnTestsuite to extra module

Motivation:
We should move the AutobahnTestsuite to an extra module. This allows easier to run only the testsuite or only the autobahntestsuite
Modifications:
Create a new module (testsuite-autobahn)
Result:
Better project structure.

Build failure attributed to https://github.com/netty/netty/issues/5850#issuecomment-281158299

Triggered a build again

Cherry-picked into 4.1 (2a72c876734abfdfa1fe12041b7d3f0e808cc4ab) and 4.0 (866107a)