Animation on page transition on iOS is broken

Bug Report
Ionic version:

[x] 4.x
Current behavior:
Page transition is breaking on iOS. Android is working good.

Expected behavior:
Transition smooth onto next page.
Steps to reproduce:

Related code:

Typically I'd use  this.navCtrl.navigateForward(['route', id]); to navigate to the next page, but 90% of time the animation would stop.
Other information:

Ionic info:

Ionic:

   ionic (Ionic CLI)             : 4.10.3 (/Users/andjelicnikola/.nvm/versions/node/v10.7.0/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.2
   @angular-devkit/build-angular : 0.11.4
   @angular-devkit/schematics    : 7.2.2
   @angular/cli                  : 7.2.2
   @ionic/angular-toolkit        : 1.2.1

Cordova:

   cordova (Cordova CLI) : 7.1.0
   Cordova Platforms     : android 7.1.0, ios 4.4.0
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 23 other plugins)

System:

   ios-deploy : 2.0.0
   NodeJS     : v10.7.0 (/Users/andjelicnikola/.nvm/versions/node/v10.7.0/bin/node)
   npm        : 6.8.0
   OS         : macOS Mojave
   Xcode      : Xcode 10.1 Build version 10B61

There may be an open PR for this already:
https://github.com/ionic-team/ionic/pull/17224

Hi there,
Thanks for the issue! Would you be able to provide a repository with the code required to reproduce this issue? Additionally, which devices/iOS versions have you been testing on?
Thanks!

It seems like upgrade to Ionic 4.1.0 solved the issue.
If it means anything I tested on iPhone 8 Plus iOS 12.1.4

I'm still seeing this on 4.1.0. You can sometimes see the issue if you limit the CPU power and navigate into a page using Chrome DevTools. Finding it hard to reliably reproduce the issue though.

I am willing to help but I'd have a problem reproducing error now that my code works. Maybe if @rossholdway shares code and I can see if there is a difference to my code.

I just wanted to confirm that it started to happen again... not sure why it was working good for 1 day. I will try to create repository that reproduces the problem.

I spent about 2-3 hours trying to reproduce the problem on a fresh app and I was not able to. Since my app is pretty big, I did not want to move everything to the new app, but there was 1 thing that I was able to fix.
First, my app has both tabs and side menu (I am not sure if it has anything to do with this). Originally when I navigated to a lazy loaded page from side menu on the first try the animation would flicker and after that it would work fine.
I added RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) to app-routing.module.ts and it started to work fine.
However, when I tried to navigate from lazy loaded page to the next component it would flicker and there was no way to fix this. I tried both to import or lazy load that component.
I am willing to help, but I need instructions what do you want me to do. I don't mind sharing my whole code with somebody from ionic team, but I would not make it public.

@liamdebeasi I can substitute ion-buttons to be just a div and the problem persists. I would like to think that any element within the toolbar should transition with the rest of the elements. It looks peculiar to see a header and the rest of the ion-content do a slide transition while the buttons appear with no slide and sit statically while the transitions occurs.

@liamdebeasi @jayordway It's not a problem just with toolbar. when I put <my-custom-component *ngIf="expression"></my-custom-component> anywhere inside ion-content the transition breaks.

@aces-tm Are you testing with the new development branch of ionic though?

@jayordway no, should I update to @latest or something else?

Ah, I was looking at the proposed PR for this and read this note:
https://github.com/ionic-team/ionic/pull/17224#issuecomment-473033208

Hi everyone,
We have shipped some updates to the page transitions on iOS. Please try updating to Ionic 4.1.2 (npm i @ionic/core@latest @ionic/angular@latest), and let me know if you are still running into any issues.
Thanks!

@liamdebeasi I didn't realize I needed to respond... yes, I still experience the same issue. I am currently on 4.2.0

Ok thanks! I'll check this issue out some more.

If there is anything that calls controller like {{ myVariable }} the transition will breakdown. However I have plenty of pages where I will be making the same calls and transition would work fine. I load the pages the same way.
I am trying to debug this, but no luck

I was experiencing same thing. I had EventDetailsPage which structure looked like this:
<ion-content no-padding>
  <ng-container *ngIf="event">
    <ion-card>
      --- Lots of code with *ngIfs here ---
    </ion-card>
    <app-comments [comments]="comments"></app-comments>
  </ng-container>
  <app-skeleton-event-details *ngIf="!event"></app-skeleton-event-details>
</ion-content>

And I fetch this event from REST API in ionViewWillEnter hook.
Then I moved the ion-card to separate component and now my structure looks like this:
<ion-content no-padding>
  <ng-container *ngIf="event">
    <app-event-details-card [event]="event"></app-event-details-card>
    <app-comments [comments]="comments"></app-comments>
  </ng-container>
  <app-skeleton-event-details *ngIf="!event"></app-skeleton-event-details>
</ion-content>

And I haven't experienced this transition stutter again.

Any update on this issue ? I have the same problem ..

@liamdebeasi Did you have any luck with tracking this one down? I'm still seeing this issue. It really impacts the UX when all of the page transitions are like this. I find that it frequently happens when using Angulars ngOnInit method to load in data.

Hi @rossholdway,
Do you have a code reproduction for this issue that I can use?
Thanks!

When I open this page from side menu the animation breaks.
Let me know if you are able to use this code. It requires app-version plugin
about.zip

Hi there,
Can you provide a full repository?
Thanks!

Here it is. It broke down on my phone (iPhone X). I believe that you only need to install app version plugin
ionic cordova plugin add cordova-plugin-app-version
npm install @ionic-native/app-version
app.zip

Thanks for the follow up. I was able to reproduce this issue. We will look into it!

I was going insane trying to figure out why this was happening, great to see someone else having this same exact issue and that the ionic team was able to reproduce. For the time being, I created my own page transition animations which work okay, but would rather use the native animations! I will be able to sleep happy now that I know a fix will be on the way :)

This is happening because you are assigning subscription variables and/or subscribing in ngOnInit(). I was able to overcome this issue by using ionViewDidEnter() instead of ngOnInit(). However, when you do this, the page looks empty at first. If you don't want that, you can use ghost elements to fill out the page and then when your API comes through, just display the correct items.
If anybody wants to reproduce the problem, just assign an API subscription to a value in ngOnInit() then subscribe it in the ion-content ngIf with async.
In my case, it was:
TS:
ngOnInit() {
 this.subCategoryData$ = this._fireStoreService.getExampleData();
}

HTML:
<ion-content padding>
  <ng-container *ngIf="subCategoryData$ | async as category$">

{{ category$.name }} Selections

    .
    .
    .
  </ng-container>
</ion-content>

FIX (replace ngOnInit() with ionViewDidEnter()):
ionViewDidEnter() {
 this.subCategoryData$ = this._fireStoreService.getExampleData();
}

It would be great if this was fixed asap.

@etonyali this is interesting and explains why i see it less on wifi (because the data loads before the transition even begins), I wonder why a subscription affects a transition animation anyways..

@etonyali Thanks! I've seen this happen as well when I call async functions inside of resolvers.

Are there any updates on this issue?

Hi guys, any news on this one? We're experiencing the same issue...

Experiencing the same issue in ionic 4.5.0

Hi, some new with this problem, I have a critical application that will go to production and I have this problem.

Hi everyone,
This is still on our radar, but we have been focused on shipping Ionic w/ the Stencil One update. Now that the Stencil One update has been released, I updated the example app (https://github.com/ionic-team/ionic/issues/17649#issuecomment-493106320) to Ionic 4.6.0. (Tested on iPhone 7)
Compared to previous versions of Ionic, I am noticing a significant improvement in performance with the iOS transition. I do notice a little bit of jank, but it's as noticeable as before.
Can other people update their apps to 4.6.0 and confirm whether or not updating reduces the severity of this issue? I am still interested in resolving any remaining jank, but am curious if the update helps at all.
Thanks!

A small improvement, but it still needs to get better.  is not performing well at all.

Can you provide a code example of the GIF you sent?

still the problem persists, we are about to launch a banking application, please I need your help.

@jtsc22 Can you provide a repo with the code required to reproduce this issue? For issues like this it's helpful to have several examples so we can ensure we "cover our bases" so to speak when working on a fix.

I did more testing and it seems that 4.6.2 version does not resolve the problem with page transition.
Here is the code that I put in the footer and on transition, it is not performing as epxected
<ion-footer>
  <ion-toolbar class="no-border" color="white">
    <ion-textarea
      #textarea
      autoGrow
      rows = "1"
      autocorrect="on"
      autocomplete="on"
      autocapitalize="on"
      placeholder="Send message...">
    </ion-textarea>

    <ion-buttons slot="end">
      <ion-button [disabled]="broadcasting" color="dark" (click)="broadcastMessage(textarea.el.textContent)">
        <ion-icon name="send" slot="icon-only"></ion-icon>
      </ion-button>
    </ion-buttons>

  </ion-toolbar>
</ion-footer>

same issue in ionic 5.2.3

Hi @aces-tm,
I am no longer able to reproduce the performance issues you are describing after updating to the latest version of Ionic. Are you able to provide another reproduction?
Also, when you say "it is not performing as expected" do you mean that the animation is not smooth, or that the footer is not animating at all?
Thanks!

@liamdebeasi  I just updated the app to ionic 4.7.1 and angular 8.1.2 and the problem is the same. The problem is the same as what I posted in my first, original post. The transition is breaking up and flickering. I have 3 apps and the same things happen on all of them.
Here is my package.json
"dependencies": {
    "@angular/common": "^8.1.2",
    "@angular/core": "^8.1.2",
    "@angular/forms": "^8.1.2",
    "@angular/platform-browser": "^8.1.2",
    "@angular/platform-browser-dynamic": "^8.1.2",
    "@angular/router": "^8.1.2",
    "@auth0/angular-jwt": "^3.0.0",
    "@ionic-native/contacts": "^5.11.0",
    "@ionic-native/core": "^5.11.0",
    "@ionic-native/device": "^5.11.0",
    "@ionic-native/screen-orientation": "^5.11.0",
    "@ionic-native/sms": "^5.11.0",
    "@ionic-native/splash-screen": "^5.11.0",
    "@ionic-native/status-bar": "^5.11.0",
    "@ionic/angular": "^4.7.1",
    "@ionic/storage": "^2.2.0",
    "@mobiscroll/angular": "file:./src/lib/mobiscroll-package/mobiscroll-angular-4.7.2.tgz",
    "cordova-android": "8.0.0",
    "cordova-android-support-gradle-release": "^3.0.1",
    "cordova-ios": "^4.5.5",
    "cordova-plugin-contacts": "^3.0.1",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-ionic-keyboard": "^2.1.3",
    "cordova-plugin-ionic-webview": "^4.1.0",
    "cordova-plugin-screen-orientation": "^3.0.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-sms-plugin": "^1.0.0",
    "cordova-sqlite-storage": "^3.2.0",
    "core-js": "^2.5.4",
    "es6-promise-plugin": "^4.2.2",
    "libphonenumber-js": "^1.7.21",
    "moment": "^2.24.0",
    "ngx-moment": "^3.4.0",
    "ngx-socket-io": "^2.1.1",
    "rxjs": "~6.5.1",
    "rxjs-compat": "^6.5.2",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/architect": "^0.802.0",
    "@angular-devkit/build-angular": "^0.802.0",
    "@angular-devkit/core": "^8.2.0",
    "@angular-devkit/schematics": "^8.2.0",
    "@angular/cli": "~8.2.0",
    "@angular/compiler": "~8.2.0",
    "@angular/compiler-cli": "~8.2.0",
    "@angular/language-service": "~8.2.0",
    "@ionic/angular-toolkit": "~2.0.0",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-node": "~8.2.0",
    "tslint": "~5.17.0",
    "typescript": "~3.5.3"
  },

Is there any updates on this? I'm still seeing this problem even in 4.8.0

i'm on 4.8.1 and i still have the issue: if i use ngIf within ion-content the page transition animation stutters. If i remove the ngIf everything runs fine. I don't use the async pipe by the way.

@liamdebeasi i did some tests which should narrow down the problem quite a bit:
i found out the problem only happens if i use a variable within ngIf that was changed within an Observable subscription callback. If i update my ngIf conditions within ngOnChanges like so:
    ngOnChanges() {
        this.ifProgress = this.progress > 0;
    }

... then the page transition animation runs without problems. (with this.progress being a value that is updated in an Observable subscription.)

@chrisgriffith This is a good catch and it makes a lot of sense from what I have experienced.
Are you using Angular 8? My problems disappeared when I upgraded my dependences to the latest versions.

@chrisgriffith i'm tried angular@8 as well as @9 (next).
i edited my comment above (https://github.com/ionic-team/ionic/issues/17649#issuecomment-526617719) since my initial test was inaccurate (@liamdebeasi). The problem happens for me when an ngIf in ion-content triggers during page animation.

I do not know if this is related.
I have an ionic 4 application where on the main page it has animation - a row of three blinking LEDs (blinking pattern dependent on state).
When I first get to the main page the LEDs blink appropriately. When I leave the main page and go to another page and then come back to the main page the LEDs are not blinking. The animation is no longer working.
I route to and from pages via a hamburger menu set up in my app.component.ts where page.url is for example ‘/main’
this.router.navigate([page.url]);
NOTE: I only see this on ios devices. Android works with no issue.
This was all working in ionic 3.
Below is the html

This is the .scss:
.leds {
    $led-size: 32px;
    $led-green: #33cd5f;
    $led-yellow: #ffc900;
    $led-red: #ef473a;

    @mixin on($color) {
      box-shadow: 0 0 4px 0 darken($color, 5%);
    }

    .led-container {
      text-align: center;
      border-bottom: 1px solid #111;
      width: 100%;
      display: block;
      padding: 10px 0px 6px 0px;
    }

    .led {
      display: inline-block;
      border-radius: 50%;
      width: $led-size;
      height: $led-size;
      margin-right: $led-size;
      opacity: 0.2;
      box-shadow: none;

      &:last-child {
        margin-right: 0;
      }

      &.led-green {
        background-color: $led-green;
        &.on, &.slow-flash, &.fast-flash {
          @include on($led-green);
        }
      }

      &.led-yellow {
        background-color: $led-yellow;
        &.on, &.slow-flash, &.fast-flash {
          @include on($led-yellow);
        }
      }

      &.led-red {
        background-color: $led-red;
        &.on, &.slow-flash, &.fast-flash {
          @include on($led-red);
        }
      }

      &.on {
        opacity: 1;
      }
    }

    .slow-flash {
      -webkit-animation: flash linear 1.75s infinite;
      animation: flash linear 1.75s infinite;
      -webkit-transition: none !important;
      transition: none !important;
    }

    .fast-flash {
      -webkit-animation: flash linear 0.4s infinite;
      animation: flash linear 0.4s infinite;
    }

    .slow-flash-add .fast-flash-add {
      -webkit-animation: none !important;
      animation: none !important;
      -webkit-transition: none !important;
      transition: none !important;
    }

    @-webkit-keyframes flash {
      0% {
        opacity: 0.2;
      }
      60% {
        opacity: 0.2;
      }
      62% {
        opacity: 1;
      }
      98% {
        opacity: 1;
      }
    }

    @keyframes flash {
      0% {
        opacity: 0.2;
      }
      60% {
        opacity: 0.2;
      }
      62% {
        opacity: 1;
      }
      98% {
        opacity: 1;
      }
    }
  }

Here is my ionic info:
Ionic:
Ionic CLI                     : 5.2.8 (/Users/.nvm/versions/node/v12.6.0/lib/node_modules/ionic)
 Ionic Framework               : @ionic/angular 4.9.0
 @angular-devkit/build-angular : 0.802.2
 @angular-devkit/schematics    : 8.3.3
 @angular/cli                  : 8.3.3
 @ionic/angular-toolkit        : 2.0.0

Cordova:

 Cordova CLI       : 9.0.0<EMAIL_ADDRESS> Cordova Platforms : android 8.0.0, ios 5.0.1
 Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.1, (and 10 other plugins)

Utility:

 cordova-res : 0.6.0
 native-run  : 0.2.8

System:

 ios-sim : 8.0.1
 NodeJS  : v12.6.0 (/Users/.nvm/versions/node/v12.6.0/bin/node)
 npm     : 6.11.3
 OS      : macOS Mojave
 Xcode   : Xcode 10.3 Build version 10G8

Here are my dependencies:
"dependencies": {
    "@angular/common": "^8.2.5",
    "@angular/core": "^8.2.5",
    "@angular/forms": "^8.2.5",
    "@angular/platform-browser": "^8.2.5",
    "@angular/platform-browser-dynamic": "^8.2.5",
    "@angular/router": "^8.2.5",
    "@ionic-native/app-version": "^5.13.0",
    "@ionic-native/ble": "^5.13.0",
    "@ionic-native/core": "^5.13.0",
    "@ionic-native/diagnostic": "^5.13.0",
    "@ionic-native/in-app-browser": "^5.13.0",
    "@ionic-native/insomnia": "^5.13.0",
    "@ionic-native/splash-screen": "^5.13.0",
    "@ionic-native/sqlite": "^5.13.0",
    "@ionic-native/status-bar": "^5.13.0",
    "@ionic/angular": "^4.9.0",
    "@ngrx/effects": "^8.3.0",
    "@ngrx/store": "^8.3.0",
    "@ngx-translate/core": "^11.0.1",
    "@ngx-translate/http-loader": "^4.0.0",
    "@types/d3": "^5.7.2",
    "@types/text-encoding": "0.0.35",
    "angular": "^1.7.8",
    "cordova-android": "8.0.0",
    "cordova-ios": "5.0.1",
    "cordova-plugin-app-version": "^0.1.9",
    "cordova-plugin-ble-central": "1.2.2",
    "cordova-plugin-compat": "1.2.0",
    "cordova-plugin-device": "^2.0.3",
    "cordova-plugin-inappbrowser": "^3.1.0",
    "cordova-plugin-insomnia": "^4.3.0",
    "cordova-plugin-ionic-keyboard": "2.2.0",
    "cordova-plugin-splashscreen": "^5.0.3",
    "cordova-plugin-statusbar": "^2.4.3",
    "cordova-plugin-whitelist": "^1.3.4",
    "cordova-sqlite-storage": "^3.3.0",
    "cordova.plugins.diagnostic": "^5.0.0",
    "core-js": "^3.2.1",
    "d3": "^5.12.0",
    "i": "^0.3.6",
    "lodash": "^4.17.15",
    "npm": "^6.11.3",
    "rxjs": "^6.5.3",
    "tslib": "^1.10.0",
    "zone.js": "^0.9.1"
  }

Again it may or may not be related to the issue described above but I was able to duplicate my issue (animation on main page stops working when leaving main page and coming back to main page) in a simple ionic 4 project I created. It can be viewed at the following repo:
https://github.com/ASHBAW/animation.git

Any update on this issue? Changing from ngOnInit() to ionViewDidEnter() fixes the issue, but isn't the ideal solution due to the fact that the API call or firestore query is done a little later in the transition.

I am having the same problem (interruption of page transition animation) with the latest versions of angular and ionic-angular.
The setup:

loading data from a GraphQL server (in ngOnInit):

ngOnInit() {
   this.id = this.route.snapshot.paramMap.get('id');
   this.client$ = this.backendService.loadClient({id: this.id});
}

template:

... big chunk of template html ...

<ng-template #loading>
  <app-loading-spinner></app-loading-spinner>
</ng-template>

My observations are in line with https://github.com/ionic-team/ionic/issues/17649#issuecomment-526617719:

if the data is received during the transition animation, the animation is interrupted, presumably because a big chunk of template html is added to the DOM (however: if the big chunk of template html is actually not big, the interruption is barely noticable)
if the data is received after the transition animation, then there is no interruption.
workaround: loading the data in ionViewDidEnter. The transition is smooth, but the data loads later. In addition, when the data is loaded very quickly (from cache after the first request), then this takes longer than necessary.
another workaround: don't use the else block and subscribe to the observable in ngOnInit

workaround

@iherger as stated above (and as far as i could understand/reproduce it) the problem happens whenever something is added or removed from the DOM during the page transition. migrating all ngIf to [hidden] removes the issue for me without having to delay the display of the data (since [hidden] doesn't remove or add anything). obviously this is not a fix (although i suppose this should make the fix not too difficult to find for someone familiar with the ionic internals @liamdebeasi)

@chriswep , thanks for the confirmation. That makes sense.
I am trying to keep the subscription to observables in the template (using*ngIf and the async pipe), and in this case, [hidden] doesn't work, if I am not mistaken.

I am trying to keep the subscription to observables in the template (using*ngIf and the async pipe), and in this case, [hidden] doesn't work, if I am not mistaken.

correct, if you use [hidden] you need to manage the subscription yourself (subscribing, setting the value on the component, unsubscribing onDestroy). apart from that [hidden] obviously is the boolean negative of *ngIf. since i don't know when this will be fixed (it's a long running issue already) if bit the bullet to not be stuck updating my app.

To add to this... I changed my projects to work with Capacitor and I am still experiencing the same problem.

This issue seems like something that is better handled at the application level than at the framework level.
Using ionViewDidEnter instead of ngOnInit works because ionViewDidEnter is run after the animation has been completed, whereas ngOnInit is fired when the page component is created (before the animation has started).
Doing constant rerenders via an *ngIf or a pipe is going to cause the browser to do a lot of work. This is often referred to as “layout thrashing” . While the navigation animations are handled off the main thread, your JavaScript code and animations do share certain resources. These rerenders are causing the browser to constantly use these resources, leaving fewer resources/computation time for the animation itself.
Another point to mention is toggling the *ngIf state is going to continually add/remove elements from the DOM, which is a very expensive operation in general. It’s important to remember that your code is oftentimes going to cause Angular to run more code, which is going to cause the browser to have to do even more work (some people have already mentioned this, I just wanted to reiterate it).
From the examples that you all have provided, there is quite a lot of work being done while the animation is still transitioning. I would recommend that this work gets done after the animation is done by using ionViewDidEnter. If you absolutely need the view to be “ready” when the animation starts you will likely need to preload/cache your data, throttle how often your pipes/data causes the view to rerender, or ensure that your elements are not constantly being removed from or added to the DOM.
As I said previously, I think this is an issue that would be better handled at the application level via code optimizations than at the framework level. Any thoughts or questions? Thanks!

@liamdebeasi Thanks for the explanation. It is helpful to know that this cannot be resolved and that we take this as the final solution.

Yeah I can understand this might be frustrating. Angular's change detection can certainly be tricky and sometimes work to your disadvantage.
Also you might have slightly better results with using the OnPush change detection strategy, so you might want to experiment with that as well: https://netbasal.com/a-comprehensive-guide-to-angular-onpush-change-detection-strategy-5bac493074a4

ionViewDidEnter works very good and for me, there is no need to look at anything else.

@liamdebeasi i'm not really convinced that this is the real issue here. this was working before in the  same app without any issue (can't tell for sure now when it started, it definitely still worked with Ionic 3). also it doesn't look like only being about performance - it looks more like the animation is interrupted at some point, like if some events or animations interfere with each other. additionally the issue doesn't go away on a super fast dev machine.
using *ngIf on a transitioning page should work and did work. it's not just about preloading data but about how we setup angular templates and components. delaying observables, async-pipes / ngIf until a page has finished entering (or even being forced to not use those basic things anymore if you want a fast UI) can't really be the solution for Ionic going forward.

@liamdebeasi , thank you for the detailed response.
I understand the general concept, but I still think there might be an issue here. In my case, I am e.g. switching from a list of clients to the detailed view of a client. Client data (about 20 datapoints, so nothing major) is fetched in a GraphQL query. However, as soon as the data is received, the animation interrupts (if I using observables and the async pipe). The client detail template is not large, and there is exactly one *ngIf which subscribes to the observable.

@chriswep So for some context as to what's happening under the hood -- We are using CSS Animations/Web Animations (depending on browser support) to create these navigation animations. We then pass that work off to the browser to run/render. We do not run these animations in a requestAnimationFrame loop like some animation libraries do, so there's really not a lot of "stuff" that Ionic is doing apart from creating the animation and telling the browser to play it.
Additionally, the iOS navigation transition animates the transform and opacity properties which are properties that can be handled on separate threads (usually called "compositor threads" in Chrome). I'm not sure what else we could do to optimize these animations as we are already passing off most of the work to the browser.
I agree that there's a lot more than just using *ngIf/a hidden class. My examples were a subset of different optimizations you can make (I don't remember them all off the top of my head 🙂).
If you can provide a working example of this running well in an Ionic 3 app I'm more than happy to take a look.

@iherger Can you provide a Timeline profile from your app? It's hard to say what's going on without seeing the data itself. In Safari Dev Tools, click the "Timelines" tab and click the red circle in the top left to start recording. When done, click the square button in the top left. Then, click the "Export" button and attach the file to this thread.
I'm mostly curious to see if there are any additional optimizations we could make in Ionic Framework apart from the animations.

@liamdebeasi thanks for looking into this.
Attached is a timeline. There was noticeable interruption in the transition.
localhost-recording.json.zip

@iherger Thanks for the timeline data! I’ve identified two points during the transition that likely cause your lag:

The call trees for “Click Event Dispatched” and “Load Event Dispatched” both take quite a long time. For context, for a 60fps animation, each frame should take ~16.7ms, and the entire operations for these are taking 86.11ms and 29.02ms respectively. As a result, these tasks are being spread out across multiple frames since they cannot be completed in 16.7ms. This is where your animation lag is going to come into play.
You can also visualize this in terms of frames:

Notice that there are 3 times that frames drop below 30fps. Presumably, these are the 3 events you see in the first image.
For context, the 2nd event “Full Garbage Collection” is just cleanup and appears to happen after the animation has completed, so I’m not too concerned about that (I expect there needs to be some cleanup once navigation has completed). I am also assuming that the network requests (the light blue parts on the timeline) are your GraphQL results.
If you right click the first event and click “Expand All” you will notice quite a bit of processing is happening on the Angular side. I won’t post the screenshot here since the call tree is quite large, but you should notice calls from Angular zone, Angular Core, Angular Router, utility functions, and others. I did not see any Ionic-specific tasks taking up more than ~1ms of processing time. Ionic Angular is typically the fesm5.js file you will see in there. I am seeing similar results with the second “Load Event Dispatched” event.
You can also see that after the first event (which is the biggest purple block on the timeline) there are several Paint, Composite, and Style recalculations going on (likely due to Angular change detection trying to rerender components).
It’s hard to make definitive conclusions without seeing the actual code and running the app, but as of now nothing from the Ionic side sticks out as contributing significantly to the lag you are experiencing. Hope this clears things up!

@liamdebeasi thank you for all the background information. i'm also sure that Ionic does a great job at optimising everything for good performance. i'm was just suggesting the possibility that this is not related to performance or (missing) optimisation but that this is (simply) a bug. of course i might be wrong here. however since i feel i can't simple settle on this being the status quo now, i took the effort to create two blank Ionic projects, one with Ionic 4 and one with version 3. I added a second page "Page2" and a button on the home page that navigates there. "Page2" has this in the controller:
  ngOnInit() {
    setTimeout(() => {
      this.showDiv = true;
    },50)
  }

and this in the template:
<ion-content>

Delayed content

</ion-content>

The Ionic 4 version clearly show the issue (tested on Safari Reponsive Design mode on a fast dev machine, as well as iOS Sim), the Ionic 3 version works just fine.

Oh yeah, there certainly could be a bug! Are you able to share those 2 projects with me?

Oh yeah, there certainly could be a bug! Are you able to share those 2 projects with me?

IosPageTransitionBug_Ionic3vs4.zip

Thanks for the follow up. I am able to reproduce the lag in the v4 version of the app in Safari.
The lag appears to come from NgZone running in the timeout. The v3 app uses Angular 5.x, but the v4 app uses Angular 8.x so it's hard to say what is different in Angular/NgZone that is causing this change.
To demonstrate that this lag is related to Angular/NgZone, you can try the following:
import { NgZone } from '@angular/core';

...

constructor(private zone: NgZone) {}

...

ngOnInit() {
  this.zone.runOutsideAngular(() => {
    setTimeout(() => {
      this.showDiv = true;
    }, 50);
  });
}

By running outside of NgZone the lag should disappear entirely. I'm still digging through all of the NgZone traces when running a Timeline recording on Safari, so I'll post any additional information here when I have it.

By running outside of NgZone the lag should disappear entirely.

That is probably because then the *ngIf is not triggered which is what effectively causes the ionic animation to be interrupted. Also, if you leave the controller code as is and just replace *ngIf with [hidden], all is fine.

Right, so ngIf will add/remove the div from the DOM whereas the hidden directive will just add "display: none" to the div. The DOM removal/addition is typically more expensive than just changing the display.

The one thing that’s interesting is I can't reproduce this in Chrome (or any other browser) on the same machine. I wonder if we're hitting some edge case in Safari? Or maybe since Chrome supports css containment it's not as much of an issue?

(Just to add to this, I have been able to repo this in Chrome in my own app by dropping the CPU performance to its slowest in devtools)

Ah interesting. I have CPU set to 6x slowdown in dev tools and the performance still seems pretty good. I'll keep digging around.

So I wanted to try one thing. Can you do the following and let me know if the performance issue goes away or persists in Safari?

Install this dev build: npm i<EMAIL_ADDRESS>Add the following CSS to src/global.scss:

ion-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  .inner-scroll {
    padding-top: 44px;
  }
}

Try the test again using the v4 app @chriswep provided.

You app content will look a little funky, but I'm mostly interested in seeing if the performance issue went away. If it does, I have a theory as to why.

but I'm mostly interested in seeing if the performance issue went away

the transition runs without issues with this (at least on Safari)

Agreed. Tested this in Safari on iOS with the example @chriswep provided. The transition runs without issue after installing the dev build (and adding the CSS). 🎉 What's your theory / fix @liamdebeasi

My current guess is the performance issue you were seeing is actually related to this bug in WebKit: https://bugs.webkit.org/show_bug.cgi?id=201048
Animations in the Shadow DOM tend to freeze/be janky when the layout is invalidated. In this case Node.insertBefore causes the issue. Unfortunately, Angular can sometimes call that when evaluating an ngIf, so the issue is easier to dig up in Angular apps.
I am discussing with the team as to whether there may be an appropriate workaround we could go with for now.

Any update Liam? Thanks!

Liam, as developers, we can't move forward with iOS builds until this issue gets resolved. There are a few bandaids available but the deterioration in the performance of the app makes it almost unusable for clients. This issue has been hanging out there for 9 months now, when can we give birth to a permanent and complete solution?

Hi @pvroom,
Unfortunately this is not an issue with Ionic, but rather an issue in WebKit/Safari. We have reached out to some contacts on the WebKit team to see if they can take a look at the issue.
The best thing I can recommend is to hold off on updating the view until the animation ends. I realize this is not an ideal workaround, but there is not much we are able to do from the Ionic Framework-side as of now. I will update this thread when I have more info to share. Thanks!

Hi Liam,
Thx for getting back on this. You say that this is not an Ionic issue but Ionic is the one responsible for changing their Ionic 4 platform to a PWA-based approach heavily reliant upon Shadow Dom / Webkit, etc. We don't have any of these issues with Ionic 3 builds. So I hope you can appreciate my frustration when you say "this is not an issue with Ionic." Over the last year, Ionic has largely ceased ongoing support for Ionic 2/3, which was working well for our mobile apps and Ionic is now concentrating on a PWA approach with Ionic 4. So we were pretty much forced to move to the use of Ionic 4, only to discover that Ionic 4 brings with it serious performance issues like this. It doesn't matter to us that it's a webkit issue, what matters to us is that Ionic has put us in this position by relying on external factors that are apparently beyond your control. After 9 months of waiting for a fix, we are getting pretty discouraged.

We appreciate the feedback! We moved to the Shadow DOM because of the performance and encapsulation improvements it brings. This move also allowed us to dynamically theme your app at runtime without having multiple CSS bundles. Having multiple bundles slowed down build times, startup times, etc. You can learn more about the benefits of the Shadow DOM here: https://developers.google.com/web/fundamentals/web-components/shadowdom.
I understand that this is frustrating, and we are eager to find a good resolution to this issue. Additionally, I have provided a workaround above that should allow you to avoid this performance issue entirely.
I am going to lock this thread for now. I think the current state of the issue is pretty clear, and I don't want to add any additional unwanted emails to the inboxes of other users who have interacted with this thread. Thanks!

Hi everyone,
I wanted to provide an update regarding this issue. I am closing this thread as the main issue has been resolved in WebKit (https://bugs.webkit.org/show_bug.cgi?id=201048).
The Ionic Team does not know exactly when this fix will be available as that is not under our control. For any other bugs, please open a new issue.
Thanks!

Quick update: The WebKit issue I linked to has been fixed and released as part of the latest Safari Technology Preview (release 101 at the time of writing). As it turns out, this bug was not solely related to the Shadow DOM as the WebKit team was able to reproduce this issue outside of the Shadow DOM.
We do not have a timeline as to when the fix will become available for all users as that release schedule is controlled by Apple.


Project Feedback!

Please update your readme.

Thank you daer..good receive
surprice
Le ven. 17 avr. 2020 5:51 PM, CodePath Reviewers<EMAIL_ADDRESS>a écrit :

Please update your readme.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Sluckson/TwitterPart1/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJO43IW76GFLUBM2K7KTEE3RNDFNXANCNFSM4MLB7OYQ
.


Reading a chat from unread list should make chat marked as read

The behaviour of a chat in unread list should be the same as in main chat window. When I stand on a chat in unread list it should become read
https://www.loom.com/share/4a56326d9e50499ea12aa95918790872

Task - 88

Team assessment: 2h
Our safety stock is 30% taking into account the coefficient for various force majeure situations. Pessimistic assessment: 2 x 1.3 = 3 h  Optimistic estimate: 2 hours.

Done. <IP_ADDRESS>


Update method for computing piano rolls

This pull request solves issue #18.
New changes:

The method notearray_to_pianoroll was renamed to compute_pianoroll
The method accepts now structured arrays (with the new time units), Part, PartGroup, PerformedPart objects, as well as lists of Part objects.
All parts, channels are flattened into a single piano roll.
There is an option to not consider the notes in the drum track (i.e., channel 9 in a MIDI file) from the piano roll

Could you run make doctest from the docs folder to make sure that the real outputs of coincide with the outputs written in the rst file? I get 5 failures.


Fix Orion Editor Dependency

This fix depends on #95.
Deprecated links to the orion editor are fixed. They are now downloaded using maven because they are zipped an not plain text files anymore.

Please rebase on the master branch.

This is OK for a first fix.
Could you please check whether http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/orion/drops/R-8.0-201502161823/built-editor.zip can be changed to an URL hosted by the Eclipse software foundation in a follow up.
The 404 of http://www.eclipse.org/orion/editor/releases/current/built-editor.min.js is filed at https://bugs.eclipse.org/bugs/show_bug.cgi?id=521644. Let's see, whether the URL comes back.

Using the "Main Download Site" link listed in the list of mirrors, the file is not hosted at eclipse but here: http://eclipsemirror.itemis.de/eclipse/orion/drops/R-8.0-201502161823/built-editor.zip
However, there are some German providers hosting this file (e.g. University of Applied Sciences Esslingen, or University of Erlangen-Nuremberg). Should we change the link to one of them or what do you prefer?

Why is it R-8.0-201502161823 and not something from 2017?
Please use the main download site:

The link is: https://www.eclipse.org/downloads/download.php?file=/orion/drops/R-8.0-201502161823/built-editor.zip&mirror_id=1 - I know that it redirects to itemis currently. Since mirrors may change, but the main download site will be there for a long time, I prefer the main download site.

I think, the latest version is http://download.eclipse.org/orion/drops/R-15.1-201706291452/index.html --> http://download.eclipse.org/orion/drops/R-15.1-201706291452/download.php?dropFile=built-editor.zip
Found via http://download.eclipse.org/orion/

Yes, but the latest version is not running right now because of some requirejs issue we face right now.


Mods to sequences and alignments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
144 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.1%) to 91.2%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/parse/genbank.py
2
86.84%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/core/sequence.py
58
93.62%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/core/alignment.py
84
94.42%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
233307

Relevant Lines:
255820

💛  - Coveralls


Undo hibernate

Hey, thanks for creating and maintaining this project! Is it possible to undo the hibernate step? I applied it, but for whatever reason my Framework laptop no longer goes to sleep when I close the lid, so I'm wondering if there's a way to undo it.

Yes, it is. You could undo the changes done by hibernate.sls. Or I could write a cleanup state that automates that. :D I assume you figured it out since you closed this?

Turns out the issue for me was that "Secure Boot" was enabled in the BIOS. After turning off, hibernation now works 👍

Interesting. We should probably put that in the README.md.


Blazor hosting models UE pass

Addresses #20142
Addresses #19286
Internal Review Topic

I'll review once more on Monday morning before merging.
@danroth27 @mkArtakMSFT @javiercn ... Please let me know on my 'Pings anyone?' email (from Friday morning) to what degree you want to look at the updates as I go.

@mkArtakMSFT ... Ugh! This became another one of my TL;DR 📚 ...🙈😄, but I need to rubber :duck: through some stuff and inquire on a guidance layout problem across topics.
One of the things that we well know now is that devs :heart: click to copy :heart: and then paste into a CLI shell or into their app from the topics. Since a reader sees how to create a Blazor app here, I place the commands for creating apps into our dotnetcli styling on the last commit. However, I think this coverage here is a BIG mistake now that I look over all of the topics where we have 'how to create a Blazor app' guidance. Therefore, I plan to remove it from this topic.
Devs reading down the ToC encounter this sequence of guidance for creating new Blazor apps ...

Build your first Blazor app tutorial: CLI only.
Tooling topic: Windows and macOS tabs show use of VS, while Linux shows use of CLI. This one has an additional delta because it doesn't go by tooling ... it goes by platform.
Hosting Models (on this PR): Up to the latest commit, VS is in one paragraph, and the CLI commands are then shown in the following paragraph.
ToDo List tutorial: CLI only.
SignalR with Blazor WASM tutorial: VS for Windows, VS4Mac for macOS, and the CLI for VSCode and CLI tabs.
Templates topic: CLI commands only.

... see what I mean? Just the natural churn of topics over time has led to this 😵 scatterbrained guidance 😵.
My proposals ...

Tooling topic: Outside of 'Build your first', this is our first explanation of how to create Blazor apps using the various tooling approaches. It's fine that it goes by platform, except I've always been a bit put off by pushing devs away from (hiding) VSC tooling that they know is xplat. A :heart: VSC lover :heart: (on Windows) will find themselves on the Windows pivot only describing VS. One might conclude that you can't even use VSC with Blazor on Windows based on this. Let's have a paragraph below the coverage in each doc pivot that says VSC is xplat and then links to the Linux pivot. I'll also add a bit to each pivot on how to create the hosted WASM solution. Let's also call out CLI help options here, which is currently in the wrong spot down in the Templates topic (I'll move that bit here).

Hosting Models topic: Let's drop 'how to create a new app' guidance from the Hosting Models topic and replace it with a sentence that has a cross-link to the Tooling topic.

ToDo List tutorial and SignalR with Blazor WASM tutorial: I recommend that we be consistent. If we leave the ToDo List tutorial as @danroth27 instructed for CLI only (with my proposal for one sentence cross-link to the Tooling topic), shouldn't we handle the SignalR tutorial in the same fashion? Alternatively, we could put the various tooling approaches back into the ToDo List tutorial (making it like the SignalR tutorial) and make the tooling tabs default to the CLI tab. Even if we stick to the CLI for either or both, we've already had one reader write in on the ToDo List tutorial asking, 'Are we back in the Stone Age here? Why can't I use VS for this?' ... and I had to reply, 'Go ahead. It's cool.' I think we need to at least cross-link the Tooling topic if we leave the ToDo List tutorial as CLI only.

Templates topic: I think 🤔 that we should refactor this one into Blazor project structure (or something like that) and move the little bit at the top on template options to the Tooling topic, which is where I think we can coalesce our 'how to create a Blazor app' coverage (i.e., 'using the templates'). IMO, this topic should be focused on what files are in a Blazor app and what do they do. I think it works great in that capacity.

I'll make a few updates here to cover the Tooling topic, Hosting Models topic, and Templates topic, but that Item 3 :point_up: requires feedback before I can proceed on that one.

@mkArtakMSFT ... The three-day window is past. Do you want me to make the call on https://github.com/dotnet/AspNetCore.Docs/pull/20868#issuecomment-739982806 and move on? These older PRs are holding me up from another update that I need to make, so I'd like to get these in.


⚠ Bofrost.lu has degraded performance

In 5f0896b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1341 ms

Resolved: Bofrost.lu performance has improved in 62e9f5d after 28 minutes.


Zip

Applies a specified function to the corresponding elements of two sequences, producing a sequence of the results.
Proposed definition:
zip<TOther, TSelector>(
    other: TOther[] | IQueryable<TOther>,
    selector: (TOut, TOther) => TSelector): IEnumerable<TSelector>;

Uses deferred execution

I am working on it!


Gamepad Deadzone

Hi, firstly thanks for this code! Works great.
Question: Many gamepads have a joystick deadzone to avoid small and accidental changes. Is there a parameter that can adjust this or should this be done before parsing the inputs?

Hi,
I think vigembus has a tiny deadzone built in, but this is not customizable and if you want to customize one you need to do this programatically before calling the vgamepad API.


Create app-service-web-get-started-nodejs.md

Fixing a typo, replace PHP with Node.js

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@syntaxc4 Please review these proposed changes. Thanks.

#sign-off

#sign-off


Mystery Text Discussion of lr.txt

Post your ideas and findings and screen captures about lr.txt here!

AntConc Exercise 2
So, basically the text I chose (without knowing beforehand) was "Lord of the Rings" and as far as I know the first book of the trilogy. Now even if you didn't read the books or know the story, using AntConc and Voyant you can tell some things about the story, like this place called "The Shire", or these creature’s hobbits, maybe even the name of some characters like Frodo, Gandalf, or Sam. Having already read the books it’s pretty interesting to see how words like Shire or Bilbo are mentioned mainly at the beginning which is when they appear the most and then throughout the story practically disappear.

When I first opened the text document in AntConc, I immediately knew what the book was. Not specifically which book of the series, but I did know it was a part of the Lord of the Rings books. I saw hobbit, Frodo, Gandalf, and ring all in the top words on voyant, and I saw prepositional phrases like in the shire. An interesting phrase was "out of the". I found this interesting because a lot of the word in context showed a mystical or mysterious tone, which makes sense for a Lord of the Rings book.


add include and exclude patterns to jte-model (#243 Part 2)

As suggested in #243

Looks good to me! @edward3h, you know the model extension a lot better, I'd say you should have the final say before merge :-)
As with the other PR, maybe we could add a test for this, possible integration test? There are test/jte-runtime-cp-test-models(for Maven) and test/jte-runtime-cp-test-models-gradle (for Gradle), which could configured with such patterns?

Also, this PR includes both changes now. We should either remove them or close #244.

Also, this PR includes both changes now. We should either remove them or close #244.

Thanks @kelunik for reviewing it and good catch. I added the missing negation and dropped the commits that are already included in #244 .
I'm going to add tests for this and #244 later.


Documentation error in "Create a simulated drone"

In user guide documentation, when I try yo access to "sphinx" links, it redirect me to this

I have this ubuntu version:

I am using Google Chrome browser

Same happens with Firefox browser

Thanks for reporting this. It was just a dead link, sorry.
Parrot-Sphinx documentation is available at: https://developer.parrot.com/docs/sphinx/


[Feature] Add to brew

Should be able to add this to brew for quick installing on OSX. Right now there are only instructions for manually installing the script.

There is a PR open: https://github.com/Homebrew/homebrew/pull/47877

Awesome. Thanks for the info @ikben. I'm going to close this since it's being tracked.


[Bug] TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string.

Describe the bug
This errors occurs when I import a Postman collection with some multipart-formdata field of file type.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object
at assertPath (path.js:39:11)
at basename (path.js:751:5)
at FileInputButton.render (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:60864:75)
at Qg (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236595:192)
at Og (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236594:264)
at Tg (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236602:30)
at bi (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236654:22)
at ci (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236655:284)
at Di (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236671:348)
at Yh (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236670:144)
at Xh (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236667:332)
at qf (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236665:86)
at Ji (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236675:14)
at Ki (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236675:92)
at Pi.module.exports.Pi.render (file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236683:109)
at file:///C:/Users/patri/AppData/Local/insomnia/app-7.0.6/resources/app.asar/bundle.js:236686:395

To Reproduce
Steps to reproduce the behavior:

Import a Postman collection with multipart-formdata endpoint + file type field
Click on the endpoint
See error

Expected behavior
Open the endpoint without error and ignore the invalid path  / reference
Screenshots

Desktop (please complete the following information):

OS: Windows 10 Pro (latest stable build)
Installation Method: EXE
App Version v7.0.6

Additional context
Nope.

Same case. Imported from Postman and on importing to Insomnia 7.1.1 I get the same exact error when I click on a Request that has form data
Only way out is to Quit Insomnia as it brings up a blank pane that doesn't exit.
App Versions:

OS: MacOS
Installation Method: dmg
App Version: V7.1.1

Error Image

Blank Pane After the above Error

Same issue when trying to install a plugin, occurs on both my Mac and Linux machine. Works on my Windows machine

I also got a similar message when I try to "Copy as cURL":

The "path" argument must be of type string. Received
an instance of Array

The similarities continue once that I also have my Insomnia project created by a Postman collection.
Insomnia should convert empty fields (mine is Array when has no file selected) to null in import feature.


verify shellcheck

This will be used for the Prow test script and could also be applied to other scripts, like for example the deploy.sh script in csi-driver-host-path.

@msau42 updated.

/lgtm


2D/3D grid scans

Make the necessary changes/fixes/add-on  to get nexus files for grid scans.
See #23.

[ ] function that finds scan axis only works for rotation
[ ] alternative TBD for x,y (or whatever direction the scan is)
[ ] even if eg. omega=0 for all frames, probably need to write a list as long as the dataset

The first point (fix to function that finds scan axis) is already done, needs to be pulled from main.


Only re-generate graph if uploaded CALM instance json file has changed (finos#561)

Disable 'visualize' button when no file changes have been made, preventing graph being re-drawn. See screenshot below:

/easycla

Resolved!


Don't skip link: in elfeed-show-next-link

For instance in:

I'd like hitting TAB to go to Link: https://news.ycombinator.com/item?id=35062370.
It looks like a simple change if it's universally agreeable, or even agreeable behind a config flag with:
(defun elfeed-show-next-link ()
  "Skip to the next link, exclusive of the Link header."
  (interactive)
  (let ((properties (text-properties-at (line-beginning-position))))
    (when (memq 'message-header-name properties)
+    (previous-line)
      (forward-paragraph))
    (shr-next-link)))

I had the same idea. After some investigating, I assume the reason this isn't the default behaviour is that you can already open the link for an entry with b, bound to elfeed-show-visit.


No main.py

Hi Abdallah,
Thanks for the code.  I was trying to execute it per the instructions but there is nothing in main.py.  Thank you.

My bad! I was planning to implement the main.py file soon but forgot to include it. I've now updated both the main.py file and the user manual in the README file. It should work properly now.
You could have run the two other files directly, as they are fully functional though....

real_time_face_recognition_attributes_detention.py for real-time video processing.
static_face_recognition_attributes_detention.py for static image analysis.


runspv: no stack trace on Android

Using the server to run some examples, I am seeing some logcat output but no stack trace.
For amber.

Have you tried to repro the crash and manually inspect the logcat to make sure that there is a stack trace for this crash?

Note: I think we will get a stack trace on Android, but I have not hit any driver crashes yet

Confirmed that I hit a driver crash on Android and got a stack trace.  Success!


How to remove the authentication process as it is not valid

Hello @gayanvoice ,
As you have mentioned in many comments that you have remove the feature of authentication, but it is still in the repository and because of that i am not able to bypass that and not able to establish a connection. Or, can you remove it from the repo as it is not valid or suggest any workarounds, it would be helpful. Thank you.

What authentication process?


test1

Close because you haven't activated the action

Close because I didn't activate the action


1480 | Running Sum of 1D Array

Pull Request Template
What have you Changed(must)
Added RunningSumof1DArray Program
Issue no.(must) -
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[1] This issue was assigned to me if not it will marked as spam.
[2] My file is in proper folder
[3] I am following clean code and Documentation.
[4] I have added title and what program will do first in the file
[5] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

@atingarg1406 Please mention the Issue number in the PR Body.

Mention the Issue number into the PR Body.

I have done this. I have mentioned the Issue number that is #10 into the PR Body.
If the task is done then kindly mark as accepted.


Creating ComPtr from APIs that take an out-parameter

I’ve added the API below through an extension trait. Do you think it would make sense to have as inherent methods in this crate? I can send a PR. I’m not sure about the method names, though.
impl<T: Interface> ComPtr<T> {
    /// For use with APIs that "return" a new COM object through a `*mut *mut c_void` out-parameter.
    ///
    /// # Safety
    ///
    /// `T` must be a COM interface that inherits from `IUnknown`.
    /// If the closure makes the inner pointer non-null,
    /// it must point to a valid COM object that implements `T`.
    /// Ownership of that object is taken.
    unsafe fn from_void_out_param<F>(f: F) -> Result<Self, HRESULT>
        where F: FnOnce(*mut *mut c_void) -> HRESULT
    {
        Self::from_out_param(|ptr| f(ptr as _))
    }

    /// For use with APIs that "return" a new COM object through a `*mut *mut T` out-parameter.
    ///
    /// # Safety
    ///
    /// `T` must be a COM interface that inherits from `IUnknown`.
    /// If the closure makes the inner pointer non-null,
    /// it must point to a valid COM object that implements `T`.
    /// Ownership of that object is taken.
    unsafe fn from_out_param<F>(f: F) -> Result<Self, HRESULT>
        where F: FnOnce(*mut *mut T) -> HRESULT
    {
        let mut ptr = ptr::null_mut();
        let status = f(&mut ptr);
        if SUCCEEDED(status) {
            Ok(ComPtr::from_raw(ptr))
        } else {
            if !ptr.is_null() {
                let ptr = ptr as *mut IUnknown;
                (*ptr).Release();
            }
            Err(status)
        }
    }
}

Interesting approach.  I'd suggest checking explicitly against S_OK in from_out_param.  COM APIs are known to return S_FALSE sometimes without actually filling in the out param.  In that case the caller should probably treat S_FALSE like an error and handle it differently.

Concerning the naming, C++/WinRT uses put().

That’s not quite the same. That put() method doen’t do the whole “create a (null) pointer, then mutate it through a callback, then check whether return value indicates an error” dance.


Support for image/webp podcast images

Added support for image/webp podcast images, converting to PNG using webp-converter, before resizing the image.

Pull this to my fork, i will accept


Announce consolidation of OpenSSF, CII and LF security initiatives

Consolidate current CCI and LF security initiatives under OpenSSF

Who do we talk with in LF to plan consolidation of CII with OpenSSF?

@david-a-wheeler is the best bet to start the conversation
This is a bit complicated as I believe you will follow this path:

identify the relevant CII efforts that you desire
propose them to the TAC for a vote
decide how to consolidate messaging

I think we want to fully consolidate OpenSSF and CII. It may take some time, but that should be our direction.

I intend to start by listing the working groups (along with explanations since their names are sometimes misleading) and listing the CII activities, and then proposing plausible matches along with other thoughts about transition.
I know there are several CII activities that aren't immediately visible, so we'll need to track that down, and I suspect there are cases where there's more than one plausible working group as a destination.
I think it would be easiest to start by drafting a Google doc, that way people can easily kibitz and make little improvements.

I created a proposed plan in the Google doc
Proposed Plan to Integrate CII into OpenSSF.
To create this proposal, I first extracted current declarations about the OpenSSF working groups’ scopes (which are still in flux); these are shown in the appendix. I then listed all ongoing CII activities (and some related ones). For each activity I propose how & where they could move into OpenSSF.
The proposed overall plan is to integrate existing CII activities into OpenSSF and eventually officially dissolve the CII. The CII was originally funded for 3 years; those 3 years have ended, and the LF has been working to keep some CII activities going where they made sense. Now that the OpenSSF exists, it makes sense to transition them to the OpenSSF if the OpenSSF wants them.The goal is to have smooth transitions where the OpenSSF wants to pick up the work.
I believe these decisions are entirely the OpenSSF’s to make. I think are some confusions because I think there are two different groups named the "SC Steering Committee" (as I discuss in detail in my proposal).
Again, this is merely a proposal, with the hope that it starts a conversation & provides some useful background. It is the OpenSSF that decides what the OpenSSF will do :-).

Here's quick summary of the existing CII (& related) Activities, along with my proposed home in OpenSSF for them:

EdX “Fundamentals” course → Best Practices (incl. Education) WG . This isn't a CII activity, but it's related. See the Doodle poll
CII Best Practices badge → Security Threat (incl. Metrics) WG, alternate Best Practices (incl. Education) WG

This is complicated, because it's relevant to two WGs! Recommend changes be coordinated/vetted by both WGs

CII Census (of critical projects) & CII Survey (of developers) → Securing Critical Projects WG
Funding for some specific work on OpenSSH/OpenBSD/Linux kernel → Securing Critical Projects WG

Again: This is just a proposal. It is the OpenSSF, not me, who makes these decisions.

Thanks David, this proposal seems like a good starting point.
I think our next steps are as follows:
@david-a-wheeler to work with the respective WG's to create GitHub issues, something like the following:

Proposal to adopt EdX fundamentals course
Proposal to adopt CII Best Practices badge initiative
Proposal to adopt CII Census and CII Survey initiatives
Proposal to adopt LF sponsored security work for OpenSSH/OpenBSD/Linux kernel

Once these issues are created, it would be great to add them to the rollup issue I recently created for TAC discussion.
Review WG proposals for adopting LF and CII initiatives
I'm open to better ways to handle this, if others have ideas.

Opened https://github.com/ossf/wg-securing-critical-projects/issues/14 to track the Census part.

@kaywilliams - I will create these issues once the TAC meeting today is complete, assuming the TAC doesn't override it.

@david-a-wheeler @kaywilliams - Can you provide 3-5 bullet points about the merge for the press release? Thank you!

@LindsayLF - will do via email.

@david-a-wheeler, Thank you!!

@LindsayLF, @david-a-wheeler - how about this for the press release:
Existing projects in the Core Infrastructure Initiative (CII) are now being consolidated into the newer OpenSSF. Specific projects include the following:
•	The CII Census (a quantitative analysis to identify critical OSS projects) and CII Survey (a quantitative survey of OSS developers). These two efforts will continue to be implemented by the Laboratory for Innovation Science at Harvard (LISH).
•	The CII Best Practices Badge Program.
This consolidation is being done in a thoughtful way to prevent disruption. Once complete the CII is expected to be officially dissolved, with the OpenSSF taking over as the hub for collaboration to secure the open source ecosystem.

@kaywilliams - looks good to me!

@kaywilliams - Looks good, please review the press release draft for alignment to this content.  Thank you!

Looks good. Closing this issue.


bugfix: WriteString should auto-flush as well

Pull Request Test Coverage Report for Build 892360604

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 90.467%

Totals

Change from base Build 892240014:
0.6%

Covered Lines:
484

Relevant Lines:
535

💛  - Coveralls

Pull Request Test Coverage Report for Build 892360604
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 90.467%

Totals

Change from base Build 892240014:
0.6%

Covered Lines:
484

Relevant Lines:
535

💛  - Coveralls


Split D&C People

Goal: ScriptureCentral wants to split the D&C People content into chunks in preparation for indexing.
Depends on: #5
Create notebook: 25_dc_people_splitter
Steps:

Use a markdown text splitter to split the content

Large


[AzureMonitorOpenTelemetryDistro] Integrate support for AAD into the distro.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Monitor.OpenTelemetry

Do we have changelog for this component?

Do we have changelog for this component?

No yet, we plan to add once we stabilize the APIs for first beta version. I missed the feedback and merged the PR too soon, will fix the feedback in a follow up PR.


Set fixed height for the scroll of the bib.

Is your feature request related to a problem? Please describe.
See the following issue for background on how this was discovered and the design work that was done.

https://github.com/AlaskaAirlines/auro-select/issues/66

There is also this issue that came in after this was created that we should also consider from a UX point of view and perhaps use the same solution for both use cases where we have a long list of options with auro-select.

https://github.com/AlaskaAirlines/auro-select/issues/127

Describe the solution you'd like
The design should be discussed as to how this solves the original issue that was submitted. A technical specification needs to be discussed with the team and exit criteria defined.
AC:

When a user interacts with the the scroll bar the bib should not close.
The bib can never be taller than the screen size.
The bib will leave a little space at the bottom of the screen so it never looks cut off.
The bib needs a min-height defined.
We need to decide if we want to support specific sizes or whether the user can make it any size they want with css.

Note for `finement.
The flight search team implemented the work around Geoff suggested for the currency converter.
https://www.alaskaair.com/search/results?A=1&O=sea&D=las&OD=2023-08-25&OT=Anytime&DD=2023-08-25&DT=Anytime&UPG=none
Scroll down to the bottom of the page and click on the currency converter in the fine print.

With that implementation you can see that once we try to touch the scroll bar the select closes because we don't officially support this but that would also have to be considered. This issue below will address the bug portion of the feature request.
https://github.com/AlaskaAirlines/auro-menu/issues/159

Meeting is scheduled with the team for a feature tech'refinement discussion.

When a user interacts with the the scroll bar the bib should not close.
This should be removed from the AC. It is already implemented.

The bib will leave a little space at the bottom of the screen so it never looks cut off.
This should at a minimum include the top as well.
We may want to look at left and right padding as well. This portion of the change may need to be in auro-dropdown though. Since we would want consistent behavior between at minimum auro-select and auro-combobox.

Post conversation it was agreed that this work is not priority and the thing to be done is to update the demo to illustrate how a user can simply use CSS to restrict height and auro-menu will naturally listen to this.

Work was addressed in this PR:

https://github.com/AlaskaAirlines/auro-select/pull/220


Responsive

Website is not very responsive for mobile view,
make the UI clean and better

Can i work on this?

I’m interested, can you please assign it to me.


pop-up to save wallet at start might also suggest to save private key?

I'm just wondering if there should be a message to save the private key to somehow in this warning.  I know it is a more difficult warning but some people are having problems with wallets not working for them.

Well, the problem is that handling the priv key is a bit more advanced and if done wrong it is a security problem. So I'm not sure. We would have to think about how to describe it very well at least...

That makes sense.  I guess I was just thinking I am seeing a lot more "I am having a problem with my wallet" user fails then "I am having a problem with my key"

Right, I think that is true. But still it would be dangerouse to just display them the priv key and be like "back this up please". People will then save the priv key on the desktop and feel safe^^


CodeGen: add Svelte support

Hi, are there any plans to support Svelte?
Thanks!

Hi, once the codegen feature is ready, we can support any framework and lib.

@mindrones wanna help out with this?

Hey @manekinekko can you give me some pointers to do it? I have been playing with Svelte for some time now, I think I could help here...

Hi @manekinekko, may I work on it?

Hey @sumitparakh sure. Thank you!


Fix codeowners bug, misstyped (miscopied) alias for @cristinamanum

🤕

@loic-sharma beat me to it https://github.com/NuGet/NuGetGallery/pull/7526


Conditionally define module scope not working.

Bicep version
Bicep CLI version 0.30.3 (2f0e78dcae)
Describe the bug
I want to define the scope for a module conditionally based on the subscriptionId and rgName parameters. If both subscriptionId and rgName are defined, the scope should be resourceGroup(subscriptionId, rgName). If only rgName is defined, the scope should be resourceGroup(rgName). If neither parameter is defined, use the current scope, which is resourceGroup().
The below code should work but for some reason it is not. I returns the deployment scope resource group instead of provided subscriptionId and rgName parameters. I noticed a similar issue https://github.com/Azure/bicep/issues/7367 and a workaround is provided there but that is with only one paramater. Is ther a way to pass both subscriptionID and rgName as parameters, when the scope is in a different subscription.
To Reproduce
param subscription string = 'xxx-xxx-xxx-xx-x-xx'
param rgname string = 'test-rg'
resource vmexists 'Microsoft.ScVmm/virtualMachines@2023-04-01-preview' existing = {
name: 'test-vm'
scope: empty(subscription) && empty(rgname) ? resourceGroup() : empty(subscription) ? resourceGroup(rgname) : resourceGroup(subscription,rgname)
}
output resourceId string = vmexists.id

Scopes must be constant at compile time so what is happening is that the first clause of your conditional is used at compile time.
Since what you want is "Use the current subscription/resource group if they are not specified", you can simply use the last clause of your condition for the scope.
param subscriptionId string = subscription().subscriptionId
param resourceGroupName string = resourceGroup().name

module mod 'nsg.bicep' = {
  name: guidId
  scope: resourceGroup(subscriptionId, resourceGroupName)
  params: {
    Location: resourceGroup().location
    NsgName: ''
    SecurityRules: [

    ]
  }
}

If you do not specify any parameters => The current subscription and resource group is used
If you specify the subscription => The subscription is used targeting a resource group with the same name as the one used by the parent deployment
If you specify the resource group name => The current subscription is used with the provided resource group name
If you specify both => The specified resource group and subscription are used.

This does not safe guard against providing only the subscription like the empty(subscription) ? resourceGroup(rgname) : resourceGroup(subscription,rgname). But in the worse case, all it will do is cause a runtime error because the resource group doesn't exist.

Thanks @GABRIELNGBTUC for providing the workarounds! Closing this as a duplicate of #1876.


Split the Project system vsix

Split the Project system vsix into 2.

Project system vsix - Contains all the MS.VS.ProjectSystem.*.dll and nothing else.
Editors vsix - contains MS.VS.AppDesigner.dll and MS.VS.Editors.dll.

Tagging @dotnet/roslyn-analysis @davkean @srivatsn @jinujoseph for review

LGTM.

What does F5 do now? Does it deploy both?

@davkean Yes, It deploys both. F5 continues to work as it does before

LGTM

Long term the approach will be put the VSIX inside the NuGet package, right? And we can remove the manifest copying/specially handling, right?

We are generating this Nuget Package to work with Classic installer and the new VSIX are to work with New installer. I dont see a reason to move the VSIX packages inside the Nuget. If the classic installer goes away then potentially we can do away with the Nugets unless there is other need for them

The classic installer is going away.


HA service/lease refactor

Service contained a lot of business logic which should be inside
of lease. This refactor moves it to the proper place and simplifies
the code by removing the additional complexity caused by the logic
misplacement.

bors r+


SWAT REST API fails test in federated mode

When in "local irods federated mode" as invoked through irods/use_local_irods.sh --persist, an error occurs in the SWAT REST API tests as follows:
Traceback (most recent call last):
  File "/hydroshare/hs_core/tests/api/rest/test_scimeta_swat.py", line 52, in test_put_scimeta_swat_model_instance
    self.updateScimeta(pid, sci_meta_new)
  File "/hydroshare/hs_core/tests/api/rest/base.py", line 195, in updateScimeta
    msg=str(json.loads(response.content)))
AssertionError: [u'Resource metadata does not contain a resource ID that matches resource map resource ID f67d159730934003838df113981b4d7e.']
``

@alvacouch Hmm, this test failure has nothing to do with iRODS federation. I only executed those federation-specific unit tests I added one by one locally and they all passed, and Michael run all tests including federation-specific unit tests on dev through Jenkins via local irods containers and they all pass, so I am not sure whether this one fails. If you can quickly figure out the reason why this one fails, it'd be great; otherwise, I'd suggest just to disregard this local test failure since it is not irods federation related.

@hyi I am running the same test on develop in federated mode to see if it repeats. If it does, then I will disregard. If not, I will conclude that there is something about my solution that is not being tested properly, and that somehow I broke federation.

@alvacouch Sounds good.

@alvacouch - Believe there are 5 federated, or user_zone related tests run nightly.
Reference: http://ci.hydroshare.org:8080/job/nightly-build-test/155/testReport/

search term "user_zone" in the above list of tests

The trigger for this is to set the REMOTE_USE_IRODS variable to be True in local_settings.py
Excerpt from the Jenkins build script for nightly build.
# Remote iRODS proxy user configuration
sed -i "/\<REMOTE_USE_IRODS\>/c\REMOTE_USE_IRODS = True" ${SETTINGS_FILE}

@mjstealey Setting REMOTE_USE_IRODS to True alone is not sufficient to run federation zone tests. Refer to https://github.com/hydroshare/hydroshare/blob/develop/hs_core/testing.py#L41..L45 for the conditions needed to run federation zone tests. Specifically, in addition to having REMOTE_USE_IRODS set to True, settings.HS_USER_ZONE_HOST needs to equal to 'users.local.org' and settings.IRODS_HOST needs to equal to 'data.local.org' as well, which means local irods containers need to run. Otherwise, all test scenarios would exit out without really being executed even though the test results show success. The conditions used NOT logic which is a bit confusing. Most likely you have already started irods containers on dev for federation zone tests to run through, but want to clarify here just in case.

Setting REMOTE_USE_IRODS to True alone is not sufficient to run federation zone tests.

@hyi - Yes, very true, and thank you for pointing that out. There was an implicit assumption in my comment that @alvacouch was already running the use-local-irods.sh script in his local environment which sets much of what is needed.

@mjstealey Great! In fact, your nice script use-local-irods.sh script already takes care of all these needed settings in local_settings.py including this REMOTE_USE_IRODS as shown here: https://github.com/hydroshare/hydroshare/blob/develop/irods/env-files/use-local-irods.env#L18. So as long as that use-local-irods.sh script is run, there is no need for users to do anything extra, federation just works out of the box which is really nice.

@hyi @mjstealey The swatshare test succeeds in develop in federated mode in my environment. Investigating what is different about my particular branch that could cause problems. Will start clean, reset all, delete icat* persistence containers, and try a global test on my branch to see if accumulated state is a problem.

@mjstealey @hyi Starting clean, all tests passed on my PR. There seems to be some kind of state problem that accumulates as the iRODS instance is used. When I say clean, I mean a total reset: delete icat* state, reset all, kill all running containers, etc.

@mjstealey @hyi The state problem continues; repeating the swatshare test causes a failure.

@hyi @alvacouch Has this issue been resolved?

@Castronova It looks to me this issue can be closed, but will defer to @alvacouch on whether this can be closed or not.

Can be closed.


Update to nodejs18

https://issues.redhat.com/browse/ACM-2779
Replaces bad cherry-pick https://github.com/stolostron/console/pull/2499

/cc @jeswanke


Reuse navigate function.

I will accept this request but am also making some changes so it will look a bit different. Please review updated version once I put through my extra changes in the next few hours.

Updated version attached - no more  component


[Kobolds Ate My Baby] Fixed broken skills columns & CSE

Changes / Comments
Fixed broken skills columns
Added support for character sheet enhancements
Set Legacy to false in sheet.json
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[x]Is this a bug fix?
[x] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


chore(deps): update common-dev-assets digest to a1178ba

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
e735fa7 -> a1178ba

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

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

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


_version.py does not exist

I was looking for a python interface to digikamdb and this seems to fit the bill.
However, import fails since digikamdb/_version.py does not exist. It is imported in init.py
Probably a simple mistake.

_version.py is automatically generated during package build (the version is taken from tags), so it is not present in the raw source. You could do something like python -m build -s or pip install -e . to force generation.
Regards,
Ralph

Thanks. Learned something new. I see it is done by setuptools.


Add mean/stdvar/stddev estimates

Spawned from discussion on #1
Enhancements

add mean/stdvar/stddev to Histogram
min/max as convenience functions for p0 p100

Enchancements added to v0.2.0


Error Deploying with prisma

Describe the bug
Prisma query engine not found when deployed with target:serverless.
Build fails when using target: experimental-serverless-trace.
Tried both ui installation and manual installation.
Looking forward to deploy my next js + prisma app to netlify. Thank you.
More info:
https://github.com/prisma/prisma/issues/6051
Versions

Next.js: 10.0.8
plugin (if installed at fixed version):

If you're using the CLI to build

OS: [e.g. macOS, Windows]
netlify/cli version:

If you're using file-based installation

netlify.toml:

thanks for this, @s-kris! do you have a repo and/or build log we can look at? it will make chasing this down much faster
thank you!

Sorry. I forgot to include the error for target:serverless.
Query engine binary for current platform "rhel-openssl-1.0.x" could not be found. This probably happens, because you built Prisma Client on a different platform. (Prisma Client looked in "/query-engine-rhel-openssl-1.0.x") Searched Locations: /.prisma/client /opt/build/repo/node_modules/@prisma/client / /var/task/node_modules/.prisma/client /var/task /var/task/node_modules/.prisma/client You already added the platforms "native", "rhel-openssl-1.0.x", "darwin" to the "generator" block in the "schema.prisma" file as described in https://pris.ly/d/client-generator, but something went wrong. That's suboptimal. Please create an issue at https://github.com/prisma/prisma-client-js/issues/new
I opened this issue on prisma as well.
I will create minimal repo tomorrow and share it :)

thank you!

Hi @jlengstorf
Please find the minimal repo here: https://github.com/s-kris/test-prisma-netlify
You need to visit /api/prisma-test to see the error response.
Thank you for your patience. :)

Looks like this has something to do with prisma
https://github.com/prisma/prisma/issues/6032

thanks for following up with this @s-kris! we'll keep an eye on that Prisma issue

this should be fixed as of Prisma 2.20.0! https://github.com/prisma/prisma/issues/6051#issuecomment-810085713
we confirmed it working, so I'll close this, but please let us know if you see it again!

Hey @jlengstorf  the original error wasn't fixed. Here's the deployed url: https://60638a6d69433d000751b036--cocky-babbage-06fac3.netlify.app/api/prisma-test
Also, it says in he comment here: https://github.com/prisma/prisma/issues/6051#issuecomment-810085713 that original error still remains. Can you please share a sample repo if you got this working? It'd be really helpful.
sample repo: https://github.com/s-kris/test-prisma-netlify
branch: p2.20

Nice to see this was reopened as I'm also running into this same issue. I can't tell if it's a Prisma issue or Netlify because I deployed the same repo to Vercel without any issues.

Thanks for the report. I'm going to close this, because there is a new version of the plugin out which doesn't use experimental-serverless-trace. If you're still having trouble after upgrading, please could you open a new issue?


1.0 Contribution

Hi @nicolaslopezj ,
I am trying to contribute to 1.0 either helping or beta testing. When I cloned the 1.0 branch I can't seem to get it working any advice on setup ?
I cloned the 1.0 example-blog , and cloned the 1.0 packages directory into the example-blog.

Example blog need to be updated too. Tomorrow I will specify instructions for beta testers

Very well,
Thank you for the update.

In the meantime you can test nicolaslopezj/reactive-templates, the package that orion 1.0 uses to allow developers to override templates


RFP - HelixALM

It would be nice to have the HelixALM client added to the repository:
https://www.perforce.com/downloads/helix-alm-client

Status: Review
https://chocolatey.org/packages/helix-alm-client

Status: Published
https://chocolatey.org/packages/helix-alm-client
Can be closed.


Ibc-go v6

Currently, go-substrate-rpc-client  does not support ibc-go v6. This could make some repo using it cause some unexpected error. This PR update ibc-go version to v6 to avoid it.

Hi @blasrodri @vmarkushin, can you guys take a look at this pr so that I can make a PR into interchaintest?

@phamminh0811 we don't support this fork any more. I'll archive it. Feel free to fork it, and make needed changes.


sqlite: 3.16.2 -> 3.17.0

Motivation for this change
Update sqlite3 to the last version in staging branch
Things done

[X] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

lgtm!


Running provided RE code returns RuntimeError: pytorch_model.bin is a zip archive error

Hi. I downloaded the model and checkpoint you provided and am trying to run relation extraction. Per a previous Issue, I did as you suggested and have managed to set up the packages as you specify.
Specifically, I'm running the command:
python -m examples.cli \
--model-file=/hdd1/user/research/luke/luke_large_500k.tar.gz \
--output-dir=/hdd1/user/research/luke \
relation-classification run \
--data-dir=/hdd1/user/data/TACRED/data/json \
 --checkpoint-file=/hdd1/user/research/luke/pytorch_model.bin \
--no-train

but this returns a RuntimeError: /hdd1/user/research/luke/pytorch_model.bin is a zip archive (did you mean to use torch.jit.load()?). According to this PyTorch Discussion Forum answer it seems this may stem from using differing PyTorch version when saving and loading checkpoints? I'm not sure if I can address this issue though. The PyTorch version that I've installed using the requirements.txt is 1.2.0.
Would you have any idea what may be causing this issue? Thanks.

Here's the entire traceback in case it provides some more info:
Traceback (most recent call last):
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 187, in nti
    n = int(s.strip() or "0", 8)
ValueError: invalid literal for int() with base 8: 'r_v2\nq\x02('

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 2289, in next
    tarinfo = self.tarinfo.fromtarfile(self)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 1095, in fromtarfile
    obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 1037, in frombuf
    chksum = nti(buf[148:156])
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 189, in nti
    raise InvalidHeaderError("invalid header")
tarfile.InvalidHeaderError: invalid header

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/torch/serialization.py", line 555, in _load
    return legacy_load(f)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/torch/serialization.py", line 466, in legacy_load
    with closing(tarfile.open(fileobj=f, mode='r:', format=tarfile.PAX_FORMAT)) as tar, \
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 1593, in open
    return func(name, filemode, fileobj, **kwargs)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 1623, in taropen
    return cls(name, mode, fileobj, **kwargs)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 1486, in __init__
    self.firstmember = self.next()
  File "/home/user/anaconda3/envs/luke/lib/python3.7/tarfile.py", line 2301, in next
    raise ReadError(str(e))
tarfile.ReadError: invalid header

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/anaconda3/envs/luke/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/user/github/luke/examples/cli.py", line 132, in <module>
    cli()
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/user/github/luke/examples/utils/trainer.py", line 32, in wrapper
    return func(*args, **kwargs)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/home/user/github/luke/examples/relation_classification/main.py", line 110, in run
    model.load_state_dict(torch.load(args.checkpoint_file, map_location="cpu"))
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/torch/serialization.py", line 386, in load
    return _load(f, map_location, pickle_module, **pickle_load_args)
  File "/home/user/anaconda3/envs/luke/lib/python3.7/site-packages/torch/serialization.py", line 559, in _load
    raise RuntimeError("{} is a zip archive (did you mean to use torch.jit.load()?)".format(f.name))
RuntimeError: /hdd1/user/research/luke/pytorch_model.bin is a zip archive (did you mean to use torch.jit.load()?)

Hi,
Did you decompress the checkpoint file? The checkpoint file is compressed using gzip, you need to decompress the file before using it.

Yes, I decompressed the file. I have a separate compressed pytorch_model.bin.gz underneath pytorch_model.bin (the one I downloaded from the Google Drive link you provided) and I'm using the decompressed one as an argument.

Thanks for the reply. I confirmed that the checkpoint file can be loaded successfully using torch==1.2.0.
>>> import torch
>>> m = torch.load('pytorch_model.bin')
>>> torch.__version__
'1.2.0'

Please confirm that torch can load the checkpoint by running the commands above.

I'm not sure why, but I kept getting the same error traceback. However, I downloaded the checkpoint and decompressed it again, and that solved the issue. Thanks for the tip!


Still active

Hi,
Is this project still active? 43 PRs doesn't look good

:-(
https://github.com/twitter/typeahead.js/issues/466 - Sep 2013
https://github.com/twitter/typeahead.js/issues/1018 - Oct 2014
https://github.com/twitter/typeahead.js/issues/1320 - Jul 2015


WebInkEnhancement should inform author of expected improvements

Site authors may want to know what improvements they can expect by using the ink enhancements described by the explainer, so they can make an educated decision on if they want to use it or something else to improve the user experience. Therefore, we should add some way to indicate to the author what they can expect.

Addressed by PR 195


Safari: Links invisible on dark mode docs, barely visible in light mode

In #155, hyperlinks were undifferentiated from other text when viewing on Safari. @tbrlpld addressed this, but then dark mode got implemented, and now links are once again largely invisible on Safari.
Take a look at a screenshot of this page in dark mode from Safari 15.6.1 on macOS 12.5.1:

These three bullets should all be hyperlinks, but lack any decoration.
In light mode, they do appear in a slightly different font color:

However, the color lacks the contrast difference from the body text needed to truly indicate they're navigable (Section 508 issue).

Fix up for this https://github.com/wagtail/sphinx_wagtail_theme/pull/207


MAAS-3861 | Report check as OK if last result is OK

If error rate fails but last check result is OK, report the check as OK but do not trigger "resolve" event.

Coverage decreased (-0.003%) to 97.409% when pulling 1c71a7093127ed3ac3e829bb7e576e2d6308041a on MAAS-3861-error-rate-never-resolves into<PHONE_NUMBER>abcbfb7b95a317c4d41b439970dcad on develop.


A20-8-5-A20-8-6:  Cannot create a smart pointer with nullptr value

Affected rules

A20-8-5: cpp/autosar/make-unique-not-used-to-construct-object-owned-by-unique-ptr

Rule A20-8-5 (required, implementation, automated)
std::make_unique shall be used to construct objects owned by
std::unique_ptr.

A20-8-6: cpp/autosar/make-shared-not-used-to-construct-object-owned-by-shared-ptr

Rule A20-8-6 (required, implementation, automated)
std::make_shared shall be used to construct objects owned by
std::shared_ptr.

Description
A20-8-5 triggers when initializing an unique_ptr to nullptr.
A20-8-6 triggers when initializing an shared_ptr to nullptr.
Initializing a smart pointer with a nullptr value can be however necessary in some specific cases.
Example
std::unique_ptr<bool> uniquePtr{nullptr}; // Triggers A20-8-5
std::shared_ptr<bool> sharedPtr{nullptr}; // Triggers A20-8-6

It should be straight forward to exclude nullptr from these queries. Thanks for the report!


Progress Update value not reflected in hot module graph

when I enter a value in the Progress Update field on custom settings it updates the number displayed above the graph but not the graph itself.
see node 1283

@angaither not sure if that's a you or @sbsmith86 thing
cc: @namimody

@deadlybutter in dosomething_reportback.cron.inc before setting the variable it should also get the progress override and add the two together

^^ Si, if the value gets added there, it will be reflected in the graph.


feat(argocd-plugin): add rh-argocd plugin as dynamic plugin

Description
This bundles the RH argocd plugin as a dynamic plugin
Which issue(s) does this PR fix
https://issues.redhat.com/browse/RHIDP-995
How to test changes / Special notes to the reviewer

Use the image from this PR to test this changes.
Update the entity with the argo-cd selector

  annotations:
    argocd/app-selector: 'rht-gitops.com/janus-argocd=quarkus-app-bootstrap'

add the following in app-config.yaml file

dynamicPlugins:
  rootDirectory: dynamic-plugins-root
  frontend:
    janus-idp.backstage-plugin-argocd:
      mountPoints:
        - mountPoint: entity.page.overview/cards
          importName: ArgocdDeploymentSummary
          config:
            layout:
              gridColumnEnd:
                lg: 'span 8'
                xs: 'span 12'
            if:
              allOf:
                - isArgocdConfigured
        - mountPoint: entity.page.cd/cards
          importName: ArgocdDeploymentLifecycle
          config:
            layout:
              gridColumn: '1 / -1'
            if:
              allOf:
                - isArgocdConfigured

Note: This cannot be tested by running backstage-showcase locally, because the config values are not visible for any frontend plugins. I have filed an issue https://issues.redhat.com/browse/RHIDP-2281

cc: @nickboldt @davidfestal

Seems reasonable; did not test.

/assign @davidfestal

/test e2e-tests

/test e2e-tests

/test e2e-tests

/test e2e-tests

/test e2e-tests

Google sign in e2e tests are failing due to the presence of Captcha screen, There is a PR to skip this test https://github.com/janus-idp/backstage-showcase/pull/1251 temporarily.

/retest-required

/test e2e-tests


Add link to Japanese translation

Added Japanese translation link at bottom same as Chinese.
https://github.com/github/swift-style-guide/pull/36#issuecomment-84616236
Thanks!

Wonderful, thank you so much! :bow: