Smart Select language service API

Closes #29071
Protocol for VS & VS Code
export interface Location {
    line: number;
    offset: number;
}

export interface TextSpan {
    start: Location;
    end: Location;
}

export interface SelectionRangeRequest extends FileRequest {
    command: CommandTypes.SelectionRange; // 'selectionRange'
    arguments: SelectionRangeRequestArgs;
}

export interface SelectionRangeRequestArgs extends FileRequestArgs {
    locations: Location[];
}

export interface SelectionRangeResponse extends Response {
    body?: SelectionRange[];
}

export interface SelectionRange {
    textSpan: TextSpan;
    parent?: SelectionRange;
}

Also exposes a selectionRange-full tsserver command which accepts the same request format but responds with the language service response unchanged, which is the same except that TextSpan is a ts.TextSpan:
export interface TextSpan {
    start: number;
    length: number;
}

Implementation notes
Selection ranges walk up the AST, with a few different types of exceptions to the rule.
Adding artificial depth to flat nodes
Some TypeScript nodes feel like they have subtrees but are actually quite flat. Keeping them flat results in a jump from one selection to the next that feels too big. To remedy this, when asking for the children of these nodes, we synthesize SyntaxLists as intermediate nodes that group children together more intuitively, sometimes multiple levels deep. The most complex example is for mapped types. Consider
type M = { -readonly [K in keyof any]-?: any }

The actual tree for the type in this declaration looks like
MappedType
  ├ OpenBraceToken
  ├ MinusToken
  ├ ReadonlyToken
  ├ OpenBracketToken
  ├ TypeParameter
  │  ├ Identifier
  │  ├ InKeyword
  │  └ TypeOperator
  │      ├ KeyofKeyword
  │      └ AnyKeyword
  ├ CloseBracketToken
  ├ MinusToken
  ├ QuestionToken
  ├ ColonToken
  ├ AnyKeyword
  └ CloseBraceToken

But this belies the intuition of the way things are grouped. The two tokens in -readonly go together, the two in -? go together, the square brackets go with their contents, etc. The tree we actually want for selection purposes would look more like
MappedType
  ├ OpenBraceToken
  ├ SyntaxList
  │  ├ SyntaxList
  │  │  ├ MinusToken
  │  │  └ ReadonlyToken
  │  ├ SyntaxList
  │  │  ├ OpenBracketToken
  │  │  ├ TypeParameter
  │  │  │  ├ Identifier
  │  │  │  ├ InKeyword
  │  │  │  └ TypeOperator
  │  │  │     ├ KeyofKeyword
  │  │  │     └ AnyKeyword
  │  │  └ CloseBracketToken
  │  ├ SyntaxList
  │  │  ├ QuestionToken
  │  │  └ ColonToken
  │  └ AnyKeyword
  └ CloseBraceToken

This results in a better selection experience, but it's totally fake which also makes it totally subjective. I used two main strategies to make decisions that are ultimately opinions:

As someone who writes a lot of TypeScript in VS Code myself, I put myself in the shoes of a user selecting some of my own code and thought about the common edits I might want to make around a particular selection, and tried to add selection stops that facilitated those edits with minimal additional keystrokes.
I gauged some of my own opinions and expectations that weren’t reflected in the AST against @mjbvz’s. Where we agreed, I felt confident that synthesizing a node was justified.

Skipping redundant or uninteresting nodes
Identical selection ranges are deduped, but some others vary only in whitespace or semicolons and seemed to add little value. These nodes are skipped.
Adding JSDoc comments
An extra selection is added to nodes with JSDoc annotations so that the node can be selected both alone and with its comment.
Special handling for string literals
String literals don't separate their quotes from their contents in the AST, which is desirable for selection, so there’s special logic there. Template strings are especially unintuitive and have special handling to make sure you can get the whole string, just inside the quotes, around the outside of a substitution (${x}), and on the inside of a substitution.

Protocol changes look good. I'll give it another quick test locally and let you know if I run into an big issues

Looks great. Just found a few odd results that cause VS Code to error:

export function loadRepos() {
  return {
    type: /**/LOAD_REPOS,
  };
}

Top level returned text span is:
        "textSpan": {
            "start": {
                "line": 1,
                "offset": 27
            },
            "end": {
                "line": 1,
                "offset": 27
            }
        },

describe('thing', () => {
    it('/**/', () => {});
});

Returned span is:
        "textSpan": {
            "start": {
                "line": 1,
                "offset": 20
            },
            "end": {
                "line": 1,
                "offset": 20
            }
        },

class HomePage {
    componentDidMount() {
        if (this.props.username/**/) { }
    }
}

Returned top level span is
 "textSpan": {
            "start": {
                "line": 2,
                "offset": 23
            },
            "end": {
                "line": 2,
                "offset": 23
            }
        },

Hm, I can see why the empty string one is doing that, but the others seem odd. I'll check and see what it thinks it's doing, but it looks like I just need to add a filter to reject zero-width spans. Will update first thing tomorrow. Thanks for testing!

Ohhh. Those really strange ones were caused by a possible bug in ts.positionBelongsToNode that @RyanCavanaugh and @rbuckton and I were discussing yesterday. I've since switched away from using that API, and just added a filter to ignore empty spans.
I can no longer repro the bugs you gave me, but I thought I stopped using ts.positionBelongsToNode before you tried it yesterday... I just added unit tests for those cases but I'll try the integration with your custom VS Code build too.

I agree the fourslash format looks like a disaster.
The motivation, though, is that in general position-based tests end up being a lot less readable and maintainable than DSL-based formats, so we try to avoid the former as much as possible.
It's impossible to look at these tests right now in the diff view, for example, and understand what the expected behavior is, and if something changes in the wire format, there's a bunch of updating that will have to happen. Updating the text is also very difficult - adding a single character in the middle of an existing test is going to require a lot of tedious math.
Having a one-off DSL has generally paid for itself in terms of long-term test maintenance. For example, we could imagine having something like this (bikeshed a bunch):
const test = `const { x, y: a, ...zs = {} } = {};`;
const expected = [
    `const { x, y: a, ...zs = {} } = {};`,
    `             [a]                    `,
    `          [y: a]                   `,
    `     [{ x, y: a, ...zs = {} }]     `,
];

Alternatively, this might be an appropriate place to use baselines that just render a human-readable format of what happened. Writing a one-off renderer to make an inspectable text file for what the selection spans were would be pretty easy, and lends itself to reviewers being able to see what the behavior is.

👍🏽 I like the idea of a baseline. The assertions are difficult to write no matter what, but there are formats that are easy to read—eliminating the writing step seems like the best approach.

Ryan just gave me a physical thumbs up on this in the room because his computer currently has a blue screen of death 😄

@andrewbranch yey on first big feature merge 👍

External observer question: why is selectionRange-full is needed?

   export interface TextSpan {
      start: Location;
      end: Location;
  }

. . .

Also exposes a selectionRange-full tsserver command which accepts the same request format but responds with the language service response unchanged, which is the same except that TextSpan is a ts.TextSpan:
 export interface TextSpan {
     start: number;
     length: number;
 }

Given general brevity of the docs on ts APIs, adding odd-shaped nearly-identical calls can easily lead people astray.

Good question. Almost every TSServer command has a -full counterpart that gets used by Visual Studio. I believe Visual Studio internally uses 0-based lines and columns, while I know VS Code uses 1-based lines and columns.
I actually wrote up something about this for the wiki, I just haven’t added it yet.

Sorry, I didn't realise it's already consistent with other calls. Makes total sense!

I believe the primary difference between the -full and regular versions is that -full uses a character offset from the beginning of the file, rather than line and column.

Yep, that’s right, and that’s the same way that the compiler itself typically represents positions in files. Maybe Visual Studio doesn't use lines and columns much internally at all ¯_(ツ)_/¯


test: Use flynn cluster add before running tests

This is because the CLI now does more than just encode the config into ~/.flynnrc (it also creates CA cert files)

LGTM


AN-98: Replace endorsing with sponsoring

Everything has been taken care in regards to endorser->sponsor renaming. Documentation update is the only thing left here.
All I was able to find was a comment and a link to https://github.com/api3dao/api3-docs/blob/master/request-response-protocol/endorsement.md. I remember that something like "READMEs should not have a dependency to docs" therefore I removed all the links in the operation package README.

I remember that something like "READMEs should not have a dependency to docs" therefore I removed all the links in the operation package README.

I am not sure about such strict rule (but my memory is not very sharp). Our focus is to make the READMEs developer oriented, so by definition there shouldn't be a reason to link to docs. (Apart from saying "For customer facing documentation see ").


"forced" option is not working

First of all, thank you for the great script.
It seems like, since your latest commits this setting is not working for me:
[
   {
        "alang": "eng?",
        "slang": [
            "forced",
            "no"
        ]
    }
]

The script cannot find the subtitle track with "forced" flag. I also tried it with "default" option and without the "no" option, but it doen't work either.
It works fine with other settings.
Can you help me?

Could you upload a log file generated with --log-file and with --msg-level=sub_select='trace'. Make sure that you open the file you're having trouble with so that it shows up in the log.

My log:
log.txt

Can you check if the latest commit fixed this for you?

Yes, it"s working. :-)
Thank you very much.


Investigate and fix linux gcc system-test

linux gcc system-test fail sometimes.
The test itself needs to be fixed, or the ovn code.
117: IPv6 prefix delegation -- ovn-northd -- parallelization=yes -- ovn_monitor_all=yes FAILED (ovs-macros.at:255)
118: IPv6 prefix delegation -- ovn-northd -- parallelization=yes -- ovn_monitor_all=no FAILED (ovs-macros.at:255)
119: IPv6 prefix delegation -- ovn-northd -- parallelization=no -- ovn_monitor_all=yes FAILED (ovs-macros.at:255)
120: IPv6 prefix delegation -- ovn-northd -- parallelization=no -- ovn_monitor_all=no FAILED (ovs-macros.at:255)

Hi, the patches are merged, could you please close this one as I don't have the required permission.
Thanks.

Yes, I saw the patches https://github.com/ovn-org/ovn/commit/5175a198132e59a060efd16ea81178764f269efa and https://github.com/ovn-org/ovn/commit/b340d5d3af352ea4ece64b93e2bd59396586c217
Congrats 🎉 !


Component header error

This code seems no to work properly. It generates not a header for each component but it generates the same header (last component from previous "for loop") and overwrites it.
https://github.com/Bareflank/pal/blob/f47fa19bdad8898b42479d41ac18f5d88f028d07/pal/generator/cxx_header_generator.py#L49-L54
I have made a quick fix according to my understanding, is it correct or are i'm wrong?.
            for name, regs in peripherals.items():
                include_guard = "PAL_" + regs[0].component.upper() + "_H"
                self.gadgets["pal.include_guard"].name = include_guard
                self.gadgets["pal.cxx.namespace"].name = "pal::" + regs[0].component.lower() # namespace_name
                outfile_path = os.path.join(outpath, regs[0].component.lower() + ".h")
                outfile_path = os.path.abspath(outfile_path)

You're right @jasa, nice find! I think the code above does generate the right output in some cases, but it only works by chance because of the way that generate_registers() is being called for components/peripheral devices. For example, the following runner groups together registers that belong to a single ACPI table (a "component" in this case), generating each separately: https://github.com/Bareflank/pal/blob/f47fa19bdad8898b42479d41ac18f5d88f028d07/pal/runner/acpi_runner.py#L25-L30)
In either case, you've identified a very fragile piece of code. Would you like to contribute a pull request with your changes? Or would you prefer that I open one?

I also just realized that the generated header files also uses deprecated c headers.
#ifndef PAL_PWR_H
#define PAL_PWR_H

#include <stdint.h>

namespace pal::pwr
{
    struct view { uintptr_t base_address; };

}
#endif

Yep, the C++11 generator does generate a dependency on stdint.h by default (probably not ideal in all cases). However, the header used here is configurable, because the project doesn't want to assume you have any standard libraries available. If you're using cmake as a build interface, you could configure the project like so:
cmake </path/to/pal/> -DPAL_STDINT_HEADER=my_stdint_header.h

Which would produce:
#ifndef PAL_PWR_H
#define PAL_PWR_H

#include <my_stdint_header.h>

namespace pal::pwr
{
    struct view { uintptr_t base_address; };

}
#endif

With that said, what's the best default for the C++11 generator? I see the following requirements to be considered for choosing a default, aiming for "most coverage possible" (not necessarily all)

Works when building on Linux and Windows (using their respective compilers)
Works for userspace applications, kernel code, and baremetal code (e.g. statically linked, free standing binary with no standard library). Probably not possible to hit all cases here with one default.
Architecture agnostic (Intel, AMD, ARMv8, etc)
Would additional work required in other parts of the code generator justify the new choice

If a different default header is desirable (e.g. <cstdint>), I think it could be changed here: https://github.com/Bareflank/pal/blob/2a5b0b3ed4698a077d9c707a1e6c692eebfb362a/pal/writer/register/cxx11/register_dependency.py#L10

By the way, thanks for the PR for the first issue you found! 👍


Added Noise Python interface

Signed-off-by: ahcorde<EMAIL_ADDRESS>🎉 New feature
This PR is part of this mete ticket https://github.com/ignitionrobotics/sdformat/issues/931
Summary
Added Noise Python interface
Test it
from sdformat import Noise

noise = Noise()

Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Codecov Report

Merging #969 (46c456d) into main (66c1609) will decrease coverage by 0.09%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##             main     #969      +/-   ##
==========================================
- Coverage   87.99%   87.89%   -0.10%
==========================================
  Files         106      107       +1
  Lines       14826    14876      +50
==========================================
+ Hits        13046    13076      +30
- Misses       1780     1800      +20

Impacted Files
Coverage Δ

python/src/sdf/pyNoise.cc
59.18% <59.18%> (ø)

python/src/sdf/_ignition_sdformat_pybind11.cc
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


更新1.3

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d08e41f). Click here to learn what that means.
The diff coverage is 75.6%.

@@           Coverage Diff            @@
##             master      #1   +/-   ##
========================================
  Coverage          ?   50.4%
  Complexity        ?    2083
========================================
  Files             ?     414
  Lines             ?   12672
  Branches          ?    1297
========================================
  Hits              ?    6387
  Misses            ?    5831
  Partials          ?     454

Impacted Files
Coverage Δ
Complexity Δ

.../com/ctrip/framework/apollo/common/entity/App.java
0% <ø> (ø)
0 <0> (?)

...ework/apollo/configservice/ServletInitializer.java
0% <ø> (ø)
0 <0> (?)

...ip/framework/apollo/biz/entity/ReleaseMessage.java
65% <ø> (ø)
7 <0> (?)

...trip/framework/apollo/internals/YmlConfigFile.java
66.66% <ø> (ø)
1 <0> (?)

.../com/ctrip/framework/apollo/common/dto/AppDTO.java
0% <ø> (ø)
0 <0> (?)

...ntroller/CharacterEncodingFilterConfiguration.java
0% <ø> (ø)
0 <0> (?)

...ip/framework/apollo/biz/entity/InstanceConfig.java
71.11% <ø> (ø)
20 <0> (?)

.../ctrip/framework/apollo/common/dto/ClusterDTO.java
0% <ø> (ø)
0 <0> (?)

...rip/framework/apollo/common/entity/BaseEntity.java
0% <ø> (ø)
0 <0> (?)

...mework/apollo/common/datasource/TitanSettings.java
0% <ø> (ø)
0 <0> (?)

... and 116 more

Continue to review full report at Codecov.

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d08e41f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   51.32%
  Complexity        ?     2235
=========================================
  Files             ?      432
  Lines             ?    13385
  Branches          ?     1375
=========================================
  Hits              ?     6870
  Misses            ?     6041
  Partials          ?      474

Continue to review full report at Codecov.

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d08e41f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   51.49%
  Complexity        ?     2303
=========================================
  Files             ?      442
  Lines             ?    13738
  Branches          ?     1398
=========================================
  Hits              ?     7074
  Misses            ?     6179
  Partials          ?      485

Continue to review full report at Codecov.

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d08e41f). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 95c1d10 differs from pull request most recent head 8429c39. Consider uploading reports for the commit 8429c39 to get more accurate results

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   50.93%
  Complexity        ?     2325
=========================================
  Files             ?      449
  Lines             ?    14026
  Branches          ?     1426
=========================================
  Hits              ?     7144
  Misses            ?     6393
  Partials          ?      489

Continue to review full report at Codecov.

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


cherry-pick: Update the powervs-csi-node to use nodeSelector for ppc64le

Cherry-pick of https://github.com/kubernetes-sigs/ibm-powervs-block-csi-driver/pull/465
Adds a nodeSelector to isolate to Power nodes.
The image is not manifest listed, and when used in concert with Multiarchitecture Compute it tries to install on Intel.
What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Release note:
none

this won't be helpful, we need to change in the operator code as mentioned.

this won't be helpful, we need to change in the operator code as mentioned.

Sorry, thought I clicked on the 'Create Pull Request' button already.
Weekend... where are you?

this won't be helpful, we need to change in the operator code as mentioned.

Sorry, thought I clicked on the 'Create Pull Request' button already. Weekend... where are you?

weekend starts tomorrow :D

/retest

@mkumatag https://github.com/openshift/ibm-powervs-block-csi-driver-operator/pull/37 updated the operator.


Under macOS, Razor syntax coloring and Intellisense are not working

Is this a Bug or Feature request?:
Bug
Steps to reproduce
Open a cshtml file in Visual Studio Code for Mac. Notice that the Razor syntax coloring and Intellisense are not working. All C# code is displayed in the default text color.
Some sample cshtml code to reproduce the issue:
@{
     //Syntax coloring not working on macOS
     String test = String.Empty;
}

Logs
OmniSharp
------------------- Please fill in this section -------------------------
To find the OmniSharp log, open VS Code's "Output" pane, then in the dropdown choose "OmniSharp Log".
Razor
Expand

[Client - 7:16:26 PM] -- Starting Issue Data Collection--
[Client - 7:16:27 PM] -- Stopping Issue Data Collection--

Workspace information
Razor document:
Expand

Non Razor file as active document

Projected CSharp document:
Expand

Could not determine CSharp content

Projected Html document:
Expand

Could not determine Html content

Machine information
VSCode version: 1.33.1
Razor.VSCode version: 1.19.1
dotnet --info
Expand

A valid dotnet installation could not be found: Error: Command failed: dotnet --info
/bin/sh: dotnet: command not found

Extensions
Expand

Extension
Author
Version

auto-dark-mode
LinusU
0.1.5

copy-json-path
nidu
0.0.5

csharp
ms-vscode
1.19.1

cshtml-tm
fireside21
1.0.0

day-night-theme-switcher
freetonik
0.1.2

mssql
ms-mssql
1.6.0

mysql-syntax
jakebathman
1.3.1

partial-diff
ryu1kn
1.4.0

php-debug
felixfbecker
1.13.0

php-intellisense
felixfbecker
2.3.10

rainbow-csv
mechatroner
1.0.0

vscode-duplicate
mrmlnc
1.2.1

vscode-icons
vscode-icons-team
8.6.0

vscode-open-in-application
fabiospampinato
1.0.5

xml
DotJoshJohnson
2.4.0

Same, this is also not working on my mac:

This should have been fixed in recent releases. @keeed would you mind running the Report a Razor issue command, reproing the issue and then posting the results here?


Larger version of logo?

Is there a larger version of the PaintsChainer logo?
I'm trying to sort out proper favicon support for things like iOS home screen, Windows 8/10 tiles, etc, and ideally need a larger version to start from for it to look its best. Vector/SVG would be great otherwise 260x260 or higher would be sufficient.

Thanks for your proposal
the original image is below ( sorry its not Vector
https://twitter.com/tai2an/status/827924654119530496

Thanks, I'll raise a PR

@taizan Seems slightly different from https://github.com/pfnet/PaintsChainer/blob/master/paintschainer-64.png -  less defined 'links' between the blobs. Is that the correct version on the tweet?

ah I add the link in my hand directly


Fix/first ndc count

The first NDC count on the overview and NDC explore pages was depending on the last submitted indicator but this was incorrect as countries could submit a second NDC but after submitting the first NDC.
In this PR I use the countries documents endpoint to get the isos of the countries with the first NDC submitted and calculate the different emissions and numbers in Overview and NDC emissions page on the summary card.
Overview page (first section - second question):

NDC explore page (Summary card):

:eye: :pig_nose: :eye:


Non deterministic deduplication on receive and sidecar

Thanos, Prometheus and Golang version used:
Query frontend, querier and receive on Thanos version 0.32.2
Sidecar on Thanos version 0.30.2
What happened:
The same query returned different results when executed at different times when deduplication was enabled. This happens for queries on data in sidecars (v0.30.2) or receives (v0.32.2)
What you expected to happen:
The same query always returns the same results.
How to reproduce it (as minimally and precisely as possible):
I attach two videos illustrating the problem:
1 - dedup_bug_sidecar_0_30_2.mov
https://github.com/thanos-io/thanos/assets/15621360/a4ee7e32-cd9d-44ab-a6ea-2eb558c958a6
Here the data is scraped by Prometheus HA (2 replicas) and queried on its Thanos sidecar.
The query `aggregator_unavailable_apiservice_total{cluster="osdp-prod-azu-switzerlandnorth-1",name="v1beta1.metrics.k8s.io"} returns two series when deduplication is disabled, one for each prometheus instance:
{prometheus_replica="prometheus-osdp-monitoring-prometheus-0"} 3
{prometheus_replica="prometheus-osdp-monitoring-prometheus-1"} 5
When querying the raw data for the past 30 minutes with deduplication is enabled the query returns 3 most of the time, however sometimes it returns 5 until time X and 3 afterwards. This X is always around the top of the hour.
2 - dedup_bug_receive_0_32_2.mov
https://github.com/thanos-io/thanos/assets/15621360/c67da8b7-8cb7-401d-82f1-eb251269d07a
Here the data is scrapped by Prometheus HA (2 replicas), remote written to Thanos receives (factor 2 replication) and queried from there.
The query `aggregator_unavailable_apiservice_total{cluster="osse-prod-azu-eastus-1",name="v1beta1.custom.metrics.k8s.io"} returns four series when deduplication is disabled, one for each prometheus instance and receive replica combination:
{prometheus_replica="prometheus-osdp-monitoring-prometheus-0",receive_replica="thanos-receive-cloudinfrastructure-1"} 8
{prometheus_replica="prometheus-osdp-monitoring-prometheus-0",receive_replica="thanos-receive-cloudinfrastructure-3"} 8
{prometheus_replica="prometheus-osdp-monitoring-prometheus-1",receive_replica="thanos-receive-cloudinfrastructure-1"} 7
{prometheus_replica="prometheus-osdp-monitoring-prometheus-1",receive_replica="thanos-receive-cloudinfrastructure-3"} 7
As in the example above, different prometheus replicas have store different values.
When querying the raw data for the past 30 minutes with deduplication enabled the query returns 8 most of the time, however sometimes it returns 8 until time X and 7 afterwards. Again, this X is always around the top of the hour.
Anything else we need to know:
I can upgrade the sidecar to 0.32.2 if you would like. But I think showing the bug was there in 0.30.2 is still interesting since 0.31.0 was the source of some querying issues.
On the querier there is deduplication on the following labels
    - --query.replica-label=prometheus_replica
    - --query.replica-label=receive_replica
    - --query.replica-label=tenant_id
    - --query.replica-label=thanos_ruler_replica
    - ```

Might be related to https://github.com/thanos-io/thanos/pull/6702#issuecomment-1707956398

https://github.com/thanos-io/thanos/pull/6706 This might be a fix maybe

I think let's close it since https://github.com/thanos-io/thanos/pull/6706 was merged. Please reopen if this is still the case on latest main.


AppImage package support

Requirements:

works only in Debian/Ubuntu based Linux OS
appimage-builder should be installed on the system & available in the PATH
configuration file inside project's linux/packaging/appimage/make_config.yaml directory

Config file structure in linux/packaging/appimage/make_config.yaml with Examples
# application id with organization domain
appId: org.lean.flutter.examples.hello_world

# relative path to icon
icon: assets/logo.png

# scripts that are run before `appimage-builder` starts to build the AppImage
script:
  - echo 'Running a Script before building'

# include direct/indirect `apt` dependencies
# if your package's dependencies are from other/unofficial/3rd-party PPA(s)/repository then add
# those repos/ppa before running the flutter distributor package
include:
  - libkeybinder-3.0

# exclude certain non-required indirect dependencies that might overweight the bundle
exclude: []

# some dependencies are available in every system & bundling them into the
# AppImage only make the bundle beefy thus some of them are excluded by default.
# It can be turned on/off with following field
# @default - true
default_excludes: true

files:
  # include extra files & folders
  include:
    - ./example.png

  # exclude files & folders
  exclude: []
  # to whether exclude opinionated non-required files by default or not
  # @default - true
  default_excludes: true

@lijy91 Changes made according to your suggestions


(fix) evaluate_forwardref: support Python 3.13/3.12.4+

Thanks for the contribution. I'll release a new version soon. :)


output not working

the "output" config setting is not working. If you set something like "output": "test.css" no file is generated.

in brackets 1.3    your plugin    is not  work


test(barchart): add unit tests

Adds unit tests in advance of https://github.com/tui-rs-revival/ratatui/issues/294
These tests should help ensure that existing code that uses Barchart will continue to work with the grouped version.
Pinging @karthago1 for review
Has full line coverage on the Barchart type.

I updated the MR #288. it 100% compatible with these unit tests.
and  I marked here the one thing which is not backwards compatible and I think it is an improvment.


Release Code please

Interesting work, do you have a schedule for releasing the source code?

Interesting work, do you have a schedule for releasing the source code?

Thank you for your interest, This work is still in the under review stage, so it also depends on the progress of that.


Localhost problem

⚠ Please verify that this question has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
I am not able to run the localhost:3001 and localhost:8000

📝 Error Message(s) or Log
No response
🐻 Uptime-Kuma Version
1.23.13
💻 Operating System and Arch
macOS
🌐 Browser
Chrome
🖥 Deployment Environment

Runtime:
Database:
Filesystem used to store the database on:
number of monitors: 10

I tried to simply run it on the chrome and it's running smoothly

Have you allowed the docker container access to localhost outside of the container? (Read: are you running the container in host network mode)
https://github.com/louislam/uptime-kuma/wiki/Troubleshooting

Well I have tried your solution and it's not working.
Also have tried this solution as well: https://github.com/louislam/uptime-kuma#:~:text=If you want to limit exposure to localhost (without exposing port for other users or to use a reverse proxy)%2C you can expose the port like this%3A

It's still down

Have you allowed the docker container access to localhost outside of the container? (Read: are you running the container in host network mode)
https://github.com/louislam/uptime-kuma/wiki/Troubleshooting

How to allow docker container to access the localhost?

You can allow access to the host network via --network=host.

On Linux, one Docker container can access to the host through the address <IP_ADDRESS>. and host.docker.internal should work on Mac (and some versions on Linux). See https://medium.com/@TimvanBaarsen/how-to-connect-to-the-docker-host-from-inside-a-docker-container-112b4c71bc66


Cursor isn't changed over the bottom edge of resizable undecorated window with MenuBar

Compose 1.5.0-beta01, Windows 11, OpenJDK 17

Run this snippet:

import androidx.compose.ui.window.MenuBar
import androidx.compose.ui.window.singleWindowApplication

fun main() = singleWindowApplication(undecorated = true, resizable = true) {
    MenuBar {
        Menu("Menu") {

        }
    }
}

Move cursor to the bottom edge

Actual:
The cursor stays with the default icon
Expected:
The cursor should have the resizable icon
It works as expected, if we remove the menu bar

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


make links dragable and able to attach events

Hello,
First of all I would like to congratulate you for such a fantastic plugin. Very helpful.
I was wondering wether is possible or is a nice feature to have, attaching events to a 'A' TagName.
We aim to be able to drag elements between containers through a 'A' tagName and we could accomplish it by using the invalid option or use moves and setup 'A' tagName as handler.
Do you think is possible to be able to attach click, mousedown, mouseup, etc. events so we can control wether the user was willing to drag and drop or wants to have the default navigation behaviour to the A's href.
¡Muchas gracias!

Refer to the docs: https://github.com/bevacqua/dragula#optionsinvalid

Hello,
Many thanks for your quick response. I might not have made myself clear on my previous post. Sorry about that.
The option Invalid allows me to be able to drag from 'A' tagNames. We have made that and is working great.
The issue is that when you click in a 'A' tagName, with the invalid options below, I am not able to attach any events to the link whether is by class name of by Id.
I was wondering if it is possible to have this:
function invalidTarget (el) {
  return el.tagName === 'BUTTON';
}

and being able to attach events to container elemtents with a 'A' tagName.
Again many thanks for your plugin.

Not sure what you mean by attach events.

Hello,
Again many thanks for your response. By attaching events I mean the capacity when a user perform an action and generates an event (like click, keydown, mouseover, keyup, etc.) on the link, being able to perform an action.
In the dragula case, when you make an A tagname dragable, you lose the default behaviour of the link (go whereever the href is taking you) and also I can't attach the click event or any other as dragula seems to hijack any event on dragable handlers.

This will be fixed in 3.0.0

Wonderful!
We can consider this thread as closed so whoever is in the same situation I am, can see that it will be covered in 3.0.0
¡thanks!


docs: Add kubicle tutorial

This commit adds a tutorial on basic ciao usage.  It explains how to set
up ciao in the Single Machine ciao development environment and how to
deploy Kubernetes inside this new ciao cluster.
Signed-off-by: Mark Ryan<EMAIL_ADDRESS>

@kaccardi note https://github.com/01org/ciao/issues/1380.  I'll try to get this fixed this evening.

Coverage increased (+0.02%) to 65.745% when pulling 708f620a34ab3c2744115ea33334123340a2db90 on markdryan:kubicle-docs into 5907b795d3cf5b2f0d349a2f6ae476aee3f53cce on 01org:master.

Coverage increased (+0.009%) to 65.736% when pulling 17ec5873c8eb56585f0bbac6eed0069f6b4743f4 on markdryan:kubicle-docs into 5907b795d3cf5b2f0d349a2f6ae476aee3f53cce on 01org:master.

Coverage increased (+0.009%) to 65.736% when pulling 17ec5873c8eb56585f0bbac6eed0069f6b4743f4 on markdryan:kubicle-docs into 5907b795d3cf5b2f0d349a2f6ae476aee3f53cce on 01org:master.

Coverage increased (+0.02%) to 65.75% when pulling 17ec5873c8eb56585f0bbac6eed0069f6b4743f4 on markdryan:kubicle-docs into 5907b795d3cf5b2f0d349a2f6ae476aee3f53cce on 01org:master.

kubicle can fail silently with an empty admin.conf and no explanation. If the VMs fail to init properly (due to errors encountered during cloud-init for example), there is no notification to the users. Should we call this out in the doc? #1384


Samsung Galaxy S9 not in security support

Link to product page on endoflife.date
https://endoflife.date/samsung-mobile
Details of incorrect and correct details you have found
Galaxy S9 is not listed as in any form of support on the Samsung website but is listed as 'Yes' for security support on eol.date
What is the source website for the product and for its version information?
https://security.samsungmobile.com/workScope.smsb
Additional context
Thank you for a very, very useful site!

Thank you for opening this, the whole page needs some updating, I'll get on that tomorrow.


[CONTROLLER/DB] optimizes deleting org performence

This PR is for:

Server

optimizes deleting org performence
Checklist

[ ] Added unit test.

Backport to branches

main

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhengya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


show recent posts on profile (#125)

shows the 3 most recent published posts by the user on their profile
if the post has other authors, indicates them with a link to those profiles
borrows styling and logic from blog post list page

Codecov Report

Merging #128 into develop will increase coverage by 0.1%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           develop     #128     +/-   ##
==========================================
+ Coverage    96.44%   96.54%   +0.1%
==========================================
  Files           68       68
  Lines         2618     2694     +76
==========================================
+ Hits          2525     2601     +76
  Misses          93       93

Impacted Files
Coverage Δ

cdhweb/people/views.py
97.14% <100%> (+0.17%)
:arrow_up:

cdhweb/people/tests.py
100% <100%> (ø)
:arrow_up:

cdhweb/projects/tests.py
100% <0%> (ø)
:arrow_up:

cdhweb/resources/tests/test_views.py
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


on-drop-failure will never execute if on-drop-success exist.

From this (copied) part of code, you could see that on-drop-failure will never be executed if there is set on-drop-success.
Also, will never at all be executed for FAILURE because FAILURE should be executed when: e.dataTransfer.dropEffect === 'none'
So else should go for first if.
if (e.dataTransfer && e.dataTransfer.dropEffect !== 'none') {
                    if (attrs.onDropSuccess) {
                        var onDropSuccessFn = $parse(attrs.onDropSuccess);
                        scope.$evalAsync(function() {
                            onDropSuccessFn(scope, {$event: e});
                        });
                    } else {
                        if (attrs.onDropFailure) {
                            var onDropFailureFn = $parse(attrs.onDropFailure);
                            scope.$evalAsync(function() {
                                onDropFailureFn(scope, {$event: e});
                            });
                        }
                    }
                }

https://github.com/angular-dragdrop/angular-dragdrop/pull/143


Remove panic calls and use fatal instead

What type of PR is this?

Change List to Get Service Instance API.
Get rid of panic() calls and use Fatal() instead.

/kind bug

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #419
Special notes for your reviewer:
Release note:
none

/ok-to-test


About the behavior that amp_device_id is not set when deviceIdFromUrlParam is true

About the behavior that amp_device_id is not set when deviceIdFromUrlParam is true
I'm using amplitude-js 7.1.1.
I'd like to get some feedback on whether this behavior is a bug or not(or is there an another solution I want to do)
As we are trying to connect anonymous users by device ID only on the two sites, I set the deviceIdFromUrlParam to true and send the amp_device_id to a specific hostname as shown below. But initially, amp_device_is is not set, then the device_id becomes null.
I understood "deviceIdFromUrlParam is true" to mean that I must first set amp_device_is to the URL, is that correct?
var sendDeviceIdHosts = ['www.example.com'];
var apiKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var userId = null;
var options = {deviceIdFromUrlParam: true, includeUtm: true};
var callBack = function(instance){
  var deviceId = instance.options.deviceId;
  console.log('deviceId is ' + deviceId);
  var links = document.getElementsByTagName('a');
  links.forEach(function(link) {
    for(var i=0; i<sendDeviceIdHosts.length; i++){
      if ( link.hostname === sendDeviceIdHosts[i] ) {
        link.search += link.search.length > 0 ? '&':'' + 'amp_device_id=' + deviceId;
        break;
     }
    }
  });

If the amp_device_id is not set, I think a better solution is to create a base64Id.
For example, if 'this._getDeviceIdFromUrlParam(this._getUrlParams())' returns null, you can use base64Id instead.
https://github.com/amplitude/Amplitude-JavaScript/blob/bec6e509245d50c16a9726ef1efdf16d4a859942/src/amplitude-client.js#L286
If you need to create a new pull request, please let us know.

Hi @aoshika-lv, I believe you are correct on all accounts - if the device Id is not available in the params via amp_device_id, we should fall back to the other options / a base64Id. Feel free to create a PR and assign a maintainer to review, or we can get to it in the following days/week.

Hi @kelvin-lu. Thank you for your quick reply!
Okey. I will create the PR as soon as possible.


Uncaught Exception: UNKNOWN: unknown error, open 'C:\Users\Username\AppData\Roaming\Google Play Music Desktop Player\json_st

An uncaught exception was reported.
Info:
OS: win32
Arch: ia32
GPMDP Version: 3.1.0
Time: Thu Mar 31 2016 13:26:37 GMT 0200 (W. Europe Daylight Time)
Error:
UNKNOWN: unknown error, open 'C:\Users\Username\AppData\Roaming\Google Play Music Desktop Player\json_st
Error: UNKNOWN: unknown error, open 'C:\Users\Username\AppData\Roaming\Google Play Music Desktop Player\json_store\playback.json'
    at Error (native)
    at Object.fs.openSync (fs.js:584:18)
    at Object.module.(anonymous function) [as openSync] (ATOM_SHELL_ASAR.js:157:20)
    at Object.fs.writeFileSync (fs.js:1234:33)
    at PlaybackAPI._save (C:\Users\Username\AppData\Local\GPMDP_3\app-3.1.0\resources\app\build\main\utils\PlaybackAPI.js:92:22)
    at PlaybackAPI.setTime (C:\Users\Username\AppData\Local\GPMDP_3\app-3.1.0\resources\app\build\main\utils\PlaybackAPI.js:147:12)
    at EventEmitter.<anonymous> (C:\Users\Username\AppData\Local\GPMDP_3\app-3.1.0\resources\app\build\main\utils\PlaybackAPI.js:56:15)
    at emitTwo (events.js:87:13)
    at EventEmitter.emit (events.js:172:7)
    at EventEmitter.<anonymous> (C:\Users\Username\AppData\Local\GPMDP_3\app-3.1.0\resources\atom.asar\browser\api\web-contents.js:134:25)

This issue was created automatically inside the uncaughtException handler

Did you run the installer as Admin?

This is after installation,occured randomly while listening. UAC is disabled on the machine, so everything is automatically elevated.

Hmmmm, to be honest an UNKNOWN: unknown error is distinctly not helpful :laughing:
There was another issue like this somewhere which I believe I fixed with some chmod magic so I'm going to close this as a fixed duplicate :+1:


change overpass server url

Tried this in my local.
Using - is better at acquiring data. As using the previous one, sometimes I get network error when loading the campaign, but not using this one.

LGTM

@ann26 we need to revisit this as specific servers need to be whitelisted to get that attic data. Hence for development purposes we still need the 'http://overpass-api.de/api/interpreter'.


Copy-Paste includes style

This might be "by design" but when I'm in dark mode and I copy from vscode (Ubuntu 19.04) both the text and style are copied (i.e. the black background and keyword colour etc.). I feel that since vscode is an editor that only the text should be copied?

This can be disabled by editor.copyWithSyntaxHighlighting. Thanks!


invalidating layout load function on mount makes it so that layout load function reruns on any preload until clicked

Describe the bug
When using invalidate() inside an onMount(), the layout load function that was invalidated now runs every time sveltekit preloads pages. In the reproduction link below every time I hover on a pre-loadable link it will also run the layout load function. Once we click a link though the bug seemingly disappears.
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-7tjszr?file=src%2Froutes%2F%2Blayout.svelte
Logs
No response
System Info
System:
    OS: Linux 5.15 Ubuntu 22.04.1 LTS 22.04.1 LTS (Jammy Jellyfish)
    CPU: (12) x64 AMD Ryzen 5 4600H with Radeon Graphics
    Memory: 1.91 GB / 3.51 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.16.1 - ~/.nvm/versions/node/v18.16.1/bin/node
    npm: 9.7.2 - ~/.nvm/versions/node/v18.16.1/bin/npm
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.1.0
    @sveltejs/kit: ^1.20.4 => 1.22.3
    svelte: ^4.0.5 => 4.1.1
    vite: ^4.4.2 => 4.4.7

Severity
annoyance
Additional Information
No response

Fixed by #11268


Interfaces is not exported in index

The interface (https://github.com/Kopf02/express-utils/blob/main/src/interfaces/HttpResponseInterface.ts#L3)
export interface Error {
  error: string;
  errorDetails?: ValidationErrorItem[];
}

which is used in HTTP exceptions: https://github.com/Kopf02/express-utils/blob/main/src/exceptions/HttpException.ts#L15
Issue
You cannot use this interface in custom exceptions if you want to overwrite the function in the reference above, because it is not exported in https://github.com/Kopf02/express-utils/blob/main/src/index.ts#L8
Todo
Add the nterface to the export statement in the src/index.ts file

has been fixed in https://github.com/Kopf02/express-utils/commit/58f5a1e830d23736e2f7b12991b82f1717d43c61


[REG2.068.2] Issue 15200 - ICE(glue.c) when compiling with -inline

https://issues.dlang.org/show_bug.cgi?id=15200
Even if a function is expanded by inlining, the function itself don't have to put in object file. In short, adjusting ti.minst in inline.d is not correct.
The unspeculation in expandInline was added in the PR #4944, but sadly it was just a hack and inherently unneeded. The changes in TemplateInstance.appendToModuleMember and needsCodegen those were added since 2.068.1-b1, now correctly handle codegen of nested template instances.

I'm not entirely sure how this works, but will a static variable or template referenced from an inlined function still be put in the object file correctly?

will a static variable or template referenced from an inlined function still be put in the object file correctly?

Maybe no. The point of this change is, template instantiation does not happen beyond the separate compilation boundaries. For example:
module a;
import b;
void main() { int x = foo(); }

module b;
int foo() { return Impl!().value; }
template Impl() { static int value; }

When the module a is compiled separately, the foo call may be expanded in main by inlining. But the template instance Impl!() does not have to be additionally instantiated in module a, because Impl!() is in the body of non-root non-template function and will be left as non-root instance during the module a compilation.
Therefore dmd -inline a.d would cause undefined reference linker error to the variable symbol Impl!().value. It's normal behavior and you should also compile & link the module b.

Makes sense, thanks!


Allow to manually specify typescript function signatures

Motivation
TypeScript has a very expressive type system.
Some of its features have no counterparts in the Rust type system, and in any case wasm-bindgen is unlikely to ever support it in full.
This matters for making high-quality TypeScript APIs for wasm modules, so maybe there should be an escape hatch to manually specify more subtle types than wasm-bindgen could infer.
Example:
// .rs
#[wasm_bindgen]
pub fn find_root(f: &js_sys::Function) -> f64 { ... }

// .d.ts
export function find_root(f: Function): number;  // inferred by wasm-bindgen, bad
export function find_root(f: (x: number) => number): number;  // good

Proposed Solution
Support the following syntax on exported Rust functions:
#[wasm_bindgen(typescript_signature="(x: number): -1 | 0 | 1")]
pub fn sign(x: i32) -> i32 { ... }

When typescript_signature is specified, wasm-bindgen should uncritically use it in the generated .d.ts:
export function sign(x: number): -1 | 0 | 1;
// instead of the default 'export function sign(x: number): number;'

The responsibility to ensure that it matches the actual implementation is on the programmer.
Additional Context
This feature could also serve as a workaround for #1591 and #1197 .

This is already possible by using typescript_type, like this:
#[wasm_bindgen]
extern "C" {
    #[wasm_bindgen(typescript_type = "-1 | 0 | 1")]
    type Order;
}

And now your functions can accept/return Order:
use wasm_bindgen::JsCast;

#[wasm_bindgen]
pub fn sign(x: f64) -> Order {
    JsValue::from(x).unchecked_into::<Order>()
}

Note the usage of unchecked_into to cast it into the Order type.
This also works for putting Order into structs:
#[wasm_bindgen]
pub struct Foo {
    pub order: Order,
}


chore: fix rocks terminology

Issue

"ROCK" should be "rock"
Solution

Replacing all occurrences
Context

Testing Instructions

Upgrade Notes

The commit is now signed

Thank you for the contribution, @cjdcordeiro! The PRs should now be merged.


Shap interaction values on subset of features

Hi,
Again thanks for this amazing package!
SHAP interaction values are really something we have been looking for for a while. Considering calculating the whole interaction matrix scales linearly with the number of features (+ memory growth, which is M^2?) and we regularly have thousands of them, is there a way to calculate the interactions between a chosen subset of features? Or is it somewhere on a to-do list?

 Specifically, using a sparse
matrix formulation would do what you want, but that requires some work. I
have done interactions for a thousand or so features, but you are right
beyond that a dense matrix gets very large.
On Mon, May 14, 2018 at 6:07 AM Toekan<EMAIL_ADDRESS>wrote:

Hi,
Again thanks for this amazing package!
SHAP interaction values are really something we have been looking for for
a while. Considering calculating the whole interaction matrix scales
linearly with the number of features (+ memory growth, which is M^2?) and
we regularly have thousands of them, is there a way to calculate the
interactions between a chosen subset of features? Or is it somewhere on a
to-do list?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/slundberg/shap/issues/83, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADkTxfgc1jorKbf5gtM3_jJOmw3gHB-Rks5tyXOEgaJpZM4T9q2S
.

would love an update on this as well!! thanks for you hard work


{WIP} (PUP-9312) Don't fail entirely if one value is invalid

TODO

CLA signed by all contributors.

Closing in favour of #7266


Multiple belongsTo relations to one model breaks

When model A has multiple belongsTo relations to model B, specified using:
class ModelA extends Model {
    static belongsTo = {
       aB: {
            model: 'modelB',
            inverse: 'aModels'
        },
        bB: {
            model: 'modelB',
            inverse: 'bModels'
        }
   };
}

class ModelB extends Model {
    static hasMany = {
       aModels: {
            model: 'modelA',
            inverse: 'aB'
        },
        bModels: {
            model: 'modelA',
            inverse: 'bB'
        }
   };
}

When fetching model A with the relations, It will only do a LEFT OUTER JOIN for the first relation and thus never return the second in the JSON response (it's always null).

+1.
I've created a gist for what sounds like the same issue.

Feel like I've dropped down a bit of a rabbit hole on this issue - so any pointers are appreciated!
So, I found the offending code at controller/utils/params-to-query.js#L53-L58. Using find returns just the first relationship per related model.
I've got includedFields returning all relationships by modifying to:
includedFields = entries(includedFields).reduce((result, field) => {
  const [key] = field;
  let [, value] = field;

  relationships.forEach(([name, { model: related }]) => {
    if (key !== related.resourceName) { return result };

    if (!value.includes(related.primaryKey)) {
      value = [related.primaryKey, ...value];
    }

    if (include && value.length === 1 && include.includes(name)) {
      value = [...value, ...related.serializer.attributes];
    } else if (!include && value.length > 1) {
      value = value.slice(0, 1);
    }

    result = {
      ...result,
      [name]: value
    };

  }) || [];

  return result;

}, {});

However, there's then a problem with building the SQL query in database/query/index.js#L372-L384.
Lux builds the following SQL query. Unfortunately, this throws an SQLITE_ERROR: ambiguous column name: images.id.
SELECT "users"."id"    AS "id",
       "users"."name"  AS "name",
       "users"."email" AS "email",
       "images"."id"   AS "avatar.id",
       "images"."id"   AS "coverImage.id"
FROM   "users"
       LEFT OUTER JOIN "images"
                    ON "users"."avatar_id" = "images"."id"
       LEFT OUTER JOIN "images"
                    ON "users"."cover_image_id" = "images"."id"
ORDER  BY users.created_at ASC,
          users.id ASC
LIMIT  25

This seems to be an SQL aliasing issue. I hacked together a solution at database/query/index.js#L377-L384 to builds the SQL below. This returns the correct ids for the relationships, however the actual relationships aren't then resolved by the Lux query handler.
SELECT "users"."id"    AS "id",
       "users"."name"  AS "name",
       "users"."email" AS "email",
       "users"."avatar_id"   AS "avatar.id",
       "users"."cover_image_id"   AS "coverImage.id"
FROM   "users"
       LEFT OUTER JOIN "images"
                    ON "users"."avatar_id" = "avatar.id"
       LEFT OUTER JOIN "images"
                    ON "users"."cover_image_id" = "coverImage.id"
ORDER  BY users.created_at ASC,
          users.id ASC
LIMIT  25

database/model/index.js#L681
const props = pick(attrs, ...attributeNames.concat(relationshipNames));
// => {
//  "id": 1,
//  "name": "User Name",
//  "email": "user@email",
//  "posts": [
//    <Post model resolved properly from hasMany>
//  ],
//  "avatar": 1, /*Only get the ID for belongsTo */
//  "coverImage": 2
//}

I can't seem to find the cause for the belongsTo relationships not being resolved. Can @zacharygolba perhaps shed some light?

Check out my fork of Lux (branch fix-683) to test this issue:
https://github.com/willviles/lux/tree/fix-683

Nice, hope @zacharygolba has some spare time soon ;-)

Right, I've got this working, but not sure of the best implementation of the fix.
Here's the problem. To reference multiple belongs_to relationships from the same model, we need to alias the outer joins, as I've detailed above.
Unfortunately, when you put the LEFT_OUTER_JOIN alias as dot notation (e.g. "avatar.id"), it gets parsed as "avatar"."id", whereas in the SELECT part of the query, it's maintained as a string:
SELECT "users"."id"    AS "id",
       "users"."avatar_id"   AS "avatar.id", // Kept as string
FROM   "users"
       LEFT OUTER JOIN "images"
                    ON "users"."avatar_id" = "avatar"."id" // Dot notation parsed

This means the aliasing fails. Which is a bugger, because only keys with dot notation are resolved to records as shown here database/query/runner/utils/build-results.js#L113 .
If I set the aliasing like so:
SELECT "users"."id"    AS "id",
       "users"."avatar_id"   AS "avatar_id",
FROM   "users"
       LEFT OUTER JOIN "images"
                    ON "users"."avatar_id" = "avatar_id"

And then modify the database/query/runner/utils/build-results.js#L113 to check for key.indexOf('.') >= 0 || key.indexOf('_') >= 0, then the records are resolved as expected.
This could be a solution, because all other attribute keys are resolved to camelCase, so underscores would be unique to this scenario. It just smells a little.

Ok, I've got my project far enough to where I'm running into this now.  @willviles / @zacharygolba - is there anything I can do to help push this fix along?

@willviles & @zacharygolba - I believe I have, somewhat accidentally, found a workaround for this it is working for me to load the second belongsTo relationship (based on latest lux in master)
context wise, I've got a products model that has a colorChart and an alternateColorChart belongsTo relationships, both relating to the same resource called color-chart.  Today I got the second relationship wired up and could set the value but then on a fresh get request the alternateColorChart would be null in relationships which landed me back here as is the crux of this issue.  I already had colorChart and alternateColorChart in the hasOne array on the product serializer.
the work-around?
When I added alternateColorChartId to the attributes array on the serializer, then the alternateColorChart relationship also began populating in addition to the initial colorChart relationship.
I've been able to add and remove this and consistently get working/not working results, can you guys try and confirm this also works for you?
I haven't thought thru all the downstream implications of just adding this field to the attributes but clearly it has some effect relevant to the conversations above so I thought I'd share.

@jamemackson - you're right! Using the example of my gist, the following serializer config does indeed work:
// serializers/user.js
attributes = [
  ...
  'avatarId',
  'coverImageId'
];

hasOne = [
  'avatar',
  'coverImage'
];

This is a good short-term workaround, but this isn't a particularly nice pattern. It also adds superfluous avatar-id and cover-image-id attrs to the attributes payload.
Currently, my fix-683 branch ensures records are correctly added to the payload from simply specifying the relationship in hasOne. However included data returns blank records.


Tag Helpers: enum attribute of nested enum type

#196 allows writing only the enum member as the attribute value.
When using a tag helper property with a nested enum type the generated code is invalid.
class Parent {
  public enum Foo {
    Bar,
  }
}

<mytaghelper someattr="Bar" />

The generated code is like this:
__MyTagHelper.SomeAttr = global::SomeNamespace.Parent+Child.Bar;

Microsoft.AspNetCore.Mvc.Razor v1.1.1

@ajaybhargavb we think this might already be fixed. Either way, please make sure there's a test for this case.

3-Done?

Oops 😄


Error in getResult function

Hi, i use 4.3.0 version
In Samsung browser I have an error: "Failed to execute 'invoke' on 'ForEachIteratorCallback': The provided callback is no longer runnable."
This error in function getResult, can you help me with this error, because I only see it in sentry and cannot retry it in my device

@Heinrich-Marx that version of graphql-request is no longer maintained. If you are still experiencing this issue in the latest version please open a new bug with the steps to reproduce the problem.


Add Cthulhu tool.

Add Cthulhu tool, a Chaos Engineering tool that helps to evaluate the resiliency of microservice systems. It does that by simulating various disaster scenarios against a target infrastructure in a data-driven manner. https://www.xmatters.com

Thank you for your contribution @yurynino!


audit: check Maven Central URLs, prefer redirector

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes?
[x] Have you successfully run brew tests with your changes locally?

Should help with being more consistent and makes sure to suggest the HTTPS redirector even if equally valid HTTP URLs for specific hosts or central.maven.org are used.
This has been prompted by the (brief) discussion in Homebrew/homebrew-core#1610. The majority of our core formulae that are downloaded from maven.org already adhere to this adit check. Assuming this is accepted, would it be prudent of me to file a follow-up PR in core that changes the URLs in those formulae that don't adhere to this audit check yet?
cc @DomT4 as the master of brew audit checks. :wink:

Do the majority of alternative URLs conform to the central or repo(n) format? If so, presuming you've checked the output against a few fetched-from-maven formulae, seems reasonable to me. Consistency is certainly welcome.

would it be prudent of me to file a follow-up PR in core that changes the URLs in those formulae that don't adhere to this audit check yet?

It helps reinforce the consistency aspect, but not an obligation by any means.

Do the majority of alternative URLs conform to the central or repo(n) format? If so, presuming you've checked the output against a few fetched-from-maven formulae, seems reasonable to me. Consistency is certainly welcome.

The majority in the formulae and what I've seen in the wild are prefixed with repo1, as that seems to be the primary server people get redirected to (and then just take this URL). I checked all core formulae with URLs diverging from what I'm suggesting here, and they all continue to work once changed as suggested by the audit (and of course with identical sha256).

It helps reinforce the consistency aspect, but not an obligation by any means.

The branch is already prepared, due to (somewhat optimistic) hope that this is going to be approved. 😄

👍


Trying to add PPL support.

PPL's dependencies under upstream/include got added as git submodules. While this could be useful, in some situations, I'd go for a simpler approach and add them just as plain files. This might also be a reason why you are having build issues: you need to run git submodule update --init to fetch and check them out into the working directory.


Move OpenMP to host deps

The llvm-openmp as build dependency is blocking some downstream R 4.3 migration (e.g., https://github.com/conda-forge/r-didimputation-feedstock/pull/4). This moves it to host.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin please rerender


⚠ SceneTime has degraded performance

In a7fe120, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 3150 ms

Resolved: SceneTime performance has improved in 2bee1de after 10 minutes.


MINOR: Improve the readability of the DelegationTokenManager code

Improve the readability of the DelegationTokenManager code

Hi @guozhangwang @showuon
This is a small change to improve the readability of the source code.
Please help to review the PR .
Thanks.

Hi @rajinisivaram @ijuma  @dajac
This is a small change to improve the readability of the source code.
Please help to review the PR .
Thanks.


an error occurred when trying to log in

the error says that cannot set headers after they are sent to the client and the error occur here

Hi, i want to fix it

hi can i work on this issue

hi @gbowne1 can i work on this issue

ok @Amrani-Farouk-Hossam-Eddine
This issue is first come first serve.

@gbowne1 I'm still looking into this issue, I have a user setup in a containerized mongo instance

I'm thinking I need to be using a hashed password or hit the /register endpoint and maybe this is why I'm getting a 401 back?

However (and perhaps more to the point): I'm also/still not getting the error described in the issue server side?

Let me know your thoughts on this. I'm still a little new on some of the moving pieces here.

@jarmentor
I think that this is something like I have been experiencing too. See the issue #86 where I provide some details.
Do we have a UI for /register?
For instance I am no longer able to login/logout.  I can still also manually go to the routes which should be still protected among other things
Let me know what you think.

Greetings!
I bring good news, I think.
I believe this issue can be closed in favor of raising a new issue for a user registration flow in the client.
I first registered a user:
curl --location 'http://<IP_ADDRESS>:3001/register' --header "content-type: application/json" --data '{"username": "jarmentorTestUser", "password": "test", "email"<EMAIL_ADDRESS>}'

When logging in with those credentials, I get an object back on localStorage.user as expected
When clicking logout, the user is removed from localStorage.user as expected. The UI returns to the option to enter username and password.
Nothing is logged server side during this process.
> node server.js
(node:58714) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
server running on port 3001
Connected to MongoDB

So this flow seems to be working fine. I'm not seeing any notices regarding headers already having been sent.
Let me know your thoughts @gbowne1

@jarmentor
Yes I agree with that.
Other than sending the endpoint manually a register, there is no UI for registering a  new user, etc. So...
Yes, a new TODO issue should be made and this one close in favor of one that will make a UI for registering a new user.
Feel free to open a new issue and close this one, or I can if you would like me to.
Thanks @jarmentor


Add missing py.typed file to Python implementation

Adds the missing py.typed file required for using the already existing type comments (See PEP-561: https://peps.python.org/pep-0561/#packaging-type-information).
Closes #19

Can we get a new release?  I am getting an error with anyascii 0.3.2:
error: Skipping analyzing "anyascii": module is installed, but missing library stubs or py.typed marker

Hello @hunterwb,
Could you create a new release with this fix? 🙏


Feat : Resource Detail - general description

Feat : Resource Detail - general description

As a user of the portal,
I want to read a general description of a shared resource (data or service)
So that I can understand what this resource is about, its context of creation and its purpose.

Acceptance criteria
Scenario: default display (desktop)
Given that I am a user of the web portal (authenticated or unauthenticated),
When I am on the detail page of a resource,
Then I should see the name of the resource, its label (type of the resource) and a general description (see mock up)
Scenario: mobile display (desktop)
Given that I am a user of the web portal (authenticated or unauthenticated),
When I am on the detail page of a resource,
And I use a mobile device
Then I should see the name of the resource, its label (type of the resource) and a general description (see mock up mobile device)
Scenario: Internationalization
Given thatI am a user of the web portal (authenticated or unauthenticated),
When the selected language is English
Then texts should be displayed in English language,
Data Space
Dataset
Service
And metadata of the resources should be displayed in English
Given that I am a user of the web portal on the home page,
When the selected language is French
Then texts should be displayed in French language,
Data Space
Données
Service
And metadata of the resources should be displayed in French
Given that I am a user of the web portal on the home page,
When the selected language is German
Then texts should be displayed in German language,
Erkunden Sie
Datenraum
Datensatz
And metadata of the resources should be displayed in German
Requirements
Mockups
Desktop :

Mobile :

Environment

staging URL: https://app.staging.okp4.network/

Additional informations
None.

Test 07/04
Desktop : Firefox and Safari
Mobile : Safari
Scenario : Default Display : OK ✅
Scenario : Mobile Display : OK ✅
Scenario : Internationalization: OK ✅


Most types on $ are typed as never

This means typescript will cry if we try to access something here.
Is this intended, it doesn't fit with the documentations ( which also names $.header as $.headers )
export type HTTP_GET = ({
  query,
  path,
  header,
  body,
  context,
  proxy,
}: {
  query: never;
  path: never;
  header: never;
  body: undefined;
  context: Context;
  response: ResponseBuilderFactory<{

That's intentional but let's talk about it...
Assuming the OpenAPI document is correct, if it doesn't specify any parameters, there's no reason to call $.query(), and $.query doesn't show up as an option in autocomplete. (The same logic applies to $.path, $.header, and $.body.)
Does that make sense? What would you expect to see there instead of never? We could put Record<string, string> instead of never, so that TypeScript doesn't complain about $.query("my-undocumented-query-param"). If that makes sense to you, I'm open to making the change. I'll put it behind a CLI flag at first and see what others think.

I have run into this as well, but it was always because the OpenApi doc was incorrect. At first I wanted a way to stop Counterfact from fussing about the never types and then I realized the better fix was to have our API team just fix the annotations that generate the OpenApi doc.

Well, I'm going to take that back. I have paths in the OpenApi spec that define a body for a POST call as undefined, but the schema actual does show a request type for that path.

I thought about adding a type annotation to set a "loose" mode.
export const GET: HTTP_GET ($) // has never types

export const GET: HTTP_GET<"loose"> ($) // has Record<string, string> types

But if we make "loose" mode loose enough to compensate for incomplete OpenAPI, you might as well replace HTTP_GET with any.

Maybe instead we should add a comment to the file with a link to  a page that explains the relationship between that file and OpenAPI?

BTW, did you know? If your OpenAPI file is local, while Counterfact is running, a change to the OpenAPI file will immediately be reflected in the type definition.

the documentations ( which also names $.header as $.headers )

Thanks! The documentation is fixed.

BTW, did you know? If your OpenAPI file is local, while Counterfact is running, a change to the OpenAPI file will immediately be reflected in the type definition.

This is one of the single best features of CF.

Maybe instead we should add a comment to the file with a link to a page that explains the relationship between that file and OpenAPI?

Done. Check out this PR: https://github.com/pmcelhaney/counterfact/pull/796

Wow, sorry this discussion somehow totally went past me.
So I guess my use case isn't the intended one. I'm working against an api I do not have ownership over, and need to work/test against data that might not be present or available to me. This is why I like to use this mock server. So I can easily create the scenarios and edge cases to test out my frontend.
I'm assuming then that in OpenApi definitions even specific header parameters are defined, which is not the case for the openapi i'm working against. However it does define basic auth which would include the auth header right?
I was hoping to take a look at the user making the request and returning different mocked data based on that. So I could have a test user that has more of a happy path, another I could use when I want things to go wrong etc.
I could also see that case of perhaps wanting to add a custom header for dev, testing purposes, f.e. to specifically target Counterfact. X-TEST-USER=happypath. This wouldn't apply to prod and would be left out of OpenApi def.
I can't say I have a silver bullet of an solution. We have options like unknown, but I agree that never makes sense at least in the case of no defined query params, path params.
One thing could be having a --not-strict option when running which would generate the code more open, using any or better yet Record<string, string> so it is the option.

Thanks. Okay, you've convinced me that --not-strict is worth having.
A couple other workarounds to consider:

Make a copy of the OpenAPI file that you can control.
Change all the files from .ts to .js

Counterfact can technically be used without OpenAPI at all. You can create all of the files manually in the paths directory -- either ts or js files. (Currently the CLI requires an OpenAPI file. I need to fix that, but in the meantime a dummy OpenAPI file will work.)

However it does define basic auth which would include the auth header right?

I'm embarrassed to say Counterfact doesn't support that yet. I'll make it a priority.

I was hoping to take a look at the user making the request and returning different mocked data based on that. So I could have a test user that has more of a happy path, another I could use when I want things to go wrong etc.

That makes sense, and TypeScript errors notwithstanding you should be able to do that now.
However, as you get to know Counterfact, I think you'll find there are easier ways to test different scenarios.
First, you can change the code and see the results without restarting. (To toggle between error and no error you might comment / uncomment a return statement that has the error response.)
Second, instead of looking at the user you can look at the context object.
if (context.error.duplicateProductName) {
  return $.response[400].json({ error: `A product named ${body.name} already exists.`});
}

The you can use the REPL to set the value of context.error.duplicateProductName.
Much faster and more flexible than logging out and logging in with a different user!

I can't say I have a silver bullet of an solution. We have options like unknown, but I agree that never makes sense at least in the case of no defined query params, path params.

Here's another idea: create a $.x object that is a pointer to $ at runtime but has wider types.
For example, whereas $.header might be typed as never because there are no documented headers, $.x.header would be typed as Record<string, string>.

I can't say I have a silver bullet of an solution. We have options like unknown, but I agree that never makes sense at least in the case of no defined query params, path params.

Okay, I think I have an elegant solution in #801
I added a new $.x object. At runtime it's an alias of $. But its types are wider. So if TypeScript complains about $.header["undocumented-header"], you can change it to $.x.header["undocumented-header"] and TypeScript is happy.

I can't say I have a silver bullet of an solution. We have options like unknown, but I agree that never makes sense at least in the case of no defined query params, path params.

Okay, I think I have an elegant solution in #801
I added a new $.x object. At runtime it's an alias of $. But its types are wider. So if TypeScript complains about $.header["undocumented-header"], you can change it to $.x.header["undocumented-header"] and TypeScript is happy.

Yeah, I think this is a decent solution. We can still enjoy the type safety but opt into edge cases where we don´t fully control the OpenAPI def.
Thank you

The $.x object is in 0.38.1 along with a few other improvements to the type system. Let me know how that works for you!


How to implement horizontal rotation

Hello
I want implement rotate along the Y axis. Sp3dObj.rotate can't arrive.
Then I try to sp3dCamera.rotate，like this：
degree += 10;
sp3dCamera.rotate(Sp3dV3D(0, 1, 0).nor(), degree * pi / 180);
vn.value += 1;

but obj size is change，Looking forward to your reply～

Hi @zonda-alias ,
Thank you for opening this issue.
Is this the kind of object movement you want to do?
Try the code below.
This code will rotate the object around the y-axis each time you tap on it.
(Note: Be aware that you can tap the xyz arrow and the mesh.)
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:simple_3d/simple_3d.dart';
import 'package:util_simple_3d/util_simple_3d.dart';
import 'package:simple_3d_renderer/simple_3d_renderer.dart';

void main() async {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<StatefulWidget> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final List<Sp3dObj> _objs = [];
  late Sp3dWorld _world;
  bool _isLoaded = false;
  final ValueNotifier<int> _vn = ValueNotifier(0);
  final Sp3dCamera _camera = Sp3dCamera(Sp3dV3D(0, 0, 4000), 6000);

  @override
  void initState() {
    super.initState();
    // Create Sp3dObj.
    Sp3dObj obj = UtilSp3dGeometry.cube(200, 200, 200, 1, 1, 1);
    obj.materials.add(FSp3dMaterial.green.deepCopy());
    obj.fragments[0].faces[0].materialIndex = 1;
    obj.materials[0] = FSp3dMaterial.grey.deepCopy()
      ..strokeColor = const Color.fromARGB(255, 0, 0, 255);
    obj.move(Sp3dV3D(0, 100, 0));
    obj.id = "tap_target";
    _objs.add(obj);
    for(Sp3dObj i in UtilSp3dCommonParts.worldMeshes(400)) {
      _objs.add(i);
    }
    for(Sp3dObj i in UtilSp3dCommonParts.coordinateArrows(400)) {
      _objs.add(i);
    }
    // camera rotation.
    _camera.rotate(Sp3dV3D(20, -10, 0).nor(), 45 * pi / 180);
    loadImage();
  }

  void loadImage() async {
    _world = Sp3dWorld(_objs);
    _world.initImages().then((List<Sp3dObj> errorObjs) {
      setState(() {
        _isLoaded = true;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    if (!_isLoaded) {
      return MaterialApp(
          title: 'Sp3dRenderer',
          home: Scaffold(
              appBar: AppBar(
                backgroundColor: const Color.fromARGB(255, 0, 255, 0),
              ),
              backgroundColor: const Color.fromARGB(255, 33, 33, 33),
              body: Container()));
    } else {
      final double width = MediaQuery.of(context).size.width;
      final double height = MediaQuery.of(context).size.height -
          MediaQuery.of(context).padding.top -
          kBottomNavigationBarHeight -
          kToolbarHeight;
      return MaterialApp(
        title: 'Sp3dRenderer',
        home: Scaffold(
          appBar: AppBar(
            backgroundColor: const Color.fromARGB(255, 0, 255, 0),
          ),
          backgroundColor: const Color.fromARGB(255, 33, 33, 33),
          body: Column(
            children: [
              Sp3dRenderer(
                Size(width, height),
                Sp3dV2D(width / 2, height / 2),
                _world,
                _camera,
                Sp3dLight(Sp3dV3D(0, 0, -1), syncCam: true),
                onPanDown: (Sp3dGestureDetails d, Sp3dFaceObj? obj) {
                  if (obj != null) {
                    if (obj.obj.id == "tap_target") {
                      // rotate along the Y axis.
                      obj.obj.rotate(Sp3dV3D(0, 1, 0).nor(), 45 * pi / 180);
                      _vn.value += 1;
                    }
                  }
                },
                vn: _vn,
              ),
            ],
          ),
        ),
      );
    }
  }
}

Please note that Sp3dCamera is not a camera for following game characters, but a camera for looking over the world.

Thank you very much for your reply.
There was a small problem after the operation.
MediaQuery.of(context)  need to change the location.  as follows:
body: Builder(
            builder: (context) {
              final double width = MediaQuery.of(context).size.width;
              final double height = MediaQuery.of(context).size.height -
                  MediaQuery.of(context).padding.top -
                  kBottomNavigationBarHeight -
                  kToolbarHeight;
              return Column(
                children: [
                  Sp3dRenderer(
                    Size(width, height),
                    Sp3dV2D(width / 2, height / 2),
                    _world,
                    _camera,
                    Sp3dLight(Sp3dV3D(0, 0, -1), syncCam: true),
                    onPanDown: (Sp3dGestureDetails d, Sp3dFaceObj? obj) {
                      if (obj != null) {
                        if (obj.obj.id == "tap_target") {
                          // rotate along the Y axis.
                          obj.obj.rotate(Sp3dV3D(0, 1, 0).nor(), 45 * pi / 180);
                          _vn.value += 1;
                        }
                      }
                    },
                    vn: _vn,
                  ),
                ],
              );
            }
          ),

In addition, the answer is a little different from what I was looking for.
I found another library,  cubixd, like this ~~,  this is exactly what I was looking for.
But, It's done with Transform +  Matrix4

Flutter has very little knowledge in OPGL area, I think your library is very powerful.  But it can be a little difficult for beginners. Hope to have more application examples.

Glad you found a more suitable package!
I don't know if I will increase the number of samples in the future.
In the future, I may create AI prompts and use cases with them instead of pure examples.
For now, I will close this issue.
Thank you very much!


Implement KeyboardEvent

Implement KeyboardEvent interface.
Include legacy support for attributes, keyCode, charCode, and which.
https://w3c.github.io/uievents/#interface-KeyboardEvent

Fixed by 5459bec38660658e4e18642265f61c3d79e984dd


Update documentation/app to reflect Inferno name and new repository

Update Readme
Update any in-app links that point to the old Github repo (see footer)
Other documents (deployment, etc)?

Implemented and merged to master last week: https://github.com/siteadmin/inferno/pull/25


feat: Adds async reactor documentation

Description

Documents async reactors
Documents reactor errors and the reactor formula JS SDK

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

The vercel preview doesn't seem to be applying to this PR, possibly because there were merge conflicts? Closing and opening a new PR to test


Update all notebooks according to latest code.

Describe the bug
Not all notebooks work completely. They should be fixed.
Environment (please complete the following information):

probatus version 3.0.0+

Expected behavior
All notebooks should be expected to run with the new code.

Fixed in #248


error in window 10

Describe the bug
A clear and concise description of what the bug is.
URLError: <urlopen error [Errno 99] Cannot assign requested address>
To Reproduce
Steps to reproduce the behavior:

Go to 1.1. Load key dependencies
Click on run
Scroll down to bottom
See error

Expected behavior
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [win10]
Browser [IE]
Version [22]

He  @chongyangat
This tool is meant to be used with Docker containers and you do not need to install any additional dependencies. Why did you want to install nvidia?
Could you please try it again with the last version of our repo and without installing anything besides the notebook?

I just want to test the docker environment. However, the problem above was solved. Since GPU support isn't enabled in windows, I followed the instruction and download the alternatives like conda(Pass-to-conda version) ,then I encountered new problem:
ERROR: failed to solve: process "/bin/sh -c if [ "$GPU_FLAG" -eq "1" ] ; then conda install -y -c conda-forge cudatoolkit=${CUDA_VERSION} cudnn=8.1.0; fi     && pip install --no-cache-dir -r requirements.txt     && rm requirements.txt     && pip install --no-cache-dir nbformat ipywidgets     && git clone https://github.com/HenriquesLab/DL4MicEverywhere.git     && python DL4MicEverywhere/.tools/notebook_autoconversion/transform.py -p . -n ${NOTEBOOK_NAME} -s ${SECTIONS_TO_REMOVE}     && mv colabless_${NOTEBOOK_NAME} ${NOTEBOOK_NAME}     && rm -r DL4MicEverywhere" did not complete successfully: exit code: 128
The docker image has not been built.

for some reason , i couldn't load the csv file from URL("https://raw.githubusercontent.com/HenriquesLab/ZeroCostDL4Mic/master/Colab_notebooks/Latest_Notebook_versions.csv" ) through pd.read_csv(url)
urllib.error.URLError: <urlopen error [Errno 99] Cannot assign requested address>
then I tried the below function:
**import pandas as pd
import requests
from io import StringIO
url = "https://raw.githubusercontent.com/HenriquesLab/ZeroCostDL4Mic/master/Colab_notebooks/Latest_Notebook_versions.csv"
response = requests.get(url)
csv_raw = StringIO(response.text)
df = pd.read_csv(csv_raw)
print(df)**
             Notebook Version

0                 3D RCAN  1.14.1
1               CARE (2D)  1.15.2
2               CARE (3D)  1.15.2
3                Cellpose  1.16.2
4                CycleGAN  1.13.2
……


No way to construct Optional of nil

There should be a way to construct an optional of a value that might be nil.
The resulting Optional should be optional.Empty() if the value is nil otherwise it should be an optional.Of() the value.

Done as of PR #2


Failed to resolve: com.github.bumptech.glide:glide:4.0.0-SNAPSHOT

I've added dependency
compile 'com.github.florent37:glidepalette:2.0.0'
and I'm getting:
Error:Failed to resolve: com.github.bumptech.glide:glide:4.0.0-SNAPSHOT Open File
Show in Project Structure dialog

same here...will need to avoid using the library atm

please try with
maven {
            url "https://oss.sonatype.org/content/repositories/snapshots"
        }

I tried it with the following and I still got "Failed to resolve..."
maven {
name 'glide-snapshot'
url 'https://oss.sonatype.org/content/repositories/snapshots'
}

Any updates?

Same problem.

Same issue

I fixed the 4.0.0-SNAPSHOT error by placing the maven section under allprojects.repositories.
allprojects {
    repositories {
        jcenter()
        maven {
            name 'glide-snapshot'
            url 'http://oss.sonatype.org/content/repositories/snapshots'
        }
    }
}

v2.1.0

In case
compile 'com.github.bumptech.glide:glide:4.0.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'

Add mavenCentral() to
allprojects {
    repositories {
        jcenter()
    }

}


Delete doesn't remove files in tree but search instead

VSCode Version: 1.36.0
OS Version: Ubuntu 19.04

Steps to Reproduce:

Open project with some files in folder
In the left sidebar see files
Click on file and hit DELETE key

Instead it's trying to find "DELETE" text in opened files.

Does this issue occur when all extensions are disabled?: Yes

/duplicate of https://github.com/microsoft/vscode/issues/76514


appveyor queue behavior

The appveyor ci seems to not dequeue things when a superceding push happens on a PR.
Scenario: You notice a failure in one of the other ci tests, fix it, and push the fix. appveyor will continue to build/test the prior version first, even though it's now outdated, which takes something like 30-ish minutes.
I don't know if this can be fixed, but I thought I'd mention it as it seems like potentially a significant waste of ci cycles and ci turnaround time. I fixed a few bugs this way today and the appveyor build is now several pushes behind, needlessly grinding away on old, known bad revisions.

This section from the appveyor docs may be helpful:

Hi @rw-anderson, I added this in the Appveyor configuration. Hopefully it works as intended.
(Note that we are transitioning from Appveyor to GH Actions for Windows builds)

Thanks!


Add support for communities

Add support for linking to communities (+foo:example.org).

I think this is fixed by #35

Yup, thanks for your PR @lub


6 add OIDC auth to mail api

Closes #6

Added integration with Oauth2/Keycloak from the regtech-api-commons lib
Added @required to root GET and /send POST
Added pytests to test unauthed and authed versions of endpoints, including testing response from /send
Added pytest env vars to support settings (mail-api and keycloak settings) during testing

With https://github.com/cfpb/regtech-mail-api/issues/8 merged into this branch (on a separate clone I used), coverage got to 85% ;)

oop, conflict again :joy:


Add support for immutable objects

Original author<EMAIL_ADDRESS>(April 10, 2013 00:49:55)
My Jackson-enabled POJOs are immutable. They look like this:
import org.codehaus.jackson.annotate.JsonCreator;
import org.codehaus.jackson.annotate.JsonProperty;
public final class ImmutableLabel {
private final String label;

@JsonCreator
public ImmutableLabel(@JsonProperty(value = "label") String aLabel) {
    label = aLabel;
}

public String getLabel() { return label; }

}
It would be really cool if there was an "immutable" switch I could throw.
Thanks!
Steve
Original issue: http://code.google.com/p/jsonschema2pojo/issues/detail?id=98

Hey Joe. When are you planning to do this?

@joelittlejohn This is something I might be interested in picking up. I'm mainly interested in limiting visibility of setters as well (making them protected would allow me to subclass a model object to expose the setter if I wish).

This would be a great addition for me.
+1

This comes up as the top Google result for "jsonschema2pojo immutable objects". It's weird that nobody's mentioned that you can prompt objects such as the above to be created via the following combination of switches:

includeGetters = true
includeSetters = false
includeConstructors = true

This comes up as the top Google result for "jsonschema2pojo immutable objects". It's weird that nobody's mentioned that you can prompt objects such as the above to be created via the following combination of switches:

includeGetters = true
includeSetters = false
includeConstructors = true

If you do that there's no way to make a modified copy right?


Unable to add Function

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
II'm unable to upadte my backend. After receving some errors detailed in 2595, I was able to get a little bit closer to updating the backend.
Whenever I try to push changes, i receive the following error:
`
UPDATE_FAILED               apiicepack                  AWS::CloudFormation::Stack Mon Oct 28 2019 18:02:21 GMT+0100 (Central European Standard Time) Parameters: [S3DeploymentRootKey,
S3DeploymentBucket] must have values
UPDATE_FAILED               authicepackcfa592d6cfa592d6 AWS::CloudFormation::Stack Mon Oct 28 2019 18:02:21 GMT+0100 (Central European Standard Time) Parameters: [authRoleArn, usernameAttributes, autoVerifiedAttributes, allowUnauthenticatedIdentities, hostedUI, smsVerificationMessage, userpoolClientReadAttributes, mfaTypes, emailVerificationSubject, useDefault, userpoolClientGenerateSecret, mfaConfiguration, identityPoolName, thirdPartyAuth, authSelections, permissions, resourceNameTruncated, smsAuthenticationMessage, passwordPolicyMinLength, userPoolName, userpoolClientWriteAttributes, dependsOn, parentStack, resourceName, triggers, emailVerificationMessage, userpoolClientRefreshTokenValidity, userpoolClientSetAttributes, unauthRoleArn, requiredAttributes, passwordPolicyCharacters, userpoolClientLambdaRole, defaultPasswordPolicy] must have values
UPDATE_COMPLETE             functionS3Triggerfb2115f4   AWS::CloudFormation::Stack Mon Oct 28 2019 18:02:21 GMT+0100 (Central European Standard Time)
UPDATE_FAILED               hostingS3AndCloudFront      AWS::CloudFormation::Stack Mon Oct 28 2019 18:02:20 GMT+0100 (Central European Standard Time) Parameters: [bucketName] must have values`
The only change I'm trying to push is creating a lambda function.
Desktop (please complete the following information):

OS: Ubuntu WSL on Windows 10.
Powershell on Windows 10.

Additional context
I've previously tried all the suggestions in  2595, but it was closed before I was able to reply.

@fabianjj Can you check the version of the CLI you're using? amplify -v will give you that info. Also, in your amplify/.config/localp-env-info.json can you check the project path? Is that set correctly?

Must have values... known from this issue: https://github.com/aws-amplify/amplify-cli/issues/2519

@fabianjj Were you able to resolve the issue?

@kaustavghosh06 I'm runnuiing version 3.17.0 of the CLI and the projectPath  amplify/.config/local-env-info.json points to my src folder, I've tried changing it to one step higher as well, but I get the same error. I've not been able to resolve the issue.
@davidbiller I tried the same thing as you mention in the last comment. But I don't have an "APIKeyExpirationEpoch" in any of my project files. I think I may have previously removed it to solve a previous problem.
I receice the following error when trying to run amplify update auth:
Error: ENOENT: no such file or directory, open 'C:/Users/fabia/Documents/Web/create2/my-app/amplify/backend/auth/icepackcfa592d6cfa592d6/parameters.json'
    at Object.openSync (fs.js:450:3)
    at Proxy.writeFileSync (fs.js:1212:35)
    at Object.saveResourceParameters (/home/fabian/.nvm/versions/node/v11.4.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/src/resourceParams.js:25:6)
    at saveResourceParameters (/home/fabian/.nvm/versions/node/v11.4.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/provider-utils/awscloudformation/index.js:110:12)
    at serviceQuestions.then (/home/fabian/.nvm/versions/node/v11.4.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/provider-utils/awscloudformation/index.js:330:7)
    at process.internalTickCallback (internal/process/next_tick.js:77:7)
There was an error adding the auth resource

I've checked, and the parameters.json file does exist (It it the parameters for my existing auth).

@fabianjj
Did you tried amplify init before?
This could help. Or pull —restore your env first

@davidbiller Thanks, that seems to have fixed my issue. I had tried that several times earlier, but I guess in between updateding the CLI and whatnot the issue is now resolved.


Need: Custom path for saving data

We need e.g the ingested data to be stored in the right path on Edgelab, e.g /mnt/.../name/kind

This is done now, you can configure the datastore using both task and specification metadata!


Horizontally align the items

This only really has an effect on the last row
For Example:

There are some issues that I just don't have the time to fix
Such as

In the latest version I have added a new IsGridLayoutEnabled property which, when set to false, disables the default grid layout behaviour. I think this will solve some of your scenarios. If you still think there are other useful options missing, please open a issue first as stated in the readme.


Fix existing percent encoding

Change Summary
As described in the issue, #4458 was double encoding URLs, this splits the URL on encoding groups with the regex (.*?)(%[\dA-F]{2}) to (hopefully) fix the issue.
Changes:

existing "percentage encodings" are not re-encoded - they're just cast to upper case to match RFC 3986 and httpe - e.g. foo%2Bbar is left unchanged while foo%2bbar is converted to foo%2Bbar
forward slash / is no longer encoded in query paramters, e.g. http://example.com?a=b/c is left unchanged

Related issue number
fix #4458
Checklist

[x] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added describing change
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

I think we still will have the problem reported in https://github.com/pydantic/pydantic/issues/4468 even with this patch. which is a breaking change.

Okay, this problem is bigger than I thought due to the strange logic to decide when to rebuild urls, see
https://github.com/pydantic/pydantic/blob/317bef33b06e05f65f57b1ba009dfd949b462689/pydantic/networks.py#L297-L300
and
https://github.com/pydantic/pydantic/blob/317bef33b06e05f65f57b1ba009dfd949b462689/pydantic/networks.py#L377-L379
which is completely out of date from the URL quoting - we previously only rebuild domains when required to cope with "international" TLDs, but now we should be rebuilding if there's a path or a query or a user or anything which might need quoting.
However if I just force rebuilding of all URLs, lots of tests are failing.

I think we still will have the problem reported in #4468 even with this patch. which is a breaking change.

Good point, should be fixed by the last commit.

replaced by #4470.