Error: No provider for TranslatePipe!

I'm submitting a ...  (check one with "x")
[x] bug report => check the FAQ and search github for a similar issue or PR before submitting
[ ] support request => check the FAQ and search github for a similar issue before submitting
[ ] feature request

Current behavior
When trying to inject TranslatePipe (in another Pipe, as an helper), I get the error "Error: No provider for TranslatePipe!"
Expected/desired behavior
We should be able to either inject the Pipe, or have a service/proper Injectable doing the similar heavy lifting to allow easier integration with custom pipes
Reproduction of the problem
http://plnkr.co/edit/Yjh9qLSzLSfCWI77xW3f?p=info
What is the motivation / use case for changing the behavior?
Chaining pipes is nice, but troublesome. being able to have a single pipe taking care of everything would be much better. If we can't, we will ALWAYS end up doing 'my-value' | customPipe | translate. It's a pain.
Please tell us about your environment:

ngx-translate version: 7.0.0
Angular version: 4.1.3
Browser: all

PS: I consider this a bug as it's been advised previously to inject the pipe in a service or another pipe. Plus the pipe is tagged as @Injectable, so I expect to be able to inject it.

Did you find any workaround to this @lemoinem?

The workaround I found was to use the two pipes separately. I've not been able to integrate and streamline the two pipes as one.

I've created my own provider for the TranslatePipe
import { ChangeDetectorRef } from '@angular/core';
import { TranslateModule, TranslateLoader, TranslateService, TranslatePipe } from "@ngx-translate/core";

export let translatePipeProvider = {
    provide: TranslatePipe,
        useFactory: (translateService: TranslateService, changeDetectorRef: ChangeDetectorRef) => {
        return new TranslatePipe(translateService, changeDetectorRef)
    },
    deps: [TranslateService, ChangeDetectorRef]
};

and then registered it in my component
import { translatePipeProvider } from 'path/to/provider';

@Component({
    selector: '',
    templateUrl: '',
    providers: [translatePipeProvider]
})

I'm a bit worried about internal state and clean up...
The translate Pipe is storing loads of data (last key, last value). If it's used as a bare service, wouldn't this trigger many useless Detection Change cycles?
Even when registered at the component level?
I'm thinking there are still points I don't understand regarding Pipes and DI...

One more way
import { TranslatePipe } from "@ngx-translate/core";

@Component({
    selector: '',
    templateUrl: '',
    providers: [TranslatePipe]
})

@samoilenko how do you use your own provider for the pipe? I am having the same issue

I'm going to close this issue. I have gained a better understanding of how Pipes are managed in Angular2+. For my use case (implicitly calling the TranslatePipe from another Pipe), I arrived at the conclusion that the best solution would be to:

Inject the TranslatePipe's dependencies in my own pipe
Instantiate a new instance of the TranslatePipe in my own pipe's transform
Destroy the TranslatePipe's instance in my own pipe's onDestroy

Note: Of course, my custom pipe needs to be impure since the TranslatePipe is.
The issue being that if the TranslatePipe's dependencies change, I will have to update my custom pipe as well.
This issue is not easily solved and would basically required Angular2+ to manage dependencies between pipes themselves.
I haven't open a feature request for this (nor have I looked if one already existed) as this isn't something that is major problem for me now.
Creating a normal provider for the TranslatePipe will not work and might have horrible performance implications for your app along, with some translations not changing when the language is changed.
I still think in the meantime the Pipe should not be marked as Injectable anymore and we should stop advising to inject it in Services or other Pipes.

Why can't we declare this provider at the app level ?
Why must I declare it at each component ?

Why couldn't you declare it at app level? What makes you think that @RoyiNamir ?

@ocombe  Because I did this :
in core.module.ts (core (!) - which uploads to the root injector) :
providers   : [       ...other...  , translatePipeProvider]

Where translatePipeProvider is :
import {ChangeDetectorRef}               from '@angular/core';
import {TranslatePipe, TranslateService} from "@ngx-translate/core";

export  const translatePipeProvider = {
    provide   : TranslatePipe,
    useFactory: (translateService: TranslateService, changeDetectorRef: ChangeDetectorRef) =>
    {
        return new TranslatePipe(translateService, changeDetectorRef);
    },
    deps      : [
        TranslateService,
        ChangeDetectorRef
    ]
};

Then I inject it to my component :
export class PaymentMethodsComponent extends BaseComponent implements OnInit
    {
        arrPaymentMeans: PaymentMeansWrapper[];

        constructor(,,,  , private _TranslatePipe:TranslatePipe)
        {

        }

And when I test it via :
  console.log(this._TranslatePipe.transform("Resources.loginSms_lblWeSent" , null));

I get :
 ERROR  ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[TranslatePipe -> ChangeDetectorRef]:
JS:   StaticInjectorError(Platform: core)[TranslatePipe -> ChangeDetectorRef]:
JS:     NullInjectorError: No provider for ChangeDetectorRef!
JS: Error: NullInjectorError: No provider for ChangeDetectorRef!
JS:     at _NullInjector.get (file:///data/data/com.davidshield.dsapp1/files/app/tns_modules/@angular/core/bundles/core.umd.js:1041:19) [angular]

HOWEVER
I fI do this ( adding `providers:[TranslatePipe] at the component level :

So ?

Oh yes it makes sense, it's because ChangeDetectorRef is only available in a component, it's what triggers change detection when the template is updated. This is the same code as what you can find in the AsyncPipe for example: https://github.com/angular/angular/blob/c8a1a14b87e5907458e8e87021e47f9796cb3257/packages/common/src/pipes/async_pipe.ts#L78
I don't really understand why you would want to provide inject theTranslatePipeyourself though, it will not work without theTranslateServiceanyway. Just import theTranslateModuleand you will have access to theTranslatePipein your components. If you need to get access to translations in your service, then use theTranslateService, it'll do the same thing that the TranslatePipe`, but it's meant to be used in your code (which is not the case for the pipe that you're supposed to use in a template).
Do you have a specific use case?

@ocombe  Ok -  let me clarify :
Im talking about TS usages only ( not HTML pipe).
Until yesterday I was doing :
ctor : private translateService:TranslateService
and then
translateService:TranslateService.get(...).pipe(first()) .subscribe( ....get data)

And it worked.
However - I hate the subscribe mechanism ( just to get a resource  , I don't need(!) to listen to subscriptions).
And then a colleague told me that I can run the pipe code myself  , as it's in the html. ( without observable)
So basically to inject the translatepipe , and run it instead of the observable code.
this is what i've tried ^ and asked here.
Anyway I've also tried this :
At the app.module I load it via :  ( becuase I want to override the http behaviour of "where to fetch resources from")
So I load it like this in core module :
export const GetTranslateModuleLoaderFORROOT: ModuleWithProviders = TranslateModule.forRoot({
                                         loader: {
                                                            provide : TranslateLoader,
                                                            useClass: MyTranslateLoaderService
                                                     }
                                                 });

And this is how I load it in the app.module :

And that's it. ( it did load the module and its services to the root injector , right?)
So now - my class looks like :

But now I get ,
JS:  ERROR  ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[PaymentMethodsComponent -> TranslatePipe]:
JS:   StaticInjectorError(Platform: core)[PaymentMethodsComponent -> TranslatePipe]:
JS:     NullInjectorError: No provider for TranslatePipe!
JS: Error: NullInjectorError: No provider for TranslatePipe!

Just like the issue of this thread ^.
So How can I use the translatepipe in TS ? (without injecting it to each component)
Worth to mention  , that If I now inject it as a provider to the component( in the last image ^) - IT DOES WORK..
So?

Why not use the translate service instant method instead which is synchronous and doesn't use an observable?
And I replied to your questions, you can't declare it at app level because the pipe uses ChangeDetectorRef which is for components and directives.
What kind of design is this? The one from the Angular team.

@ocombe  Sure , I've already  understood your answer about changeDetectorRef.
I haven't noticed that it uses the changeDetectorRef - hence must be injected at each component.
So my question was basically wrong.
More - It's the first time I hear about the instant method.
I thank you for your answer and knowledge. :)
Thanks again.

@samoilenko thanks!

This thing is working correctly with below code in angular 7 I am posting this for those who might face this issue in angular 7.
In module where you using this pipe
import { CommonModule, I18nPluralPipe } from '@angular/common';
and in your custom pipe inject the pipe whichever you want to use in my case i am using I18nPluralPipe.
constructor(
private i18nPluralPipe: I18nPluralPipe
) {}
and then called transform using
this.i18nPluralPipe.transform(value,Plural);

This thing is working correctly with below code in angular 7 I am posting this for those who might face this issue in angular 7.
In module where you using this pipe
import { CommonModule, I18nPluralPipe } from '@angular/common';
and add your pipe in providers of that module using
providers: [
    I18nPluralPipe
],

and in your custom pipe inject the pipe whichever you want to use in my case i am using I18nPluralPipe.
constructor(
private i18nPluralPipe: I18nPluralPipe
) {}
and then called transform using
this.i18nPluralPipe.transform(value,Plural);

No this doesn't works with angular7


Correct kB in Maximizing Concentration of an Intermediate in a Batch Reactor

In https://jckantor.github.io/ND-Pyomo-Cookbook/06.02-Maximizing-Concentration-of-an-Intermediate-in-a-Batch-Reactor.html
Under 6.2 the value of kB is wrongly reported as kA see

Thanks for the careful reading and check. Now fixed (sorry for the delay.)  The cookbook is now updated to JupyterBook.

Thank you Jeffry for all your great works.
This is a very useful resource and it is well documented.
I use this cookbook in my class (undergrad ChE).


[BUG] Rancher Airgapped Installation on Single Docker - CACERT

Rancher Server Setup

Rancher version: rancher/rancher:latest
Installation option (Docker install/Helm Chart): Installing Rancher on a Single Node Using Docker
- If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): k3s
Proxy/Cert Details:  In House CA Cert
OS: Ubuntu 22.04

Information about the Cluster

Kubernetes version: N/A

User Information
- What is the role of the user logged in? root in docker
Describe the bug
We have private docker registry and k3s needs to download images from the private registry but it cant connect to private registry becauase of cacert.


ubuntu 16.04 build rippled failed

canning dependencies of target xrpl_core
[  4%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/core/core.unity.cpp.o
[  5%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_hash_unity.cpp.o
[  6%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_insight_unity.cpp.o
[  7%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_net_unity.cpp.o
[  7%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_utility_unity.cpp.o
[  8%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/basics1.cpp.o
[  9%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/json.cpp.o
[ 10%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o
In file included from /home/xrp/rippled/src/ripple/unity/protocol.cpp:25:0:
/home/xrp/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:162:77: error: ‘constexpr ripple::RPC::detail::ErrorInfoArray ripple::RPC::detail::sortErrorInfos(const ripple::RPC::ErrorInfo (&)[N]) [with int M = 75; int N = 55]’ called in a constant expression
constexpr auto sortedErrorInfos {sortErrorInfos(unorderedErrorInfos)};
^
/home/xrp/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116:1: note: ‘constexpr ripple::RPC::detail::ErrorInfoArray ripple::RPC::detail::sortErrorInfos(const ripple::RPC::ErrorInfo (&)[N]) [with int M = 75; int N = 55]’ is not usable as a constexpr function because:
sortErrorInfos (ErrorInfo const (&unordered)[N]) -> ErrorInfoArray
^
/home/xrp/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116:1: sorry, unimplemented: unexpected AST of kind loop_expr
/home/xrp/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116: confused by earlier errors, bailing out
CMakeFiles/xrpl_core.dir/build.make:153: recipe for target 'CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o' failed
make[2]: *** [CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o] Error 1
CMakeFiles/Makefile2:304: recipe for target 'CMakeFiles/xrpl_core.dir/all' failed
make[1]: *** [CMakeFiles/xrpl_core.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Thank you for this report. We build rippled with newer versions of gcc, and it appears gcc 5.3 doesn't handle some of our new uses of constexpr. Upgrading gcc to at least gcc 7 should fix this issue.

I have same issue, 16.04 and gcc 7.4.0, trying to download sqlite but failed:
 --- LOG BEGIN ---
 Protocol "https" not supported or disabled in libcurl
Closing connection -1
 --- LOG END ---
 error: downloading 'https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip' failed
 status_code: 1
 status_string: "Unsupported protocol"
 log:
 --- LOG BEGIN ---
 Protocol "https" not supported or disabled in libcurl
Closing connection -1
 --- LOG END ---

CMakeFiles/sqlite3.dir/build.make:91: recipe for target '../.nih_c/unix_makefiles/GNU_7.4.0/Debug/src/sqlite3-stamp/sqlite3-download' failed
make[2]: *** [../.nih_c/unix_makefiles/GNU_7.4.0/Debug/src/sqlite3-stamp/sqlite3-download] Error 1
CMakeFiles/Makefile2:86: recipe for target 'CMakeFiles/sqlite3.dir/all' failed
make[1]: *** [CMakeFiles/sqlite3.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

@mmo2112 that's not the same issue as originally reported here, which was about a compiler error. You are reporting an error downloading dependencies, possibly because your libcurl was not built with ssl support.

@mellery451, I have installed new curl, libtool-bin,... but still get this error. Should I create a new issue?

I have the same question, bellow
[ 50%] Built target libarchive
Scanning dependencies of target xrpl_core
[ 51%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/core/core.unity.cpp.o
[ 52%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_hash_unity.cpp.o
[ 53%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_insight_unity.cpp.o
[ 54%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_net_unity.cpp.o
[ 54%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_utility_unity.cpp.o
[ 55%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/basics1.cpp.o
[ 56%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/json.cpp.o
[ 57%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o
In file included from /data/src/ripple/rippled/src/ripple/unity/protocol.cpp:25:0:
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:162:77: error: ‘constexpr ripple::RPC::detail::ErrorInfoArray ripple::RPC::detail::sortErrorInfos(const ripple::RPC::ErrorInfo (&)[N]) [with int M = 75; int N = 55]’ called in a constant expression
constexpr auto sortedErrorInfos {sortErrorInfos(unorderedErrorInfos)};
^
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116:1: note: ‘constexpr ripple::RPC::detail::ErrorInfoArray ripple::RPC::detail::sortErrorInfos(const ripple::RPC::ErrorInfo (&)[N]) [with int M = 75; int N = 55]’ is not usable as a constexpr function because:
sortErrorInfos (ErrorInfo const (&unordered)[N]) -> ErrorInfoArray
^
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116:1: sorry, unimplemented: unexpected AST of kind loop_expr
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116: confused by earlier errors, bailing out
CMakeFiles/xrpl_core.dir/build.make:153: recipe for target 'CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o' failed
make[2]: *** [CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o] Error 1
CMakeFiles/Makefile2:304: recipe for target 'CMakeFiles/xrpl_core.dir/all' failed
make[1]: *** [CMakeFiles/xrpl_core.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

@mmo2112 yes - please create a new issue, and I will see if I can reproduce it.

followed the steps of "Build and Run rippled on Ubuntu", ubuntu 16.04 and gcc 7.4.0. I have the same question bellow.
[ 50%] Built target libarchive
Scanning dependencies of target xrpl_core
[ 51%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/core/core.unity.cpp.o
[ 52%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_hash_unity.cpp.o
[ 53%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_insight_unity.cpp.o
[ 54%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_net_unity.cpp.o
[ 54%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/beast/unity/beast_utility_unity.cpp.o
[ 55%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/basics1.cpp.o
[ 56%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/json.cpp.o
[ 57%] Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o
In file included from /data/src/ripple/rippled/src/ripple/unity/protocol.cpp:25:0:
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:162:77: error: ‘constexpr ripple::RPC::detail::ErrorInfoArray ripple::RPC::detail::sortErrorInfos(const ripple::RPC::ErrorInfo (&)[N]) [with int M = 75; int N = 55]’ called in a constant expression
constexpr auto sortedErrorInfos {sortErrorInfos(unorderedErrorInfos)};
^
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116:1: note: ‘constexpr ripple::RPC::detail::ErrorInfoArray ripple::RPC::detail::sortErrorInfos(const ripple::RPC::ErrorInfo (&)[N]) [with int M = 75; int N = 55]’ is not usable as a constexpr function because:
sortErrorInfos (ErrorInfo const (&unordered)[N]) -> ErrorInfoArray
^
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116:1: sorry, unimplemented: unexpected AST of kind loop_expr
/data/src/ripple/rippled/src/ripple/protocol/impl/ErrorCodes.cpp:116: confused by earlier errors, bailing out
CMakeFiles/xrpl_core.dir/build.make:153: recipe for target 'CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o' failed
make[2]: *** [CMakeFiles/xrpl_core.dir/src/ripple/unity/protocol.cpp.o] Error 1
CMakeFiles/Makefile2:304: recipe for target 'CMakeFiles/xrpl_core.dir/all' failed
make[1]: *** [CMakeFiles/xrpl_core.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

I have fixed it.  this is a gcc problem. With two gcc versions in your ubuntu system, check the gcc version for update by "gcc --version", I can see "(Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609" ,that is not I want.  please link the gcc-7 to gcc in the path "/usr/bin".
steps bellow :
1. cd /usr/bin                     # enter /usr/bin
2. sudo rm -r gcc             #remove old version gcc link
3. sudo ln -sf gcc-7 gcc  #rebuild a new gcc4.7 soft links
4. sudo rm -r g++             #same as gcc
5. sudo ln -sf g++-7 g++

@dwjpeng, sorry for late response because all of server are downed and I don't have server to test that... Thanks for your solution and have a  good day bro.


Set --enable-experimental-lsp-fast-path by default

Motivation

There don't appear to be any other show-stopping bugs, so we can turn this on
for everyone.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_MDP5zMaTjfAVxo
→ https://go/builds/bui_MDP6dQHJk4CHig

@froydnj heads up not sure if you meant to comment without approving


refactor(indexer): recent transactions query tuning

This PR refactors the SQL indexer query responsible for fetching the 10 most recent transactions for a given account. The new query returns exactly the same data but has been rewritten with CTEs to filter the set of rows from action_receipt_actions before joining on receipts.

Now, i can't change the limit using the query string, any number i put will return 10 items.
Previously i can change the number of tx i want to return.
https://near-contract-helper.onrender.com/account/hello.testnet/activity?limit=50 <- 50 has no effect now. always return 10

@devnomic that's my bad, I didn't realize the endpoint was being used outside the wallet. I have a PR to address this (#598) but given that this work was done to address system health issues I've put a cap on the number of rows that can be returned.

@andy-haynes Thank you, now it's working as expected.
With max limit of 100 should cover most of cases. I hope offset is available in future, so i can paginate it. (because at first when i read the source, i thought the offset parameter works like in sql but it's not 😃)


[SOLVED] Not working a second time

Hi,
I installed it successfully but I choose the wrong Google account facepalm I tried to run it again to choose a different account, but nothing happens (not browser launched). I restarted the computer, run it again and... nothing. I uninstalled it, reinstalled it, run it again and... nothing happens...
Any idea?
Thanks!!
Greetings,
ifrit
P.S.: The first time it worked perfect :_

Ok. I fixed it. I just removed the content of ~/.gdfuse/default directory (as pointed here by astrada)
Thank you for this great tool!
Greetings,
ifrit


User-Defined Type in Arrow

support custom data types (i.e. IP addrress was the running example at the time)

@johnchronis Im actually pretty confident that we can use the arrow::Extention type in arrow to implement IP Address. In fact, this mysterious Extention type is designed for user-defined type. The extention type can, in itself, defines its relationship with other types (ideally, of course, using what we have proposed ini #94).
In fact, arrow had a test IPv4 type in their code base:
https://github.com/apache/arrow/blob/2d140c3eeecca3ff7823edc8c9562ebd6a1c336a/cpp/src/arrow/array/array_view_test.cc#L55-L78
We can open up an issue to address user-defined type - will need to experiment a little bit on this.
Originally posted by @GindaChen in https://github.com/UWHustle/hustle/issues/28#issuecomment-796486769

That is interesting, it seems like arrow has the necessary mechanisms to handle user-defined types and operations on them. So it seems we can extend the set of supported types in the future :)

Good digging @johnchronis!

Close this conversation as we are pretty sure arrow can do user-defined type in the current version. @johnchronis New issues are welcomed when you have a list of UDTs in mind.


refactor(perception/lidar_apollo_instance_segmentation): rework parameters

Description
Implement the ROS Node configuration layout described in https://github.com/orgs/autowarefoundation/discussions/3371 for the perception_apollo_instance_segmentation

Remove the default value from the source code in order to ensure all parameter values are passed from the parameter files.

2.create schema
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@yukkysaito please review and merge?

@karishma1911 could you rebase this to the latest main? To fix the CI.
Or click Allow edits and access to secrets by maintainers. For this PR. So we can do it for you.

LGTM cc @kminoda

Thanks!

@idorobotics
Could you please merge main branch to your branch again? In order to pass DCO check.

@idorobotics
Could you please merge main branch to your branch again? In order to pass DCO check.

@karishma1911

@karishma1911 Hi, thank you for your contribution!
To maintain the opened PR in Autoware Universe, let me convert this PR into a draft for now :pray:
We are happy to review it again after the PR is fixed.
Thank you for your understanding.


"Default Profile" dropdown menu goes out of the window when scrolling

Windows Terminal version (or Windows build number)
1.9.1942.0
Other Software
Windows Version 19043.928
Steps to reproduce
Open Windows Terminal, go to Settings, open the Default profile dropdown menu and then scroll using either the scroll bar or the mouse wheel
Expected Behavior
The dropdown menu to hide when going over the window border
Actual Behavior
The dropdown menu goes over the window borders

Thanks for the report! Please make sure to search for duplicates when filing new issues. This is already being tracked by another issue on our repo - please refer to #9320 for more discussion.
/dup #9320


Align parser with new swan lake service changes

Description:
$subject.
Suggested Labels:
Team/CompilerFE, Area/Parser, Type/NewFeature
Suggested Assignees:
@lochana-chathura

Fixed in #27305


Documentation for how to add to rubyLibs using overriding

I'd like to maintain a list of ruby gems of specific versions for some of my projects, but I don't want to modify my nixpkgs. Unfortunately I can't figure out how to modify the packages in rubyLibs. I can override individual packages but, unlike (say) haskellPackages, I can't modify the set itself to add new members. haskellPackages.override takes an extension argument, but rubyLibs.override doesn't do the same, and I'm not clever enough to figure out why; it seems that I can only override the arguments that rubyLibs was called with (stdenv, fetchurl, and so on).
Help!

that became  #4677 which is now merged, so this bug can probably be closed.

Closing in favor of https://github.com/NixOS/nixpkgs/issues/5985


all: kubelet.service deletes pod on stop

Currently doesn't work stop command fails with:
unable to create process 1635 instance: open /proc/1635: no such file or directory
stop: error stopping "6b3f4d0b-b4c8-4ac9-a6b7-9ef92f236b09": exit status 1
stop: failed to stop 1 pod(s)

I reproduced with a single-node vagrant, and I see that the kubelet.service has a KillMode=process. This means that even if the main parent process is gone (as rkt stop shows), its children are still alive so the pod is still partly running and cannot be rm-ed.

@lucab Thanks for figuring that out. I updated the PR to include KillMode=control-group and things seem to work fine now -- I'm happy with this solution.

I believe this landed in: https://github.com/coreos/coreos-kubernetes/pull/759


Error on multiple dropdown

facing error when define column type of dropdown

the column is like this one:

please help @pphod  thank you

Hi,
Can you tell me your version of jspreadsheet ?
And just for information, in value in source in index 1, do you have try without emoticon ?

@GBonnaire 4.9.5, that problems already solved, I just made a mistake, but I'm facing another problem rn, how can we get the info/metadata file from the image, because after we insert the image into the sheet, we immediately get base64 data??

Hi,
On editor image, you have only base64 on value. But this editor use jSuites.image and on edition, you can get meta in content property.
The easier way is create custom editor based on editor image and on close, get meta value on content property of div :
jSuites.image(div, options);
after import :
div.content contains all informations of file

thank you for reply @GBonnaire, i will try it. One more question sorry, suppose we have many column that overflow-y the container, how to keep the focus / highlighted cell in monitor instead of using mouse, but using our arrow key on keyboard so the user no need to scroll it using mouse, so it will be the same as google sheet behaviour like this image:

This behavior work by default with option tableOverflow : https://bossanova.uk/jspreadsheet/v4/examples/table-overflow
If you want give focus on load, you need select cell on onload function

thank you @GBonnaire it works, issue closed


imgui.image does not work if texture_id exceeds 256

I'm using pyimgui with glfw on Wayland using EGL on an Ubuntu VM. For some reason this code crashes when:

at least one image has been drawn before, AND
the texture_id exceeds 256.

The crash happens because somehow a texture_id of a DrawCmd gets set to another DrawCmd object instead of an int. It doesn't matter how many textures are generated (300 in the example below) or what you start texture_id at, it always crashes when texture_id is 257, or if the first loop iteration is 257 or higher then it will crash on the second iteration.  The error happening at 256+1 is obviously suspicious.
Here is the traceback:
Traceback (most recent call last):
  File "/home/mcoding/PycharmProjects/pyimgui-demo/pyimgui-demo.py", line 77, in <module>
    main()
  File "/home/mcoding/PycharmProjects/pyimgui-demo/pyimgui-demo.py", line 41, in main
    impl.render(imgui.get_draw_data())
  File "/home/mcoding/PycharmProjects/pyimgui-demo/venv/lib/python3.9/site-packages/imgui/integrations/opengl.py", line 232, in render
    gl.glBindTexture(gl.GL_TEXTURE_2D, command.texture_id)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type

And here is a minimal source causing the traceback:
# -*- coding: utf-8 -*-
import glfw
import OpenGL.GL as gl
import imgui
from imgui.integrations.glfw import GlfwRenderer

def main():
	imgui.create_context()
	window = impl_glfw_init()

	impl = GlfwRenderer(window)

	ids = gl.glGenTextures(300)
	print(ids)

	texture_id = 0
	while not glfw.window_should_close(window):
		glfw.poll_events()
		impl.process_inputs()
		imgui.new_frame()

		if imgui.begin_main_menu_bar():
			if imgui.begin_menu("File", True):
				clicked_quit, selected_quit = imgui.menu_item("Quit", 'Cmd+Q', False, True)

				if clicked_quit:
					exit(1)

				imgui.end_menu()
			imgui.end_main_menu_bar()

		print(texture_id)
		imgui.image(texture_id, 640, 480)
		texture_id = min(texture_id + 1, ids[-1])

		gl.glClearColor(1., 1., 1., 1)
		gl.glClear(gl.GL_COLOR_BUFFER_BIT)

		imgui.render()
		impl.render(imgui.get_draw_data())
		glfw.swap_buffers(window)

	impl.shutdown()
	glfw.terminate()

def impl_glfw_init():
	width, height = 1280, 720
	window_name = "minimal ImGui/GLFW3 example"

	if not glfw.init():
		print("Could not initialize OpenGL context")
		exit(1)

	# OS X supports only forward-compatible core profiles from 3.2
	glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 3)
	glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 3)
	glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE)
	glfw.window_hint(glfw.OPENGL_FORWARD_COMPAT, gl.GL_TRUE)

	# Create a windowed mode window and its OpenGL context
	window = glfw.create_window(
		int(width), int(height), window_name, None, None
	)
	glfw.make_context_current(window)

	if not window:
		glfw.terminate()
		print("Could not initialize Window")
		exit(1)

	return window

if __name__ == "__main__":
	main()

I run the command with
PYOPENGL_PLATFORM=egl python pyimgui-demo.py

but I'm not sure if this is an EGL thing or not.

Thanks for your reproduction case, it reproduces perfectly!
Here is my analysis:

Add code to ImGui::Image printing the user_texture_id:
printf("%p\n", user_texture_id);
output:
000001B3A67E6910
000001B3A67E6930
000001B3A67E6950
000001B3A67E6970
and so on

Observe that none of the arguments here look like an int, so they are most likely python objects representing an int
This actually makes sense, considering everything is an object in python.
So what is probably happening here, is that we give a python object to ImGui, but it does not know that it should use reference counting for that object, since all ImGui knows is that it gets a void* pointer.

Now why does the higher number not work, but lower numbers do?
The last lines of the output give a hint:
000001B3A6816950
000001B3A6816970
000001B3A6816990
000001B3BF39BC50

Notice the jump in addresses for the last item?
My educated guess here is that python pre-allocates all objects for integers below 257, and that these objects are never involved in refcounting, for optimization purposes.

In short: We need to tell cpython to properly add a reference to data that we pass to the user_texture_id argument, and we should find another place to dereference it.

I'm not familiar enough with the imgui implementation to know how to fix this, but you seem spot on with the Python stuff. Indeed, the integers -5 to 256 in CPython are pre-allocated and treated as singletons. I'm not sure whether small integers participate in refcounting, but it seems reasonable that they don't, or at the very least that they are never deallocated during the lifetime of the interpreter. gc.is_tracked appears to return False for all int objects, even large ones.

(Just guessing) another possible solution would be to convert what you get for user_texture_id to a C int as it comes in, and back to a python int whenever it is accessed from Python, which Cython has a mechanism for doing. Just mark the variable as unsigned int instead of void* and I believe Cython does this automatically.

Tried this on my own machine and it seems an easy fix is to convert the Python ints to and from uintptr_t (int type with same size as void pointer) at the Python interface boundary. E.g.
cdef class _FontAtlas(object):
    # ... snipped
    @property
    def texture_id(self):
        return <uintptr_t>self._ptr.TexID

    @texture_id.setter
    def texture_id(self, uintptr_t value):
        self._ptr.TexID = <void *> value

Making these changes throughout the core.pyx file appears to fix everything on my end at least on the application I'm working on. However, I am assuming here that these texture_ids are always going to be Python ints and not some other kind of object. Is that a reasonable thing to assume? I can submit a PR if that approach sounds good to you.

I've also confirmed that adding Py_INCREF fixes the crash as well. However, this creates a memory leak (well, I suppose technically it just creates an int object that will never be garbage collected) as there is no corresponding Py_DECREF. Since the cimgui.Image call is C code I don't see where the corresponding Py_DECREF could go.
from cpython.ref cimport Py_INCREF

# ... snip

def image(
    texture_id,
    float width,
    float height,
    tuple uv0=(0, 0),
    tuple uv1=(1, 1),
    tuple tint_color=(1, 1, 1, 1),
    tuple border_color=(0, 0, 0, 0),
):
    Py_INCREF(texture_id)
    cimgui.Image(
        <void*>texture_id,
        _cast_args_ImVec2(width, height),  # todo: consider inlining
        _cast_tuple_ImVec2(uv0),
        _cast_tuple_ImVec2(uv1),
        _cast_tuple_ImVec4(tint_color),
        _cast_tuple_ImVec4(border_color),
    )

@KinoxKlark What do you suggest?

Tried this on my own machine and it seems an easy fix is to convert the Python ints to and from uintptr_t (int type with same size as void pointer) at the Python interface boundary.

This feels to me like the correct thing to do indeed. You are welcome to submit a PR for this fix. However, be aware of the other places where this "pattern" and the "texture_id" are passed and where this bug may arise again. By a quick search through core.pyx (in dev/version-2.0 branch) I found

_DrawList.push_texture_id()
_DrawList.add_image()
image_button()
image()

And I suppose a similar error hides in _DrawCmd.texture_id. It would be nice if everything was consistent with respect to that fix.
I may have overlooked some other places where this should be fixed, but propose a PR with those and we'll check everything during reviewing.
Thanks!

This has been fixed by #250.


fix(platform-cache): import UseCase from @tsed/platform-cache instead of @tsed/common

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.001%) to 96.024%

Totals

Change from base Build<PHONE_NUMBER>:
-0.001%

Covered Lines:
6257

Relevant Lines:
6285

💛  - Coveralls


Get preferred system locales

It is relatively common that a multi-lingual speaker would specify fallback languages on their system in case a program does not have strings for their most preferred language.

User speaks Farsi and French. They prefer Farsi, but many apps don't support it, so they would like to fallback to French in those cases. However, many apps do not respect this preference and will instead fallback to the language they were written in, in many cases a language they do not speak, such as English.

This is unfortunate, and it would be nice if the Rust ecosystem had a cross platform library for retrieving all the users preferred languages.
Links for platform APIs and other code examples:

Windows:

electron: https://github.com/electron/electron/blob/main/shell/common/language_util_win.cc
winapi: https://docs.rs/winapi/0.3.9/winapi/um/winnls/fn.GetSystemPreferredUILanguages.html

macOS:

electron: https://github.com/electron/electron/blob/main/shell/common/language_util_mac.mm

Linux:

electron: https://github.com/electron/electron/blob/main/shell/common/language_util_linux.cc

WASM:

web_sys: https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Navigator.html#method.languages

Thanks for filing this, I agree it'd be nice to expose a preference list instead of "this locale or nothing." This isn't a high priority item for me at the moment but I'd happily accept a PR if someone gets there before me.
Regarding the implementation, WASM and iOS/macOS are already pretty close to this underneath. Notably, the Apple platforms already use preferredLanguages just take the first item currently.

#22 implemented the API for this feature, and the full implementations for WASM and Windows. The following platforms remain to be fully flushed out:

[ ] iOS and macOS
[ ] Linux with a desktop environment (such as KDE)
[ ] Android

#24 implemented this for our currently-supported Apple targets.

@Dinnerbone @jamiebuilds-signal I've published 0.3.1 a few minutes ago, so this new functionality should be available now for the currently supported platforms.

Since there haven't been any updates in #28, I've decided to rewrite my thoughts here.
Based on the mentioned earlier link https://github.com/electron/electron/blob/main/shell/common/language_util_linux.cc and the link referenced there chromium/src/l10n/l10n_util.cc, I think we should use following variable order in locale evaluation: the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG.
Here are some relevant sources that might help clarify the role of the LANGUAGE and LC_MESSAGES variables:

Debian mailing list discussion where it is mentioned that LANGUAGE primarily affects the locale for message translation and takes precedence over other variables, even LC_ALL.
Baeldung article on Linux locale environment variables, which also states that LANGUAGE has priority over other locale-related variables. But it might not be entirely accurate, as this should only be true in the context of message localization, which is what the article discusses.

Ideally, it would be useful to implement separate functions for determining the general locale and the message locale (and, ideally, for each specific LC_*** category). However, if we want to keep the locale determination process simple, one approach could be to give LANGUAGE priority over LC_ALL when determining the overall locale, because the locale is mainly used for message translation.
Additionally, if we aim to provide the user with a list of locales in descending order of preference (with the get_locales() function), LANGUAGE is well-suited for this purpose, as it literally stores such a list. If we want to go further, we could append the locale from LC_ALL, followed by those from LC_MESSAGES and then from LANG, to the list from LANGUAGE. We might consider excluding LC_CTYPE since it is more focused on specifying character encoding rather than language.

I think we should use following variable order in locale evaluation: the precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG.

Yes, I think this makes sense to me and I don't have any historical reason this crate didn't use LANGUAGE before. I think we need to keep LC_TYPE for compatibility, even if its checked after LC_MESSAGES.

Ideally, it would be useful to implement separate functions for determining the general locale and the message locale (and, ideally, for each specific LC_*** category).

While I agree in theory, I'm not sure if every platform this crate needs to support has the equivalent of per-category languages and my preference would be to keep sys-locale's API consistent.

Additionally, if we aim to provide the user with a list of locales in descending order of preference (with the get_locales() function), LANGUAGE is well-suited for this purpose, as it literally stores such a list. If we want to go further, we could append the locale from LC_ALL, followed by those from LC_MESSAGES and then from LANG, to the list from LANGUAGE

The purpose and intent of LANGUAGE makes sense to me, but from some brief testing I think its a requirement to check the other variables still because LANGUAGE is not set in an old KDE installation I have nor in a Ubuntu 21 desktop VM.

I think we need to keep LC_TYPE for compatibility, even if its checked after LC_MESSAGES.

Can you clarify the compatibility reasons for keeping LC_CTYPE?
To me, rejecting LC_CTYPE seems more like a fix rather than a breaking change.
I think we could assume that if LC_CTYPE is crucial in locale evaluation for some application, then this evaluation is already incorrect.

The purpose and intent of LANGUAGE makes sense to me, but from some brief testing I think its a requirement to check the other variables still because LANGUAGE is not set in an old KDE installation I have nor in a Ubuntu 21 desktop VM.

That's my suggestion! We can first check the LANGUAGE variable and then add the locales from the LC_ALL, LC_MESSAGES, and LANG variables to the list, following the priority order and checking for duplicates (if the same locale has already been added, there is no need to add it again)

Can you clarify the compatibility reasons for keeping LC_CTYPE?
To me, rejecting LC_CTYPE seems more like a fix rather than a breaking change.

Its really because I don't know if anyone has been relying on this less-then-perfect logic in the "wild", so starting to ignore it in a patch release might be offputting. I don't mind giving it a try, I'm just cautious 😅.

That's my suggestion!

Got it, I just wanted to make sure we were on the same page.
I was playing around with this a bit more while writing this comment and found that KDE seems to set the $LANGUAGE variable to something non-empty if you configure more then one language in the Plasma settings. This has increased my confidence that this will be a useful change for real end-user systems:

Its quite strange that its just set to a empty string when only one language is configured, but maybe that was improved in more recent releases (my VM is pretty old):

Its really because I don't know if anyone has been relying on this less-then-perfect logic in the "wild", so starting to ignore it in a patch release might be offputting. I don't mind giving it a try, I'm just cautious 😅.

I think we can assume that in an overwhelming number of cases, LC_CTYPE is the same as LC_ALL and/or LC_MESSAGES and is consistent with LANGUAGE and LANG. Otherwise, it would indicate a wrong locale configuration.
Basically, the user is telling the program: "I want messages to be translated to LC_MESSAGES and encoded with LC_CTYPE". In that case, it would be odd to translate the messages in the program to LC_CTYPE.
I still see removing LC_CTYPE as a fix, so I would suggest doing it.

I was playing around with this a bit more while writing this comment and found that KDE seems to set the $LANGUAGE variable to something non-empty if you configure more then one language in the Plasma settings. This has increased my confidence that this will be a useful change for real end-user systems:

KDE sets the LANGUAGE variable in the .config/plasma-localerc file under the [Translations] table (tag, header, section).

Its quite strange that its just set to a empty string when only one language is configured

This is true for my version of Plasma 5.24.7.

I still see removing LC_CTYPE as a fix, so I would suggest doing it.

Fair enough, we can go ahead and plan to do that then.

KDE sets the LANGUAGE variable in the .config/plasma-localerc file under the [Translations] table (tag, header, section).

I knew it stored this in a ~/.configfile, but had never checked the variable.LANGUAGES` is a much nicer option then needing to implement KDE-specific data detection.

This is true for my version of Plasma 5.24.7.

Odd, but at the end of the day not an actual problem since we will still be looking at LANG.

Obtaining a list of preferred locales is now implemented for Linux.

Linux support for preferred locale listing has been released in 0.3.2.

@complexspaces, should the Linux with a desktop environment (such as KDE) item be checked now?
The implemented solution should work on any Linux distribution with any desktop environment.

I thought I did that when making the release, my bad. Its checked now.


IEEE-754 conscious design, json-bigint, bignumbers & native number

What would you like to be added:
Built-in JSON/Object parser must parse number as bignumber, and development of library must take a beginner friendly stance of interoperability with big-number and number.

https://www.npmjs.com/package/json-bigint

Why is this needed:
While most developers are aware of the IEEE 754 double standards, JSON specification does not say anything about number precision. Jellyfish implementation must be accommodating to various developer experience while preventing number precision mistake at large.
THIS IS VERY IMPORTANT FOR THE LIBRARY TO BE ACCOMMODATING TO VARIOUS DEVELOPER EXPERIENCE.

> parseFloat("0.000008") * 10
0.00007999999999999999

/area core
/triage accepted
/priority important-soon

Choosing between simplicity over correctness.

Painfully, the default number implementation will lose precision when converting value. JavaScript has no internal BigNumber implementation, an external library must be used. This greatly increased complexity for your up and coming programmer. This is perplexing...
it('should not lose precision converting DFI', () => {
  const n =<PHONE_NUMBER>.00000001
  const a = JSON.parse(JSON.stringify(n)) * 1.0e8
  expect(a.toString()).toBe("120000000000000001")
});

+ Expected: "120000000000000001"
- Received: "120000000000000000"

Don't think I have much choice on now this. What I can do is spent a significant amount of time educating programmings of the internal BigNumber implementation in the documentations https://github.com/DeFiCh/jellyfish/issues/20.

https://github.com/josdejong/lossless-json
Found this, this is awesome. There is no risk of losing numeric information when parsing JSON containing big numbers. LosslessNumber implements valueOf() and will throw an error when this conversion would result in a truncation of the number. This library does not force any specific implementation, you can bring your favourite BigNumber library.

How does it work? The library works exactly the same as the native JSON.parse and JSON.stringify. The difference is that lossless-json preserves information of big numbers. lossless-json parses numeric values not as a regular number but as a LosslessNumber, a data type which stores the numeric value as a string. One can perform regular operations with a LosslessNumber, and it will throw an error when this would result in losing information.

When to use? Only in some special cases. For example when you have to create some sort of data processing middleware which has to process arbitrary JSON without risk of screwing up. JSON objects containing big numbers are rare in the wild. It can occur for example when interoperating with applications written in C++, Java, or C#, which support data types like long. Parsing a long into a JavaScript number can result in losing information because a long can hold more digits than a number. If possible, it's preferable to change these applications such that they serialize big numbers in a safer way, for example in a stringified form. If that's not feasible, lossless-json is here to help you out.

let text = '{"normal":2.3,"long":123456789012345678901,"big":2.3e+500}';

// JSON.parse will lose some digits and a whole number:
console.log(JSON.stringify(JSON.parse(text)));
    // '{"normal":2.3,"long":123456789012345680000,"big":null}'      WHOOPS!!!

// LosslessJSON.parse will preserve big numbers:
console.log(LosslessJSON.stringify(LosslessJSON.parse(text)));
    // '{"normal":2.3,"long":123456789012345678901,"big":2.3e+500}'


🐛 override blur method from BrowserWindowProxy

First attempt to fix #4724. BrowserWindow which does not have a blur method so use the blurWebView method that exists instead.

Closing in favor of #4751


ZFIN-7767

If deployPostgresFunctions fails then the build fails.
Clean up the function definitions that have syntax errors.

Double check and make sure that before and after running deployPostgresFunctions, we get identical definitions of functions in the database.
Look into the dropFunctions build task to see why it is not dropping some functions

Just following up here. I confirmed that this commit will not change any existing database function. I did that by:

dumping each of the database functions
then running gradle deployPostgresFunctions
then doing another dump of all database functions
confirmed that they were the same.

As for where the build task for dropping functions is concerned, I'm not sure where that happens.  There seems to be a reference in Makefile to "gradle dropFunctions", but that's the only place I see it.  I'm not sure if the Makefile is ever used in the build process though?


[VS Code] Unable to connect to the host. Verify both you and the host are online.

#if we both pinned following live share disconnected and after that we got an error that either of us are offline, but we weren't. After my friend restarted VSCODE it has started to work again (My friend was on Ubuntu 17.1 and me on Windows 10)

@marko1777 Thanks for reporting the issue.  This could have been a simple network blip, but to verify, could you send us each of your logs?
To get them, run "Live Share: Export Logs" on both your machine and the guest's.  You can then drag-and-drop them to a comment here to upload or you can email them to<EMAIL_ADDRESS>


[UI] improve UI of authentication page

Description
adding functionality to navigate from register page to login page if user already have an account and vice versa. Adding functionality to show the password. And a better looking UI.
Current Behavior
currently, user have to use navigation bar to switch between login and register page. And UI is not that good. User can't see their password.
Proposed Behavior
adding an option "Already have an account? Login" while registering and "Don't have an account? Register" while login at the bottom of the form. User will be able to see their password.
Screenshots

Additional Context
in the new design, the image will be shown on the left hand side while the form will be on the right hand side.
Impact
it will improve accessibility and visual apeal.
Related Issues
ref #3

Hey @abhijeetmishra2104 , This feature already exists.


IPT3: Public archives don't appear on the home page

I created a Material core archive, published it, made it public but it did not appear in the IPT homepage table

It only becomes actually visible after a new publication. I presume this is per design so I'll close this.
It was not what I had expected as behaviour though - I expected that changing visibility would make the current one public.

I've also been caught by this. I think it is the expected behaviour, but it would help to warn users in the publishing dialog box that they are about to publish a private resource.

I suggest to rephrase some of the elements too:

Combined the sentence "Before you publish, you can assist researchers using your data by summarizing what has changed in this version." with the text that is in the text area.
Remove "Do you still want to publish?" (odd before the text area) and change the buttons to Cancel and Publish.
The sentence "If there have been scientifically significant changes to the resource since the last publication, you should cancel, assign this resource a new DOI, and then publish again." should ideally only be shown if the IPT is configured to mint DOIs


Client Crash when trying to move Facade out of Inventory

Crash Report: https://pastebin.com/j7mrc372
Happened when trying to move it into a chest, AE, or even picking it up with the mouse.
AE2 compatibility issue?

Trying to move 'it'? Define 'it' please? What were you trying to facade?

Trying to facade nothing. Was just moving the item from inventory to another inventory.

And was that facade item facaded to anything? I mean was it brand new or already used?

I believe it was already used but not sure what it was used on (what it was supposed to mimic)

Hmm no idea what is wrong but I can protect from a crash. So I'll do that for next version.


Switch all connection endpoints to REST API

Deprecate all the GRPC methods for managing connections (now called
'connection profiles') and connection tables and move them to the REST
API. Switch the console to use the new endpoints.
Also fix some styling issues in the console, including limiting the
error message on the create pipeline page to 2 lines.

🎉


user guide

This is a very good software, and I feel that it can make up for Pecube very well, but can you explain how to install and use it, because it doesn't look as clear to me as Pecube.

Thanks for your interest in Pecube. Please contact Prof. Todd Ehlers<EMAIL_ADDRESS>if you have any questions.


export default class ... breaks transpiler

Hello,
thank you for making this great alternative for babel's class-transform. the spec-compliant version seems rather heavy, especially after d. walsh on prototypes (link in the readme?).
When I try to export and declare a class on the same line, I get the following error:
Error transforming <path>/src/dom/treewalker.js with 'babel' plugin: <path>/src/dom/treewalker.js: We don't know what to do with this node type. We were previously a Statement but we can't fit in here?
Error: <path>/src/dom/treewalker.js: We don't know what to do with this node type. We were previously a Statement but we can't fit in here?
    at NodePath.insertAfter (<path>/node_modules/babel-traverse/lib/path/modification.js:175:13)
    at NodePath.replaceWithMultiple (<path>/node_modules/babel-traverse/lib/path/replacement.js:82:8)
    at PluginPass.exit (<path>/node_modules/babel-plugin-transform-class/lib/index.js:20:14)
    at newFn (<path>/node_modules/babel-traverse/lib/visitors.js:276:21)
    at NodePath._call (<path>/node_modules/babel-traverse/lib/path/context.js:76:18)
    at NodePath.call (<path>/node_modules/babel-traverse/lib/path/context.js:48:17)
    at NodePath.visit (<path>/node_modules/babel-traverse/lib/path/context.js:117:8)
    at TraversalContext.visitQueue (<path>/node_modules/babel-traverse/lib/context.js:150:16)
    at TraversalContext.visitSingle (<path>/node_modules/babel-traverse/lib/context.js:108:19)
    at TraversalContext.visit (<path>/node_modules/babel-traverse/lib/context.js:192:19)

Here goes /src/dom/treewalker.js
export default class TreeWalker {
  // empty test
}

My solution for now is to put the export on a seperate line.

Thank you for your feedback
I usually use dedicated lines for exports
But yes this should be supported, I'll look into it

Did some try
@espretto
Which transform plugin did you use for the es6 module support?

I'm using a subset of the @babel/preset-env, here goes my .babelrc:
{
  "plugins": [
    "@babel/plugin-transform-flow-strip-types",

    "transform-class",

    "@babel/plugin-transform-arrow-functions",
    "@babel/plugin-transform-block-scoped-functions",
    "@babel/plugin-transform-block-scoping",
    ["@babel/plugin-transform-computed-properties", { "loose": false }],
    "@babel/plugin-transform-destructuring",
    "@babel/plugin-transform-duplicate-keys",
    "@babel/plugin-transform-literals",
    "@babel/plugin-transform-parameters",
    "@babel/plugin-transform-shorthand-properties",
    "@babel/plugin-transform-spread",
    "@babel/plugin-transform-template-literals"
  ],
  "parserOpts": {
    "plugins": ["flow"]
  }
}

I can't find the module support though. it just seems to work.

Thanks
I think I found the solution
If you are ok, I'll publish it in a feature branch so you can confirm it is working for you, and add you as a reviewer of the Pull Request

So current state is working, but will still try to make it better
Instead of failing it now transforms
export default class TreeWalker {
  // empty test
}

Into
function TreeWalker() {
  // empty test
}
export default TreeWalker

and
export class TreeWalker {
  // empty test
}

Into
function TreeWalker() {
  // empty test
}
export { TreeWalker }

Note that I realize it is kind of a workaround.
I'm a bit concerned because my transform plugin is meant to work "as-is" and provide
export default function TreeWalker() {
  // empty test
}

and
export function TreeWalker() {
  // empty test
}

I'll spend a little more time to get what's going wrong


internal/certgen: handle error from writeCertsPEM

Signed-off-by: Dave Cheney<EMAIL_ADDRESS>

Actually, I'll fold this into #1232 .


fix duplicate generation of referenceBeanName

What is the purpose of the change
In the ReferenceAnnotationBeanPostProcessor#doGetInjectedBean() method, the getReferenceBeanName() method has already been called, and there is no need to call the getReferenceBeanName() method again to calculate the beanName when the registerReferenceBean() method is called. If there are many parameters, it will lead to redundant calculations and waste of resources.
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Looks good

Please merge master to fix the conflicts.


⚠ Jenkins Plugins Artifactory has degraded performance

In edb034e, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1284 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 8260dce after 12 minutes.


[Vendor] update golang.org/x/crypto

as title

Approving due to change in SSH client-auth, tho unsure if we are even using that part of code in our SSH implementation.

Codecov Report

Merging #12481 into master will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master   #12481      +/-   ##
==========================================
+ Coverage   43.77%   43.80%   +0.03%
==========================================
  Files         631      631
  Lines       69851    69851
==========================================
+ Hits        30576    30597      +21
+ Misses      34325    34312      -13
+ Partials     4950     4942       -8

Impacted Files
Coverage Δ

modules/git/submodule.go
74.00% <100.00%> (ø)

services/pull/update.go
51.92% <0.00%> (-5.77%)
:arrow_down:

modules/queue/workerpool.go
60.00% <0.00%> (-2.05%)
:arrow_down:

services/pull/temp_repo.go
29.78% <0.00%> (ø)

models/issue.go
57.14% <0.00%> (+0.35%)
:arrow_up:

modules/notification/webhook/webhook.go
48.95% <0.00%> (+0.52%)
:arrow_up:

services/pull/pull.go
43.41% <0.00%> (+0.69%)
:arrow_up:

modules/git/repo.go
52.79% <0.00%> (+1.01%)
:arrow_up:

modules/git/command.go
90.19% <0.00%> (+1.96%)
:arrow_up:

services/pull/patch.go
68.96% <0.00%> (+2.58%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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

🚀


Making redisson operation atomic

Hi, i have a usecase that i'm trying to implement using redisson. I have 2 redisson instances running on the same server performing the same operation.
Code snippet of redisson instance 1:
Config config = Config.fromJSON(new File("//home//user//SingleNodeConfig.json"));
		RedissonClient redisson = Redisson.create(config);

		RMap<String,String> map = redisson.getMap("map");
		map.put("key1", "value1");

Code snippet of redisson instance 2:
Config config = Config.fromJSON(new File("//home//user//SingleNodeConfig.json"));
		RedissonClient redisson = Redisson.create(config);

		RMap<String,String> map = redisson.getMap("map");
		map.put("key1", "value2");

My use case is this: At an instant of time both the instances could access the same key and update its value twice. I want to restrict this i.e., if both instances are accessing the same key at the same time, only one update should occur and not both.
My question is this, which would be the best locking mechanism to deal with this or should i handle this on my own???

First of all the situation you described is not an atomic operation issue. Your instance1 and instance2 both have atomic access to the same field key1 and that is guaranteed by the underlying Redis.
The use case you described requires a CAS operation, which you can do so using putIfAbsent from RMap


Should predicates allow backward jumps if a gas limit is imposed?

Predicates do not currently allow backward jumps. This is a protocol restriction:

During predicate mode, hitting any of the following instructions causes predicate verification to halt, returning Boolean false:

Any contract instruction.
JI, JNEI, JMP or JNE with jump-to value less than or equal to $pc (these would allow loops). In other words, $pc must be strictly increasing.

The downside of the above is that function calls cannot be properly supported because they require jumps to and from the functions being called, which evidently leads to having backward jumps at some point. For now, the compiler will inline all function calls in predicates but that can lead to bytecode size bloat.
@adlerjohn mentioned that it may be possible to remove the restriction above if we impose a gas limit that guarantees that the predicate eventually halts execution.

If predicates have a guaranteed upper bound on cost (e.g. by using gas metering), then sure. One thing we have to be careful of is that changes to the gas schedule will require re-verifying predicates in the mempool, along with the possibility that some predicates may become unsatisfiable.

@mitch-fuel assigning this to you as it's related to #440

Closing as this issue is resolved and backward jumps are allowed.


Build Failed with oat++ v1.3.0

Similar switch away from StrBuffer to its std::string representation leads to compile errors like
oatpp-sqlite/src/oatpp-sqlite/mapping/type/Blob.hpp:40:57: error: ‘StrBuffer’ is not a member of ‘oatpp::base’
   40 | typedef oatpp::data::mapping::type::ObjectWrapper<base::StrBuffer, __class::Blob> Blob;

This needs to be adjusted to match the API.

Hello @grisuthedragon ,
1.3.0 is not merged to master yet.
All oatpp modules will be updated once oatpp 1.3.0 is in master.


Details and examples for official PublicSuffix algorithm change

Re: https://github.com/weppos/publicsuffix-ruby/pull/108#issuecomment-226246111
Please let me know if you'd like the monkey patch example removed, or you can merge and tweak as you see fit. Thank you!

Instead of monkey patching, I'd encourage people to create a custom wrapper (or proxy). That's for example what we do at DNSimple for third party libs.
http://confreaks.tv/videos/railsconf2016-developing-and-maintaining-a-platform-with-rails-and-lotus
It works very well, and you avoid monkey patching a lib you have no control of (that could more or less suddenly change).

Ok, I'll look into that. PR updated to remove the monkey patch example.

I don't think I caused that CI failure -- this patch is just a doc change.

It was definitely not you! Thanks for the patch.


About "Output Files" of pipeline node property

Hello,
is the "Output Files" field in a pipeline node really used?
I fellow the hello world tutorial, and I see that if I change the "Output Files" field in the  load_data.ipynb node, the pipeline is executed anyway without a blink. This means that neither the actual node nor the following one really need this field, and their link is "manually hardcoded" within the notebooks via the write and read of the CSV files.
So my question: why is it this field needed?
Is there a way of accessing this property inside the notebooks?
Thank you for the clarification

Hi @vlavorini,
You are right that local pipeline execution does not require output files to be declared. However, if you run a pipeline on Kubeflow Pipelines (or in the future in other supported remote environments, where each notebook or Python script is executed in an isolated container), you have to.  Please take a look at the extended tutorial (https://github.com/elyra-ai/examples/tree/master/pipelines/hello_world_kubeflow_pipelines) for a more in-depth explanation.


Add HTML ID attributes to login page

Describe the issue
We want to run our automatic acceptance tests against our dev environment. That does require us to login. In our testing setup we are unable to pass basic authentication trough headers or URL.
What we want to do is before starting the testing, navigate to the Frank login page, enter credentials and start testing.
Although the selectors we have to make to access the username, password fields and login button are not the nicest.

Pleasee add matching id attributes.
Reporter
Laurens

In addition, the use of input type='username' is wrong as it is not an existing type.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password


regression: wat-1.0.39 isn't the same results as 1.0.38

One of our tests starts failing as soon as we upgrade to this version. I'll try and pin it down some more because this is at the moment a slightly vague issue, but some behavior's changed.

Well it's got to be wasmparser 0.79.0 -> 80 or wasmprinter 0.2.27->28...


how to insert empty date field into sql?

I have a field in Excel that is datetime in SQL.When I have some data in Excel, everything works great with ConvertToDateTime..
But when a field in Excel is empty, how can I insert NULL value into SQL table?
I thought that I should put DBNull.Value , but that doesn't work.

If someone needs this, this line did the work:
DateTime? dt = string.IsNullOrEmpty(Convert.ToString(dr[20])) ? (DateTime?)null : DateTime.Parse(Convert.ToString(dr[20]));

Exactly, you have to use nullable DateTime?

@tricman10 If your input Excel sheet contains sane dates, you might get away with the following:
var dt = (DateTime?)dr[20];

or more defensively:
var dt = dr[20] is DateTime ? (DateTime?)dr[20] : null;

This avoids additional serializing and parsing, and potential culture problems when running the program on other machines.

@andersnm
Thank you a lot! You have saved me! it almost worked my way.. in some cases it didn't. and with you solution,it works like a charm! :)

Great news, thanks for the update!


Examples: add nm to test-rat and updated schema versions to 1.2.1.

See #58

This is a really messy area that has caused a lot of confusion for a lot of people, judging by the constant questions.
Even here:

So, it means that it should NOT include name of the RAT test (that is already included in the valueset).

Should or shall?
The JSON Schema for v1.0.1 defines it like this:
        "nm": {
          "description": "NAA Test Name",
          "type": "string"
        },
        "ma": {
          "description": "RAT Test name and manufacturer",
          "$ref": "https://id.uvci.eu/DGC.ValueSets.schema.json#/$defs/test-manf"
        },

where both nm and ma are optional from a structural JSON schema perspective.
Verification Business Rules will determine via a data-driven approach (what kind of test do we have? which fields do we need for that kind of test?) what is valid.
Summary:

RAT - ma field only, not nm
NAAT - ma and 'nm' are both optional according to the Annex in EU Regs

nm field remains in the schema to allow optional sharing information about NAA Test name

... but elsewhere in the eHealthNetwork documentation it was stated as a general principle that all optional-only items have been dropped from the spec, so nm should actually be removed


IsFunc, HasAutoProperty

Codecov Report

Merging #43 (9f5b4d7) into main (bd01029) will increase coverage by 0.01%.
The diff coverage is 96.66%.

@@            Coverage Diff             @@
##             main      #43      +/-   ##
==========================================
+ Coverage   93.05%   93.07%   +0.01%
==========================================
  Files          12       12
  Lines        6019     6035      +16
==========================================
+ Hits         5601     5617      +16
  Misses        327      327
  Partials       91       91

Impacted Files
Coverage Δ

func.go
97.94% <96.55%> (-0.25%)
:arrow_down:

codebuild.go
93.96% <100.00%> (+0.01%)
:arrow_up:

Continue to review full report at Codecov.

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


UITests

Added the UITests for completed project

Closing PR now.
We should have this in a Mobile DevOps labs.


refactor the old landingpage to the new site generation tool "Hugo". …

…Add tutorials, components of the gardeneer and foreign links to gardener related pages

keep in mind that I am unable to test the CI build lokal in all details.
May this break after accepting the pull request.
I must change some settings in the hugo.toml and .ci build pipeline without the possibility
to test them. Reason: https://gardener.cloud domain will be assemble in the generated content and
all links are absolute and not relative.

I'm seeing a directory called docs/components/gardner seems like a typo.

thanks for the feedback. The docs dir will be cleaned up after the first build process. I cleaned it for the very first time by hand.

@freegroup Can you please also add i some information on how you have setup the system to render external content, also on the CI? and some usage hints ... maybe directly in the Readme.md.

Add some documentation how to run the HUGO site local and how to add a page.

Whats the status on this one, is this blocked on some issues?

320 and up comments from @msohn and vacation....

integrate almost every comment.  (3 open in discussion)
Big thanks you to matthias for the review/effort!

Can we split the source of the documentation from the hugo runtime and the generated website ?
Maybe into two different repositories ?

two different repos make no sense in case of "hugo". Hugo generates a set of empty folders.
The one and only content related folder is "hugo/theme/learn" wich is well separated.
All other stuff are custom files.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

for now LGTM
This PR is too large to add further improvements to it, let's do further improvements in new PRs incrementally.
Thanks for your patience, I know I am picky


Remove package needrestart from the image

System
Ubuntu 22.04 from Microsoft store (29 Apr 2022)
Windows 11 21H2, OS build 22000.613
WSL ver. 28/03/2022, Kernel <IP_ADDRESS>
Error message seen on first and subsequent starts:
Failed to retrieve available kernel versions.
Failed to check for processor microcode upgrades.
Possible solution
Discussed at: askubuntu
Short answer:
sudo -e /etc/needrestart/needrestart.conf
Uncomment and change the following settings:
$nrconf{kernelhints} = 0;
$nrconf{ucodehints} = 0;

Comment

$nrconf{kernelhints} was not seen in my version of needrestart.conf, but solution worked OK
removing needrestart also works
the askubuntu discussion suggests solution for WSL1 user may be different.
Is there need for needrestart to be installed and/or started in WSL version at all.

Thanks for your report.
The package needrestart is not required on WSL images and must be removed.
Do not hesitate to report any new bug you may find.

Latest versions of Ubuntu-22.04 and the default Ubuntu app available on store had that package removed. We can close this issue now. Thanks for reporting that and do not hesitate and reporting any new bug you may find.


set dom

set selector with dom

https://github.com/rstacruz/nprogress/issues/124

Thanks - will roll this in with the next version on #218.


[IMPROVEMENT] Unregister the process when it fails to start in creation

What's the task? Please describe
https://github.com/longhorn/longhorn-instance-manager/blob/6372baca91084d36461ea860f8e7b45115a1a858/pkg/process/process_manager.go#L252-L262
When process fails to start in creation, we should unregister the process
Additional context
Need to make sure there is no regression issue.

Also, add the invalid label.


Sanitize carats from file name

When resizing images to fit, I use a resize string such as resize_to: '230x250^'.  The carat is not a valid character for online filenames, and breaks stuff.
Adding it to the sanitization whitelist.

hi @workergnome, first of all thank you for contribution. It is really kind of you! thank you! didnt know about ^ sign, for sure we need to sanitize it if this is valid imagemagick modifier. I would suggest to replace it with some valid string/char instead of stripping it completely. We do it for example with < replacing it with lt. all that to avoid names collision.
my suggestion is change '^' => 'c' what do you think?

Sounds good. I'll modify my pull request.
—
David Newbury
(773) 547-2272
<EMAIL_ADDRESS>On Mon, Apr 6, 2015 at 4:19 PM, Jakub Niewczas<EMAIL_ADDRESS>wrote:

hi @workergnome, first of all thank you for contribution. It is really kind of you! thank you! didnt know about ^ sign, for sure we need to sanitize it if this is valid imagemagick modifier. I would suggest to replace it with some valid string/char instead of stripping it completely. We do it for example with < replacing it with lt. all that to avoid names collision.
my suggestion is change '^' => 'c' what do you think?
Reply to this email directly or view it on GitHub:
https://github.com/kubenstein/middleman-simple-thumbnailer/pull/8#issuecomment-90228600

I've tweaked the pull request to handle this.

thank you!


Problematic frame: # C  [rxtxSerial.dll+0x4465]

按照操作做了 输入信息后 点击发送数据

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000180004465, pid=14496, tid=0x0000000000004f44

JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode windows-amd64 compressed oops)
Problematic frame:
C  [rxtxSerial.dll+0x4465]

Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

An error report file with more information is saved as:

An error report file with more information is saved as:
这个下面有个log日志，内容贴一下