issue(forms): Input, scrolling, keyboard issues for forms

Right now, the way Ionic handles form input can be better. Ionic 1 had awesome defaults for form inputs with regards to keyboard handling, content scrolling, etc. Ionic 2 needs to be made consistent, and more importantly, work properly for form inputs consistently across all platforms (iOS, Android, Windows).
See this repo for the code example which should be run on devices: https://github.com/dylanvdmerwe/ionic2-formtest
Android:

[ ] 1. When selecting an input the entire form content should be scrolled so that the selected item is visible after the keyboard is displayed.
[x] 2. When the keyboard is hidden, set the scrolling back to it's original position and remove added padding.
[x] 3. Touching an area that is not an input dismisses the keyboard.
[ ] 4. If the user selects a second input after filling in the first one, the screen should be scrolled to focus on the newly selected input field.
[x] 5. Some keyboards have a next, previous and done button. These should be hooked into the form inputs on the page in order to allow the user to cycle through the input options. [unable to test as cannot get a keyboard with next and prev buttons]
[x] 6. Support for autocorrect, autocomplete & autocapitalize and combinations thereof.

iOS:

[x] 1. When selecting an input the entire form content should be scrolled so that the selected item is visible after the keyboard is displayed.
[x] 2. When the keyboard is hidden, set the scrolling back to it's original position and remove added padding.
[x] 3. Touching an area that is not an input dismisses the keyboard.
[x] 4. If the user selects a second input after filling in the first one, the screen should be scrolled to focus on the newly selected input field.
[ ] 5. Some keyboards have a next, previous and done button. These should be hooked into the form inputs on the page in order to allow the user to cycle through the input options.
[x] 6. Support for autocorrect, autocomplete & autocapitalize and combinations thereof.

Note that this issue has nothing to do with forms or inputs in a slides component. That would be a seperate consistency check to perform.
Which Ionic Version? 2.x
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.1.1
Ionic Framework Version: 2.0.0-beta.4-201604170622
Ionic CLI Version: 2.0.0-beta.24
Ionic App Lib Version: 2.0.0-beta.14
OS:
Node Version: v5.7.0

@dylanvdmerwe This is great, thanks for putting this together! As for using the next and previous buttons to tab up and down the inputs, this should be working but maybe something broke recently.
Also goes for auto complete and auto correct, by default they are disabled unless they are specifically added onto the element: https://github.com/driftyco/ionic/blob/2.0/ionic/components/input/input-base.ts#L217
Do you think auto capitalization should be disabled by default too?

@adamdbradley

I cannot get the keyboard buttons on iOS to shift between the various inputs. They get "confused" and the keyboard eventually just closes. Still need to test on Android when I test with other keyboards that have these buttons.
Not sure what is best for the defaults for auto complete and auto correct. In iOS for certain keyboard types they are enabled by default  - but I think it's best to follow standard <input> rules in which they are both disabled until explicitly enabled?
I will test some permutations for auto complete and auto capitalization a bit later. Note I logged this separately here when the keyboard plugin changed.

Please note I am testing these on actual devices.

@adamdbradley I have updated the items above. Things outstanding are definite reproduceable issues.

Where are we on Android issue #1? It's totally messing up my app without it.

+1 on Android issue #1 :)

Any movement on the items listed in this issue?

@dylanvdmerwe once next beta is release (beta8) we will focus in fixing issues like this. Excuse the inconveniences

+1 on Android issue #1 :)

+1 on Android issue :

. When selecting an input the entire form content should be scrolled so that the selected item is visible after the keyboard is displayed.

This is preventing me from fully porting from ionic1 to ionic 2 .
All the best!

This is preventing me from fully porting from ionic1 to ionic 2 .

Same here.

+1 on Android issue #1
Please fix this at the earliest!

Can you please give an update?  Hard to demo with this primary functionality not working...
Thanks!

I would appreciate an update on this as well. Our ion-input elements are not scrolled into view when focusing them. We tried switching to normal input elements but that causes all kinds of other issues. Thanks!

Hello all! I can assure you that we are working hard on issues like this. Are you all mainly seeing this issue on ios or android? Or does it happen on both?

Happens on android, not sure about ios. Right now, only once I start typing the UI scrolls up to show the input. Ideally, it should happen as soon as focussed and key board pops up.

Hi,
I'm seeing several more issues on iOS on device (haven't checked on Android):

With floating labels, when clicking an input it often temporarily displays an empty line before the value, causing the value to jump down and the input to expand vertically. With normal labels, the value is instead sometimes temporarily displaced horizontally.
With floating labels, the caret jumps outside the input when scrolling.
When using the cordova keyboard plugin and using the accessory bar to navigate between fields, the whole view sometimes jumps. After setting disableScroll(true), the next button works fine but the back button still causes the screen to jump. Not sure if this should be reported there instead?

Thanks for the good work on Ionic, looking forward to having the las kinks ironed out!

Same issue with keyboard and ion-input in Android. Very important issue on all apps with forms!

No update on this critical issue?

any update on this issue?

Would love for this to be looked at in an upcoming RC.

Update on this. #5 for iOS I cannot reproduce. That's working fine for me in master, can someone confirm?
Looking at #1 now.

I'm facing same issue . Is any updates on same ? .

On iOS #1 is not working great on large screens (iPad). The input is scrolled to the very top, while it would be neat to have it closer to the keyboard.

Hi,
Took some time to investigate the problem, as it occured on several devices on our side.
Android:

Looks fine when enabling scrollAssist
Still some bug when switching from one ion-input to another when the keyboard is already open (page scroll up to much).

iOS:

First time, the page doesn't scroll
Second time, on any input of the page, the page scroll up accurately
Same as for Android, when switching between field, page scroll too much.

After some search, we found out that scroolView.scrollTo use scrollTop HTML property.
This property is limited by the theorical value: scrollHeight - clientHeight.
We just added following lines into scroll-view.js (node_modules/ionic-angular/util/):
console.log(fromY + ' =>' + y);
console.log('max theorical value: ' + (this._el.scrollHeight - this._el.clientHeight));
And the problem seems obvious.
For some reasons, when you focus the field on Android, the keyboard is generated before scrolling up, so the maximum theorical value is superior to the value we want to scroll up. On iOS, on the first time, it's not the case. So the maximum scroll up value is one.
Your turn ;)

@EDumdum How do I replicate this issue? When I have focus in an input, and the keyboard is already up, and switch to the next input, the next input scrolls in below the header. Does it not do that for you?

Still some bug when switching from one ion-input to another when the keyboard is already open (page scroll up to much).

H

Hi @adamdbradley
Step to create example below. Screenshot are form emulator, but we reproduce the same behaviour on devices. Form is here to add some color (blue = focused field, red = other field).
Step to reproduce

Focus field 2
https://drive.google.com/open?id=0B6y5VVmSy-NVZ2xZdjFORzctZFE
Focus field 1
https://drive.google.com/open?id=0B6y5VVmSy-NVT0ZpUmd6RllPeHM
Focus field 2
https://drive.google.com/open?id=0B6y5VVmSy-NVcExibnA5bUJTWUk

Step to create example

Created a new project (ionic start -v2 myApp) => RC2

Added scrollAssist in my app constructor
constructor(config: Config, platform: Platform) {   config.set('scrollAssist', true);   ... }

Modified my home.html & home.ts & a little add to .scss

`

Home

Bla bla

`
import { Component } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; @Component({   selector: 'page-home',   templateUrl: 'home.html' }) export class HomePage {   public form: FormGroup;   constructor(private formBuilder: FormBuilder) {     this.form = this.formBuilder.group({             dummyField: ['', [Validators.required, Validators.pattern('[0-9]{3}')]],             dummyField2: ['', [Validators.required, Validators.pattern('[0-9]{3}')]]         });   }   ngOnInit() {   } }
.takePlace {     height: 300px;     border: 1px solid red; }

nightly build moves they input fields properly, but some places when you press back button and keyboard slides down, the inputs stay where they are (slide up) they should have come to the original place.
Secondly, i am unable to type on emulator, since it is forcing me to type on onscreen keyboard and emu is not displaying that.

@kodeine

Great thanks for the feedback! I'll use all these notes for various testing scenarios. I'll try to get a nightly out soon so everyone can test it out, thanks!

@adamdbradley
another scenario, i was on a page where i had input and keyboard was open, i clicked back button and noticed the tabs were on top of keyboard as well. so maybe we need to keep the tabs behind keyboard.

Related: https://github.com/driftyco/ionic/commit/c4cf9df387da3524d80660fb69037de77553feea

It works better in nightly!
I found a bug introduced by the recent changes though. If input A has focus and you tap input B, the keyboard hides and none of the inputs will have focus.
Also, when focusing an input, it "jumps" into position, instead of a smooth scroll animation like when you focus an input in Safari for example, is that intended?

I'm really interested in knowing whether there will be support for "next" button for inputs.
It's rather difficult for the user(android, not sure for ios) to not press the submit/ok button thinking it would go to the next input rather than finishing the form action.

@biesbjerg Can you describe more how to recreate those issues? When you say it jumps into position, does the header get scrolled away? Which type of input? Is the input up at the top of the app or near the bottom? Can you provide a video of the problem? Thanks

@adamdbradley this video shows the "jump into position instead of a smooth scroll" and also shows a bug I noticed, that if you have focus on an input and press back hardware button, it doesn't scroll the content back.

@adamdbradley This is the input focus problem, where keyboard disappears rather than focusing the tapped input.

And this is on Android, where on focus, my form makes a sudden jump, and the first focused input is not visible on screen:

Hello @biesbjerg ! We have released another nightly very recently that included some more fixes for input scrolling, would you mind giving that a try?  Thanks!

@jgw96 Hi! I tested 2.0.0-rc.3-201611302233 and nothing changed, so the gif recordings are still valid issues.

Thanks for testing @biesbjerg ! Could you post a repo or create a plunkr that i can use to reproduce this issue?

@jgw96 Here you go! https://github.com/biesbjerg/6228-ionic-keyboard-issues

Hello @biesbjerg ! Thanks for the repo. There are a few more changes happening with scroll today which may fix this issue, I will update this post with my findings after testing.

Hi @jgw96! Cool! :-)

Hi @jgw96! Cool! :-)

Touching an area that is not an input dismisses the keyboard.

I see this part (well, and other parts) has a check next to it; does this mean that it's going to be in the next release? This would be awesome for chat applications that have a Send button in an <ion-footer> on top of the Keyboard! Then the Keyboard wouldn't always close after clicking the Send button

Hi everyone. I also have the same problem. And I observe some thing.
When  inputs not selected we have this case.

But when we select it, we have this one

As result I made that bad step with !important

And it works for me as temporary solution.

So.. things get really messy when you have something that uses position:relative.
In this example, the logo is the element with relative position, and if you press on the first input it gets like this:

But pressing on the second input also pushes the logo:

@jgw96 any news about this issue and about the RC.4 ?

I too am really hoping to have any news on this issue, my client is putting lots of pressure 🙉

The good news is that inputs behave so much better in the latest nightlies. I think many people, including myself as the original logger of this issue, will be happy with the fixes.
@yannbf, to be fair Ionic 2 is still prerelease software.

I understand that and find it really reasonable. I was just hoping to have an update to pass it on. I am very grateful for what the ionic team has done.
Anyways, how can test my current app with that nightly?

@yannbf  npm install ionic-angular@nightly --save
and don't forget to update your package.json to angular 2.2.1

Works much better with the nightly! Thanks guys

Hello all! Thanks for using Ionic! @biesbjerg and @yannbf , would you guys mind updating to rc4 and testing please? That release has a ton of input scrolling fixes that hopefully should fix you guy's issues. Thanks!

@jgw96 Yes, already did it. It's way much better! Anxious for the final release 😄

@jgw96 After updating things got way better, but elements with position:absolute are still affected. I was able to get around from that page with logo I sent a print before, but as in the following page I have to have "agreement terms" in page bottom, I stil am facing the issue:

In my case, after updating to RC5, the jumping input issue on Android remains. I just started a new project with the blank template and I copied the ion-input component from the documentation into the ion-content, the behaviour below.

As you can see every component jumps except the first one.
For the record this is the output of the ionic info command.
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.5
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.0.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.2
Xcode version: Not installed

@almr193 that behaviour looks correct. The screen scrolls as a keyboard will be visible on mobile devices. The scrolling ensures that the highlighted input is always visible and not covered by the on-screen keyboard.

@dylanvdmerwe Thank you for the quick reply, the scenario I presented it looks correct and I understand that the screen scrolls as the keyboard show itself at the screen. However, I've got another odd scenario with an ion-input within an ion-list with item reorder enabled. The input jumps out of bounds and the user can not see what it is being written.

@almr193 yes, this is still an unsolved issue, unfortunately.
See Android item 1) and 4) of the initial post above.

+1 Still unresolved. Any methods from Keyboard in ionic-native doesnt seem to help on Android

I got a problem with using slides + inputs. It shows a very strange behaviour by not performing any scrolling.

+1

+1

Dear ionic team ( @manucorporat , @brandyscarney , @adamdbradley )
I know you are working hard on the next version, but these keyboard issues are major important for app experience. Please consider giving them a high prio, together with other long standing issues like virtual-scroll.
Huge app size and slow startup suck, okay, but when the app is installed and running, it should give a proper experience on the basic things like keyboard handling.

Have to chime in here, @mpaland  is right.  There are so many outstanding bugs (some of mine are 4 months on and still open with no reply!) that are to do with basic functionality of an app.  See here for example:

#9633
#9518
#9514
#8607

These have seemingly been just left to rot, whilst the team add admittedly nice features, such as the split pane recently.
Problem is, there's really no point adding new features if the core ones are still broken in some obvious way.  It's arguably more important to get the fundamental things right before adding to the framework.
Loving all the hard work, but priorities seem to be wrong here.

Guys, the best way to get things prioritized and fixed is to provide reproducible code that the Ionic team can test and find the issues. Screenshots and gifs are epic, but code they can use to see your issues is best. #2cents

I am also having these issues. This is not a trivial problem. How has this been an issue for a year now with seemingly no fix?

I'm having an issue when an input field is focused, the screen goes up and down every time I click on the field.

@pedrodurek it would be great if you provide a plunker so guys at ionic can reproduce.

I have found a temporary workaround for the issue of text jumping around. This is NOT a fix but essentially a hack until a better fix is implemented.
First, make sure you have these set:
this.keyboard.disableScroll(false);
this.keyboard.hideKeyboardAccessoryBar(true);

next, in your app.module.ts, find the following:
``IonicModule.forRoot(YourApp)```
and make it like this:
``IonicModule.forRoot(YourApp, {
scrollAssist: false,
autoFocusAssist: false
}),```
This fixes any jumping issues I have, but unfortunately has the effect of pushing the navbar off the screen when a user is typing. This seems to be the only ill side effect that I have noticed, though.

@Tyler-Darby Thanks for shared your solution, it's not the best solution but it's a reasonable one, and it worked for me.

I was having this problem and it was driving me nuts, but I finally figured out that it was caused by applying a transform: translate3d(0,0,0) to elements to force hardware acceleration. Turns out that breaks the input focus when the keyboard comes up.
I'm sure that's not the cause of everyone's issue, but hopefully it can help someone.

I have multiple platforms and I was fixing it by..
For ios and other platforms I did in app.module.ts:
@NgModule({
        ...
        imports: [
                IonicModule.forRoot(
                        MyApp,
                        {
                                ...
                                scrollAssist: false,
                                autoFocusAssist: false,
                                scrollPadding: false,
                        },
                        ...
                ),
         ...

And then for android I did in app.component.ts:
constructor(
                ...
                public config: Config,
        ) {
                this.config.set('android', 'scrollAssist', true);
                this.config.set('android', 'autoFocusAssist', 'delay' );
               ...

Maybe it will be helpful for someone.
Thank you guys for hints ;)

Check the video :
https://www.dropbox.com/s/6p49z0chle9g1b9/git-ios-input.mov?dl=0
Environment info :
global packages:
@ionic/cli-utils : 1.3.0
Cordova CLI      : 7.0.1
Ionic CLI        : 3.3.0

local packages:
@ionic/app-scripts              : 1.3.7
@ionic/cli-plugin-cordova       : 1.3.0
@ionic/cli-plugin-ionic-angular : 1.3.0
Cordova Platforms               : ios 4.4.0
Ionic Framework                 : ionic-angular 3.3.0

System:
Node       : v7.10.0
OS         : macOS Sierra
Xcode      : Xcode 8.3.2 Build version 8E2002
ios-deploy : 1.9.0
ios-sim    : 5.0.8

I used  as
Try with it.

Hi @maulikakapure ,
I'm starting my first ionic application for my company and I also have the scrolling/focus problem with the keyboard. Obviously you found a solution which you have shown in your video. Could you provide the source code? I haven't yet found the right combination of workarounds, config parameters and html tags to use.
Thanks

@Tyler-Darby Hey Tyler, where do I put the following code?
this.keyboard.disableScroll(false);
this.keyboard.hideKeyboardAccessoryBar(true);

Hi @cwiejack
Please check a simple demo here : https://www.dropbox.com/s/1o9hrnjgt7u3bpy/BasicDemo.zip?dl=0
Thanks.

To fix the default keyword issues with Ionic, just put the following in the imports of your app.module.ts:
    IonicModule.forRoot(MyApp, {
      scrollAssist: false,
      autoFocusAssist: false
    })

That will fix the keyboard issues right away.

@aplimovil this solved the issue on my android app ! many cheers to you good man!

What the point to have scrollAssist & autoFocusAssist if setting them to true makes apps unusable?
Are there any cases where enabling them would give some advantages?

aplimovil's fix seems to have fixed all the problems I was having!
So yeah, I'd interested in why you'd ever set either of those to true.

@JefferE It's because Ionic's scrollAssist and autoFocusAssist features are broken in iOS (in Android they work ok, although almost unnoticed) and don't seem to have noted all the issue reports here enough so they fix it in a coming release. Hopefully they'll some day notice this thread and fix those features for good on iOS or selectively turn them off by default for now in iOS.

https://stackoverflow.com/questions/45584810/ionic-2-page-jumps-up-and-down-in-ios-when-using-ion-input
Anyone met with this issue before? It's happening only on iOS. Android is good.

when ion-textarea in grid,keyboard.disablescroll(false) not works?how do with the issue

This worked for me
imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp, {
            scrollPadding: false,
            scrollAssist: true,
            autoFocusAssist: false

    }),

Ionic info:
CLI Packages:

@ionic/cli-utils  : 1.10.2
    ionic (Ionic CLI) : 3.10.3

global packages:

    Cordova CLI : 7.0.1

local packages:

    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : android 6.2.3
    Ionic Framework    : ionic-angular 3.6.1

System:

    Android SDK Tools : 25.2.5
    ios-deploy        : 1.9.1
    ios-sim           : 5.0.8
    Node              : v6.11.3
    npm               : 3.10.10
    OS                : macOS Sierra
    Xcode             : Xcode 8.3.3 Build version 8E3004b

very Thanks,I will try it

just wanted to let you guys know I have a similar problem on iOS which is that the keyboard scrolls over the input fields and the content screen is not updated to make space for the keyboard.
the important bit that I found out is that when using plugins (like the @ionic-native/keyboard)
and doing things to your interface on the moment the keyboard shows with this.keyboard.onKeyboardShow().subscribe(()=>{ this.someFlag=true}) and using the flag in the interface to change something. it will not change, you will have to trigger the angular change detection yourself by importing ChangeDetectorRef and using its detectChanges() function in the subscribe.
I have created this gitrepo to show the case. Feel free to have a look. This was an eye-opener for me as I did not realise there are cases where you subscribe(()=>{}) to something, make changes, but the will not show in the interface.
became a bit wiser today :)
last thing: have a great weekend everyone!

It is bewildering to me that that this issue is over 1.5 years old and no action has been taken. This is completely ruining the flow of my app. It makes it look buggy and poor quality and we're having to result to hacks to make things come close to looking nice.

I have had a phone conversation with @matthewkremer of Ionic as a follow up of using the PRO version of ionic now, and pressed that this is a major issue. He said he understood and would try to push this to a higher priority.

Same for me. This does not look nice at all..

Hey all, this is becoming a top priority for us, see @adamdbradley's tweet this morning: https://twitter.com/adamdbradley/status/916295747968040960
Expect updates in coming days/weeks

Sounds good I hope we will get life back soon without applying unnecessary hacks.

For the people using WK already, I am preparing a new keyboard plugin: cordova-plugin-ionic-wkkeyboard:

First uninstall ionic-plugin-keyboard

cordova plugin rm ionic-keyboard-plugin --save

Install new plugin:

cordova plugin add cordova-plugin-ionic-wkkeyboard --save

cc @hitendramalviya @ionut-movila @mmolhoek @Tyler-Darby @yingbaby @maulikakapure @aplimovil

There is a strange issue with this new wkkeyboard and disableing/enableing ion-textarea with FormGroups and FormControls. After reenableing the complete form the ion-textarea remains disabled. It doesn't happen while using the 'old' keyboard.

What should I look for if the keyboard simply does not trigger a resize let alone a scroll to input?

It seems like the scrolling issue should already be solved, but I am still experiencing issues on ios where when the input is in the middle of the screen the input does not get scrolled to when the keyboard is up. This is an issue both when the input is tapped on or when I use the keyboard navigation keys. Am I missing something? I have tried a bunch of the solutions presented here, but they don't seem to be working. (for additional info I am using Ionic in the browser not as a native app)

wow 2018 y nada.
me dieron esta solución pero no es del todo perfecta
.scroll-content {
padding-bottom: 0 !important;
}

+1

Do you have this annoying bug with headers toolbar?
On Thu, Mar 29, 2018 at 11:31 PM, Emmanuel Fache<EMAIL_ADDRESS>wrote:

Vendettall, i tried that but it didn't work!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ionic-team/ionic/issues/6228#issuecomment-377362762,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYPMdggjRqZBZ0wghtxFjVbPLViBkR8hks5tjUSQgaJpZM4IKhUp
.

If you are still have this issue, please try the newer ionic keyboard plugin
ionic cordova plugin rm  ionic-keyboard-plugin
ionic cordova plugin add cordova-plugin-ionic-keyboard

Then set
<preference name="KeyboardResizeMode" value="ionic" />

In the config.xml

also seeing the transform problem happening. It's quite annoying.

For scrolling pb, i wrote a hack here : https://github.com/ionic-team/ionic/issues/10629#issuecomment-395084125

@dylanvdmerwe , @jgw96 @mhartington @Tyler-Darby @manucorporat @adamdbradley
Hi guys, I just created a custom directive to handle this issue on iOS and android platforms for Ionic 2 & 3 applications. Could you please check if this solve all the problems related to this scrolling issue.
I used scroll-into-view-if-needed ponyfill to make this directive
Install ion-input-scroll-into-view directive running the command npm install ion-input-scroll-into-view
Step-1
Attach the ion-input-scroll-into-view directive to the ion-input or ion-textarea as follows.
<ion-input ion-input-scroll-into-view></ion-input>
<ion-textarea ion-input-scroll-into-view></ion-textarea>
Step-2
You have to import the IonInputScrollIntoViewModule in the module.ts of your parent component as follows
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ParentPage } from './parent';
import { IonInputScrollIntoViewModule } from 'ion-input-scroll-into-view';

@NgModule({
  declarations: [
    ParentPage
  ],
  imports: [
    IonicPageModule.forChild(ParentPage),
    IonInputScrollIntoViewModule
  ],
})
export class ParentPageModule {}

npm link : https://www.npmjs.com/package/ion-input-scroll-into-view
github link : https://github.com/melwinVincent/ion-input-scroll-into-view


allow hyper-rustls as an alternative for hyper-tls, set the default to neither

(Another attempt at @akru's #39.)

What's the reasoning behind removing the default? I think it might confuse people who are upgrading

What's the reasoning behind removing the default? I think it might confuse people who are upgrading

No particular reason, I probably misread your comment on the previous PR. I reverted that part.
Though there is one thing that does bother me a bit: There is no easy way to say "I want rust-ipfs-api with hyper, but without any TLS implementation". It's also not entirely clear which of the optional dependencies are supposed to be used as features, and how they depend on each other.
If you want me to, I can make another PR, reordering that a bit, maybe like this:
[features]
default           = ["with-hyper-tls", "with-builder"]
with-hyper-tls    = ["with-hyper", "hyper-tls"]
with-hyper-rustls = ["with-hyper", "hyper-rustls"]
with-hyper        = ["hyper", "hyper-multipart-rfc7578", "failure"]
with-actix        = ["actix-http", "actix-multipart-rfc7578", "awc", "derive_more"]
with-builder      = ["typed-builder"]

That should make it clear how the features are supposed to be used.

No particular reason, I probably misread your comment on the previous PR. I reverted that part.
Though there is one thing that does bother me a bit: There is no easy way to say "I want rust-ipfs-api with hyper, but without any TLS implementation". It's also not entirely clear which of the optional dependencies are supposed to be used as features, and how they depend on each other.
If you want me to, I can make another PR, reordering that a bit, maybe like this:
[features]
default           = ["with-hyper-tls", "with-builder"]
with-hyper-tls    = ["with-hyper", "hyper-tls"]
with-hyper-rustls = ["with-hyper", "hyper-rustls"]
with-hyper        = ["hyper", "hyper-multipart-rfc7578", "failure"]
with-actix        = ["actix-http", "actix-multipart-rfc7578", "awc", "derive_more"]
with-builder      = ["typed-builder"]

That should make it clear how the features are supposed to be used.

If you want me to, I can make another PR, reordering that a bit, maybe like this:

Yeah, I think this works. I'm fine with the with- prefix since it's consistent.
Thank you!

If you want me to, I can make another PR, reordering that a bit, maybe like this:

Yeah, I think this works. I'm fine with the with- prefix since it's consistent.
Thank you!

Here we go. I figured it'd be easier to handle if I just append it to this PR.

Here we go. I figured it'd be easier to handle if I just append it to this PR.

Nice, this looks good. I'll update the docs before publishing a new build

Nice, this looks good. I'll update the docs before publishing a new build

Hm, just noticed that this maybe isn't too optional: features should be strictly additive, so adding more features to a compiling crate should not make it not compile.
I think the solution would be to default to one if both are active. The sad part is that there doesn't seem to be a nice way to emit a warning in this case, and it will also make the cfg situation even more complicated, which you lament in #70. (Though I think there are ways to mitigate that.)

Yeah, I'm working on just having separate crates for each backend implementation which should simplify things a bit, but it's still pretty far off. It also won't fully solve the "mutually exclusive feature flag" issue, but it should make it way easier to understand

It wouldn't? If you have a trait IpfsClient and then an impl IpfsClient for IpfsClientHyper, either in a subcrate or behind a feature flag...?

Yeah because the TLS crates would still be mutually exclusive I think

IpfsClientHyperRusTLS? Mmmh. I suppose HyperConnector could also be a (struct) type argument (questionable whether to have three separate news, or one with a <T: Connect> parameter...)


Transform.Copy is broken

al_copy_transform is wrapped like this:
// Makes a copy of a transformation.
func (t *Transform) Copy() *Transform {
	var dest C.ALLEGRO_TRANSFORM
	C.al_copy_transform((*C.ALLEGRO_TRANSFORM)(t), &dest)
	return (*Transform)(&dest)
}

However the first argument to al_copy_transform is the target (https://liballeg.org/a5docs/trunk/transformations.html#al_copy_transform), so this will copy the zeroed dest to t.

Fixed in https://github.com/dradtke/go-allegro/commit/84f79a58997bd961de8d1282940d6b32064765c9.


Auto-convert on typing

Instead of a "Run" button, we should simply convert the text automatically whenever the input changes. One way to achieve this could be using the onsubmit attribute of the form, as was done in an early version of the code that got commented out as the remaining pieces were being set in place:
https://github.com/waldyrious/rst-playground/blob/da5c9192f91cb764a71ce734daceea3e59f050c4/index.xhtml#L15
Note: converting the text automatically would probably require some sort of throttle to prevent running the conversion on every keystroke.

Here's what Djot uses:
input.onkeyup = debounce(parse_and_render, 400);

(https://github.com/jgm/djot/blob/52c15583dc1982adb8a32314e99344e1464e29d0/web/playground/index.js#L134)
and:
const debounce = (func, delay) => {
    let debounceTimer
    return function() {
        const context = this
        const args = arguments
            clearTimeout(debounceTimer)
                debounceTimer
            = setTimeout(() => func.apply(context, args), delay)
    }
}

(https://github.com/jgm/djot/blob/52c15583dc1982adb8a32314e99344e1464e29d0/web/playground/index.js#L201-L210)

And here's the code from Pygment's demo:
textarea.addEventListener('input', debouncedUpdate);

(https://github.com/pygments/pygments/blob/f0afb01195b5890ad7758554c23308db01a45be1/doc/_static/demo.js#L67)
and:
function debouncedUpdate() {
    if (fileInput.files.length > 0)
        return;

    if (textarea.value.length < 1000) {
        highlightShortDebounce();
    } else {
        highlightLongDebounce();
    }
}

(https://github.com/pygments/pygments/blob/f0afb01195b5890ad7758554c23308db01a45be1/doc/_static/demo.js#L55-L64)
and:
const highlightShortDebounce = debounce(highlight, 50);
const highlightLongDebounce = debounce(highlight, 500);

(https://github.com/pygments/pygments/blob/f0afb01195b5890ad7758554c23308db01a45be1/doc/_static/demo.js#L52-L53)
and:
function debounce(func, timeout) {
    let timer;
    return (...args) => {
        clearTimeout(timer);
        timer = setTimeout(() => func.apply(this, args), timeout);
    };
}

(https://github.com/pygments/pygments/blob/f0afb01195b5890ad7758554c23308db01a45be1/doc/_static/demo.js#L44-L50)
For reference, this functionality was introduced in pygments/pygments@fe3d2fc (#1999).


Code release

Hello, thank you for your work, I wonder when will the code and model be released?

The model is also released. Please check the latest update.


Add 240Case example

@claytonpbarrows I am not sure which versions are in the Manifest of SIIPExamples. It might fail because of that


Button icon Prop

Would be convenient to have a way to get Icon into button.

Merged into template branch.


Set http client to use default proxy settings

By default, HttpMessageHandler seems to not inherit the default proxy settings from the OS.  Setting them to the default from WebRequest seems to fix #399 for me.
I tested this using Fiddler as a proxy with basic auth, but I don't have a configuration to test with NTLM proxy authentication.  Hopefully this will "Just Work" like others have claimed it did for them.

Hi, @jimmylewis!
I tried code you suggest in the pull request:
httpMessageHandler.Proxy = WebRequest.DefaultWebProxy;
It does not work for me.
So you have to decide to use also another option for manual settings of the proxy cridentials as described in https://github.com/aspnet/LibraryManager/issues/399#issuecomment-472760343

After futher consideration, and comparing with now other tools handle this, I think it would actually be better to go down a route of letting users configure the proxy settings and save them.  It looks like NPM and NuGet both do this, which seems like decent prior art.  I'll try again with that approach.


Update 04-sdk-connect.md

Ideally we just want people to use whatever is latest, otherwise they will keep using older SDKs
Module: 04
Lab/Demo: 04

Remove version specific in the links and snippet

As a conflicting MCT opinion, I would say locking the labs down to a specific version helps prevent any last-second lab failures due to the library being updated between when the labs are validated and delivering the class. This library is updated about once a month, so that could very well happen. It's not uncommon for an SDK library to introduce a breaking change that requires a small fix to lab steps.
This is something that was experienced a lot in AZ-204. Any time a library is updated, we ran through the appropriate labs and did a PR moving the lab steps forward to the latest version of the library.

As far as updating the whole lab between version updates, the only comment is that we release updates to the SDK every couple of weeks, so the Lab update would need to be in a short cycle I guess?

It was just a differing opinion. If there's a high confidence that minor version updates won't break the labs, then remove the version from the labs by all means.
The only other thing to watch is the labs that start with the library pre-installed. Those labs would need to be updated regularly when the SDK is updated.

There should be no breaks (we verify that in our own release gates), although I cannot say the same for other libraries 😄

I did some more digging and stumbled across floating NuGet package versions.
Basically, the lab files in this repo could say 3.* in their csproj file, and we don't have to worry about manual versioning.
I wish I knew about this a few months ago 😆

Sounds very cool! And could be the answer 😄


Licenses with AND and OR

Hello guys,
I am creating a gitlab-ci job and adding a set of default permitted licenses to it, but the number of combinations possible makes it not practical. What do I mean?
Let's say I approve MIT and CC0-1.0, I would expect LicenseFinder to accept also (MIT OR anything) and (MIT AND CC0-1.0), but this is not the current behavior.
Any suggestion for the scenario described above?

Hi @possani ! Would it be possible to show an example of current and desired output? At first glance I am not sure we would be able to make a change for this. LF does not make decisions on what is permissible of not. We rely on individuals to create a decisions file. The issue is not knowing more context about the licenses for a dependency. For example, if we had two dependencies with the same name but different licenses, we cannot assume they are both approved as one could be Go and one could be Ruby. I think a more detailed example can outlined desired state here.
The logic you described does make sense but I think I just need to understand the use case a bit better and what commands you are running. Thanks!

Hi @xtreme-shane-lattanzio, thank you for your reply.
After running:
license_finder permitted_licenses add "MIT"
license_finder permitted_licenses add "CC0-1.0"
license_finder permitted_licenses add "CC-BY-4.0"
I would not expect to see:
Dependencies that need approval:
@fortawesome/free-regular-svg-icons, 5.13.0, "(CC-BY-4.0 AND MIT)"
store2, 2.11.1, "(MIT OR GPL-3.0)"
type-fest, 0.11.0, "(MIT OR CC0-1.0)"

I would like the same feature. Happens with a few NPM packages because in package.json SPDX expressions can be used: https://docs.npmjs.com/files/package.json#license. Another example for this: https://github.com/domenic/path-is-inside/blob/master/package.json

@possani Thanks for the clarification. This sounds like a good change. I thought you meant that they appeared on different lines but if it is like your example, we could have some kind of logic to evaluate those versions. If you want to make a PR regarding this we would be happy to look over it.
I also know there are other SPDX related issues/PRs from the past such as https://github.com/pivotal/LicenseFinder/pull/289/files that could be expanded upon. Not sure if they have additional context to help here.

I honestly don't have any experience with Ruby but will have a look at that.

Looks like this was closed by #755. Can you confirm @possani ?

Yes, this issue can be closed. Thank you, @nicolamarella!


Select text using specified font

Specify a font name (as seen in [layer fontPostscriptName]), and all the text elements that use this font will be selected.
This allows you to quickly and simply change all fonts in your document. using the Inspector.

Quick note: I tried to use Replace Font.sketchplugin to achieve this, but for text elements that contained text with different font sizes, the font size was reset.
This does not happen when using the Inspector to change fonts, thus why I created this plugin to just find and select the text elements I wanted to change.

Very nice, thank you : )


rubocop issues: tree_builder_compliance_history.rb

== app/presenters/tree_builder_compliance_history.rb ==
C: 31: 24: Optional arguments should appear at the end of the argument
list.
R: 53:  3: Assignment Branch Condition size for
x_get_compliance_detail_kids is too high. [21.93/20]

@miq-bot add_label cleanup/rubocop

This was on master before Euwe was cut


specialized/instantiates edges need to be emitted consistently for non-variable templates [phab:T27]

Created by zarko at 2015-02-27 23:30:12:
The definitions of the specializes and instantiates edges were refined after support for function and class templates was implemented. This support needs to be updated to be in line with the new definitions.

commit b71ca260f450c2bf45eaf5ee33b4f4f2f8fa0f0b

revision #555


wrong variables in example script

fixed wrong variables $1, $2 but should be $name, $quantity on line 30

@qxsch : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@qxsch : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks @qxsch.

Looks good; thanks @qxsch.


Flask (and Yukon) will take MIME type values from Win 10 registry

This will mean that Yukon fails to present anything in the front end if the user has installed a text editor or anything else that modifies the registry, the correct solution as pointed out here is to override the registry, not sure how to do that yet. Also this is detectable so I am considering adding a detection and telling the user about this. Maybe even offer to fix this in the registry?
https://github.com/golang/go/issues/32350

The image shows that registry on this Win 10 machine has been modified such that .js files no longer have the MIME type which is needed for the .js file to be usable on a loaded webpage. The browser will refuse to load scripts that have incorrect MIME types.

In this case it's possible to just erase the two keys: Content Type and PerceivedType for Cimputer\HKEY_CLASSES_ROOT..js

No, this is Flask/Windows specific, Electron is affected too

This will affect builds too

But can't you override the MIME type when serving requests in Flask?

Just tried, it doesn't work on Windows

def make_landing_and_bridge(state: GodState, api: Api) -> None:
    @server.route("/<path:path>", methods=["GET"])
    def any_file(path: str) -> typing.Any:
        with open(os.path.join(gui_dir, path), "rb") as f:
            if ".js" in path:
                print("Found a javascript file")
                response = Response(f.read(), mimetype="application/javascript")
                response.headers["Content-Type"] = "text/xml; charset=utf-8"
                return response
            else:
                print("Found a normal file")
                return Response(f.read())


feat: annual review list UI

Description
The purpose of this ticket is to change the main list management dashboard to the view of all the lists.
https://user-images.githubusercontent.com/1377253/197840819-ebe797e2-641a-4ba1-82c8-237d7e84b02f.mp4
Ticket in Trello
https://trello.com/c/UjZsaV51/1492-annual-review-list-new-ui

where did the filtering go? is it just because the {% block aside %} is missing?

Good question, they're still there. The list-items.njk file includes an aside but the lists settings and the new dashboard do not.


simplify lexer

sorry, this is not meant as critique, but I would like to make the lexer streaming as well and make it independen from the compiler, basically just work on an arbitrary character stream. also I think number tokens should be stored as strings. the jakt selfhost also moved there because parsing them too early can lead to problems. just let me know if that makes sense for you then I will see to make a PR. really like this project :)

i hacked my way through in my fork https://github.com/maddanio/unnamed-compiler, i feel I also fixed some things, not sure. it parses some small jakt code, but chokes on something big like the selfhosted parser. jsut an experiment :)

actually it ran into an infinite loop, fixing things in the parser but it already parses the first 40k of typechecker.jakt in 0.5s :)

After merging PRs #1 and #3, I think we can close this issue :^)


provide documented stats API

Hi Mozillians! I work on https://github.com/uProxy, a cross-platform (including Firefox) censorship circumvention tool. I just started looking into aggregating download stats from the various places that distribute uProxy, including the Firefox Add-ons site. Since I haven't yet found anything that does this already, I may write a script to do it myself, but currently this would mean using undocumented APIs designed for the add-ons site that might change at any time. I think there would be value in providing a documented stats API to Firefox add-on developers. What do you think?
Thanks for your consideration, and thanks for the great work over there!

We hope to move all of AMO to having a back end documented API. Have to confess stats is never a huge priority and is somewhere pretty far down the order of things happening, might happen one day though :+1:

Thanks for the quick response, @andymckay. In that case, it sounds like the quickest win would be if AMO would allow Firefox add-on developers to paste in a Google Analytics tracking ID, which if provided would be used to send download events to Google Analytics.
Some other browsers' extension sites (e.g. Chrome's) actually do this already. So developers of cross-platform browser extensions could use the same GA tracker in AMO as they use in other browsers' stores, and then more easily see how they're doing in Firefox as compared to the other platforms they support.
Would be cool if could be alternatives to GA for this too, but in practice GA is the only one I've seen used by other sites in this manner (e.g. bitbucket.org, readthedocs.org, etc.).

I'm all for Mozilla doing less and maintaining less. However a couple of problems I see are: 1) daily usage data doesn't come from a webpage but rather update pings sent through version check to Mozilla servers 2) terms and conditions etc of google analytics - not everyone in the mozilla community might be happy about such tracking (although it is used on a.m.o already so the point may be moot).

Glad there's some interest!
Re 1), would it work for tracking downloads? Usage would be nice, but even if it would only work for downloads, it could still be better than no GA integration at all for lots of add-on developers.
Re 2), I definitely appreciate those concerns. Sounds to me like it's moot if a.m.o. uses GA already, but should anyone else be pinged to make sure it's ok?
In the meantime, if this is something an open source contributor such as myself could work up a PR for, I'd be happy to take a crack at it if that could be helpful.

Something very similar, but not using GA, but just making an API is happening in #1395, specifically in #1414.

Thanks for the update @andymckay, following along over at #1414! In the meantime, could there still be interest in also supporting Google Analytics? To many add-on developers, this could actually be preferable compared to writing more code to call the new stats API. I might spend a couple hours trying to work up a PR for GA integration on spec, unless you think there's low chance it'd get merged?

I would be for this if it meant that we could remove stats from AMO, but because of data coming through Firefox Telemetry, I'm not sure if that would be possible. If we could get the data from internal sources and send it to the developers GA account, that would be pretty sweet.
However, I would actually be against this because: a) it doesn't remove any code from AMO just adds in more we have maintain, support, QA, pay security bounties on etc. b) it duplicates existing functionality we've got in stats.
Given a) and b) there isn't a clear win here.

If we could get the data from internal sources and send it to the developers GA account, that would be pretty sweet.

Isn't this totally possible since the upgrade to Universal Analytics? Here is a relevant blog post from a couple years ago:
https://coderwall.com/p/xpjhbw/track-server-side-events-from-rails-in-google-analytics
Would this allow you to switch to using GA as the sole back-end and front-end for tracking add-on analytics, freeing AMO from this responsibility?

Hi @andymckay, have you had a moment to take a look at Google Analytics server side events? Is there any interest in offloading stats to GA entirely?


Alternative Command-line interface for supervise

In #338 was proposed passing params to commands in !Supervise via environments vars. I want to propose an alternative using parameters prefixed with the name of the child command they are meant to be passed to. Let's take the example at the first proposal:
commands:
  tests: !Supervise
    description: Run test suite
    children:
      tests: !Command
        container: py
        run:
          - "py.test"
      redis: !Command
        container: redis
        run:
          - "redis-server"
          - "--daemonize"
          - "no"

The command would be called like this:
$ vagga tests --tests_redis-port $PORT --redis_port $PORT

The prefix of the parameters would be stripped and passed to its respective command. Parameters with only the name of the child command would be passed as positional arguments.
This approach has 2 major drawbacks, however:

We lose the benefits of using docopt
It adds complexity to the caller

One of the major points of #338 is making command-line shorter and simpler.
Before docopt we already could do the following (yes you need to expand env var in shell script, but that just be written just once, so we more concentrate on invocation rather than on writing vagga.yaml):
vagga -E REDIS_PORT=1234 -E TESTS="mylib/tests/mytest.py" test

But now we have:
vagga test -p 1234 mylib/tests/mytest.py

The benefits are:

We can use short options, which are created for convenient access to the frequently used options
We can use positional arguments. The good thing about positional arguments is not just absence of the option string, but also that you can use all the power of shell completion and wildcard expansion.
And the help string
And we can use "catch all" positional arguments to pass all subsequent options to a specified command without any prefixes (this sometimes requires adding -- by user, though)

At the end of the day, I don't see the large advantage of the solution proposed here over environment variables. But clearly see the advantage of solution in #338

The only advantage I can come up with in this proposal is calling binaries without a shell (the yaml array style run: [ binary, arg1, arg2 ]) but I agree #338 is a better solution. We can close this issue.

Makes sense. But I think this is fair trade off.
(also you don't have to use VAGGAOPT_ in shell, you can parse environment variables directly by python script or whatever you use, it will rarely be useful, but...)


0.56.x breaks quickstart

Hi everybody !
I just tried to start a new website, following the instructions at https://gohugo.io/getting-started/quick-start/
$ hugo new site quickstart
$ cd quickstart
$ git init
$ git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
$ echo 'theme = "ananke"' >> config.toml
# Works fine until here
$ hugo new posts/my-first-post.md
Error: failed to read module config for "ananke" in "/tmp/tmp.XfdiUP8a9j/quickstart/themes/ananke/theme.toml": unmarshal failed: Near line 11 (last key parsed 'min_version'): Invalid float value: "0.30.2"

I've tried to reproduce the issue with several versions of hugo, here are my findings :

Broken versions :

Hugo Static Site Generator v0.56.0-45F4EB98 linux/amd64 BuildDate: 2019-07-25T16:38:06Z
Hugo Static Site Generator v0.56.3-F637A1EA linux/amd64 BuildDate: 2019-07-31T12:51:09Z

Working version :

Hugo Static Site Generator v0.55.6-A5D4C82D linux/amd64 BuildDate: 2019-05-18T07:56:30Z

I don't currently have a working go toolchain, so I'm not in a position to do proper bisecting at the moment.
Some extra system info :

uname -a : Linux hostname 5.0.16-100.fc28.x86_64 #1 SMP Tue May 14 18:22:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Fedora 28 (Workstation Edition)
Installation done through downloading a .tar.gz on the releases page

Possible related issue : https://github.com/gohugoio/hugo/issues/6156
For now, I'm just going to downgrade to v0.55 as a workaround, but I suppose that it's pretty important from a user onboarding perspective to fix that.
Feel free to ask if I can be of any help (e.g. to provide a reproduction setup, etc…)

Duplicate of #6157 and #6162


Infinite loop if cache is lost during cache restore

We use a workflow that generates about 1GB of cache in a single CI.
When I run that CI in sequence, the cache of the first CI I ran seems to have disappeared.
It seems that if a cache loss occurs while a cache restore is being started, it is not considered a failure and waits until the timeout (6 hours).

Cache not found for input keys: Linux-build_ui-717076a9e5b587ac4fe5aa31c97f6dbe09814f13
Error: The operation was canceled.

I hit the same issue with setup-java which uses actions/cache under the hood:
      - name: Set up JDK 11
        uses<EMAIL_ADDRESS>        with:
          architecture: x64
          distribution: 'zulu'
          java-version: 11
          cache: 'gradle'


Requirement Gathering / Planning for RO-Crate Micro Service

Covering this in issue #61

Cratey design work going on in: https://github.com/eScienceLab/RO-Crate_Issues/issues/61

API design work going on in: https://github.com/eScienceLab/RO-Crate_Issues/issues/65


WAYF missing heading for selected idp since 5.7

This issue is imported from pivotal - Originaly created at Jul 20, 2018 by Thijs Kinkhorst
The testers found a bug in EB 5.7.4. When there's a previously selected IdP, the gray bar above this section ("Eerder gekozen") is missing. See screenshots of EB 5.6 and 5.7 attached to this story.
(BTW a nitpick: the page  is not very beatiful as witnessed from the filenames of these screenshots)

(Thijs Kinkhorst - Jul 20, 2018)

It seems that the title was removed when moving to twig. I added the title and directly fixed the nitpick above. I've created a PR for this issues:
https://github.com/OpenConext/OpenConext-engineblock/pull/571 (bstrooband - Jul 24, 2018)

Also cherrypicked the commits on the 5.7 branch (bstrooband - Jul 24, 2018)


Fix browser import

I can't accept this merge request, since you changed the import. That will prevent the package from working with NodeJS. That is why the code is split. I did push a new version which should work for you. Please let me know if that fixed it.

Great, thanks for letting me know.


can u add a simple get method

app.get('/',(req,res) => {
return res.send('Hello');
}); like this

May I ask for what?

For checking if the server is alive or not

For checking if the server is alive or not

No.
Lavalink is already listening to the port provided by heroku.
However here are two alternatives:

You hit the website with no Authentication header and check for a 401 response with an empty body.
You hit the website with a correct Authentication header & check for a 400 response with the body containing ""Can "Upgrade" only to "WebSocket"."

A downed project on heroku will either not respond or go online when you send a request.
Most, if not all, services like UptimeRobot will work properly with an empty body.

No.
Lavalink is already listening to the port provided by heroku.
However here are two alternatives:

You hit the website with no Authentication header and check for a 401 response with an empty body.
You hit the website with a correct Authentication header & check for a 400 response with the body containing ""Can "Upgrade" only to "WebSocket"."

A downed project on heroku will either not respond or go online when you send a request.
Most, if not all, services like UptimeRobot will work properly with an empty body.


OrientDB uses too much CPU over time

OrientDB Version: 2.2.36
Here is my top result
top - 09:08:52 up 37 days, 21:35,  1 user,  load average: 3.28, 3.07, 3.00
Tasks: 133 total,   2 running, 131 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy, 39.4 ni,  3.0 id,  0.0 wa,  0.0 hi,  0.0 si, 57.6 st
KiB Mem :  4045052 total,   249360 free,  1906736 used,  1888956 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1786916 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  301 orientdb  38  18   14764   3920      0 S 189.5  0.1  21322:38 6rE2A40
16766 ubuntu    20   0   40536   3756   3100 R   5.3  0.1   0:00.21 top

Here is my server.sh file

Hi @cegprakash
I think we will need a thread dump to understand what the server is doing. You can do it with jstack <pid>
Thanks
Luigi

I can do it tomorrow. I have restarted the server :(

Also do you have any idea why my queries got slow because of increase in number of nodes and edges? I just printed the elapsed time in seconds from OrientDB rest. Initially my queries were faster (it took appx. 0.1 second). Now my DB has around 8600 nodes and 8200 edges and it takes more than 0.5 seconds for every query.

Hard to say, we need at least some info about the data structure and the queries...

ubuntu@ip-172-31-1-111:~$ jstack 301
333: Operation not permitted
ubuntu@ip-172-31-1-111:~$ sudo jstack 301
333: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
ubuntu@ip-172-31-1-111:~$ sudo jstack -F 301
Attaching to process ID 333, please wait...
Error attaching to process: Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in remote process)
sun.jvm.hotspot.debugger.DebuggerException: Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in remote process)
	at sun.jvm.hotspot.HotSpotAgent.setupVM(jdk.hotspot.agent@9-internal/HotSpotAgent.java:414)
	at sun.jvm.hotspot.HotSpotAgent.go(jdk.hotspot.agent@9-internal/HotSpotAgent.java:307)
	at sun.jvm.hotspot.HotSpotAgent.attach(jdk.hotspot.agent@9-internal/HotSpotAgent.java:142)
	at sun.jvm.hotspot.tools.Tool.start(jdk.hotspot.agent@9-internal/Tool.java:185)
	at sun.jvm.hotspot.tools.Tool.execute(jdk.hotspot.agent@9-internal/Tool.java:118)
	at sun.jvm.hotspot.tools.JStack.run(jdk.hotspot.agent@9-internal/JStack.java:91)
	at sun.tools.jstack.JStack.runJStackTool(jdk.jcmd@9-internal/JStack.java:140)
	at sun.tools.jstack.JStack.main(jdk.jcmd@9-internal/JStack.java:107)

any idea how I can fix this issue and share you the jstack?


fixed issue #38

When dragging starts without any prior mouse movement - the draggable elements jumps far away. Fixed by storing mouse pointer location on mousedown.

Awesome thanks!


charts: configure RBAC for minikube

[ ] configure RBAC (kubectl apply -f minikube-rbac.yml)

minikube-rbac.yml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: service-rbac
subjects:
  - kind: ServiceAccount
    name: default
    namespace: default  # or renga depending on your deployment
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

Need context for this:

[ ] Which service/pods need k8s API access?
[ ] Which objects will be manipulated through the k8s API? (Defines the k8s role)
[ ] Motivate the need (one or two use cases).

For information, only JH pods have access to the API, as they spawn pods and manipulate endpoint resources.

See #171


Creation of a bias field augmentation layer.

Usage presented in the segmentation_bfaug application in contrib. The bias field is modelled as a linear combination of  polynomial functions, exponentiated and multiplicative to the image to augment.
An default_segmentation_bf.ini shows the parameters to be used
Status
READY/
Description
A few sentences describing the overall goals of the pull request's commits.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] My code follows the code style of this project.
[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

Todos

[ ] Tests
[ ] Documentation

Impacted Areas in Application
List general components of the application that this PR will affect:
*

merged via https://github.com/NifTK/NiftyNet/pull/207


Configure development.rbto automatically generate the translations file

The translations file of i18n-js can be automatically generated by the I18n::JS::Middleware.
To do that we need to add
config.middleware.use I18n::JS::Middleware

to our config/environments/development.rb file.

I checked but currently we did not add i18n-js gem in our template. Should we add it? @abhinavmsra @olivierobert


Add a vertical version of the logo

Purpose
Adding a vertical version of the logo.
Description
Add one file .PNG
Related Issue

Does this introduce a breaking change?
When developers merge from main and run the server, azd up, or azd deploy, will this produce an error?
If you're not sure, try it out on an old environment.

[ ] Yes
[X] No

Type of change

[ ] Bugfix
[ ] Feature
[ ] Code style update (e.g., formatting, local variables)
[ ] Refactoring (no functional or API changes)
[] Documentation content changes
[X] Other... Please describe: Add optional image

Checklist
Before submitting your pull request, please confirm the following:

[X] I have thoroughly tested my changes: I confirm that I have run the code and manually tested all affected areas.
[X] All existing tests pass: I have run all tests and confirmed that nothing is broken.
[X ] I have added new tests (if applicable): I have written tests that cover the new functionality introduced by my code changes.
[X] I have followed the Co-op Translators coding conventions: My code adheres to the style guide and coding conventions outlined in the repository.
[X] I have documented my changes (if applicable): I have updated the documentation to reflect the changes where necessary.

Additional context

Hi @FBoucher,
Thank you for your work in creating the vertical version of the logo! This is a valuable addition to the project.

The changes look good to me, and I'll merge this. Thanks again for your contribution!


checkSession begin run hundreds of times per second

I set up my store with the userManager from redux-oidc, previously with version 2.2.1 and now with 3.0.0-beta14 and at both points the project I have experience a large bump in CPU usage when implementing the userManager, on a Macbook Pro 2017 the CPU usage increases from under 10% to between 15-25% and I have measured performance and see that checkSession, among other functions, are run extremely often.
Image of Chrome performance measurement with userManager

Image of Chrome performance measurement without userManager

This is the code implementing the OIDC, without it the app runs fine.
const userManager = createUserManager(config.authConfig);

const store = createStore(reducers, composeWithDevTools(applyMiddleware(middleware, thunkMiddleware)));

loadUser(store, userManager);

with authConfig
  authConfig: {
    authority: "https://some-website.net",
    client_id: "js",
    redirect_uri: "https://some-website.net/callback",
    response_type: "id_token token",
    scope: "openid profile api1",
    post_logout_redirect_uri: "https://some-website.net",
    silent_redirect_uri: "https://some-website.net/silent_renew.html",
    automaticSilentRenew: true,
    filterProtocolClaims: true,
    loadUserInfo: true
  },

Any clue what is causing this? What is the checkSession actually doing and can it be run less often?

When upgrading from version 2 please don't use the OIDC middleware and the loadUser helper togehter. Only use the middleware if you don't have silent renew set up. Ohterwise drop it alltogether. This might cause this issue. Apart from that, your config looks fine.

Were you able to solve this issue?

@maxmantz No unfortunately not, and I seem to be the only one the team with the issue. We stopped using createOidcMiddleware half a year ago. For others in my team the checkSession function is running about every second, but for me it runs about every 0.2ms(sometimes even faster, perhaps it just runs as fast as it possibly can).
What is controlling the interval in which it runs?

Maybe the checkSession function call is located at the oidc-client [https://github.com/IdentityModel/oidc-client-js] library. The userManager comes from there. So maybe raising an issue there can help you out. I don't enough about the inner workings of that library to be of much help here I'm afraid.


Run ./bin/check-annotations as CI (or similar)

#38 introduced ./bin/check-annotations which helps identify problems with the contents of annotations.tsv. This highlights issues that may only become evident stochastically after running the auspice build.
It would be nice to run this as a CI (or similar). For this to happen the script would have to be modified to exit appropriately which it doesn't currently do.

This would be really good. Additionally - just realised another check we should do - if a sequence name listed in annotations.tsv is not found in the metadata.
This can indicate a sequence name has changed, and thus the file needs to be updated. I'll see if I can add this if I have time.
Would clearly be most valuable if this is run automatically as James suggests above!

Hey @emmahodcroft I just saw your suggestion about sequences checking.
I'm just wondering:

Should it check the sequences against from ncov/data/metadata.tsv or ncov-ingest/data/metadata.tsv (this repository) ?
Since I don't have the metadata.tsv file from this repository, can I base myself from ncov/data/metadata.tsv to implement this additional check in #40 ?

Thanks

Hey @emmahodcroft I just saw your suggestion about sequences checking.
I'm just wondering:
* Should it check the sequences against from [`ncov/data/metadata.tsv`](https://github.com/nextstrain/ncov/blob/master/data/metadata.tsv) or `ncov-ingest/data/metadata.tsv` (this repository) ?

* Since I don't have the `metadata.tsv` file from this repository, can I base myself from [`ncov/data/metadata.tsv`](https://github.com/nextstrain/ncov/blob/master/data/metadata.tsv) to implement this additional check in #40 ?

Thanks

Hi @jstoja. Please run the checks against the metadata.tsv file in this repo (ncov-ingest). You can base yourself from another copy of the metadata.tsv (e.g. one from the ncov repo) for development, because both files have the same structure.

Sorry for the delay. Thanks for answering @kairstenfay ! Important that we check against the metadata.tsv file in this repo, as ncov/data/metadata.tsv no longer exists on Github. If you are a registered GISAID user, you can download this file from their website - if that's helpful let me know and I can guide you in how to do that.

Reopening this issue that was automatically closed by #40 because the additional idea proposed by @emmahodcroft of making sure strains listed in annotations.tsv appear in metadata.tsv has not yet been implemented.
source

Hello @kairstenfay In #40 I didn't add bin/check-annotations to the CI (I didn't add it back with our last discussions on where to call it).
I'll open another PR to add the suggestion from @emmahodcroft , and at the same time, add the check as CI.
Annotations are used by bin/transform, but metadata is generated by this step, therefore, there are 2 options:

Check annotations before the transform, and then check them again after the metadata have been generated by bin/transform.
Check annotations with and without metadata after the transform.

I think it'd make more sense to use option 1. (do 2 checks that are different), because we could prevent even fetching and uploading data/gisaid.ndjson if the annotations file has issues.

Hello @kairstenfay In #40 I didn't add bin/check-annotations to the CI (I didn't add it back with our last discussions on where to call it).

No worries, @jstoja. I went ahead and added it before merging.

I'll open another PR to add the suggestion from @emmahodcroft , and at the same time, add the check as CI.
That would be awesome if you wanted to open another PR for the final suggestion in this thread, but I think a little more discussion needs to happen about where the logic in check-annotations should happen. As you saw in #47, adding check-annotations to the CI caused builds to fail. This is no fault of yours. I neglected to rebase your PR onto master and catch that check-annotations became outdated compared to the logic in transform. I'm going to post either here or in #47 a summary of a discussion I had last night with fellow Nextstrain team members about what went wrong and why.

Annotations are used by bin/transform, but metadata is generated by this step, therefore, there are 2 options:
1. Check annotations before the transform, and then check them again after the metadata have been generated by `bin/transform`.

2. Check annotations with and without metadata after the transform.

I think it'd make more sense to use option 1. (do 2 checks that are different), because we could prevent even fetching and uploading data/gisaid.ndjson if the annotations file has issues.

Thank you for clearly stating these two options. I think a third option, checking annotations inside of transform, should be explored in addition to these.

A summary of the latest issue with ./bin/check-annotations:
ncov-ingest has become out of date compared to the logic in transform. This is evident by the fact that ./bin/check-annotations currently fails but builds succeed. The problem experienced by users when running this script, initially summarized in #47, proposes improved error handling describing exactly what a user may need to change. However, the real issue comes down to checking if the actual logic performed in check-annotations is still valid given transform or when and how often we run check-annotations (or the logic therein if we roll it into transform).
Further evidence that check-annotations and transform are not playing nicely together is evident in these conditional statements in transform. For example, in #47, an annotation for France/CIBU200107/2020 failed that specified division and division_exposure but not country or country_exposure. check-annotations stopped failing on this strain when the following action was taken:

This issue was resolved by removing division_exposure annotations for France/CIBU200107/2020.

Note that in transform, France/CIBU200107/2020's division_exposure gets set to the same value as its division anyway. So, the error generated by check-annotations  here can be considered a false positive.

@jameshadfield after a discussion with @tsibley, I think I finally understand why you implemented several of the tests in check-annotations. For example, when you wrote the check that if a division_exposure is set, a country_exposure must also be set, was it to enforce that the resulting hierarchy is valid? I can imagine a situation where someone annotates an incorrect location but may forget to update the other parts of the location hierarchy (country, region, or division).
If this was your thinking, I believe location hierarchies could be validated against a "truth" we maintain in either in JSON, CSV, or PostgreSQL.

@kairstenfay yes - see explanation here: https://github.com/nextstrain/ncov-ingest/issues/47#issuecomment-628894443

@jstoja It would be fine for now to open another PR checking that the annotation strains all exist in the metadata.tsv (as Emma suggsted). But don't worry about adding check-annotations back to the CI. The recent behavior of check-annotations against the latest annotations.tsv made @tsibley and I rethink where the logic inside check-annotations should be invoked. So, I'll be integrating those checks into transform soon. Your recent refactoring of the code will be super helpful here!


Ability to add a buton outside of the tooltipview

I'm trying to create a button that overflows the tooltip like this:

But the touch event is not called for the upper part of the button. How can I make it work without modifying the library? I tried overriding pointInside:withEvent: but it doesn't get called.
I'm sorry if this doesn't regards this library directly but I can't figure it out how to do it.

If the button is a subview of the popup view, then any region of the button outside of the popup view's bounds won't receive touch events (even though it will be drawn). You have to keep the button inside its parents bounds.

I managed to do that by overriding the pointInside:withEvent: method for the popup's view.


Add more docs refactor website

fixes #59 and #89

/assign @tssurya @npinaeva @Dyanngg

Please take a look at these changes + the new version of the website in the netlify preview and let me know if it needs to change at all :)
Getting this in should allow us to cut a release of v1alpha1 early next week.

/hold
so that it doesn't automatically merge with an lgtm

Fixed Up following the conversation in our sig-network-policy-api meeting today

/cc

which makes me curious how the yamls were generated... is the pkg/generator/main.go overwriting what we do from codegen? because I see this change in the yaml but we never changed the types.go file so... was the yaml file changes manually done?

So now we don't use the cotroller-gen CLI to do this the generator pkg does it by calling into the controller-gen go package.
		log.Printf("generating CRD for %v\n", groupKind)

		parser.NeedCRDFor(groupKind, nil)
		crdRaw := parser.CustomResourceDefinitions[groupKind]

		// Inline version of "addAttribution(&crdRaw)" ...
		if crdRaw.ObjectMeta.Annotations == nil {
			crdRaw.ObjectMeta.Annotations = map[string]string{}
		}
		crdRaw.ObjectMeta.Annotations[bundleVersionAnnotation] = bundleVersion
		crdRaw.ObjectMeta.Annotations[apiext.KubeAPIApprovedAnnotation] = approvalLink

		// Prevent the top level metadata for the CRD to be generated regardless of the intention in the arguments
		crd.FixTopLevelMetadata(crdRaw)

		conv, err := crd.AsVersion(crdRaw, apiext.SchemeGroupVersion)
		if err != nil {
			log.Fatalf("failed to convert CRD: %s", err)
		}

		out, err := yaml.Marshal(conv)
		if err != nil {
			log.Fatalf("failed to marshal CRD: %s", err)
		}

		fileName := fmt.Sprintf("config/crd/%s_%s.yaml", crdRaw.Spec.Group, crdRaw.Spec.Names.Plural)
		err = os.WriteFile(fileName, out, 0o600)
		if err != nil {
			log.Fatalf("failed to write CRD: %s", err)
		}
	}

Generates the CRDs with the "sigs.k8s.io/controller-tools/pkg/crd" package, adds the specified annotations and writes the CRD to disk

Generates the CRDs with the "sigs.k8s.io/controller-tools/pkg/crd" package, adds the specified annotations and writes the CRD to disk

+1 way neater. Almost lgtm: I think we still need to add a warning comment for same/notSame labels before the cut:
we probably want to include Dan's suggestion in the description part of same and notsame lables saying "this is subject in future, not stable" ?

+1 @tssurya I think we can go ahead and merge this, then do a final look at the tooling + any other small comments before we complete #93

ack fine with me, let's merge this!

/lgtm

/lgtm


Jon blog

Needs checking!

Hi @jon1467, there are repetitions in some commits, do you mind squash them for the better readability? :)

A few technical nitpicks but otherwise the blog post is a great read 👍

LGTM :shipit:


Fixing a problem while reading the plan (#494)

If a state file contains "child_modules", below error is thrown.
So this commit will handle the case of supporting child modules.
ERROR: state.out.json is not a valid terraform plan json output.

@eerkunt Please review this PR and let me know if any changes are needed. It would be great if this PR can be merged (unless there are no further changes) and cut a new release.

Will release this along with #478


Test SI alpha pack

Description
Need to re test the tests identified earlier in alpha pack
Affected Component
SI
Version
4.2.0
Related Issues
No response
Suggested Labels
No response

Found an issue on siddhi-io-file as per the testing from dhanushka and analyzed it and discussed a fix

Found another minor issue which we will fix before the release


Home

comfort level: 2 (I am enjoying jquery and can understand the concepts, but having trouble applying it to different scenarios on my own. Below, I explain my thought process and why I wasn't able to complete.)
completeness: 1
I could not complete the first commit correctly. I did create a form variable and a form addEventListener correctly.
My thought process was to change the brush box color by manipulating the input tag. I looked online for a few options such as .on(keyup) which seems to be similar to the pixart.js solution on github. I could not get it to work.
I looked at setting up another changeColor function for that step because I have seen fellow students solution but I could not get it to work.
I know I want to change the color within my form.addEventListener but do not understand how to do that. I have included my psudocode and different ideas I've tried in the comments.
I really like the step by step directions because at least I'm not in the dark as to what to do next.

:+1:


SSL certificate has expired

With https set to true, Google Chrome complains about the bad certificate.
It indeed has expired
Common Name (CN)	<IP_ADDRESS>
Organisation (O)	GruntJS
Organisational Unit (OU)	<Not Part Of Certificate>
Serial Number	00:E5:9B:8F:4A:5C:5E:39:83
...
Issued On	Thursday, 20 February 2014 at 12:15:44
Expires On	Friday, 20 February 2015 at 12:15:44

Can you update this? And probably automate this? Thx

ping?

heeellooo???

heeeeeellloooo??

Hi @binarykitchen I think I face the same problem as yours.. on activating the https, is there a way that gulp could read the certificates provided by our own ?

You can tell it to use your own certificate, which is what I have done for now:

thanks @wgcrouch you're a lifesaver !

Well, then tell me why you still keep this outdated cert in the repo? Either update it or remove it

I'm not sure how to create the new ones here, @AveVlad or anyone.
If you lay out the steps I will update them.

@justinmchase @AveVlad how to generate self signed ones? get some inspiration from this bash script i did:
https://github.com/binarykitchen/videomail-client/blob/master/bin/regenerate_ssl_certs.sh

I updated the certs using a slightly modified version of your script:
https://github.com/AveVlad/gulp-connect/blob/master/bin/make_certs.sh
I tested it locally and will publish an update. I can patch older versions too if anyone wants the certs updated for older versions.

Fixed in v3.2.2, by a6add2c591c10b17b4b05a7e6ddf40af99700bb2


Remove the ibm cluster link for dbz connector

@riccardo-forina commenting as not able to add you as reviewer.


Are subscript captures correct?

Never messed with the actual parsers myself so not entirely sure where to start with debugging this, however is seems that subscript items are matched inside of markup blocks, which I'm not entirely sure is correct. For example:
~TEST ITEM~
~TEST_ITEM~

results in the second item being parsed as a subscript. From what I've read, superscripts would be ^{...} and subscripts would be _{...}, right? The above ends up looking like the following (highlighting and concealing via Neovim, but test is as noted above):

Looks like just plain ^ and _ are supported as well, but they both require a space after them to be counted as a super/subscript, so the answer to this seems to just be "yes".
I'll probably just have to change the highlighting on my end so things look the same, although the capture groups are actually different. Will leave this open for a bit and close it otherwise, as I believe they are indeed correct.

Thanks for the issue, I am completely changing how the markup parsing is done (moving it to queries/external algorithms, see #13 for way too much detail, or the markup-redo branch for the current status in implementation).


Cancel timer on future done

Congrats,
Yoni
From: Yaakov Breuer<EMAIL_ADDRESS>Reply-To: thomsonreuters/CM-Well<EMAIL_ADDRESS>Date: Tuesday, July 24, 2018 at 11:35 AM
To: thomsonreuters/CM-Well<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [thomsonreuters/CM-Well] Cancel timer on future done (#838)

You can view, comment on, or merge this pull request online at:
https://github.com/thomsonreuters/CM-Well/pull/838https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=_uGwlSvSB_CkzUnwhMlphK1gCNVm7faB-8y_lKZhEV8&e=
Commit Summary

Cacnelling timer when is no longer required
setting removeOnCancle + other flavours as well
fixing implicit ec
Merge branch 'master' into cancel-timer-on-future-done
disabling timeoutFuture for Writes in IRW + some tests fixes
Merge branch 'master' into cancel-timer-on-future-done
This time it is the right place to cancel

File Changes
o    M server/cmwell-bg/src/main/scala/cmwell/bg/Runner.scalahttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838_files-23diff-2D0&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=fkp5aRRfXhaFVazTTl-IaXaKOANkvzG_LbgOJFa1C30&e= (3)
o    M server/cmwell-irw/src/main/scala/cmwell/irw/IRWService.scalahttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838_files-23diff-2D1&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=5MblS6Jl-gKieB0GdfDX4QJ6-Cga7AuTRFtL9CfbJ9I&e= (5)
o    M server/cmwell-irw/src/main/scala/cmwell/irw/IRWServiceNativeImpl2.scalahttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838_files-23diff-2D2&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=wwvzYZwycrIkAZOYVekNrXkXIl_MaFkr9Hv6APQDeVg&e= (6)
o    M server/cmwell-util/src/main/scala/cmwell/util/concurrent/SimpleScheduler.scalahttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838_files-23diff-2D3&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=gEUKm4MkElxTDT0-MQ-x0VAqaEjybajxZjp4jkzxbHU&e= (21)
o    M server/cmwell-util/src/main/scala/cmwell/util/concurrent/package.scalahttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838_files-23diff-2D4&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=FxTCCVo8OJrZuLf-I8bnVXHu8CCYYmZJHjyDgaQVmfU&e= (6)
Patch Links:
§  https://github.com/thomsonreuters/CM-Well/pull/838.patchhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838.patch&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=FAUAG9oJu91A1YFlcuh7N-20AvZbbXKwq9VTxYnaKng&e=
§  https://github.com/thomsonreuters/CM-Well/pull/838.diffhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838.diff&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=udJccY9-hMh6S1-od_0HpzwoV3rdJsTTQZASdE_yEu0&e=
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_thomsonreuters_CM-2DWell_pull_838&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=_uGwlSvSB_CkzUnwhMlphK1gCNVm7faB-8y_lKZhEV8&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AawVmBLeotHbnWQnzxmthPFty54HKmfaks5uJz6fgaJpZM4Vc-2Djg&d=DwMCaQ&c=4ZIZThykDLcoWk-GVjSLmy8-1Cr1I4FWIvbLFebwKgY&r=OMyjGNR8VuiTL7orJR0W7GOm9EpKJ4DUbQSz7K7a8kY&m=SQs3xJ3MBeUMHHZWBfpp2s9HN2eWzrbgxEJD31pdRBQ&s=uLaxOJqtOvBhgZWEpoH0KSUdFfSsZm0h-p1q-3K2TZ0&e=.


Add StorageProvider

Add a kind of storage setting to change the persistance from memory to for example a json file, the local storage or a custom storage provider.
This storage should have flag if all request must be called async

Please consider it, I really need it for my project ( see https://github.com/julianxhokaxhiu/zeroads )
Thanks in advance!

where it save cached objects? in localStorage or something?

I made a library which uses a file system-based key-JSON storage, based on nodecache. The primary source is the file system (JSON files in a folder), but every key which is fetched is then saved in the cache. If you're still interested in having a file system storage for nodecache, check it out: https://github.com/AnandChowdhary/fraud/.

FS is out of current project scope.


Error in  in<EMAIL_ADDRESS>

Prisma2 version: "prisma2": "2.0.0-alpha.376" and "@prisma/photon": "2.0.0-alpha.376"

The below error does not occur in<EMAIL_ADDRESS>(there doesn’t appear to be a 375).

Logs from Developer Tools Console upon npx prisma2 dev:

d: diff
The above error occurred in the <TabIndexProvider> component:
    in TabIndexProvider
    in App

React will try to recreate this component tree from scratch using the error boundary you provided, App.
Warning: App: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
TypeError: Cannot read property 'Symbol(keypress-decoder)' of undefined
    at Object.emitKeypressEvents (readline.js:1117:13)
    at Object.useStdin (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:122801:16)
    at TabIndexProvider (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:38325:16)
    at renderWithHooks (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:200168:18)
    at mountIndeterminateComponent (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:202402:13)
    at beginWork$1 (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:203546:16)
    at Object.invokeGuardedCallbackImpl (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:204814:10)
    at invokeGuardedCallback (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:204998:31)
    at beginWork$$1 (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:208511:7)
    at performUnitOfWork (/Users/martinadams/Apps/ecstatic/prisma/node_modules/prisma2/build/index.js:207505:12)
(node:19962) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Does the issue persist even after updating to the latest prisma2 alpha (npm i -g prisma2@alpha)?

Yes.

Looks like it was temporarily broken in alpha. I was able to reproduce this in 2.0.0-alpha.376 but I am no longer able to reproduce this in<EMAIL_ADDRESS>binary version: a7b03466b4d18c4690a0dfff75efdef816c9cf6b
I am going to close this since it is fixed now


[GRANT-235] -  View Workshop Summary Table

View Summary Table button for Workshop Reviews
Provides a table view of Broader Review scores for the application (see screenshot below)

Updated the PR:


Why is base_url required?

Why exactly is the base_url required?  I feel as though it would be more ergonomic to simply use absolute paths, e.g. / for the root directory.  That would eliminate some issues / caveats with CI as well, for example command = "gutenberg build --base-url $DEPLOY_PRIME_URL" for netlify could omit the --base-url parameter.

Relative paths can cause issues if you are hosting the site not on the root domain: let's say you have a gutenberg blog at mydomain.com/blog
Using /blog.css for example will look at mydomain.com/blog.css rather than mydomain.com/blog/blog.css like it should. Requiring base_url eliminates those issues

Couldn't there be an optional subdir variable or something in that case that could be prepended before links?  Including the whole domain + http(s) means I have to re-commit if I change my domain or if I get SSL

Couldn't there be an optional subdir variable or something in that case that could be prepended before links?

That wouldn't help for the sitemap or the RSS feed where it requires the full URL

That's true.  I'm not sure if I'm totally convinced that it should remain mandatory, but I agree in that it would break RSS (though couldn't one provide absolute links for the sitemap?).  In my opinion, a better option might be to provide an optional subdir and domain variable.  For instance, a site located at https://mysite.com/blog/ might look like this:
domain = "mysite.com"
subdir = "blog"

Perhaps it's unwise to build off of my own use-case, but I don't use RSS, sitemaps, and I force SSL.  I imagine this is the same story for a good majority of websites.  Deploying to GH or Netlify without making sure https is used over http, etc. would be nice.  This is most likely a preference of mine, though - so I'll close.


Little enhancements

Add test case for repeated number for CPF (virtually more 10 tests)
Get rid of for loops used for generating number ranges. Using Spread Array instead.
All sums did via reduce
Using Arrow Functions
let instead of var anywhere it's possible
const for constant stuff
includes for possibility verifications
Make things more inline
Add babel support (for backward compatibility)
Add babelify as well
Fixed some silly typos
Add NPM script (prepublish) to ensure updated dists when publishing new versions of this packages

@raphaklaus hey, thanks for your work on this. looks great, I'm going to update it on npm rn.


recurly is a dictionary

I have this:
var recurly = require("recurring")();
recurly.setAPIKey(cfg.recurlyApiKey);
recurly.setRateLimit(400);
recurly.setCache(false);

And this:
> recurly
{ AUTH_BASIC: 'Basic fdsfdsfdsfds' }
> typeof recurly
'object'
> recurly.accounts
> typeof recurly.accounts
'undefined'
> recurly.accounts.list
TypeError: Cannot read property 'list' of undefined
>

Why?

@GildedHonour What are you expecting recurly.accounts or recurly.accounts.list to be? There is no such properties or methods.

I've confused it with one module.


dollar sign bug with tables....

helps if you escape the character, but not ideal

You have to disable mathjax extension in the settings.

thanks.


Every object is null when using Dartium 50, WebStorm 2017.1.2 on Windows 10

I've seen this behavior on 2 machines. Rolling back Dartium works.

and 2017.1.4 on Mac

@alexander-doroshko
Can you investigate on the WebStorm side on what you're not getting from Dartium?  For most objects I'm seeing null, scalars (strings, ints, etc. are valid), many dart:html items like button, div seem to appear too.  However, many others are null.
A good simple example to try is from the https://github.com/dart-lang/dart-tutorials-samples
use the anagram sample
Setting a BP on the generateNewLetters(); line in the function:
void newletters(Event e) {
letterpile.children.clear();
result.children.clear();
generateNewLetters();
}
will show both this and e as null?

@terrylucas I know before the roll you tested it against IJ, which version and platform works?
Also, is the issue presenting itself in the Webstorm 2017.2 EAP or Ultimate 2017.2 EAP?
FYI: Alex is out on vacation next week.

Tested to make sure BPs worked (and some variables do display values) however it looks like others do not.  I also tried with 2017.2 EAP and it fails the same way.  In particular, in the anagram example the instance for e displays as null.

I'm OOO till June, 26. The first step is to see what Dartium sends to the IDE, maybe it is sending nulls instead of real var values. To get these logs click Help -> Find Action, type Registry, open it, search for js.debugger.wip.log property, set it to some log file path like /foo/bar/log.json. This file will be rewritten on each debug session.

@terrylucas @jwren I compared debug logs and see some difference between Dartium 1.23 and 1.24.1 that I think leads to nulls as var values. I played with the anagram project and a single breakpoint in void newletters(Event e). Note that this is expected to be null, but e - not, it is expected to be MouseEvent. IDE sends "Runtime.getProperties" request and receives "handleResult" event. The difference is that the response from Dartium 1.24.1 includes "value":null for the e variable, but response from Dartium 1.23 doesn't contain "value" attribute at all. See attached screenshot. I'm not an expert in the protocol so can't say for sure whether it is a Dartium fault or IDE incorrectly interprets the response or both. I'll be able to ask colleagues after vacation unless you know the answer.

@alexander-doroshko Thanks for looking into the issue.  I am not familiar with the protocol requirements/ expectations either.

Thanks Alexander I found the same thing.  Its looks like for subtype that
its a new part of the Protocol (whether it should be null I not sure), as
for nested value I'm not sure but I've started debugging it.
On Fri, Jun 16, 2017 at 1:14 PM, Alexander Doroshko <
<EMAIL_ADDRESS>wrote:

@terrylucas https://github.com/terrylucas @jwren
https://github.com/jwren I compared debug logs and see some difference
between Dartium 1.23 and 1.24.1 that I think leads to nulls as var values.
I played with the anagram project and a single breakpoint in void
newletters(Event e). Note that this is expected to be null, but e - not,
it is expected to be MouseEvent. IDE sends "Runtime.getProperties"
request and receives "handleResult" event. The difference is that the
response from Dartium 1.24.1 includes "value":null for the e variable,
but response from Dartium 1.23 doesn't contain "value" attribute at all.
See attached screenshot. I'm not an expert in the protocol so can't say for
sure whether it is a Dartium fault or IDE incorrectly interprets the
response or both. I'll be able to ask colleagues after vacation unless you
know the answer.
[image: image]
https://user-images.githubusercontent.com/4499789/27243189-6c771e92-52e9-11e7-816e-5f2740c2ecbf.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/29854#issuecomment-309123603,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB9ewRnGEsJlDlPqxbABksJD0e_XlDSPks5sEuIvgaJpZM4N4aqa
.

Have a fix for this CL

Released in 1.24.2 stable


server hang in void worlds at extreme y levels

If I use a jetpack and go either really high or really low and come back, the server crashes. In a single player world, minecraft completely hangs until I force close it. On a server, I can logout and log back in and see a crash with the server.
http://pastebin.com/LVa02Q5X -- crash log
MC 1.10.2
Forge 2185
Simply Jetpacks 2 <IP_ADDRESS>
EnderCore <IP_ADDRESS>
EnderIO <IP_ADDRESS>
JEI <IP_ADDRESS>.391
BetterBuildersWands 0.8.0r170
YUNoMakeGoodMap <IP_ADDRESS>
I've been trying to test mob spawning buildings, and I was using the jetpack to hover and the wand to build with. YUNoMakeGoodMap is to make a void world. I wasn't able to easily duplicate this in a normal world, but in a void world, it's very easy.
Steps to reproduce:
Create void world with YUNoMakeGoodMap (tree, single grass, Skyblock 2.1, whatever).
Use JEI to get Creative Jetpack
Go really high (like y positive 240)
Fall to what should be your death.
Press F3 to find out you've fallen much past the end of the world and the server is hung. You can't get more items from JEI, jettison things from your inventory, break blocks, or anything else really as the server is hung.
More than happy to help test and provide whatever else you might need.
Minecraft Server is on Gentoo Linux with IcedTea Java 8 111 64-bit.
Minecraft Client is on Windows 10 with Java 8 u111 64-bit.

That's what I call a good error report ;) Thanks.
I will have a look at it as soon as possible. Probably has something to do with the missing ground which is part of calculating the flying.
If you have time it would be very nice if you could try to reproduce the error with a jetpack that has no emergency hover (e.g. a tier one jetpack) As it could be related to that, too.

It certainly seems related to the missing ground. If I use a tier 1 jetpack, or disable emergency hover mode, I don't seem to experience the issue.
You don't even need to go to a high y level. Simply don a creative jetpack and jump off the starting platform and it will occur.
For now though, I can disable emergency hover mode.
Thanks.


debian-8.4-iot image lacks ntpdate

This image lacks ntpdate and ping command requires root permission to run.

@hongquan don't use ntpdate, systemd-timesyncd is enabled by default...
https://www.freedesktop.org/software/systemd/man/systemd-timesyncd.service.html
(ntpdate has no clue if the network is 'up' so it errors out on startup, whereas systemd-timesyncd knows when the network is connected..)
ping, it should be enabled...
https://github.com/RobertCNelson/omap-image-builder/blob/master/target/chroot/beagleboard.org-jessie.sh#L179-L193
Regards,

Thanks

when the network is not 'up' on startup,ntpdate may return error date.I've had this kind of problem.