Allow disambiguation of template specializations involving typedefs

Internally, Clang combines common declarations for template specializations when their canonical types match. For example:
template<typename T> class MyTemplate
{
public:
    T Field;
};

typedef int MyInt;
typedef MyTemplate<MyInt> MySpecialization1;
typedef MyTemplate<int> MySpecialization2;

MySpecialization1 and MySpecialization2 have different TemplateSpecializationTypes: MyTemplate<MyInt> and MyTemplate<int> respectively.
However, resolving the declaration associated with these two TemplateSpecializationTypes both point to the same TemplateSpecializationDecl: MyTemplate<int>
This makes sense since in the context of C++ they are effectively the same. However, this doesn't mesh nicely with Biohazrd's object model, which keeps typedefs separate. This is done to allow replacing plain C++ types with more specific types. This is most commonly used to replace an int typedef with an appropriate strongly-typed enum. (For example: Dear ImGui uses typedefs to explicitly size enums for compatibility with older versions of C++ which did not allow explicit enum sizes..)
I suspect that solving this issue is non-trivial. I'm not even entirely sure how we'd want to do it since in theory MySpecialization1 and MySpecialization2 should become the same MyTemplate<int> at emit time if MyInt is not replaced with a non-TranslatedTypedef. The actual types are distinct, so it's a matter of emitting a TranslatedTemplateSpecialization which uses MyInt instead of int. In theory both types have the same underlying Clang Decl, so we'd need some sort of special handling here.
As a workaround, generator authors can special-case replace the MySpecialization1 with a version of MyTemplate<int> which uses whatever they replaced MyInt with. (This obviously doesn't work well if there isn't a typedef for the specialization.)
Note that this issue only affects typedefs (and probably aliases). An int-sized enum will not flatten with int.

Here is a quick and dirty test that demonstrates this issue:
        [Fact]
        public unsafe void __TEMP()
        {
            TranslatedLibrary library = CreateLibrary
            (@"
template<typename T> class MyTemplate
{
public:
    T Field;
};

enum MyEnum { A, B, C };

typedef int MyInt;
typedef MyTemplate<MyInt> MySpecialization1;
typedef MyTemplate<int> MySpecialization2;
");

            TranslatedTypedef specializationTypedef1 = library.FindDeclaration<TranslatedTypedef>("MySpecialization1");
            TranslatedTypedef specializationTypedef2 = library.FindDeclaration<TranslatedTypedef>("MySpecialization2");

            TemplateSpecializationType type1 = (TemplateSpecializationType)((ClangTypeReference)specializationTypedef1.UnderlyingType).ClangType;
            TemplateSpecializationType type2 = (TemplateSpecializationType)((ClangTypeReference)specializationTypedef2.UnderlyingType).ClangType;

            Console.WriteLine(type1.TypeClass);
            Console.WriteLine(type2.TypeClass);
            Console.WriteLine(type1);
            Console.WriteLine(type2);
            Console.WriteLine((IntPtr)type1.Handle.data[0]);
            Console.WriteLine((IntPtr)type2.Handle.data[0]);
            Console.WriteLine(type1 == type2);

            Decl decl1 = (Decl)library.FindClangCursor(type1.Handle.Declaration);
            Decl decl2 = (Decl)library.FindClangCursor(type2.Handle.Declaration);
            Console.WriteLine(decl1 == decl2);
        }

(That final Decl comparison returns true.)

Here's the proper TypeReductionTransformation test I wrote for this test case before I realized it was intrinsic to how Clang processes templates:
        [FutureFact]
        [RelatedIssue("https://github.com/InfectedLibraries/Biohazrd/issues/178")]
        public void TemplateSubstitutionIsResolvedDirectly()
        {
            TranslatedLibrary library = CreateLibrary
            (@"
template<typename T> class MyTemplate
{
public:
    T Field;
};

typedef int MyInt;
typedef MyTemplate<MyInt> MySpecialization;
");

            library = new TypeReductionTransformation().Transform(library);

            TranslatedTypedef myInt = library.FindDeclaration<TranslatedTypedef>("MyInt");

            TranslatedTypedef specializationTypedef = library.FindDeclaration<TranslatedTypedef>("MySpecialization");
            TranslatedTypeReference specializationReference = Assert.IsAssignableFrom<TranslatedTypeReference>(specializationTypedef.UnderlyingType);
            TranslatedTemplateSpecialization specialization = Assert.IsType<TranslatedTemplateSpecialization>(specializationReference.TryResolve(library));
            TranslatedNormalField field = specialization.FindDeclaration<TranslatedNormalField>("Field");

            // Ensure the field was resolved to `MyInt` (as opposed to `int` directly.)
            TranslatedTypeReference fieldTypeReference = Assert.IsAssignableFrom<TranslatedTypeReference>(field.Type);
            TranslatedDeclaration fieldTypeDeclaration = Assert.NotNull(fieldTypeReference.TryResolve(library));
            Assert.ReferenceEqual(myInt, fieldTypeDeclaration);
        }

While doing some investigations for https://github.com/MochiLibraries/Biohazrd/issues/247, I found this information is retained in the TemplateSpecializationArgsAsWritten (for function template instantiations at least, I assume something similar exists for record template specializations.)
Here's a dump of some info for the MyShort specialization below:
template<typename T> T Add(T a, T b);
template<> int Add<int>(int a, int b);

typedef short MyShort;
template<> MyShort Add<MyShort>(MyShort a, MyShort b);

Dumping function info for Function template<> MyShort Add<MyShort>(MyShort a, MyShort b) @ A.h:6:20
isCanonicalDecl: No
CanonicalDecl: Function template<> short Add<short>(short a, short b) @ A.h:6:20
isLateTemplateParsed: No
isTemplateInstantiation: No
isFunctionTemplateSpecialization: Yes
isImplicitlyInstantiable: No
isOutOfLine: No
TemplatedKind: FunctionTemplateSpecialization
TemplateSpecializationKind: ExplicitSpecialization
TemplateSpecializationKindForInstantiation: ExplicitSpecialization
PrimaryTemplate: FunctionTemplate template <typename T> T Add(T a, T b) @ A.h:2:24
DescribedFunctionTemplate: <nullptr>
TemplateInstantiationPattern: Function T Add(T a, T b) @ A.h:2:24
TemplateInstantiationPattern (ForDefinition): <nullptr>
PointOfInstantiation: <invalid loc>
MemberSpecializationInfo: <nullptr>
TemplateSpecializationInfo:
  Function: Function template<> MyShort Add<MyShort>(MyShort a, MyShort b) @ A.h:6:20
  Template: FunctionTemplate template <typename T> T Add(T a, T b) @ A.h:2:24
  TemplateSpecializationKind: ExplicitSpecialization
  isExplicitSpecialization: Yes
  isExplicitInstantiationOrSpecialization: Yes
  PointOfInstantiation: <invalid loc>
  MemberSpecializationInfo: <nullptr>
  TemplateArguments:
    [0] short
  TemplateArgumentsAsWritten:
    [0] MyShort
TemplateSpecializationArgs:
  [0] short
TemplateSpecializationArgsAsWritten:
  [0] MyShort
DependentSpecializationInfo: <nullptr>


interactive rebase should highlight commit better

As of GIT 2.8.1, if you do an interactive rebase and get some conflict in the stack of patches then the commit with the conflict is buried in 4-5 lines of output. It is visually difficult to immediately pick out which commit did not apply cleanly. I suggest highlighting the 1 line commit summary in red or green or some color to help it stand out from all the other output.
I decided to create this issue after I realized that I probably skipped a commit during an interactive rebase instead of resolving the conflict. I knew I had to skip some commit so I assumed that I just need to skip without reading the commit summary carefully. Now it is 7-15 days after I did the erroneous rebase. Sadly, it's probably not worth the archaeology effort to recover the work that I lost.

On the other hand, GIT makes archaeology really easy. I ended up finding the lost code. Yay.

Glad you found your code. :)
This issue tracker is just for the git-scm.com website itself; if you want to propose coloring rebase output, try one of the venues mentioned at https://git-scm.com/community.

Gotcha.


Button: Disabled buttons aren't styled as disabled on Safari / iOS

Platform: (desktop web | mobile web)
Steps to reproduce:

Open https://gestalt.netlify.app/Button#type-roles in Safari
Click on "Disable buttons"

Expected Result: Text colors of all buttons change.

Actual Result: Only the last one (the link) has text color changed. Text colors for the buttons don't change.

I found that versions prior to v5.10.0 work. The PR in v5.10.0 https://github.com/pinterest/gestalt/pull/951 introduced this bug. It looks like iOS/Safari has a UI bug where a button with pointer-events: none doesn't get repainted after its color CSS attribute has been updated.
NOTE: this is also logged in JIRA.

This was fixed by #1584.


QGB orchestrator signing everything before implementing slashing

As discussed in https://github.com/celestiaorg/celestia-app/pull/478#discussion_r893744763_, currently, the QGB orchestrator is implemented to sign attestations up to the last unbonding period. This makes sense when we have slashing, as after the unbonding period, if an orchestrator didn't sign it will already be slashed and no need to sign at that point.
However, before implementing slashing, there is no need to stop up to a certain height, as in testnets, we would want to have most attestations signed anyway.
Proposal: when an orchestrator is started, it goes over all the attestations where it was part of the valset  and signs them (without having to worry about the last unbonding period).

@evan-forbes What do you think about this?

when an orchestrator is started, it goes over all the attestations where it was part of the valset and signs them (without having to worry about the last unbonding period).

this seems sane. we definitely don't want people to submit pointless signatures. as a side note, this could actually be implemented in a single transaction with many sdk.Msg, to sort of batch sign.

without having to worry about the last unbonding period

Do we want this? I guess we decided in our last call to only sign up to the last unbonding period...
I have a question concerning the unbonding period, is it validator specific or for the whole valset?

I have a question concerning the unbonding period, is it validator specific or for the whole valset?

The whole valset, except if the validator was not part of the valset for the entirety of it

Okey cool then. Thanks a lot

per sync discussion, this issue can be closed due to moving to v2


Remove/Disable Add and clone menu items from services & host for read-only or restricted members

Version - v1.0.0
Steps to Reproduce:

Set a user to read-only
Set another user to restricted

Results: Can add/clone
Expected: For read-only, user should not be able to clone or add services or host.  restricted should not be able to add/clone host.

Need a good way in the API to get the user's effective role for the current project to do this...

We can look at this after RBAC for 2.0 is in.


2x size of the initial bundle load

I am using next.js with express server.
I have created a single page(pages/index.js) that has a extremely long text( 9 Mb size ).
when i am running the application
{
"scripts": {
"dev": "node server.js",
"build": "next build",
"start": "NODE_ENV=production node server.js"
}
after running npm run build, npm run start
The browser is loading a 18.5 Mb bundle.
image
after running the webpack-bundle-analyser I have identified
{
"name": "dist/pages/index.js",
"size": 9771946,
"chunks": [],
"chunkNames": [],
"emitted": true,
"isOverSizeLimit": true
},
{
"name": "bundles/pages/index.json",
"size": 9771839,
"chunks": [],
"chunkNames": [],
"emitted": true,
"isOverSizeLimit": true
},
Repo link :
Can someone explain  ?

@mohitgupta1918 this PR should address this - https://github.com/zeit/next.js/pull/1611. Essentially, next 2.0 inlines the current route bundle and component bundle into the __NEXT_DATA__ object so it can be bootstrapped by the app on the client. @arunoda's PR moves the components into JS bundles that are loaded as plain script tags that are async. Does that make sense?

Anyway, @mohitgupta1918 18MB is so wrong. I assume you are sending a lot of data via getInitialProps.

Wow. That component is 9MB :)
Don't load it as a component. Use a HTTP API or similar to load chunk by chunk. I hope no one is going to read that 9MB at once.
Anyway, #1611 should fix double loading issue.


fix(Algebra/Order/CauSeq/Completion): fix qsmul instance diamond

[x] depends on: #11262

bors merge


How to access both code and its doclet in plugin?

Hi,
The other day, for my plugin I needed to compliment the params in the comment of a function with data from the code of the function. I went with listening to symbolFound event, which gives access to parsed code in event.code, however, the event.comment it gives is a simple string, unlike the newDoclet event where a parsed comment is supplied. On the other hand, newDoclet doesn't seem to give an access to the related code.
So, my question is, is there a way to get both the code with its parsed comment in one go without, say, listening to both events, storing data between them, etc.? Maybe there is another event or property that I'm overlooking here.

Apparently, newDoclet does provide the parsed code through event.meta.code, that answers my question.


Sticky Pagination Buttons Fixed to top

I've tried a bunch of options (placing pagination div outside of main container, modifying CSS to fixed, etc.), but I'm having no luck.
Is it possible to have the pagination buttons positioned independently from the main carousel? The slides are long vertically, so I want the user to be able to scroll, but still have the pagination dots fixed to the top (like a sticky navbar).

Is it possible to have the pagination buttons positioned independently from the main carousel?

Yes, just move it out of the swiper-container and style/position it as you want/need


Refresh token age

How long should a refresh token last? On your developer documentation you say:
"The access token is valid for 30 minutes and has to be refreshed after that to generate a new access token that is valid for another 30 minutes. The refresh token is valid for 10 years and can be used to refresh the access token at any time during this period."
I notice that access tokens are only valid for 20 minutes and have experienced having to log back in after less than a day of inactivity using a refresh token.
edit: to clarify, refresh tokens appear to be expiring in less than a day. Perhaps less than 8 hours. Which means it requires a full login to acquire new access and refresh tokens.

Yeah they are working on changing that, I have similar issues with my home assistant integration. In my experience you need to refresh at least every hour, though I've not looked hard at the refresh token expiry time.

Ah. That's a problem. I don't store access or refresh tokens on behalf of my users (it's cookied locally) and they tend to only use the app once a day to update their hour of power.
There's a large difference between a 10 year refresh token and a 1 hour one for my purposes. Kind of breaks the concept of refresh tokens.
I'd still like an official answer from @electrickiwi-nz though.

see https://github.com/electrickiwi-nz/api-samples/issues/12

@damianpeterson - thanks for the question regarding the refresh_token - unfortunately our documentation is incorrect and we don't have a 10-year expiry on the refresh token it is currently set to 3 hours. There is work going on in the next couple of sprints to allow client-specific refresh_token timeouts. This will mean that we can define a refresh_token timeout to be specific to the application needs, like 5 days, etc...
The bearer token currently has a 20-minute session timeout which and so I would suggest you look to implement the refresh_token OAuth process flow as @mikey0000 pointed out so you can extend your sessions.
I will let you know once this implementation is done.
Cheers, Matt

I look forward to the update. I'll leave this ticket open.

@electrickiwi-nz it seems over the last couple of days the refresh token is lasting longer than 3 hours. Can you confirm what the new expiry time is?

@damianpeterson - sorry for the late response ... the team has been working through the adjustments to allow for the refresh_token expiry to be customised per client. This is now live and working with a 1 day refresh_token expiry for our Juice Hackers.
There was an issue where we made this expiry longer than a day which is why you would have seen the token lasting longer. This is now 1 day.
We hope that this provides a better experience for your app users while balancing UX experience and token security.
Cheers, Matt

Unfortunately a 1 day expiry will fail half of the time assuming a customer returns to update their hour of power once a day. If they're a little bit later than the day before it will mean they have to go through the whole login process again.
You mentioned above, "There is work going on in the next couple of sprints to allow client-specific refresh_token timeouts. This will mean that we can define a refresh_token timeout to be specific to the application needs, like 5 days, etc..."
Is this still on the cards?
If not, can I please request that your default refresh expiry is more like 7 days (for my use case, others may desire longer). And can I please request that you update your developer documentation to reflect whatever it is because it currently says 10 years.

@damianpeterson - sorry for the late response. The refresh token should now be set to expire after 5 days. I hope this helps.


Performing aggregation across multiple Kafka partitions

Hello there! I'm working on a benthos config to generate aggregated counts (as a json document) from a stream of events (Kafka topic). The topic has 30 partitions, and the events within it take the following shape (irrelevant properties omitted):
{ "AccountID": 1, Count: 3 }

I'm trying to generate a summary that is an aggregation of the counts for all accounts, ie:
{
  "Account-1": 4,
  "Account-2": 1,
  "Account-3": 6,
}

I'm able to get what I want, but isolated to each partition. I'm struggling to combine everything into a single output document. So far I've come up with this:
input:
  kafka:
    addresses:
      - ${KAFKA_BROKER}
    batching:
      period: 10s
    checkpoint_limit: 100000
    consumer_group: ""
    start_from_oldest: false
    topics:
      - my-topic:0-29

pipeline:
  threads: 20
  processors:
    - bloblang: |
        root = { this.AccountID.string(): this.Count }
    - archive:
        format: json_array
    - bloblang: |
        root = this.fold({}, x -> x.tally.merge(x.value)).map_each(x -> x.value.sum())

output:
  file:
    path: ./test/output-${! uuid_v4() }.json

This produces what I want, but one document for each partition, so every 10s I get 30 output documents. What I want is to produce a single document with totals for events across all partitions, every 10 seconds. Maybe what I'm attempting to do isn't even possible, since the partitions are being processed in parallel?

Note I am using a file output for ease of testing, the final/production output is going to be sending these blobs off to a message queue.

I played around with removing batching from the input, and using a broker for the output so I could specify batching there (since a file output doesn't have that option), but I'm a little unsure as to what I should do. Any suggestions would be greatly appreciated, thanks!

Hey @Archanian, yeah what you're seeing here is that the batching is done independently for each topic/partition. I'd say the easiest set up is to remove batching from the input and use a system_window buffer:
input:
  kafka:
    addresses:
      - ${KAFKA_BROKER}
    checkpoint_limit: 100000
    consumer_group: ""
    start_from_oldest: false
    topics:
      - my-topic:0-29

buffer:
  system_window:
    timestamp_mapping: root = now()
    size: 10s

pipeline:
  threads: 20
  processors:
    - bloblang: |
        root = { this.AccountID.string(): this.Count }
    - archive:
        format: json_array
    - bloblang: |
        root = this.fold({}, x -> x.tally.merge(x.value)).map_each(x -> x.value.sum())

output:
  file:
    path: ./test/output-${! uuid_v4() }.json

Awesome, thank you! I hadn't looked into buffers, that seems useful.
Curiously, I had to switch to using an actual consumer group for this to work correctly. With the above config, only the last partition (29) gets consumed somehow, according to the logs (and the data in the output).

@Archanian that might be a bug, there's an existing issue waiting for an investigation into that: https://github.com/Jeffail/benthos/issues/1058

Ah I see, thanks.


Support remote alpine containers (and other linux-musl based-OSs)

Issue Description
I'm unable to run or debug C# xUnit tests directly in VSCode with Remote to WSL/Alpine. I am however able to run those test on the WSL command line with dotnet test. This seems to be a problem with Omnisharp's C# extension to VSCode.
Steps to Reproduce

On Windows, with WSL installed and an Alpine Linux distribution.
VSCode has the "Remote- WSL" extension.
VSCode has the "C#" extension installed locally, and installed in WSL/Alpine (the server part)
In VSCode open a Remote WSL folder that contains an xUnit test.
Then open a specific *.cs unit test file.

Expected Behavior
The *.cs file should soon be decorated with "Run Test" and "Debug Test" around each unit test, allowing them to be run or debugged directly from VSCode.
Actual Behavior
The unit test do not contain "Run Test" or "Debug Test" decorations.
The same *cs file loaded with VSCode on a local folder instead of a remote WSL folder, shows those links. These links are only missing when running on Remote WSL.
Logs
The logs show that Omnisharp fails to load ld-linux-x86-64.so.2.
An internet search showed this may be due to not having libc6-compat installed, but in my case that package is installed:
> apk info libc6-compat
libc6-compat-1.1.22-r3 description:
compatibility libraries for glibc

libc6-compat-1.1.22-r3 webpage:
http://www.musl-libc.org/

libc6-compat-1.1.22-r3 installed size:
12288

> apk info -L libc6-compat
libc6-compat-1.1.22-r3 contains:
lib/libm.so.6
lib/libc.so.6
lib/libcrypt.so.1
lib/librt.so.1
lib/libutil.so.1
lib/libpthread.so.0
lib64/ld-linux-x86-64.so.2

Double checking ld-linux-x86-64.so is actually installed
>ls -l /lib64/ld-linux-x86-64.so.2
lrwxrwxrwx    1 root     root            26 Feb 28 19:27 /lib64/ld-linux-x86-64.so.2 -> /lib/libc.musl-x86_64.so.1

>ls -l /lib/libc.musl-x86_64.so.1
lrwxrwxrwx    1 root     root            19 Aug 20  2019 /lib/libc.musl-x86_64.so.1 -> ld-musl-x86_64.so.1

>ls -l /lib/ld-musl-x86_64.so.1
-rwxr-xr-x    1 root     root        580144 Aug  7  2019 /lib/ld-musl-x86_64.so.1

OmniSharp log

Starting OmniSharp server at 3/5/2020, 7:59:42 PM
Target: /home/username/path/file.sln
OmniSharp server started.
Path: /home/username/.vscode-server/extensions/ms-dotnettools.csharp-1.21.13/.omnisharp/1.34.13/run
PID: 264
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /home/username/.vscode-server/extensions/ms-dotnettools.csharp-1.21.13/.omnisharp/1.34.13/bin/mono)

C# log

nstalling C# dependencies...
Platform: linux, x86_64, name=alpine, version=3.10.2
Downloading package 'OmniSharp for Linux (x64)' (43753 KB).................... Done!
Validating download...
Integrity Check succeeded.
Installing package 'OmniSharp for Linux (x64)'
Downloading package '.NET Core Debugger (linux / x64)' (54207 KB).................... Done!
Validating download...
Integrity Check succeeded.
Installing package '.NET Core Debugger (linux / x64)'
Downloading package 'Razor Language Server (Linux / x64)' (52181 KB).................... Done!
Installing package 'Razor Language Server (Linux / x64)'
Finished

Environment information
VSCode version: 1.42.1
C# Extension: 1.21.13
Mono Information
        OmniSharp using built-in mono
Dotnet Information
.NET Core SDK (reflecting any global.json):
 Version:   3.1.102
 Commit:    573d158fea
Runtime Environment:
OS Name:     alpine
OS Version:  3.10
OS Platform: Linux
RID:         alpine.3.10-x64
Base Path:   /usr/local/dotnet/sdk/3.1.102/
Host (useful for support):
Version: 3.1.2
Commit:  916b5cba26
.NET Core SDKs installed:
3.1.102 [/usr/local/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.1.2 [/usr/local/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.2 [/usr/local/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

Visual Studio Code Extensions

Extension
Author
Version

csharp
ms-dotnettools
1.21.13

Go
ms-vscode
0.13.1

This is really a non-trivial feature request: we would need to either start packaging up Alpine-compatible bits for all the parts of the extension, or support remote test running.

Work around in case anyone is feeling completely blocked by this:

Run unit tests from the command line
If you need to debug a unit test, add a while (!Debugger.IsAttached) Thread.Sleep(100); loop at the start of the test and remotely attach.

This is kind of a blocker for using codespaces / VS code remote containers for our project since our entire build system is based on Alpine.
Can OmniSharp be made to run on the provided dotnetcore installation instead of using some bundled Mono? It must also reduce the installation time.

Can OmniSharp be made to run on the provided dotnetcore installation instead of using some bundled Mono?

That future seems more and more likely as .NET 5 then .NET 6 ship, but currently there are no plans or timelines to drop Full Framework support from the C# extension (which is what mono provides).

@JoeRobich I understand the point, but from a user base perspective, I think Alpine is quite big and IIRC the only reason to support the full framework is Xamarin and Unity (IIRC .NET core is supported for win Desktop apps these days). Wouldn't it be worthwile to consider the user base for backend services on Alpine containers at least as large as the Xamarin/Unity user base when it comes to VS code, considering the bespoke IDEs for the other ones?
Or could there be another path to supporting Alpine?

I fixed the Mono bug blocking this a while back
https://github.com/mono/mono/issues/7167
I think it should be possible to create an Alpine version of OmniSharp now. It is possible to work around this by baking mono into the Alpine dev image and setting "omnisharp.useGlobalMono": "always", but I think this should be properly supported by OmniSharp, given how useful Alpine is for developing microservices in c#

A possible workaround would be installing the gcompat package on your Alpine Linux installation.

@wuhkuh
It is probably a valid workaround, but IMHO it is not a reason not to fix this issue

@rickardp Agreed 100%, just shared this so users could get their setup up and running if they hadn't already ^^

Closing as C# extension support Alpine.


[Java] Ensure Restate context attributes are applied to handler-emitted log4j log entries

With the removal of GrpcContextDataProvider in https://github.com/restatedev/sdk-java/pull/179 we no longer preserve the Restate operation name and invocation id into customer calls across threads in Java, though this still works for Kotlin code. We made this tradeoff to fix a different issue in AWS Lambda, that was related to the custom context provider.
Objective: restore the functionality where handler-logged entries are properly annotated with Restate context.

To fix this properly we need to reintroduce the ContextDataProvider we had before. We should also wrap the invocation status into something like RestateInvocationContext, which we propagate through grpc Context for the time being due to the generated code.


Notebook contains Elasticsearch references

In section:
Step 2: Load data into Solr
The references link to the Elasticsearch user guide. These should probably link to the relevant Solr user guide (or Lucene if an applicable Solr guide section does not exist).

@MLnick - good catch. This will be changed in our next release.


Fullwidth character rendering issue

I checkted fullwidth characters in some terminal emulators
Test command
% printf "ＡＢＣＤＥ\e[7DＦＧ\n"

Result of Mac Terminal.app, VSCode terminal, Alacritty, I assume this result to be correct.
Ａ ＦＧ Ｅ
Result of iTerm2
Ａ ＦＧＥ # \x20 is displayed in fullwidth size, maybe bug

For gem-vterm, the result is similar to most of the other terminal emulators
require 'vterm'
vterm = VTerm.new(24, 80)
vterm.set_utf8(true)
screen = vterm.screen
screen.reset(true)
vterm.write "ＡＢＣＤＥ\e[7DＦＧ\n"
12.times.map { screen.cell_at(0,_1).char }
# => ["Ａ", nil, "Ｂ", "Ｆ", nil, "Ｇ", nil, nil, "Ｅ", nil, "", ""]

Ａ Ｆ Ｇ Ｅ are rendered in correct position. Ｂ is remained in col 3 and this might be a bug of vterm.
For yamatanooroti, the result is a little different. it simply concats these chars and gets the result
require 'yamatanooroti'
include Yamatanooroti::VTermTestCaseModule
start_terminal(24, 80, 'sh')
write %(printf "ＡＢＣＤＥ\\e[7DＦＧ\\n"\n)
puts result

sh-3.2$ printf "ＡＢＣＤＥ\e[7DＦＧ\n"
ＡＢＦＧＥ
sh-3.2$

This is making reline's test hard (example: fullwidth chars with dialog test)

Closing because this is an issue of vterm-gem or perhaps libvterm itself.


Update buildsystem to provide out-of-the-box Mono support

After these (fairly minor) changes, all demo code compiles and works in all four mode (even Winforms, even though it looks hideous). See individual commits for details.

Thanks a lot!  This all look good to me.  Just waiting for your comments on the small notes I've added.

I believe I've addressed all concerns.

Just to be sure that I understand:  Mono does not add an extra "lib" prefix only because the specified name already has this prefix?

As far as I understand, yes. I can probably dig up the exact code it uses to mangle the library name if you want.

This is quite nasty... I'm not sure I want to force a "lib" prefix (which does not correspond to how we use CSML today, i.e. our ".dll" does not start with "lib").  So, two questions:

Would Mono also add the "lib" prefix automatically even if the ".so" suffix is explicit in the DllImport attribute?  If no, one could simply pass this suffix in build instructions.

If there is no way with Mono to have DllImport refer to a .so file without a "lib" prefix, I would suggest to use this "lib" prefix for the standard .so/.dll files, but not add the "lib" prefix automatically in CSML (and document the behavior so that people that require Mono support explicitly use a "lib" prefix).

Would Mono also add the "lib" prefix automatically even if the ".so" suffix is explicit in the DllImport attribute? If no, one could simply pass this suffix in build instructions.

It would. Horrifyingly enough it doesn't even care to append it to a basename, [DllImport("a/b")] gets transformed into liba/b.so...

If there is no way with Mono to have DllImport refer to a .so file without a "lib" prefix, I would suggest to use this "lib" prefix for the standard .so/.dll files, but not add the "lib" prefix automatically in CSML (and document the behavior so that people that require Mono support explicitly use a "lib" prefix).

I believe there is no way. I will perform this change.

I've implemented your suggestion.

Thanks again!


We need a dedicated Inspector example pod that has an ./env binary that displays the secret bound to it in plain text without doing any weird computation

Done.


Do we need kingfisher.collectioninfo and kingfisher-finished.collectioninfo?

If we do self.crawler.stats.set_value('kingfisher/source', self.name), etc. then this information will instead appear in the *_report.log files, which I think is fine, and takes advantage of parts of the Scrapy framework, rather than inventing our own solution.

I don't use them!

I neved used then neither.

I put these and the *.fileinfo files in.
The purpose was so we could write a better local-load/restore system at some point.
Currently, if you have a bunch of files on disk from a year ago and you want to load them back into the system you can, but you have to manually work out and pass various attributes. You have to pass the type of the files or it totally breaks.  Some information, like the original URL of the file is lost and can't be restored.
I quickly threw these files in when I was changing something else with the system with the idea that at some point we could write a much better restore function; you'd simply point it at a directory, and it would be able to restore everything else including various bits of meta information.
Its true some of this information (all of it, possibly?) should appear in the log of the scrape, but those logs aren't currently stored with the files so they could easily be lost.  Also getting it to dump extra info alongside makes for much easier reading later than writing something to parse a log reliably and error free.

This issue is just about the collectioninfo files, not the fileinfo files (which can be discussed separately in #307).
As noted in the PR #290:

The source, data version, and sample status are already represented in the file path (<source>[_sample]/<data_version>). The fact that the spider finished (previously represented by the existence of kingfisher-finished.collectioninfo) is already represented in the crawl log.

After this PR, the note and end time won't be represented anywhere on the filesystem, but, from Kingfisher Scrape's perspective, I don't think we care that much about notes (most are just who started the scrape) or the end time (#275 suggested they could just be recorded as crawl stats).

The note and end time are still sent to Kingfisher Process, where we do care about them.

So, I don't know that these files have a use case that is both (1) important and (2) isn't served by the file path. Restoring old data is expected to be such a rare occurrence that requiring an analyst to pass the source, etc. parameters (based on reading the file path) isn't too great a demand.
This discussion does raise the need to backup the scraper logs, which contain other relevant information that we'd want to save. New issue: #308

Two questions:

Do we need to look at what uses there are around what people want to know about the status of scrapers / how scrapes went? https://github.com/open-contracting/kingfisher-scrape/issues/193 was resolved last year, but is there more we can/want to do there?
Is there an interaction here with restoring from backups? I'm starting to collect requirements around backups (and therefore also, restoring) for https://trello.com/c/ZApmMlpU/155-talk-to-analysts-odsc-cds-ocp-about-how-much-data-on-kingfisher-server-should-be-backed-up and so I'm interested in what @odscjames said that " Some information, like the original URL of the file is lost and can't be restored.". Do we need to either ensure that this information is kept in the log (and 'how to extract it' be documented?) or back up in such a way that the situation that's envisaged ("a bunch of files on disk from a year ago") isn't a one that's likely to occur either in regular work or in a backup-restore scenario?

Some information, like the original URL of the file is lost and can't be restored.

That specific comment relates to #307 (which is blocked for that reason), so not part of this issue.
We should discuss our needs around backup/restore as part of that Trello card, but I don't see a scenario where we need the two files discussed in this issue.

Closed by #290. Continued in referenced Trello card, #307, #308.


release-2.7.0

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

Fixes #
Does this PR introduced a user-facing change?

release 2.7.0

Additional documentation, usage docs, etc.:

I see that there is no image for fluent-operatorv2.7, you should create a new tag release-2.7 and post it here. https://github.com/fluent/fluent-operator/releases

I see that there is no image for fluent-operatorv2.7, you should create a new tag release-2.7 and post it here. https://github.com/fluent/fluent-operator/releases

@wenchajun I tried to create the tag "v2.7.0", but it seems that I don't have the right to do this, I will try through the release page

I see that there is no image for fluent-operatorv2.7, you should create a new tag release-2.7 and post it here. https://github.com/fluent/fluent-operator/releases

@wenchajun I tried to create the tag "v2.7.0", but it seems that I don't have the right to do this, I will try through the release page

ok，I have pushed tag v2.7.0

see https://github.com/fluent/fluent-operator/tags

I published

@antrema would you help to sync the v2.7.0 chart https://github.com/fluent/fluent-operator/tree/v2.7.0/charts/fluent-operator to https://github.com/fluent/helm-charts/tree/main/charts/fluent-operator by a new PR?

@antrema would you please help to sync the v2.7.0 chart https://github.com/fluent/fluent-operator/tree/v2.7.0/charts/fluent-operator to https://github.com/fluent/helm-charts/tree/main/charts/fluent-operator by a new PR and cc me and @wenchajun for review?

@benjaminhuo What are you expecting from me ? a full update (files trees are not the same) or only update of version and CRDs (keeping the file architecture) ?

What are you expecting from me ? a full update (files trees are not the same) or only update of version and CRDs (keeping the file architecture) ?
Sorry for the confusion. Fluent Operator maintainers are responsible for syncing the latest Fluent Operator charts https://github.com/fluent/fluent-operator/tree/v2.7.0/charts/fluent-operator to fluent community's official repo https://github.com/fluent/helm-charts/tree/main/charts/fluent-operator.

It's out of sync for the last few releases. I think we can keep the file trees of https://github.com/fluent/fluent-operator/tree/v2.7.0/charts/fluent-operator which is the upstream.


2 errors running test code MoorDyn python

Hello, new to this community. I ran the python example code after pip installing MoorDyn in my python project. Is this V2? (using test/mooring/lines.txt as input file, version 2.3.7 python wrapper for moordyn library)
I had to make changes on 2 places:
1: line 12: x = x + moordyn.GetPointPos(point) to x = x + list(moordyn.GetPointPos(point))
because a tuple can not be added to a list in python
2: line 29:  n_nodes = moordyn.GetLineNumberNodes(line) to n_nodes = moordyn.GetLineN(line)+1 because .GetLineNumberNodes was not found in the library. The use of GetLineN(line)+1 can be a solution for this.

@ewoudVL13 Thanks for pointing these out, the example the docs could use updating to bring it in line with current function names. I will be putting together a minor docs update soon and loop this in as part of it.

And yes, the moordyn available via pip is MoorDyn V2

I added the moordyn.GetLineNumberNodes() entry on #262


Update weaver-cats to 0.6.10

Updates com.disneystreaming:weaver-cats from 0.6.0-M6 to 0.6.10.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.disneystreaming", artifactId = "weaver-cats" } ]

labels: library-update, early-semver-minor, semver-spec-pre-release, commit-count:1

Superseded by #314.


 Please close.

But before that, tell me how did you come to a realization that Vue is at fault.


Ads Display in Middle of Screen in Cordova Android 4.0.0

I recently updated my project to the latest Cordova and associated platforms and plugins.  In Android (4.2, also reported on 4.1, probably others), the ad banner now shows in the middle of the screen instead of the bottom:

If I downgrade to Cordova Android 3.7.1 and leave all of my code alone, it works:

Please consider using the pro version, it's update more frequently and much powerful.
https://github.com/floatinghotpot/cordova-admob-pro

Actually I am using the pro version, guess I just found the wrong github repo when I was looking for where to open an issue.  I'll reopen the issue there.

https://github.com/floatinghotpot/cordova-admob-pro/issues/119


fix bug - order is not string

Shopify passes in order as an integer.
@girasquid @ivanfer

:palm_tree:

One suggested change, otherwise :+1:


#456 Set ProviderSettings for the default authentication providers in…

Set ProviderSettings for the default authentication providers in OAuth2TokenEndpointConfigurer.createDefaultAuthenticationProviders
Closes gh-456

Hi @sjohnr , i have made relevant changes.

Hi @sjohnr , i have finished the modification. Thank you for your correction.

Hi @sjohnr , thanks for the feedback. I have squashed all the commits.

First, a question which we could also discuss on the ticket itself, but I'll ask here first: Are you currently exposing an @Bean of ProviderSettings with an issuer set? If not, can you try that and see if it causes the issuer setting to propagate into the AuthenticationProviders without this change?

At present I have exposed a @Bean of ProviderSettings, like this:
    @Bean
    public ProviderSettings providerSettings() {
        return ProviderSettings.builder().issuer("http://xxxx.com").build();
    }

Because AuthenticationProvider's is not an externally exposed @Bean, so AutowiredAnnotationBeanPostProcessor does not inject ProviderSettings into AuthenticationProvider's.

Second, for now I think we'll want to undo the change to remove @Autowired(required = false). Though we could change it to simply @Autowired. For context, this is necessary at the current time for exactly the reason you opened #456, specifically so we could get the issuer without making the ProviderSettings a constructor argument. We will be looking into ways to make this better closer to 0.3.0. At that time, we can look into exactly how we want to solve this long term, which may include merging this PR, or even doing something else.

As I said above, even if it is changed to simple @Autowired, ProviderSettings will not be injected.


Loading chord F#m results in logcat errors

Tapping on a F#m yields logcat errors:
2020-03-31 18:11:54.189 10620-10680/com.gbros.tabslite V/ScopeCoroutine: Fetching url https://api.ultimate-guitar.com/api/v1/tab/applicature?instrument=guitar&tuning=E+A+D+G+B+E&chords[]=F%23m
2020-03-31 18:11:54.189 10620-10680/com.gbros.tabslite D/ScopeCoroutine: Got device id (8514ad823e1da958) and api key (6eb2311192aefcf6c61338baa59d727e)
2020-03-31 18:11:54.329 10620-10680/com.gbros.tabslite V/ScopeCoroutine: Success fetching url https://api.ultimate-guitar.com/api/v1/tab/applicature?instrument=guitar&tuning=E+A+D+G+B+E&chords[]=F%23m
2020-03-31 18:11:54.339 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 0, chordName= F#m
2020-03-31 18:11:54.339 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 1, chordName= F#m
2020-03-31 18:11:54.339 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 5, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 1, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 5, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 0, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 1, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 1, chordName= F#m
2020-03-31 18:11:54.340 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.341 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 9), but no finger (finger= 0).  This shouldn't happen. String= 0, chordName= F#m
2020-03-31 18:11:54.341 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 9), but no finger (finger= 0).  This shouldn't happen. String= 4, chordName= F#m
2020-03-31 18:11:54.341 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 1, chordName= F#m
2020-03-31 18:11:54.341 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.341 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 5, chordName= F#m
2020-03-31 18:11:54.342 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.342 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 2), but no finger (finger= 0).  This shouldn't happen. String= 5, chordName= F#m
2020-03-31 18:11:54.342 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 11), but no finger (finger= 0).  This shouldn't happen. String= 2, chordName= F#m
2020-03-31 18:11:54.342 10620-10680/com.gbros.tabslite E/VarInfo: Chord variation with fret number > 0 (fret= 11), but no finger (finger= 0).  This shouldn't happen. String= 3, chordName= F#m

Same for tabs in or out of favorites.  May have to do with the fact that fret 2 is the barred fret in F#m

Chord lookup still works though -- showing it is fine

Also with D, G, and A.  Pretty sure it has to do with the bars, since the fret numbers that this is happening on are frets where a variation of the chord has a bar


Sending ping to aws ApiGateway websockets

Hi @dvmatyun .
I'm trying to use your library but I have some issues with the ping functionality.
I have a ws endpoint deployed in aws, that uses a query param for authorization purposes.
Using the ping functionality provided by your library results in a forbidden error by my ApiGateway.
{"message": "Forbidden", "connectionId":"ABAudfcuCGYAd1A=", "requestId":"ABCO7H6MCGYFxCA="}

The only way to achieve a proper response to a ping is within a shell with wscat + --slash flag:
➜  wscat -c "wss://....execute-api.eu-west-3.amazonaws.com/production/?authorization=<token>" --slash -P
Connected (press CTRL+C to quit)
> /ping
< Received pong (data: "")

Looking at the code, behind the scenes, wscat is using ws ping method.
I tried to implement the solution you provided here with the following strings:
  // /ping
  // ping
  // {"rpc":"ping"}
  // {"rpc":"/ping"}
  // ''

without success. How do I implement a ping similar to the one implemented by ws lib?
Thanks in advance for the support!

I also tried
  @override
  Object get pingServerMessage {
    Map<String, dynamic> dataSendMap = {
      "opcode": 0x09,
    };
    return json.encode(dataSendMap);
  }

without any luck

Not a very orthodox/clean solution, but after reverse-engineering ws.ping(), I find that
  @override
  Object get pingServerMessage => Uint8List.fromList([137, 128, 184, 12, 101]);

works for my case.
I guess is the binary translation of opcode 0x09

@Pedrozena ok, so I think first let's investigate what is causing the problem:

Are you connecting to the socket using URL with authorization token?
Is the problem only with pings? Can you exchange normal messages without problems? (For that you can set parameter skipPingMessages to true in the SocketConnectionOptions class)
Do you know how to exchange messages with your service manually? (see attached index.html in gist -> https://gist.github.com/dvmatyun/688fdd24e07093b8af66393ec0ebf50f ) Please, provide a screenshot of valid messages or ping/pong functionality (you can blur the token)

Normally to use this library you should now how to communicate with your service and then define the auth token for connection in websocketConnectionUri (see example) and define all the messages (text/byte) as you did in your second response.

Hey @dvmatyun. I confirm I'm connected, and this problem occurs only with ping.
Using web_socket_channel does the job since the ping is performed by the underlying dart.io WebSocket ping method with the dedicated opcode ref

@Pedrozena hm, I see, I think this is some kind of technical ping implementation for ping. What I will try to do (or you can by forking my library, if you like it):

Add ability to use this technical ping (However as I can see it carries no data and is not customizable)
Will make a comment that ping-pong in my library is optional custom thing, that you can disable.
For now as I can see the solution for you:

Disable custom ping/pong by setting skipPingMessages  to true
Either fork the library or wait for patch where I will use this setter: void set pingInterval(Duration? interval) from the dart core.
Let me know if you have any questions left


CIF searchAndOpenRecords $search query parameter not working

Hi,
In the Dynamics 365 Channel Integration Framework documentation you specify the following method: searchAndOpenRecords.
The basic method works and returns results, however when I add the $search query parameter, the API returns a 501.
Just to make sure I used the exact same query that is documented:
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1&$filter=firstname eq 'Contoso'&$search=Contoso", false )
which results in the following request:
https://xxxxxxxxxxxxxx.crm4.dynamics.com/api/data/v9.0/contacts?$select=fullname,telephone1&$filter=firstname eq 'Contoso'&$search=Contoso
Response (501):
{
"error": {
"code": "0x0",
"message": "The "$search" query parameter isn't supported.",
"innererror": {
"message": "The "$search" query parameter isn't supported.",
"type": "Microsoft.Crm.CrmHttpException",
"stacktrace": "   at Microsoft.Crm.Extensibility.OData.CrmODataUtilities.ValidateQueryParameters(Dictionary2 queryParameters, CrmODataExecutionContext context)\r\n   at Microsoft.Crm.Extensibility.OData.EntityController.GetEntitySetImplementation(String entitySetName)\r\n   at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func1 func, IEnumerable1 additionalCustomProperties)\r\n   at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func1 func)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.b__9(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()"
}
}
}
What am I doing wrong?

@rile81 Please check the updated documentation for searchandopenrecords method here.
Closing this issue for now. Please reopen if you're still experiencing this problem.


chore: rename whitelist->allowlist, blacklist->denylist

in statesync, adopt "rejectlist" instead
to match the wording used in that package

Hi @altergui ! Thank you for your PR and the effort you’ve put into improving the codebase. I noticed that the primary changes in this submission are focused on replacing terms like "whitelist" and "blacklist" with "allowlist" and "denylist."
Could you please provide some context or reasoning behind these semantic adjustments? I’d like to better understand the motivation, whether it’s related to technical considerations, or another goal.

Could you please provide some context or reasoning behind these semantic adjustments? I’d like to better understand the motivation, whether it’s related to technical considerations, or another goal.

sure, cf https://www.splunk.com/en_us/blog/learn/blacklist-whitelist-inclusivity.html

In today’s rapidly changing world, continuing to make an effort to promote diversity and inclusion cannot be emphasized enough. The language we use plays a vital role in shaping our attitudes towards various issues. In the world of technology and cybersecurity, terms such as “blacklist” and “whitelist” have been customary for decades, but it is essential that we recognize that these terms may mistakenly continue exclusionary connotations.

I understand the context much better now. Thanks for bringing that up.
It seems like it's perfectly fine to make changes to comments, specifications, and private variables without causing any breaking changes. With regards to the ADRs, as @hvanz pointed out, these are historical documents, and we usually keep them unchanged unless there's a specific reason to update them, such as a change in specifications or design.


upgrade 3.x to 5.x

how can i upgrade from v3.16 to v5.x?
Is there a relevant explanation or migration plan?

Just follow the releases notes at https://github.com/openlayers/openlayers/releases
You will need they contains "Upgrade notes" section. You will need to follow each upgrade instructions to be sure to apply all changes until reaching 5.x release notes.


Requirements generation and resolver related post-9.0.1 PRs

Fixes #1329

Reintroduces the following:

#1241 (don't shellquote backup executable)
#1235 (Properly parse URLs as link objects when generating requirements)
#1236 (More thorough checks before resolving files)

Thanks for taking the time to look through this in such detail, @nateprewitt, it's nice to have extra scrutiny at this depth.  A lot of the specific questions you asked will kind of underscore much larger underlying issues with the complexity that has evolved around some seemingly harmless functions
To respond broadly:
Definitely agree it needs a refactor, but I didn't think this PR was the place for it.  I wanted to get this working again with the PRs that we had in 9.0.1 (which is mostly what this is, plus a small fix for vcs dependencies).  There is a massive amount of complexity built into things that should definitely be separated out, even I am struggling to keep up with a lot of this stuff now.  Given that we have no real standard for separation of functionality yet, I was reluctant to introduce it here
I want to note that without these changes currently, aspects of the resolver are broken (the related issues are linked in the referenced PRs). So while I believe we can and should refactor this code, I would push for a roadmap to include a refactor in a minor release potentially, while getting this functionality patched asap.  There have been quite a few reports related to these so I feel it would be good to fix the behavior
I'll go through and get the small stuff you mentioned, add some comments where things are unclear, and maybe we can go from there with some additional feedback from another maintainer

agreed with @techalchemy

@nateprewitt I was able to address most of the things you mentioned and tests are now passing
This code still sucks and needs to be refactored

✨


Doesn't properly redirect

I'm on Brave and the 404 page for redirects simply doesn't show up for https://s.godi.se/allidoiswin. Let me know what diagnostics I need to post.

I noticed a similar issue on Snapchat. It works, but an error popup from snapchat is being shown before redirecting, saying that an error occurred. This isn't too good UX.
The main issue here is that Shortly currently relies on showing a 404 page in order to redirect. This is suboptimal for two reasons:

It's slow
Some browsers/apps, like Brave and Snapchat, have custom 404 messages, which might be difficult to bypass

I think it's worth looking into using a different method for redirecting, using CF workers/rules or something similar.


chore: test cases

Codecov Report
Attention: Patch coverage is 98.43137% with 4 lines in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

backend/test_app.py
98.40%
4 Missing :warning:

Flag
Coverage Δ

unittests
83.80% <98.43%> (+14.81%)
:arrow_up:

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

Files with missing lines
Coverage Δ

backend/app.py
72.22% <100.00%> (+11.22%)
:arrow_up:

backend/test_app.py
98.95% <98.40%> (-1.05%)
:arrow_down:

... and 2 files with indirect coverage changes


Higher limit for entries in table

Is there a limit on the number of entries in a table. Created one with 586 lines. It does not work on the Json tool and comes up with "no name" on the campaign logger side bar. Please have the limit higher. 1024 or 2048 might be good if there needs to be a limit (I have long name and history event tables). For example +johnn four s city encounters has 600+...

Limitsare now clear


Bug for this-type in literal object type

This code causes an error:
type X<A> = {x: A}

interface Foo {
	// works
	a(): X<this>
	// does not work
	b(): {x: this}
}

Output:
foo.ts(7,11): error TS2526: A 'this' type is available only in a non-static member of a class or interface.

It errors if the object type is defined inline, but works for a typedef.

This is by design. See discussion here.


feat(TCOMP-447): automated performance benchmark tests

Added adapters for ContiPerf library to work with JUnit 4.12

Added performance benchmark POC for tests

Please check if the PR fulfills these requirements

[ ] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)

What is the current behavior? (You can also link to an open issue here)
What is the new behavior?
POC represents how the ContiPerf performance testing benchmark works.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:
POC provided in scope of https://jira.talendforge.org/browse/TCOMP-447

Pull request test result: failure :x:

Pull request test result: failure :x:

Pull request test result: failure :x:

Pull request test result: success :star:

Pull request test result: failure :x:

Pull request test result: failure :x:

Pull request test result: success :star:


Update boringssl

to include "Work around language and compiler bug in memcpy, etc. "
Details in https://github.com/google/boringssl/commit/17cf2cb1d226b0ba2401304242df7ddd3b6f1ff2
That change was needed on my system to avoid the following compilation error:
external/boringssl/src/crypto/asn1/a_bitstr.c:118:5: error: 'memcpy': specified size between<PHONE_NUMBER>1562067968 and<PHONE_NUMBER>3709551615 exceeds maximum object size<PHONE_NUMBER>854775807 [-Werror=stringop-overflow=]

Can one of the admins verify this patch?

I signed it!

@tensorflow-jenkins test this please

Jenkins, test this please

The Windows Cmake build timed out. Might be related. Trying again:
Jenkins, test this please


Use the right return types when returning promise

This PR attempts to fix the issue reported in #49
The return types for calls using interactive login, user name/ password and service principal return the right types of credentials when the callback pattern is used.
But, when the promise pattern is used, the base class TokenCredentialsBase is being returned which causes type issues.
This PR fixes this by updating the return type in the promise patterns to return the right type
cc @bterlson

LGTM. Let's wait for Dan's review.

Thanks @kpajdzik and @daschult
What would be the next steps here to get this PR merged and have a new version released?

This change has been published in<EMAIL_ADDRESS>

Thanks @daschult!


add jshint to make test

add a lint target to the Makefile that runs jshint
fix all jshint errors from the default config
have the make test target run the lint target

Made obsolete by gradual progress in #892 and #901 using ESLint.


Discriminator Output Projection Dimension

https://github.com/brentspell/hifi-gan-bwe/blob/6fd6323dde721fa4a4fc81b69a341a4ae74682d5/hifi_gan_bwe/models.py#L334
The discriminator in this repo projects every input audio to a float in the interval [0,1] via x = x.mean(dim=-1) while the original paper suggests window based discriminators (if i got it right), not only for the feature matching loss as done in this repo. Any hints why this design choice has been made?
Another question: have you tried to use 1m instead of 100k warmup steps before applying adversarial training as proposed in the paper?
Thank you for the great implementation!

Hi taucontrib,
I don't see a reference to window-based discriminators in the paper. As far as I can tell, the discriminator losses are supposed to be computed over all audio samples in the batch, both for feature matching and for the discriminator loss. Do you know where in the paper you saw the reference to window-based discriminators?
The WaveDiscriminator that you link to at that line number doesn't project the audio to [0, 1]. Its final layer is a linear projection, although this discriminator is trained in the LS-GAN framework against a real/fake (1/0) target.
I haven't tried warming up the generator to 1M steps, but that would be an interesting experiment. The generator loss curve seem to be somewhat converged after 100k with the VCTK dataset, but there might be some benefit to warming up for longer.
Thanks for the feedback!

Thanks for the quick response!
I thought the window based discriminators we're being used because the paper reads
"we use a set of waveform discriminators [...] following the design in MelGAN"
You're right ofc, it's not limited to [0,1] - my bad.

Ah, I did not catch that in my initial read. I think windowed discriminators are usually just used to reduce GPU memory usage, but it could be worth an experiment. The receptive field of this discriminator isn't that large, but the extra smoothing caused by averaging again over windowed audio might reduce the variance of the gradients.

Thanks for the help! Will close the issue:)


JS: Uncaught type error

Hey,
running the JS tests from https://fpcentral.irisa.fr/fp in Chromium results in this error, preventing execution from finishing, ultimately resulting in being unable to submit any stats.
Chromium: Version 51.0.2704.79 Ubuntu 16.04 (64-bit)
Uncaught TypeError: Cannot read property 'constructor' of undefined
    api.addTable @ clientAPI.js:101
    api.addTable @ clientAPI.js:103
    api.run @ clientAPI.js:128
    onclick @ fp:58

The last computed value is screen.availWidth, the first missing is screen.left.

Hey,
Thanks a lot for the bug report! I have noticed the exact same error on my end. I have designed the site to be first and foremost for the Tor browser and Firefox and it seems that I was so focused on them that I didn't even try with another browser. I don't have an ETA for a possible fix but I'll let you know as soon as I have one.

Hey,
I've normally fixed the bug in commit 90b9ff1279d433eb57c8492aace425822c4d7fc8.
It appeared that Chrome has no "screen.left" or "screen.right" properties. When the JS script was populating the HTML table with the result of one of these two properties, it crashed on a null value.
If you can check that it is okay on your end, I'll be able to close the issue.

Hey,
cool stuff, I can confirm it works in Chrome 52.0.2743.82, albeit without values for screen.left/right. But according to your feedback, that is to be expected.
Happy hacking!


requestPermission crashes the app

Describe the bug
requestPermission crashes the app after the permissions have been granted from HealthConnect screen. If the permissions are granted previously, the app crashes immediately
To Reproduce
Steps to reproduce the behavior:

Using the example code in this repo, trigger requestPermission
Allow all
Apply
Crash happens
Or set Allow All permissions from Health Connect settings for the app and then trigger requestPermission

Crash happens even if you tap on Cancel instead of Allow permission
Expected behavior
Crash should not happen. A permissions list should be returned by the promise
Screenshots
If applicable, add screenshots to help explain your problem.
Environment:

Health Connect Version: 1.0.1
React Native Version: 0.69.7
New architecture enabled: No

Tested on 2 different real devices:

S9+ with Android 10
S22Ultra with Android 13

Can you maybe try the example app? I couldn't reproduce it there.

This commit may fix this issue.

Thank you @matinzd. I double checked with the example app and it seems I dont have newArchitechtire enabled. I updated both my issues in this repo.
I added the package from master, run ./gradlew clean and run the app in android(S9+). I am still having the same issue.
I was able to get the logs at the moment of the crash:
2023-05-08 19:08:23.559 1195-1195/com.personal.app E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.personal.app, PID: 1195
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=150, result=-1, data=Intent { (has extras) }} to activity {com.personal.app/com.personal.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.auth0.android.authentication.storage.SecureCredentialsManager.checkAuthenticationResult(int, int)' on a null object reference
        at android.app.ActivityThread.deliverResults(ActivityThread.java:5360)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:5401)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8167)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.auth0.android.authentication.storage.SecureCredentialsManager.checkAuthenticationResult(int, int)' on a null object reference
        at com.auth0.react.A0Auth0Module.onActivityResult(A0Auth0Module.java:227)
        at com.facebook.react.bridge.ReactContext.onActivityResult(ReactContext.java:339)
        at com.facebook.react.ReactInstanceManager.onActivityResult(ReactInstanceManager.java:824)
        at com.facebook.react.ReactDelegate.onActivityResult(ReactDelegate.java:90)
        at com.facebook.react.ReactActivityDelegate.onActivityResult(ReactActivityDelegate.java:133)
        at com.facebook.react.ReactActivity.onActivityResult(ReactActivity.java:70)
        at android.app.Activity.dispatchActivityResult(Activity.java:8300)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:5353)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:5401)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8167)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
2023-05-08 19:08:27.021 12499-12499/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2023-05-08 19:08:27.022 12499-12499/? E/Zygote: accessInfo : 1
2023-05-08 19:08:27.052 12499-12499/? E/com.personal.ap: Unknown bits set in runtime_flags: 0x8000

Hope this helps

I feel that this crash is not related to this library. Are you using https://github.com/auth0/react-native-auth0?

UPDATE:
It seems there is a coincidence. Both libraries are using the same request code for handling onActivityResult.
https://github.com/auth0/react-native-auth0/blob/4ff2b6e9f4f0aa3c92387f307b65d1b79a8066fb/android/src/main/java/com/auth0/react/A0Auth0Module.java#LL40C30-L40C53

@matinzd added
 these two permissions in android manifest but request permission getting empty
error
Possible Unhandled Promise Rejection (id: 0):
Error: [android.permission.health.WRITE_ACTIVE_CALORIES_BURNED] is not declared!
Error: [android.permission.health.WRITE_ACTIVE_CALORIES_BURNED] is not declared!

@chganesh
Based on your error, you are requesting WRITE_ACTIVE_CALORIES_BURNED, and have not defined it as one of your permissions. Also, please open a new issue when you have problems such as this next time.


Small issue with fonts

Hi, I hope you can read that :). I encountered a little problem with fonts, it looks like you use the first one in the array of fonts in ImGui, and if you are using different fonts that doesn't seem to work...
void TextEditor::Render(const char* aTitle, const ImVec2& aSize, bool aBorder)
{
	mWithinRender = true;

	ImGuiIO& io = ImGui::GetIO();
	auto xadv = (io.Fonts->Fonts[0]->IndexAdvanceX['X']);
	mCharAdvance = ImVec2(xadv, io.Fonts->Fonts[0]->FontSize + mLineSpacing);

My solution was passing the used font as an argument in the "Render" function, although I think that it'd be better to acces the currently used font from the ImGui io.
void TextEditor::Render(const char* aTitle,ImFont* font, const ImVec2& aSize, bool aBorder)
{
	mWithinRender = true;

	ImGuiIO& io = ImGui::GetIO();
	auto xadv = (font->IndexAdvanceX['X']);
	mCharAdvance = ImVec2(xadv, font->FontSize + mLineSpacing);

Having said that, your API i great, the fact that you can make custom colors for different languages is really good. I'll make one for "wren", and pass it to you in case you want to merge it with the source code.

Oh, right, it seems reasonable at first sight, A small detail I left unelaborated.  Thanks for pointing it out.
I am glad you found the editor useful. :)

Uhm.... I have checked this, and it is already fixed. Have you checked the latest rev? It uses the current font, whatever it is.


Can't deleted input data on Android.

Does Cleave work on mobile.

Ok, I found out that you NEED to use type="tel" to make Cleave work on Android. You should mention this in Docs.


Unhandled Runtime Error

Detailed description

Describe in detail the issue you're having.
When running yarn dev on the un-modified repo and going to the localhost route I receive an error. See Additional information. Error seems to be from by axios.

I am using google chrome and I believe I am on the latest version of the template (I have pulled the latest version and yarn upgraded incase that helped)
Steps to reproduce the issue

clone the repo
yarn
yarn dev
go to http://localhost:3000
unhandled runtime error

Additional information

@Kieran-Muller-Ent we made an update to our services package to address this issue, what you can do for now is pull in the canary versions of @carbon/ibmdotcom-react and @carbon/ibmdotcom-styles. We do have our v1.16.0 release coming up at the end of this month

@annawen1 Awesome! Thanks for letting me know. Looking forward to the next release :D

Closing, based on comments above.


Display tracks as line plus circle marker

We represent tracks as MultiPoint feature types.
We currently render the track as a series of point objects.
Instead render each track feature as a leaflet PolyLine plus a series of 5px radius CircleMarker elements, one for each Point of the line..

Done.


rename x_scale and y_scale to xlims and ylims

I just wrote down the following sentence when making documentation:

You can control how xlim/ylims behave using the x_scale/y_scale arguments

which demonstrates the absurdity of the current situation

this would be for both interactive_plot and interactive_plot_factory
e.g. https://github.com/ianhi/mpl-interactions/blob/6da7e3405fa8587d5dbba3ff4796f3d01289ca19/mpl_interactions/jupyter.py#L18


Delete unnecessary spaces

When copying from the web page, there is an unnecessary space after the code.

@changeworld : Thanks for your contribution! The author, @mikejo5000, has been notified to review your proposed change.

@changeworld @Mikejo5000 - We're in the process of pulling these commits to the private repo, so we can verify the content on staging. We'll post a new PR # shortly and then close this PR.

@changeworld @Mikejo5000 - The commits in this PR were moved to the private repo (PR #3854) for validation and staging. We'll close this PR now.


Update Staff, Club and RTI Page and Correction in Navbar Buttons

Please add padding on the buttons on the navbar without submenus
Content must be horizontally centered in RTI pages
The cards of the director and the registrar could be made to have the same height
Please check the above and let me know if there is any issue. Thank you

Hey, sorry, I couldn't get to it earlier. Can you please fix the merge conflict? Thanks

Ok I will do it asap

@Jagmohan-Dixit It is still not centered for me.  Can you please take a look?

In which page it is?

@Jagmohan-Dixit can you please fix the merge conflicts?

I will do it

Merging after review at http://iiittjaggu.surge.sh/


Update stable version in repo from 0.6.0 to 0.6.3

Think about update stable version to 0.6.3
Version: stable=0.6.0 (249 days old) => latest=0.6.3 (15 days old)
Installs: stable=245 (72.27%), latest=40 (11.8%), total=339
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 0.6.3 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 0.6.3 but the current stable version is already 0.6.3.
So this issue should be closed.
@mcm1957 for evidence


[NFC] Remove bits and pieces referring to Ubuntu 14.04 LTS (Trusty Tahr)

Ubuntu 20.04 LTS is out now; the last version to support 14.04 was Swift 5.1,
so it is ok to delete this.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test Linux platform

@swift-ci please smoke test Linux platform

@swift-ci please smoke test Linux platform

@swift-ci please smoke test Linux platform

@swift-ci please smoke test Linux platform


Allow deleting files via the explorer when a folder is marked as readonly

Scenario: I wanted to delete node_modules/xterm and replace it with a symlink to a locally cloned repo so I tried to delete it via the explorer. The action is completely blocked currently:

This was due to discussion from a single user in https://github.com/microsoft/vscode/issues/4873#issuecomment-1543461982 where they say it's expected that it would block deleting the folder in the explorer as well. This goes too far imo, the purpose of the feature as I understand it is to prevent accidental edits to files.
If I as a user want to delete the file with the explorer, VS Code simply does not let me currently so I have to find another route, like via the terminal or Windows Explorer. It's just a pain and the IDE getting in the way imo, the chance that not blocking the operation would cause problems is so small as there's a confirmation before deleting it as well.

fyi @lramos15

I'd like to second this. I have this setting to avoid modifying those files accidentally:
{
  "files.readonlyInclude": {
    "**/*.tsbuildinfo": true,
    "**/__generated__/**": true,
    "**/dist/**": true,
    "**/generated/**": true,
    "**/node_modules/**": true
  }
}

It's useful that vscode doesn't allow me to modify those files, because sometimes you'll explore those areas to see under the hood, but you wouldn't want to be able to comment or modify stuff, as you'd likely forget about it. Moreover, those folders often are ignored from git, so a manual modification in there could stay unnoticed for a while.
Although, most of those files aren't permanent. I do want to be able to delete them, as there always will be a way to generate them back (or generate a new version of them). If I keep the "files.readonlyInclude" setting as is, I'm unable to do so, and I must either rely on scripts to do it (like a custom npm run clean, but this usually doesn't leave much room for precision) or comment the "files.readonlyInclude" setting, delete what I want, and then un-comment the setting each time I need to do this.
It would be great to have another setting available that dictates whether "files.readonlyInclude" locks away or not the ability to delete those files.

Allowing this makes even more sense now that we allow editing the file with a warning:


go-spacemesh installation on the self-hosted runners to fix

Environment

Smapp version: any
Node version: any
OS: self-hosted runners (arm64 linux+mac?)

Describe the bug
Currently, on the self-hosted runners, the go-spacemesh is being installed/ builds uploaded and not cleared up (?).
Related to the #1105  changes?
To be checked.
reported by NJ (in case more details are needed)
Steps to reproduce
check GH Actions/ self-hosted runners logs
Expected behavior
Self-hosted runners are stateful; therefore, after each run should be left in a cleared/proper state for the next runs.
Actual behavior
go-spacemesh builds stay there installed?
Logs
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: The package spacemesh-app needs to be reinstalled, but I can't find an archive for it.

dpkg: warning: overriding problem because --force enabled:
dpkg: warning: package is in a very bad inconsistent state; you should
 reinstall it before attempting a removal
(Reading database ... 156272 files and directories currently installed.)
Removing spacemesh-app (0.2.10-pr.1105) ...

How to fix
add clean up step to GH Actions ?

Tbh, I have no idea what is this issue about.
Since it is pretty old and we never heard about it again — I guess it is not actual :)
If I miss something — feel free to re-open the issue.


[WIP] Add repodata_zchunk plugin

This PR implements partial download of the repodata using zchunk. It should dramatically reduce repodata downloads when you already have an older repodata locally (which is the case most of the time). It will also require some work in mamba.
It's very much a work in progress, mainly to get early feedback.

just merged @madhur-tandon PR so the tests would hopefully pass now.

Trigger CI


Add environment Info to return.

For running multiple ones of these, we need to either:

Prefix environment (compute cluster) name to the stack/service/hostname output
Add a new field with the environment listed

As highlighted in https://github.com/infinityworksltd/prom-conf/issues/2

@JamesBarwell You think this might be an easy one we can knock off?

Should be easy if we can get the environment name passed into the node process somehow. Could it be made available as an environment variable by adjusting the docker-compose file?
I'm thinking that exposing it as a label would be better than trying to insert it into the variable name. I'd prefer to keep the metric names static, which as far as I'm aware is how every other exporter does it.

Indeed, labels are probably the best bet here. We can populate with the details within the API, it should be listed on each object as a parent.

FYI I'd would like this feature too. In the meantime I worked around it with relabeling:
- job_name: 'rancher-api'
  static_configs:
    - targets:
      - 'prometheus-rancher-exporter:9010'
      - 'prometheus-rancher-exporter.prometheus-agents.dev.another.org:9010'
      - 'prometheus-rancher-exporter.prometheus-agents.staging.another.org:9010'
      - 'prometheus-rancher-exporter.prometheus-agents.prod.example.org:9010'
  metric_relabel_configs:
  - source_labels: ['instance']
    target_label:  'environment'
    regex: '(.*)prometheus-agents\.(.*?)\.(example|another)(.*)'
    replacement:  $2

In case it helps someone else !

I've been experimenting with monitoring multiple environment with a single instance of this service, and having env field out of the box would be great (as would stack and service fields everywhere they're relevant!).
For now I'm doing something similar to @jmatsushita by setting labels via my custom discovery mechanism.

Hi All,
Looking at scoping this one out, i'm after some clarity however on peoples requirements:
@joshbenner @jmatsushita - To confirm, is it the rancher 'environment' that you wish to be populated for each of the metrics? I can't get at the Rancher server details, but it seems i can list the projects. The downside would be, if you wish to monitor projects outside your environment, you would need to supply API credentials with the appropriate privileged against those 'environments'. The smart labels wouldn't then be applicable.
For those using this as part of the community catalog template, this would only handle the prometheus integration with the API. To discover hosts and containers in other environments, you would have to do some manual configuration, can't see a way around this.

1


Make fetch button change css on hover

The fetch button in the code editor should also change its color and have a border around it on hover same as the compile ,graph,leave room buttons have
you can find the compile button in the toolbar component , take the hover css of compile button and give same css hover effect to fetch button in  the problem section of code editor

Can I work on this issue?

@Ahc45 Sure  ! you can find fetch button here src/Components/Problem/Problem.js  , give it a hover effect with this css
{
 background-color: #d82626;
  border:1px solid white
}

Hi, I would like to work on this issue if it wasn't fixed yet. I can work on it today.
This would be my first issue 🤩

@basiltime sure ! Go ahead .

The contribution guidelines say to create PRs on the yjs branch- is this right? Or should I create my own branch?

The contribution guidelines say to create PRs on the yjs branch- is this right? Or should I create my own branch?

guidelines are not yet updated thanks for pointing it ✔ we will be raising the issue. for now make PR on develop branch

@basiltime are you working on the issue ?  if there is some problem you can ask here


add functionality for questions not included in the list

I have an idea to add a separate button to the chat - "ask a question that is not on the list", and process the unknown questions from this input
@Andrew-Sem wdyt?

@l3r8yJ In that case it will be good to add integration with email. Like user click "add this question", then type his email and he will be notified via email when answer for this question will appear
But would it be too much? Wdyt?

design layout for this

user type something, that not found:

then he press button to ask hi question anyway:

and finally he gets this notification:

Admin app layout design:

admin gets notified when someone answer new question

when he clicked this, then list with questions queue like this should appear:

and finally admin can answer this question:

@l3r8yJ the puzzle #156 is still not solved.

@l3r8yJ the puzzle #160 is still not solved; solved: #156.


fix: reduce verbosity of read_size_from_env

The message looks like a fatal error to most, whereas the condition it occurs in is perfectly innocuous. And unset variable will fallback to a default.

Rebase error, this was actually fixed in https://github.com/MystenLabs/mysten-infra/pull/130


Error when I watch a video in the program

HELP!!!! IM TRYING TO WATCH MY VIDEOS ON THE PROGRAM BUT ITS NOT LETTING ME BECAUSE OF AN ERROR PLEASE HELP ME!!!!

Ok I think I’m chill a bit now, but I’m so hurt that half of my videos won’t play anymore. Is it the assets I got a while back ago? Should I just forget it and move on with the new ideas for my new videos I guess? I’m also thinking of remakes of the originals anyway.


Updating parameters without default values

Hi,
As per my previous issue posted today, I want to start contributing to Pybamm, but I have never contributed to an open-source project before, so I am looking for an easy entry point to understand the process.
A second point came up in some work I was doing today: when trying to update a parameter that doesn't have a default value, the following error is given:
"Cannot update parameter '{name}' as it does not have a default value. ({err.args[0]}). If you are sure you want to update this parameter, use param.update({{name: value}}, check_already_exists=False)"
However, if I follow this advice and use param.update({{name: value}} where param is a ParameterValues object, I get the following error,
TypeError: unhashable type: 'dict'
Perhaps this is just a typo? If I remove one set of curly brackets it works fine - param.update({name: value}, check_already_exists=False)
Again, just looking for a simple fix to make my first pull request. Please let me know what you think of this and if I have missed something.

@isaacbasil Yes, this is likely just a string parsing error. I will investigate it and make a fix

Ah ok. If it's as simple as what I described in the issue, could I try to make the fix? So that I can get experience contributing.

Ah ok. If it's as simple as what I described in the issue, could I try to make the fix? So that I can get experience contributing.

Sorry, I already had the fix done in another branch before I saw your comment

No problem


Add option to change color of background (or skip it)

Hi @SunboX - we used the Sticker Generator succcessfully at FAbAccess Showcase in ZAM Erlangen during the Vulca Week.
we figured out that the stickers work well, but would be more easily scannable, if the contrast is much higher. It would be helpful to change the background color from grey to white or sth. else :-)
btw. the sticker generator is kind of officially installed as an instance at https://sticker.fab-access.org - linking back to your source <3

Thanks for the feedback! Yes that's a good idea. I will take a look at the default colors, but what also will go along with this is the feature request here: https://github.com/Sternenlabor/fabaccess-sticker-generator/issues/1

Tasks:

Add a white background color to the QR-Code for better scan-ability:

Implement a settings menu, where individual colors can be changed (see issue #1)

Fixed with latest master

coole Option mit dem Zahnrädchen! :)) ich wollts gerade testen, hab aber folgendes kleines Problem:

Ergebnis im PDF ist schwarz; auch im Preview - getestet in Firefox und Chromium - jeweils gleich


Fix typo in partition scaling mechanism name

Fixed AddRemoveIncrementalNamedParitionScalingMechanism typo to correct spelling: AddRemoveIncrementalNamedPartitionScalingMechanism

@andrewdmoreno : Thanks for your contribution! The author, @radicmilos, has been notified to review your proposed change.

Merging typo fix
@andrewdmoreno Thanks!


Missing linter binaries

At least, these two binaries are missing from the list in the readme:
go get -u github.com/gordonklaus/ineffassign
go get -u github.com/jgautheron/goconst/cmd/goconst

Thank you @mdouchement.
I'm not really sure where the plugin use those binaries.


Add navigatorKey property to the StatefulShellRoute

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Currently I'm researching go_router for one of my clients and it looks great so far. I've got everything up and running with the following code:
      ShellRoute(
        navigatorKey: shellNavigatorStateKey,
        builder: (_, __, child) {
          return context.viewPort.maybeMap(
            mobile: (_) => ShellMobile(child),
            orElse: () => ShellDesktop(child),
          );
        },
        routes: [
          GoRoute(
            name: 'a',
            path: '/a',
            builder: (context, _) {
              return context.viewPort.maybeMap(
                mobile: (_) => const APageMobile(),
                orElse: () => const APageDesktop(),
              );
            },
            routes: [
              GoRoute(
                name: 'ab',
                path: ':id',
                parentNavigatorKey: context.viewPort.maybeMap(
                  mobile: (_) => shellNavigatorStateKey,
                  orElse: () => rootNavigatorStateKey,
                ),
                pageBuilder: (context, state) {
                  final id = int.tryParse(state.pathParameters['id'] ?? '');
                  if (id == null) {
                    throw Exception('Invalid transaction id: $id');
                  }
                  return context.viewPort.maybeMap(
                    mobile: (_) => MaterialPage(
                      child: AbPageMobile(id),
                    ),
                    orElse: () => DialogPage(
                      builder: (_) => AbDialogDesktop(id),
                    ),
                  );
                },
              ),
            ],
          ),
        ],
      ),

Now I also found out about the StatefulShellRoute only this class seems to miss the navigatorKey property which I use to show my page in the shell.
Proposal
Adding a navigatorKey to the StatefulShellRoute so that a DialogRoute can use this navigator key to display the dialog over the shell:
      StatefulShellRoute.indexedStack(
        navigatorKey: rootNavigatorStateKey,
        builder: (_, __, child) {
          ...
        },
        branches: [
          ...
        ],
      )

This is by design since the statefulshellroute builds one navigator for each StatefulShellBranch, so you can only specify navigator key in StatefulShellBranch


Adding an image to end of the editable are adds an unremovable paragraph after image

When I add an image to end of the text in the editable are causes insert an extra paragraph and if you want to remove this p by backspace it removes image that you added too.
What logic we should run for this issue?

I guess that adding this empty paragraph allow user to continue writing after the image by letting him getting the focus.
But I've no idea why when you remove it, it also remove the image.
Maybe @orthes has a better idea.

Exactly like @j0k3r wrote. If you add an image at the very end of the editor, you need to have an extra paragraph created under it in order to be able to continue writing. Without that you would be stuck with the image and no text could be added under it.
And logic behind removing image when pressing backspace in that paragraph is also simple. Say you're writing simple text in any text editor, even simple textarea. Write a few paragraphs and then place caret at the beginning of one paragraph. Now hit backspace. What it does? Does it delete that paragraph? No, it deletes a character to the left of the caret.
In case of MediumEditor, to the left of the caret is image, thus it's gets deleted.


Ethan: Blacklist vivaph.com

Ethan requests the blacklist of the website vivaph\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

vivaph\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.


REQUEST: It should be possible to exclude specific Domino servers from processing

It should be possible to select which Domino servers are used during processing so you can exclude Dev/Test servers, or servers licensed under Utility licenses, etc.

Development and Test servers are still scanned and seen as resources in your Domino environment. They cannot be excluded from the scans.
We have seen some Domino environments that have development/testing environments that are also used for Production Domino applications,, therefore all domino servers are scanned.

What about servers that come under Utility licenses?

The Domino License Analysis Utility focuses on two main license types:

HCL Domino Complete Collaboration - Business Edition (CCB)
HCL Domino Complete Collaboration - External Users

If you are licensed for Domino Utility server, you will need to discuss your licensing options with your HCL Product Sales Specialist.

OK, but customers can have some servers fall under CCB/CCX and some servers under Utility licensing.  In order for the utility to do the CCB/CCX calculations correctly, the Utility servers need to be excluded.

Please note: even dev and test servers do require licensing.  For Utility licensing this blog post might help

Sorry... maybe I wasn't clear.  If this utility isn't doing anything for servers that fall under Utility licensing, then there should be a way for admins to exclude those servers from the scan process, otherwise the scan process will not calculate the right numbers.