support access compiled assets content

Support insert compiled assets content into html template like:
<script><%= htmlWebpackPlugin.files.chunks.main.source() %></script>

Cool idea :+1:
I fear this would make it really hard to modify the assets object like in the following test/example:
https://github.com/ampedandwired/html-webpack-plugin/blob/feature/loaders/spec/HtmlWebpackPluginSpec.js#L687

I deep into compilation object and find methods output compiled assets content, so I just mount those methods to be accessed from html template context, haha~

@jantimon So would you accept this pull request? Many people hope that the html-webpack-plugin package on NPM can support inline compiled assets into html template

This doesn't look like a complete solution as it works only for chunks (so you can't inline css) and it makes it harder to modify the assets object with the hook system.

What do you think about something like https://github.com/ampedandwired/html-webpack-plugin/pull/191 ?

It would work for css js manifests files and does support altering the assets object with the events.

Cool, I agree with #191.
There is also desire to inline css and webpack manifest files.


End tangents

I've just found your code and think that it is really good. Currently I'm trying to interpolate Autodesk's dxf file splines and your code comes really close except that Autodesk defines the end tangents of their splines and the length of their knot value fails your test on line 26.
I've been trying to figure out how to implement having the end tangent defined. Is there a way to add extra control points to have this work out correctly or should it be done in a different way?
I've been working on this for a while and still have not been able to figure it out. Please let me know if you know any way to interpolate this kind of spline.
Thank you
Here is an example of an Autodesk b-spline:
Autodesk spline cad drawing

Interpolation using your b-spline library

Spline Properties
degree
3
starttangent
[-0.4138029443011841, 0.9103664774626047]
angle 1.9974238199217729 rad
endtangent
[0.8422714006615115, 0.539053696423367]
angle 0.5693131911006616 rad
controlpoints
[[2.399185827365247, 3.556238220882021], [1.79819140306395, 4.878425954344872], [3.793761079285986, 10.00772218210104], [9.597527631961984, 2.634051205137613], [-1.014386849068146, -0.7575600644211504], [-0.0580977089595729, 7.39060578138084], [1.891006407840181, 8.638032416132681]]
number of controlpoints 7
fitpoints
[[2.399185827365247, 3.556238220882021], [4.039879381831888, 7.592634753109687], [7.045397663022992, 3.861145872597061], [1.411865812287976, 1.712272898605353], [1.891006407840181, 8.638032416132681]]
number of fitpoints 5
knots
[0.0, 0.0, 0.0, 0.0, 4.357105955223939, 9.148467912325835, 15.17792362338283, 22.1202374022988, 22.1202374022988, 22.1202374022988, 22.1202374022988]
number of knots 11
weights
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
number of weights 7
normalvector
(0.0, 0.0, 1.0)
is_closed
False
is_periodic
False
is_rational
False
is_planar
True
is_linear
False

Hi ! Looking up the DXF specs, it looks like the end tangents can be omitted in the file, so maybe they aren't used in the spline computation. Then, degree 3 equates to order 4, are you using the right number here ? This may explain why you get the line 26 error.
I was worried by the fit points, but it looks like they are only a tool for users to define a spline without defining the control frame. So the control frame would be computed from them by the CAD software, and both stored in the DXF file so the software doesn't "forget" the original user input. In other words, they most probably aren't used in the computation. But you probably already know this.
Let me know how this goes !

Thanks so much! Put so much time in trying to figure this out.
What did you originally write this for?

Glad I could help you ! Do you get the correct curve now ?
I wrote this module in part because I wanted to crack how B-splines worked, and in part because we needed them at my previous employer. I don't have an extensive background in mathematics so this was a great (and quite tough) challenge ! The algorithm is hard to get right and there's not one place when you can get complete information about how it works, or sample code, even in another language.

The curve is perfect now! Now I'm just getting it working in my python code (yeah js in py). Once I get the wrapper I'll send it to you.
The search was hard for this. I got a large part of a spline interpolator written in python but the last 5% made me give up; I bet having the wrong order didn't help either.
Thanks again for the help

Are you sure there is no way to constain the end tangents in autocad ? Reading a bit more in autodesk docs I came to be in doubt.
Are you calling JS code from python ? You could probably translate the code without too much pain if you wish so

Not sure about constaining the end tangents, I'll be running more test to make sure that the autodesk and interpolated splines match.
I've transposed the code and am currently running a test to compare the results and am getting results that have too much error in them, so still testing to get conformity.
https://github.com/BebeSparkelSparkel/b-spline


Make booking success more obvious

Currently, it happens that users don't see that they booked an appointment successfully, because they need to scroll down in the form and the info box at top right is not visible to them, so they book again.
To make it more obvious to the user, we hide the booking form if it is not editable (which is when no date is selected or when the booking was successful).

Thank you @Hustenbonbon, indeed usefull :tada:


Can't focus input element in modal

Reproduction link
https://stackblitz.com/edit/angular-ykkcar
Steps to reproduce
I 'm trying to focus an input from a component passed to the content of a modal.
At the lifecycle hook AfterViewInit, I focus the nativeElement of input in the TestComponent.
But it seems the focus is given to an another element.
With a timeout of 1sec, my input is focused. But this is not the solution I expect.
What is expected?
The input element should be focus.
What is actually happening?
The input element isn't focus.

Environment
Info

ng-zorro-antd
13.0.1

Browser
Opera

try this
setTimeout(() => this.input.nativeElement.focus(), 0);

try this
public ngAfterViewInit(): void {
    // this.input.nativeElement.focus();
    setTimeout(() => this.input.nativeElement.focus(), 0);
  }

This thing works like a charm as Modal, bus when I try to use the same component as Drawer Component is does not work.
Any work around will be deeply appreciated??
Stackblitz
[https://stackblitz.com/edit/angular-ykkcar-slrnnw]

It's functional, but it's not maintainable.

try this
public ngAfterViewInit(): void {
    // this.input.nativeElement.focus();
    setTimeout(() => this.input.nativeElement.focus(), 0);
  }

It's functional, but it's not maintainable.

try this
public ngAfterViewInit(): void {
    // this.input.nativeElement.focus();
    setTimeout(() => this.input.nativeElement.focus(), 0);
  }

The lifecycle method works fine, but angular calls it so frequently that I don't think it's worth it
export class TestComponent implements AfterViewChecked {
  @ViewChild('test')
  public input!: ElementRef<HTMLElement>;

  public ngAfterViewChecked(): void {
    console.log(this.input.nativeElement, '1111');
    this.input.nativeElement.focus();

    // setTimeout(() => this.input.nativeElement.focus(), 1000);
  }
}

try this
public ngAfterViewInit(): void {
    // this.input.nativeElement.focus();
    setTimeout(() => this.input.nativeElement.focus(), 0);
  }

This thing works like a charm as Modal, bus when I try to use the same component as Drawer Component is does not work. Any work around will be deeply appreciated??
Stackblitz [https://stackblitz.com/edit/angular-ykkcar-slrnnw]

try change 0 -> 10 ....
but why it work, I do not know 😂

Yes, it may be be expecting some delay, and thanks for the workaround.
But why it is not working with with the nz-select
<nz-select nz-input formControlName="prefixID" nzPlaceHolder="Mr" #test>     <nz-option nzValue="0" nzLabel="None"></nz-option>   </nz-select>
Throwing this error
core.mjs:6449 ERROR TypeError: Cannot read properties of undefined (reading 'focus')

Yes, it may be be expecting some delay, and thanks for the workaround. But why it is not working with with the nz-select
<nz-select nz-input formControlName="title" nzPlaceHolder="Mr" #test>
  <nz-option nzValue="0" nzLabel="None"></nz-option>
</nz-select>

Throwing this error core.mjs:6449 ERROR TypeError: Cannot read properties of undefined (reading 'focus')

try this
import {
  AfterViewInit,
  ChangeDetectionStrategy,
  Component,
  ViewChild,
} from '@angular/core';
import { NzSelectComponent } from 'ng-zorro-antd/select';

@Component({
  selector: 'app-demo',
  template: `
    <nz-select
      #select
      nzShowSearch
      nzAllowClear
      nzPlaceHolder="Select a person"
      [(ngModel)]="selectedValue"
    >
      <nz-option nzLabel="Jack" nzValue="jack"></nz-option>
      <nz-option nzLabel="Lucy" nzValue="lucy"></nz-option>
      <nz-option nzLabel="Tom" nzValue="tom"></nz-option>
    </nz-select>
  `,
  styleUrls: ['./demo.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DemoComponent implements AfterViewInit {
  selectedValue = null;

  @ViewChild('select') select!: NzSelectComponent;

  ngAfterViewInit() {
    this.select.focus();
  }
}

Thanks so lot is works with a timeout as with case of input
setTimeout(() => this.select.focus(), 2);

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { NzModalService, NzModalRef } from 'ng-zorro-antd/modal';

import { NzMessageService } from 'ng-zorro-antd/message';

@Component({
  selector: 'nz-demo-modal-info',
  template: `
  <button nz-button nzType="primary" nzDanger (click)="deleteModal()">Async Http Call</button>
  `,
  styles: [
    `
      button {
        margin-right: 8px;
      }
    `,
  ],
})
export class NzDemoModalInfoComponent {
  constructor(
    private modal: NzModalService,
    private http: HttpClient,
    private message: NzMessageService
  ) {}

  deleteModal(): void {
    const modal: NzModalRef = this.modal.create({
      nzTitle: 'Delete Confirm',
      nzContent: 'Are you sure to delete?',
      nzFooter: [
        {
          label: 'Close',
          type: 'text',
          onClick: () => modal.destroy(),
        },
        {
          label: 'Delete',
          type: 'primary',
          danger: true,
          loading: false,
          onClick: () => {
            // loading not working
            // this.loading = true;
            this.http
              .delete('https://jsonplaceholder.typicode.com/postss/1')
              .subscribe({
                next: (res) => {
                  console.log(res, 'Deleted');
                  this.message.create('success', 'Successfully Deleted');
                  modal.destroy();
                  // loading not working
                  // this.loading = false;
                },
                error: (err) => {
                  console.log(err, 'Deletion Error');
                  this.message.create(
                    'error',
                    'Delete Failed, please try again'
                  );
                  // loading not working
                  // this.loading = false;
                },
              });
          },
        },
      ],
    });
  }
}

@chenc041 can you please help me how to change the state of a custom button on modal to loading during a async call.
https://stackblitz.com/edit/angular-ykkcar-3tny1q

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { NzModalService, NzModalRef } from 'ng-zorro-antd/modal';

import { NzMessageService } from 'ng-zorro-antd/message';

@Component({
  selector: 'nz-demo-modal-info',
  template: `
  <button nz-button nzType="primary" nzDanger (click)="deleteModal()">Async Http Call</button>
  `,
  styles: [
    `
      button {
        margin-right: 8px;
      }
    `,
  ],
})
export class NzDemoModalInfoComponent {
  constructor(
    private modal: NzModalService,
    private http: HttpClient,
    private message: NzMessageService
  ) {}

  deleteModal(): void {
    const modal: NzModalRef = this.modal.create({
      nzTitle: 'Delete Confirm',
      nzContent: 'Are you sure to delete?',
      nzFooter: [
        {
          label: 'Close',
          type: 'text',
          onClick: () => modal.destroy(),
        },
        {
          label: 'Delete',
          type: 'primary',
          danger: true,
          loading: false,
          onClick: () => {
            // loading not working
            // this.loading = true;
            this.http
              .delete('https://jsonplaceholder.typicode.com/postss/1')
              .subscribe({
                next: (res) => {
                  console.log(res, 'Deleted');
                  this.message.create('success', 'Successfully Deleted');
                  modal.destroy();
                  // loading not working
                  // this.loading = false;
                },
                error: (err) => {
                  console.log(err, 'Deletion Error');
                  this.message.create(
                    'error',
                    'Delete Failed, please try again'
                  );
                  // loading not working
                  // this.loading = false;
                },
              });
          },
        },
      ],
    });
  }
}

@chenc041 can you please help me how to change the state of a custom button on modal to loading during a async call. https://stackblitz.com/edit/angular-ykkcar-3tny1q

try this~
deleteModal(): void {
    const modal: NzModalRef = this.modal.create({
      nzTitle: 'Delete Confirm',
      nzContent: 'Are you sure to delete?',
      nzFooter: [
        {
          label: 'Close',
          type: 'text',
          onClick: () => modal.destroy(),
        },
        {
          label: 'Delete',
          type: 'primary',
          danger: true,
          loading: () => this.isLoading,
          onClick: () => {
            // loading not working
            // this.loading = true;
            this.isLoading = true;
            this.http
              .delete('https://jsonplaceholder.typicode.com/postss/1')
              .subscribe({
                next: (res) => {
                  this.isLoading = false;
                  this.message.create('success', 'Successfully Deleted');
                  modal.destroy();
                  // loading not working
                  // this.loading = false;
                },
                error: (err) => {
                  this.isLoading = false;
                  console.log(err, 'Deletion Error');
                  this.message.create(
                    'error',
                    'Delete Failed, please try again'
                  );
                  // loading not working
                  // this.loading = false;
                },
              });
          },
        },
      ],
    });
  }

😬 silly me, I tried earlier with loading: this.isDeleting but din't work but with loading: () => this.isDeleting,  is it working as expected.

haha 😂
any other questions? and if has other questions, you would better open a new issue
because this issue will disturb others

😬 silly me, I tried earlier with loading: this.isDeleting but din't work but with loading: () => this.isDeleting, is it working as expected.

haha 😂
any other questions? and if has other questions, you would better open a new issue
because this issue will disturb others

Yeah, I really thought of opening a new issue earlier today, but somehow posted here, I'm thinking of cleaning up the unrelated comments


Preserve fill and stroke color

I was trying to use this to process some Ponoko files, which have colored strokes and fills to represent etched/cut line intensities and etched area intensities respectively. Unfortunately, SVGNest removes fill and stroke colors after processing.
I also had some issues with Deepnest.io, but both tools seem great; just not for my use case.

try it now, the output should maintain the colors/weights/fills. I've only tried it in illustrator but it should be fine on inkscape too.

Still having an issue with this, using Inkscape.


freeze: convert to 1.0

You may disregard these recommendations if you used the Edit on GitHub button from dvc.org to improve a doc in place.

❗ Please read the guidelines in the Contributing to the Documentation list if you make any substantial changes to the documentation or JS engine.
🐛 Please make sure to mention Fix #issue (if applicable) in the description of the PR. This causes GitHub to close it automatically when the PR is merged.
Please choose to allow us to edit your branch when creating the PR.
Thank you for the contribution - we'll try to review it as soon as possible. 🙏
Related to #1255

thanks @pared !

Continued in #1493


please please plase please help

Can you please please please offer some sort of tutorial on how I would use this? I just started high school and my class in tech has not gone over this yet or maybe never will. I am new to all of this but I am so so so eager to learn. But could really use some help please please please

Hi. I want to modify %temp% path to another path. please help me how to modify it.
thank you.


Fixed missing notification on cloud storage creation page when manifest file is required

Motivation and context

How has this been tested?

Checklist

[ ] I submit my changes into the develop branch
[ ] I have added a description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

@klakhov
Can you please check the patch?


Register service using spring cloud config server properties

I want to setup the server.servlet.context-path in the spring cloud config server. I also need then to setup the property for the health-check to be health-check-path: ${server.servlet.context-path}/health
When the service is auto-register on startup it contains the metadata with the correct server.servlet.context-path but the health-check-path is the default one.
I notice that if want to change others property it does not work neither.
Looks like the servlet-context-path is correct because it is not loaded directly from the configurationProperties but by the following class org.springframework.cloud.consul.serviceregistry.ConsulServletRegistrationCustomizer#customize
my config server use the following file
server.servlet.context-path=/custom/path
spring.cloud.consul.discovery.health-check-path=${server.servlet.context-path}/health

When the service auto-registered I have the following log.
NewService{... contextPath=/custom/path], check=Check{...., http='.../actuator/health'...}, ...}

The service is registered by org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationListener at this time the config has been loaded from the config server, should the properties not been refreshed?

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file. Also, which version of Spring Boot and Spring Cloud are you using?

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


fix URL for drivers

The Wiki page was replaced by a book created from kubernetes-csi/docs.

cc @lpabon


Update gulpfile and package.json to support code documentation

You'll need to run npm install  to get install the dependencies for the gulp task.
Use gulp doc  to generate the documentation.

:+1:

:+1:


lazily require gulp

enables usage only with externally provided gulp module

This doesn't pass the tests.

Lame bug. Now tested this locally and should be ok.

Please review

Right, good point on the API.  I wasn't thinking too hard about it.
Now a bigger concern for me is that every time runSequence() is called, it requires gulp.  It's probably not a huge issue, though, given how runSequence is used.
I'll probably just accept this, but I need to think about it a little more.  It would be nice if you could squash the commits, too.

Require is not a big issue, as it is internally cached very well. Each require call really just returns the same previously loaded instance. Only the first call is really a hassle, unless you play with this cache directly of course ;)
Will squash in a minute.

Rebased

Published as 1.1.0


runtime: malloc instancing generic function seems to deadlock(ish) during benchmark

What version of Go are you using (go version)?

$ go version
go version go1.20 linux/amd64

~I believe I've also replicated it on windows, but I haven't verified the stack trace looks the same.~ On windows, I have experienced an issue with similar characteristics, but haven't managed to retrieve a stacktrace. I have managed to reliably replicate the issue on an M2 Macbook, using v1.20.1.
Does this issue reproduce with the latest release?
Yes, I've replicated it on v1.20.1. The stack trace looks the same.
What operating system and processor architecture are you using (go env)?
Note: I only just updated the go version.
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/joey/.cache/go-build"
GOENV="/home/joey/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/joey/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/joey/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.1"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/joey/dev/go-utilpkg/go.mod"
GOWORK="/home/joey/dev/go-utilpkg/go.work"
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3747613050=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I don't have a nice replicator, but it's an issue I ran into within a for-fun personal project, so I can share the code:
git clone https://github.com/joeycumines/go-utilpkg.git
cd go-utilpkg
git checkout dc3656b25a8e74fb38c60aed2d81f77b3e156d96
cd logiface/zerolog
while go test -timeout=15m -count=6 -benchmem -run=^$ -bench=^BenchmarkContextFieldType_Int$ 2>&1 >bench.txt; do date; sleep 1; done
less bench.txt

The stack trace seems to indicate it (could, possibly) be related to instancing the newBuilder generic function: https://github.com/joeycumines/go-utilpkg/blob/dc3656b25a8e74fb38c60aed2d81f77b3e156d96/logiface/logger.go#L349
This function is used as the sync.Pool.New field, and is implemented like:
func newBuilder[E Event]() any {
	return new(Builder[E])
}

What did you expect to see?
The benchmark run successfully.
 TRUNCATED, 63MB file, it's just those two lines ..

github.com/joeycumines/go-utilpkg/logiface.(*loggerShared[...]).init(...)
	/home/joey/dev/go-utilpkg/logiface/logger.go:349
	/home/joey/dev/go-utilpkg/logiface/logger.go:*** Test killed: ran too long (6m0s).
signal: killed
FAIL	github.com/joeycumines/go-utilpkg/logiface/zerolog	365.059s

GOOS/GOARCH=windows/amd64
go version : go version go1.20.1 windows/amd64
I didn't have a reproduction problem on my computer

I use virtualbox to reproduce the problem in GOOS=linux GOARCH=amd64
bench.txt
I tested GOOS=windows GOARCH=amd64 for dozens of minutes, and finally saw
*** Test killed: ran too long (16m0s).
exit status 1

I've updated the windows reproducer script, it seems I put 2>&1 in the wrong place (I didn't get the stack trace either).
I'm running it now, perhaps it'll output a useful stack trace.

CC @golang/runtime.

This sounds familiar to #58513.
cc @mdempsky

Yeah, I suspect this is a duplicate of #58513 too. traceback.go:362 from the reported stack trace is inside the FUNCDATA_InlTree loop, which is consistent with that issue.
The fix for that issue has just been submitted to both master and release-branch.go1.20 (to be included in 1.20.2). It would be great if you could build either of these from source and confirm whether the issue still repros. Thanks.

I've only tested on linux/amd64 with release-branch.go1.20, but nothing has blown up yet.
Might run it later tonight as well, but it looks promising. Thanks for the assistance, I guess close this if you'd like. I'll re-open if I reproduce it using a patched build.


feat: inj name resolution

This PR:

add .inj name resolution

A couple of issues with this PR:

No linting has been applied. Please make sure you have eslint/prettier installed in your editor.
ChainGrpcInjNameApi can't exist because we only have those for modules on Injective chain. InjName is not a native module.
Instead, you should add your queries to the https://github.com/InjectiveLabs/injective-ts/tree/dev/packages/sdk-ts/src/client/wasm folder.
We don't use the function naming convention, use const instead with arrow function definition
The .gitbook entry should not be added there, it should go in the Contracts page but we haven't had time to write the specifics so I can merge this page for now and move it later into the proper category

@bangjelkoski I fixed these issues, please take a look.

move ChainGrpcInjNameApi to wasm folder
use arrow function instead
applied lint

Made a new branch on your repo: feat/inj-name-resolution


Move python-client-sword2 to python 3

https://github.com/inspirehep/python-client-sword2 move to python3 with automated tool

Note that some forks have already performed this conversion, e.g. https://github.com/inspirehep/python-client-sword2/compare/master...tuub:python-2to3?expand=1. It might be useful to take that as a starting point, review the changes and adapt if needed.

Note that some forks have already performed this conversion, e.g. https://github.com/inspirehep/python-client-sword2/compare/master...tuub:python-2to3?expand=1. It might be useful to take that as a starting point, review the changes and adapt if needed.

@michamos but we already have some changes in our own fork right?

@michamos but we already have some changes in our own fork right?

yes, but we might still be able to merge these other changes on top.

yes, but we might still be able to merge these other changes on top.


Explained where the CLI looks for global.json

The document explained what global.json is, but not where it can be located. This is especially important when it is in one of the parent directories or when calling dotnet from outside the project directory (like this SO commenter was).
I'm not happy about the "one of its parent directories" part (because a directory can have at most one parent), but I couldn't figure out anything else that is both succinct and accurate.

I would specify more explicitly that the global.json should be located in the current working directory and not the project directory. Calling a dotnet command on a project in a different directory won't use the global.json in the project's directory. I could see this tripping some people up.
Also, I've heard it referred to as the "Current working directory" or "Working directory", but not "Current directory". That might just be ignorance on my part, but more clarity probably couldn't hurt.

@Thealexbarney Better?

@svick Yeah, that's clearer. I think the language on "which does not have to be the project directory" sounds a bit weird to me. Maybe something like "which is not necessarily the same as the project directory" would be better. Thoughts?

@GuardRex @Thealexbarney Updated.

Looks :eyes: great @svick ... I can merge with the tiny contraction update.

Looks good. Clears up the confusion I had a little while back about the placement of the global.json file.

Thanks ... excellent. Brief delay on merging ... minor CI adjustments today for the repo. @mairaw will merge asap when its safe to do so.

Wow! Addition of 1 sentence required 7 comments, 6 change requests and 4 commits. You guys should receive nitpicking-grand-master award :wink: Anyway I am the SO commenter mentioned in the first comment and I am really grateful for this change 👍

nitpicking-grand-master award

Yes, I'm sorry about that. We have to adhere to the MS Style manual on pain of death! :skull:
:grinning:

Cool beans. We have the 🚦 green light on merging. Thanks!


use jupyter/scipy-notebook as single-user base image

instead of deprecated ipython/scipystack
closes #55

Can this be merged? :) Have the images on Dockerhub been rebuilt to reflect this?


Usermin Login Error

Hi,
I am not sure if this is a theme issue or not, or when it started happening:
When a user logs in to Usermin, the following is displayed:

HTTP/1.0 500 Perl execution failed Server: MiniServ/1.690 Date: Tue, 3 Jan 2017 10:18:37 GMT Content-type: text/html; Charset=iso-8859-1 Connection: close
Error - Perl execution failed
Undefined subroutine &WebminCore::isd called at /usr/share/usermin/authentic-theme/authentic.pm line 10.

Operating system	Ubuntu Linux 14.04.4
Usermin Version	1.690
Authentic Theme 18.31
I changed the theme, and the error cleared.

Hi,
To fix this issue make sure that you have installed identical versions of the latest version (18.31) of the theme under both Webmin and Usermin.
We're working on patched version of Webmin and Usermin to be released in couple of days.

Hi Ilia,
That fixed it, thank you very much.
Best regards,
William Nettmann
Cell:<PHONE_NUMBER>
[image: Facebook] https://www.facebook.com/NettSite [image: Twitter]
https://twitter.com/NettSiteCoZa [image: Google+]
https://plus.google.com/+NettsiteCoZa [image: LinkedIn]
http://www.linkedin.com/company/1082367?trk=tyah&trkInfo=tas%3Anettsite%2Cidx%3A1-1-1
On 3 January 2017 at 15:24, Ilia Rostovtsev<EMAIL_ADDRESS>wrote:

Hi,
To fix this issue make sure that you have installed identical versions of
the latest version (18.31) of the theme under both Webmin and Usermin.
We're working on patched version of Webmin and Usermin to be released in
couple of days.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/qooob/authentic-theme/issues/627#issuecomment-270113201,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALBJUyF39fHSulWUANwIkMw3YXQvxDoJks5rOkvygaJpZM4LZlav
.


Multiprocessing is Experiencing Deadlocks in GraphFrame.filter

Not quite sure why this is happening yet, but for some reason GraphFrame.filter is hanging here: https://github.com/hatchet/hatchet/blob/f7ea3857f21f360698102ebe74b3513c6316e3f8/hatchet/graphframe.py#L351
I see all processes putting their result in the queue and returning, but things are hanging in the queue -- the problem seems to be a dataframe pickle issue. After adding a sleep(1) at the end of parallel_apply, i can see the error:
  File<EMAIL_ADDRESS>line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File "/Users/blaschke/local/virtualenv/py3/lib/python3.8/site-packages/dill/_dill.py", line 941, in save_module_dict
    StockPickler.save_dict(pickler, obj)
  File<EMAIL_ADDRESS>line 971, in save_dict
    self._batch_setitems(obj.items())
  File<EMAIL_ADDRESS>line 997, in _batch_setitems
    save(v)
  File<EMAIL_ADDRESS>line 560, in save
    f(self, obj)  # Call unbound method with explicit self
  File<EMAIL_ADDRESS>line 855, in save_str
    self.write(SHORT_BINUNICODE + pack("<B", n) + encoded)
  File<EMAIL_ADDRESS>line 243, in write
    return self.current_frame.write(data)
RecursionError: maximum recursion depth exceeded while calling a Python object

Any ideas, anyone who knows more about dataframes and pickling? I am testing on a python cProfile

@JBlaschke how large is the Graph that you're testing with? When Pandas serializes into any format (e.g., pickle, HDF5, SQL, etc.), it will serialize any cells with Object type data with pickle. This could become a problem with the index of the DataFrame because it contains nodes in the Graph. Under normal circumstances, each of these nodes will contain two lists: one of its parent nodes and one of its children nodes. So, when Pandas tries to pickle a node, it will recursively try to pickle each child and parent node. As a result, for large or highly connected graphs, it would be pretty easy to reach Python's (relatively small) recursion depth limit.
This is why, in developing #272 for saving GraphFrames to the filesystem, I disconnect the graph and encode that info with integers in a copy of the DataFrame.
@pearce8 @bhatele, we should probably discuss this during our next meeting.

This library could be useful for fixing this issue: https://github.com/jmcarpenter2/swifter
It's a Pandas plugin that automatically decides if vectorization, Dask, or Pandas is faster and runs the apply function using that method. The syntax is pretty nice too. Instead of df.apply(func), Swifter's syntax is df.swifter.apply(func).

Actually, we probably don't want to use that package. It requires Pandas 1.0.0 or higher, and that version of Pandas doesn't support Python 2.7 (officially, it might work, but it's not a guarantee).


IA-1628: [Form field filter] New version of form creates issues when searching in fields of old version of form

Example from PEVCameroun on Iaso prod, form Collecte des données de la FOSA:
In the version<PHONE_NUMBER> of the form there is a question “test_instance” allowing the user to indicate if this form is filled out for test reasons.
In the version<PHONE_NUMBER> of the form, this question was deleted by request of the client.
Now, when we try to find all forms that have test_instance = ‘yes’, we cannot select possible responses anymore, probably because the system takes the options from the lastest version of the form:
{"and":[{"==":[{"var":"test_instance"},"yes"]}]}  works however.

Self proof reading checklist

[ ] Did I use eslint and black formatters
[ ] Is my code clear enough and well documented
[ ] Are my typescript files well typed
[ ] Did I add translations
[ ] My migrations file are included
[ ] Are there enough tests

Changes
Removed versionId param from api call to form to get form descriptor
How to test
Create a new version of an existing form by removing a field (select with options) in the new one.
Launch the subissions search and try to search by the field you removed with the query builder, you should be able to select an option.
Print screen / video

@beygorghor  I'm getting this error when trying to test this PR:
 . Any Idea of what happenned?


Creating Series from nested lists leads to an exception

System information

OmniSci branch: intel-go/omniscidb/gal/fix_pytests
Modin branch: intel-go/modin/omnisci-on-ray
Code we can use to reproduce:

import os

os.environ["MODIN_EXPERIMENTAL"] = "True"
os.environ["MODIN_ENGINE"] = "ray"
os.environ["MODIN_BACKEND"] = "omnisci"

if __name__ == "__main__":
    import modin.pandas as pd
    import pandas

    data = [[1, 2, 3, 4], [1, 2, 3, 4]]

    pd_ser = pandas.Series(data)
    md_ser = pd.Series(data)

    print("pd_series:\n", pd_ser, sep="")
    print("md_series:\n", md_ser, sep="")  # Core dumped

Output
pd_series:
0    [1, 2, 3, 4]
1    [1, 2, 3, 4]
dtype: object

md_series:
terminate called after throwing an instance of 'std::runtime_error'
  what():  list<item: int64> is not yet supported.

You can obtain the Modin version with
<p>python -c "import modin; print(modin.version)"
-->

Currently in this case list[int64] passed into omnisci as column type which is unsupported. Seems, we should handle this separately
Core dumping will be fixed later - all omnisci's exceptions will be caught and handled in modin

This needs to be defaulted to pandas

This needs to be defaulted to pandas

What modin.DataFrame constructor do, when we construct it from anything that is not query compiler:

Constructs pandas.DataFrame with passed data and parameters
Constructs modin.DataFrame from pandas.DataFrame (unsupported in case of lists)

And what default to pandas do is:

Translates modin.DataFrame -> pandas.DataFrame
Perform some function on pandas.DataFrame
Constructs modin.DataFrame from pandas.DataFrame (still unsupported in case of lists)

So, we can't construct modin.DataFrame as default to pandas, because if our unsupported operation is constructing, we need to perform it anyway in default to pandas. I think the only way is throwing an exception that list[int64] is not supported as a dtype for Series.

#2208 brings changes that if we're constructing from frame with data types that unsupported by OmniSci, then we're doing all operations with frame default to pandas and not loading it into OmniSci. So case described in an issue is fixed.


specify a start and end angle

Fixed formatting and added the ability to specify a start and end angle
for the button view

thanks for good job, but angles work wrong
https://www.dropbox.com/s/m476gxtywq65e74/Screenshot 2016-03-03 09.49.05.png?dl=0
please fix it

Hi, is there a way to navigate to a different view controller from selected button after the rotation animation is performed?

Has this merged yet? I'd love this capability but I don't see it enabled in the latest version. Nice job if you can work out the kinks.

it is really handy, saved my day. please add it to the ASAP.

just clone the repo and cherry pick this PR, done.


chirpy github pages with custom domain issue

Checklist

I have read the documentation  and issue related to this throughly
My question is it works perfectly in loca host , but in github pages it doesn't serve as local host
Platform windows 10 intel i7 , ruby 2.6.8p205 (2021-07-07 revision 67951) [x64-mingw32] , Bundler version 2.3.7
Previous issues state that , it happened in M1,M2 apple chips but it is  happening in other platforms also.

Description

while serving in the github pages with custom domain can't load theme
shows like this

I am having what I believe to be the same issue. I have attempted to use chirpy-starter to deploy a site using the repo format of <GH_USERNAME>.github.io.
After GitHub runs the automation, the site page loads with "--- layout: home # Index page ---"
I have also done the following -

Cloned the Repo to a Ubuntu Server 20.04.4 LTS x86_64 environment.
Ran bundle
Pushed the changes to Github and had the same issue after the automation ran.

ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
gem -v 3.1.2
Bundler version 2.3.15
jekyll 4.2.2
jekyll-theme-chirpy (5.2.1)


Can't run a command

I'm trying to run the following code:
ffprobe = Cocaine::CommandLine.new("ffprobe", "-i :path -show_entries format=duration -v quiet -of csv='p=0'")
ffprobe.run(path: "/Users/szimek/Downloads/whirr.mp3")

When I run it, I'm getting the following error:
Cocaine::ExitStatusError: Command 'ffprobe -i '/Users/szimek/Downloads/whirr.mp3' -show_entries format=duration -v quiet -of csv='p=0'' returned 1. Expected 0
Here is the command output: STDOUT:

STDERR:

from /usr/local/bundle/gems/cocaine-0.5.8/lib/cocaine/command_line.rb:91:in `run'

If I run exactly the same command from terminal it works fine:
$ ffprobe -i '/Users/szimek/Downloads/whirr.mp3' -show_entries format=duration -v quiet -of csv='p=0'
0.548563

If I run ffprobe without any parameters:
ffprobe = Cocaine::CommandLine.new("ffprobe")
ffprobe.run

it works fine as well and returns a help message in STDERR.
I tried with and without posix-spawn gem. I'm using MacOS 10.13, Ruby 2.4.1 and Cocaine 0.5.8. Any idea what can be wrong?

When you run it on the command line outside ruby, what is the value of $? immediately afterwards? (echo $?)

I forgot to mention that previously. It's 0.
$ ffprobe -i '/Users/szimek/Downloads/whirr.mp3' -show_entries format=duration -v quiet -of csv='p=0'
0.548563
$ echo $?
0

@jyurek Small update - it works fine if run it outside of my Rails app. So most likely it must be some other gem that causes cocaine to break :/
$ irb
2.4.1 :001 > require "Cocaine"
 => true
2.4.1 :002 > ffprobe = Cocaine::CommandLine.new("ffprobe", "-i :path -show_entries format=duration -v quiet -of csv='p=0'")
 => #<Cocaine::CommandLine:0x007feda811e3b8 @binary="ffprobe", @params="-i :path -show_entries format=duration -v quiet -of csv='p=0'", @options={}, @runner=#<Cocaine::CommandLine::PosixRunner:0x007feda81ca870>, @logger=nil, @swallow_stderr=nil, @expected_outcodes=[0], @environment={}, @runner_options={}>
2.4.1 :003 > ffprobe.run(path: "/Users/szimek/Downloads/whirr.mp3")
 => "0.548563\n"

No idea why, but it works today :/ Thanks!

Weird. Glad it's working for you now, at least. Thanks for the update!


Chain functions is currently not supported

Chaining of functions is currently not supported.
When I use the expression:
$map(Customer, function($v, $i, $a) { $v ~> $uppercase ~> $trim } )
for the json:
{
  "Customer": [
    "    paul   ",
    "  berverly     "
  ]
}

I run into an exception:
Exception in thread "main" java.lang.ClassCastException: class com.api.jsonata4java.expressions.generated.MappingExpressionParser$Var_recallContext
cannot be cast to class com.api.jsonata4java.expressions.generated.MappingExpressionParser$Function_callContext (com.api.jsonata4java.expressions.generated.MappingExpressionParser$Var_recallContext
and com.api.jsonata4java.expressions.generated.MappingExpressionParser$Function_callContext
are in unnamed module of loader 'app')
        at com.api.jsonata4java.expressions.ExpressionsVisitor.visitFct_chain(ExpressionsVisitor.java:1654)
        at com.api.jsonata4java.expressions.ExpressionsVisitor.visitFct_chain(ExpressionsVisitor.java:99)
        at com.api.jsonata4java.expressions.generated.MappingExpressionParser$Fct_chainContext.accept(MappingExpressionParser.java:699)

Is it planned to implement this?

There are no immediate plans to implement function chaining.

Hmmmm... the chain operator seems to be kind of "half implemented".

it's already forseen in the ANTLR grammar

Line 134: CHAIN : '~>' ;
Line 70:   | expr CHAIN expr  # fct_chain

and we have also a vistor method for it in the ExpressionsVisitor class:

Line 1641: public JsonNode visitFct_chain(Fct_chainContext ctx) {

But it obviously does not work,
Hopefully I can find some time for debugging in the next days or weeks.

On a new branch "#211-fct-chain" I've added some first JUnit tests with class FunctionChainingTests.
I started with testing with 2 functions "$sort()" and "$distinct()".
Suprisingly the chain already works out with the $sort() function but not with $dinstinct() (and probably also not with many other funcitions).
Nat, do you have a clue what the sort function does better than others?

I seem to have fixed the chaining of the $distinct() function so far on branch #211-fct-chain but I fear that there are lot of functions left to bee checked... (e. g. $uppercase() or $trim())

$distinct() and $sort() work out fine so far on my branch.

That's great, I appreciate your working to fix this problem.
Is there a basic issue in the functions that broke the chaining?
There are function signatures that define the parameters for a function and whether they can work using the current context. So if a function can not read from context (e.g., only operates on its passed parameters) then they wouldn't work for chaining. These are few if any at this point.

I can not yet speak for "functions" that broke the chaining because I've investigated so far only one of them which is *distinct(). So far as I understand the implementation of distinct has already foreseen context evaluation but simply did it wrong and crashed but was so far never (regression) tested if it works in a chain at all.
Now since I've simply changed the order of statements a bit according to how the sort() function implementation does it, it works out.
Please have a look at my changes on DistinctFunction.java.
https://github.com/IBM/JSONata4Java/compare/master...%23211-fct-chain
Probably I could have fixed it with less changes. I think the important changes concerning context evaluation are between line 60 and 80.
So concerning all other functions I fear we have to go through them one by one and see

if they are intended to work in a chain
if they work out properly

I've tried looking but the changes are spread across multiple updates so it is difficult to follow. I believe one significant change was to support any kind of element, but I'm not sure what was actually causing the problem with chaining. You'd mentioned there was a problem using the context as input so perhaps the changes to count arguments and pull the context in as the first argument makes it "chainable?"

Hi Nat, you can avoid the problem of vieving changes spread across multiple commits in github by pressing the "Compare and pull request" button of my branch (without pressing the "Create pull request" button). Then you have the acummulated view of all changes together.
I've now reduced the changes on DistinctFunction.java to the minimal extent, so that function chaining also works with $distinct() (see  https://github.com/IBM/JSONata4Java/compare/%23211-fct-chain?expand=1)
You see that I postponed the (premature) evaluation of ctx.exprValues().valuesCtx.exprList() done in lines 65-66 before to line 75 - to the case where argCount is 1 and useContext is false. I'd did this this way not because I understand really completely what's happening but because the implementation of $sort() does it this way. I'm not completely sure but relatively optimistic that we can leave the change as I made it - at least all yet existing tests are green. Maybe you have a better explanation for me why this works out.

Concerning the original probelem reported in this issue I found out that his expression works out also in JSONata4Java when we add empty parantheses () to the function names:
$map(Customer, function($v, $i, $a) { $v ~> $uppercase() ~> $trim() } )
So @sagIoTPower: you at least have a fine workround that will work out equally in JSONata4Java as well as in original JSONata.

So let's state the following:

JSONata4Java basically does support function chaining
JSONata4Java does not yet support the "function name only" syntax for function chaining (the one without paratheses).
Well... at least we could view this as a minor issue compared to not support the chaining at all.

So how we should proceed with this issue?
We could either rename it to "Chaining of functions is currently not supported without parantheses" or similar or close it and open a new one with an appropriate title. Maybe the 2nd approach is even better because our discussion the could right from the start focus on the real problem.

Concerning my branch that does not fix the problem reported here but fixes the chaining for $distinct() I'd propose to merge it and therefore opened a pull request for you, Nat. Maybe we could soon release a new version 2.2.2 containing this fix on $distinct.

Concerning the original probelem reported in this issue I found out that his expression works out also in JSONata4Java when we add empty parantheses () to the function names:
$map(Customer, function($v, $i, $a) { $v ~> $uppercase() ~> $trim() } )
So @sagIoTPower: you at least have a fine workround that will work out equally in JSONata4Java as well as in original JSONata.

@bluemel 👍 Thank you very much for this advice. It already helps.

Thank you -- merged the branch and will prepare to release 2.2.2 ASAP (sometime today).


Export as CSV does not apply filters

Right now it is not passing in any activeQuery, so it exports the entire dataset.
Is the feature being developed, or are you accepting contribution to get the feature working?
Thanks
@siddharthlatest

@siddharthlatest when's the expected timeline for 3.1.0? I'll get it ready for it

Hey @ryanwkan, we are looking to release it by next week.

@siddharthlatest probably next milestone then. I'm looking at ~2 weeks


Convert to use Server Actions

There are few places in this codebase that could utilize Server Actions, including the new support for optimistic UI:
https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions

Set cookies in a Server Action: https://github.com/vercel/commerce/blob/main/components/cart/button.tsx#L22-L33

@leerob what other places? 😬

Anywhere in this repo where we're inserting/updating/deleting data through event handlers and API Routes currently.

Waiting on the following downstream bug fixes.

https://github.com/vercel/next.js/issues/50697
https://github.com/vercel/next.js/issues/50099


eloquent created event fired too early

Laravel Version
10.4
PHP Version
8.2
Database Driver & Version
n/a
Description
Not sure if intended, but when creating new record using Eloquent:
Illuminate\Database\Eloquent\Model save() function fires created event  in performInsert() function before setting connection and executing finishSave() function.
As a result model received by 'created' event has:

'connection' attribute empty what results in some issues when using multiple dbs
'original' array empty what results in issue with updating this model in event/listener class as then save() method tries to save also id which is primary key here.

To handle those issue I need to refresh model received by event.
Is it intended for some reasons?
Steps To Reproduce
attach event i model like this:
protected $dispatchesEvents = [
'created' => RecordCreated::class,
];
then add event like this:
class RecordCreated
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public Ticket $record;

/**
 * Create a new event instance.
 */
public function __construct(Ticket $record)
{
    $this->record= $record;

    //for example try to update here and this will throw error "Cannot update identity column 'id'."
    $this->record->name = 'test';
    $this->record->save();
}

}

Hey there,
While this may be a legitimate issue, can you first try posting your problem or question on one of the support channels below? If this issue can be definitively identified as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!


NBC

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.11.07. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.11.07
(I wasn't, then I upgraded from 2018-10-05, and the issue persisted; the logs below are from after upgrading)

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[ ] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser (I couldn't do this, because I was using a proxy, which I haven't activated - I have had people geolocated in the US check, and the video works

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
E:\OURS\The Good Place\nbcdl>youtube-dl --proxy "<IP_ADDRESS>:3128" -u<EMAIL_ADDRESS>-p ############ https://www.nbc.com/the-good-place/video/michaels-gambit-extended-cut/3454089 --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--proxy', u'<IP_ADDRESS>:3128', u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'https://www.nbc.com/the-good-place/video/michaels-gambit-extended-cut/3454089', u'--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.11.07
[debug] Python version 2.7.12 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg N-91646-g78d4b6bd43, ffprobe N-91646-g78d4b6bd43
[debug] Proxy map: {u'http': u'<IP_ADDRESS>:3128', u'https': u'<IP_ADDRESS>:3128'}
[NBC] 3454089: Downloading JSON metadata
Traceback (most recent call last):
  File "c:\python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "c:\Python27\Scripts\youtube-dl.exe\__main__.py", line 9, in <module>
  File "c:\python27\lib\site-packages\youtube_dl\__init__.py", line 472, in main
    _real_main(argv)
  File "c:\python27\lib\site-packages\youtube_dl\__init__.py", line 462, in _real_main
    retcode = ydl.download(all_urls)
  File "c:\python27\lib\site-packages\youtube_dl\YoutubeDL.py", line 2001, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "c:\python27\lib\site-packages\youtube_dl\YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "c:\python27\lib\site-packages\youtube_dl\extractor\common.py", line 508, in extract
    ie_result = self._real_extract(url)
  File "c:\python27\lib\site-packages\youtube_dl\extractor\nbc.py", line 96, in _real_extract
    video_data = response['data'][0]['attributes']
IndexError: list index out of range

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.nbc.com/the-good-place/video/michaels-gambit-extended-cut/3454089

Description of your issue, suggested solution and other information
Tried to download video from nbc.com. It worked for one video in front of the paywall, but not for any behind the paywall. I signed up so I could get 3x free episodes, and used the following command:
youtube-dl --proxy "<IP_ADDRESS>:3128" -u<EMAIL_ADDRESS>-p ############ https://www.nbc.com/the-good-place/video/michaels-gambit-extended-cut/3454089 --verbose
(my credentials redacted, of course). As I'm not in the US, I needed to run this through the proxy. This proxy worked for extracting the non-paywalled episodes.

I get the same error for http://www.nbc.com/saturday-night-live/video/november-17-steve-carell/3828729, which does not appear to be behind the paywall.
Looking at the _real_extract function that is failing:
    def _real_extract(self, url):
        permalink, video_id = re.match(self._VALID_URL, url).groups()
        permalink = 'http' + compat_urllib_parse_unquote(permalink)
        response = self._download_json(
            'https://api.nbc.com/v3/videos', video_id, query={
                'filter[permalink]': permalink,
                'fields[videos]': 'description,entitlement,episodeNumber,guid,keywords,seasonNumber,title,vChipRating',
                'fields[shows]': 'shortTitle',
                'include': 'show.shortTitle',
            })
        video_data = response['data'][0]['attributes']

Obviously the function is failing because the data list is empty.
If I run youtube-dl http://www.nbc.com/saturday-night-live/video/november-17-steve-carell/3828729 --dump-pages it dumps out the following for the response object:
{"data":[],"meta":{"count":0,"version":"v3.0.0"},"links":{"self":"https://api.nbc.com/v3/videos?filter%5Bpermalink%5D=http%3A//www.nbc.com/saturday-night-live/video/november-17-steve-carell/3828729&include=show%2Cshow.shortTitle&page%5Bnumber%5D=1"}}

There are other NBC videos that still work (e.g. https://www.nbc.com/the-good-place/video/the-ballad-of-donkey-doug/3814933). The fix shouldn't break those.
If I curl the URL in response['links']['self'] it appears to return the object that is actually required by the video_data declaration.
I added a line to the above function as shown in the following code, and it appears to fix my problem.
    def _real_extract(self, url):
        permalink, video_id = re.match(self._VALID_URL, url).groups()
        permalink = 'http' + compat_urllib_parse_unquote(permalink)
        response = self._download_json(
            'https://api.nbc.com/v3/videos', video_id, query={
                'filter[permalink]': permalink,
                'fields[videos]': 'description,entitlement,episodeNumber,guid,keywords,seasonNumber,title,vChipRating',
                'fields[shows]': 'shortTitle',
                'include': 'show.shortTitle',
            })
        if len(response['data']) is 0:
          response = self._download_json(response['links']['self'],video_id)

If I can get my git login fixed I'll make a pull request.

FWIW, there may be a completely different problem with the paywalled episodes. I don't have credentials for TVAnywhere, and the NBC Extractor doesn't appear to be set up for NBC.com profiles with username/password authentication - leastwise, the test account I created doesn't seem to work.

https://www.nbc.com/the-good-place/video/michaels-gambit-extended-cut/3454089

Sorry, video is no longer available.

http://www.nbc.com/saturday-night-live/video/november-17-steve-carell/3828729
youtube-dl http://www.nbc.com/saturday-night-live/video/november-17-steve-carell/3828729
[NBC] 3828729: Downloading JSON metadata
[ThePlatform] 3828729: Downloading SMIL data
[ThePlatform] 3828729: Downloading m3u8 information
[ThePlatform] 3828729: Downloading JSON metadata
[download] Destination: November 17 - Steve Carell-3828729.mp4
ffmpeg version n4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20180831
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[hls,applehttp @ 0x56464204e4c0] Opening 'https://nbcmpx-vh.akamaihd.net/i/video/629/291/181112_3828729_November_17___Steve_Carell_,25,40,18,12,7,4,2,00.mp4.csmil/crypt.key?null=0&id=AgBFocdGpf4YioNf8lvZ130OQr9v8kx0ez9JzD0iiJlxhXlqYRANyxrLTAUUOREtzxsX4tEGFGCGOg%3d%3d&hdntl=exp=1542697219~acl=/i/video/629/291/181112_3828729_November_17___Steve_Carell_*~data=hdntl~hmac=05d463f6200a665a4cad1771e8bd1012c88a22679df08dda37980b1ffcd4ebcd' for reading
[hls,applehttp @ 0x56464204e4c0] Opening 'crypto+https://nbcmpx-vh.akamaihd.net/i/video/629/291/181112_3828729_November_17___Steve_Carell_,25,40,18,12,7,4,2,00.mp4.csmil/segment1_0_av.ts?null=0&id=AgBFocdGpf4YioNf8lvZ130OQr9v8kx0ez9JzD0iiJlxhXlqYRANyxrLTAUUOREtzxsX4tEGFGCGOg%3d%3d&hdntl=exp=1542697219~acl=/i/video/629/291/181112_3828729_November_17___Steve_Carell_*~data=hdntl~hmac=05d463f6200a665a4cad1771e8bd1012c88a22679df08dda37980b1ffcd4ebcd' for reading
Input #0, hls,applehttp, from 'https://nbcmpx-vh.akamaihd.net/i/video/629/291/181112_3828729_November_17___Steve_Carell_,25,40,18,12,7,4,2,00.mp4.csmil/index_0_av.m3u8?null=0&id=AgBFocdGpf4YioNf8lvZ130OQr9v8kx0ez9JzD0iiJlxhXlqYRANyxrLTAUUOREtzxsX4tEGFGCGOg%3d%3d&hdntl=exp=1542697219~acl=%2fi%2fvideo%2f629%2f291%2f181112_3828729_November_17___Steve_Carell_*~data=hdntl~hmac=05d463f6200a665a4cad1771e8bd1012c88a22679df08dda37980b1ffcd4ebcd':
  Duration: 01:08:37.76, start: 0.100511, bitrate: 0 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720, Closed Captions, 29.97 tbr, 90k tbn, 59.94 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
Output #0, mp4, to 'file:November 17 - Steve Carell-3828729.mp4.part':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, q=2-31, 29.97 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
^Cframe=   60 fps=0.0 q=-1.0 Lsize=     457kB time=00:00:01.99 bitrate=1875.8kbits/s speed=3.72x
video:440kB audio:14kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.783505%


feat: add debug deatails inside the comment with

It would be like:

Debug
GET https://github.com/api 404 not found

    Debug

GET https://github.com/api 404 not found

/merge

/merge

/lgtm

Sorry, @k8s-ci-bot - This pull request can only be merged by the owner (@Lonor).

This comment due to the robot send the debugging message contains the /merge message... That's a new bug...

Let's call it today. Seems not a big deal. Will fix it later this year when I am not busy.


[CLOSED] Remove bootstrap

 Issue by alicebartlett
Thursday 19 June 2014 at 10:16 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/127

This is now being included by the govuk_admin_templates gem and so we don't need it. Removing it also fixes this bug: https://trello.com/c/qereXhM7/148-bug-formatting-help-accordion-items-won-t-close-specialist-publisher

alicebartlett included the following code: https://github.com/alphagov/specialist-publisher/pull/127/commits

 Comment by edds
Thursday 19 June 2014 at 10:18 GMT

:+1: Nice deletion stats.

 Comment by fofr
Thursday 19 June 2014 at 11:24 GMT

:+1:, you could probably do the same for jQuery. (As bootstrap depends on jQuery it gets included with the gem)


Godot syntax support

Description
Add syntax highlighting support for the following file types:

GDScript (.gd) [must]
Godot Resource (.res) [would be nice]
Godot Shader Language (.gdshader) [would be nice]

Use Case
The Godot Engine is the most popular FOSS game engine out there. It uses its own scripting language (GDScript), shading language (Godot Shader Language) and resource file format (.res).
The lack of GDScript highlighting can be partly bypassed by using nim as syntax-lang, since they share a somewhat similar syntax, but there are many things that are not available.
The .res files are very similar to .toml files, and .gdshader files similar to .glsl, so they are just a couple steps away.
Being able to use proper highlighting helps the FOSS community in general, as it allows for better documentation/research/etc. surrounding the engine and its uses.

You should be able to use https://github.com/beefsack/GDScript-sublime for GDScript
See the syntaxes argument https://typst.app/docs/reference/text/raw/#parameters-syntaxes

You should be able to use https://github.com/beefsack/GDScript-sublime for GDScript

Yeah that should work partly, but GDScript has undergone quite the refactoring since then (Major release of Godot happened earlier this year, with GDScript evolving with it).
The only (official and current) up-to-date version of the syntax is in the official VSCode plugin, but these are only .json files. Although I'm aware that these can be translated to .yml, I'm still pretty unfamiliar with the sublime-syntax-syntax.

https://github.com/aziz/SublimeSyntaxConvertor
This perhaps?

https://github.com/aziz/SublimeSyntaxConvertor
This perhaps?
Edit: This fork https://github.com/IsaacShelton/SublimeSyntaxConvertorFromJSON for JSON

I just tried one of them (most likely the first one, since the second one has the exact same Install instruction) and it doesn't work. Maybe the second one could work, but Ruby is completely alien to me. I'm asking in the official Godot forums if it's possible to expedite this conversion. We'll see.

I managed to get https://github.com/IsaacShelton/SublimeSyntaxConvertorFromJSON to work with https://github.com/ghtalpo/gdscript-vscode/blob/master/syntaxes/gdscript.tmLanguage with one change (`(?<!/\s*)` to `(?<!/\s)` for fixed length lookbehinds):

<details>
<summary>GDScript.sublime-syntax.yaml</summary>
```yaml
%YAML 1.2
---
# http://www.sublimetext.com/docs/3/syntax.html
name: GDScript
file_extensions:
  - gd
scope: source.gdscript
contexts:
  main:
    - include: statement
    - include: expression
  comment:
    - match: (#).*$\n?
      scope: comment.line.number-sign.gdscript
      captures:
        1: punctuation.definition.comment.number-sign.gdscript
  annotated_parameter:
    - match: |-
        (?x)
        \s* ([a-zA-Z_]\w*) \s* (:)\s* ([a-zA-Z_]\w*)?
      captures:
        1: variable.parameter.function.language.gdscript
        2: punctuation.separator.annotation.gdscript
        3: entity.name.type.class.builtin.gdscript
      push:
        - match: (,)|(?=\))
          captures:
            1: punctuation.separator.parameters.gdscript
          pop: true
        - include: base_expression
        - match: "=(?!=)"
          scope: keyword.operator.assignment.gdscript
  annotations:
    - match: (@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore|abstract)\b
      captures:
        1: entity.name.function.decorator.gdscript
        2: entity.name.function.decorator.gdscript
  any_method:
    - match: '\b([A-Za-z_]\w*)\b(?=\s*(?:[(]))'
      scope: support.function.any-method.gdscript
  any_property:
    - match: '\b(\.)\s*(?<![@\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\w*))\b(?![(])'
      captures:
        1: punctuation.accessor.gdscript
        2: constant.language.gdscript
        3: variable.other.property.gdscript
  any_variable:
    - match: '\b(?<![@\$#%])([A-Za-z_]\w*)\b(?![(])'
      scope: variable.other.gdscript
  arithmetic_operator:
    - match: '->|\+=|-=|\*=|/=|%=|&=|\|=|\*|/|%|\+|-|<<|>>|&|\||\^|~|!'
      scope: keyword.operator.arithmetic.gdscript
  assignment_operator:
    - match: "="
      scope: keyword.operator.assignment.gdscript
  base_expression:
    - include: builtin_get_node_shorthand
    - include: nodepath_object
    - include: nodepath_function
    - include: strings
    - include: const_vars
    - include: keywords
    - include: logic_operator
    - include: compare_operator
    - include: arithmetic_operator
    - include: lambda_declaration
    - include: class_declaration
    - include: variable_declaration
    - include: signal_declaration_bare
    - include: signal_declaration
    - include: function_declaration
    - include: statement_keyword
    - include: assignment_operator
    - include: in_keyword
    - include: control_flow
    - include: round_braces
    - include: function_call
    - include: comment
    - include: self
    - include: func
    - include: letter
    - include: numbers
    - include: builtin_classes
    - include: pascal_case_class
    - include: line_continuation
  builtin_classes:
    - match: '(?<![^.]\.|:)\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\b'
      scope: entity.name.type.class.builtin.gdscript
  builtin_get_node_shorthand:
    - include: builtin_get_node_shorthand_quoted
    - include: builtin_get_node_shorthand_bare
    - include: builtin_get_node_shorthand_bare_multi
  builtin_get_node_shorthand_bare:
    - match: '(?<!/\s)(\$|%|\$%)([a-zA-Z_]\w*)\b(?!\s*/)'
      scope: meta.literal.nodepath.gdscript
      captures:
        1: keyword.control.flow.gdscript
        2: constant.character.escape.gdscript
        3: constant.character.escape.gdscript
  builtin_get_node_shorthand_bare_multi:
    - match: '(\$|%|\$%)([a-zA-Z_]\w*)'
      captures:
        1: keyword.control.flow.gdscript
        2: constant.character.escape.gdscript
      push:
        - meta_scope: meta.literal.nodepath.gdscript
        - match: '(?!\s*/\s*%?\s*[a-zA-Z_]\w*)'
          pop: true
        - match: '(/)\s*(%)?\s*([a-zA-Z_]\w*)\s*'
          captures:
            1: constant.character.escape.gdscript
            2: keyword.control.flow.gdscript
            3: constant.character.escape.gdscript
  builtin_get_node_shorthand_quoted:
    - match: (?:(\$)|(&|\^|@))("|')
      captures:
        1: keyword.control.flow.gdscript
        2: variable.other.enummember.gdscript
      push:
        - meta_scope: string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript
        - match: (\3)
          pop: true
        - match: "%"
          scope: keyword.control.flow
  class_declaration:
    - match: '(?<=^class)\s+([a-zA-Z_]\w*)\s*(?=:)'
      captures:
        1: entity.name.type.class.gdscript
        2: class.other.gdscript
  class_enum:
    - match: '\b([A-Z][a-zA-Z_0-9]*)\.([A-Z_0-9]+)'
      captures:
        1: entity.name.type.class.gdscript
        2: constant.language.gdscript
  class_is:
    - match: '\s+(is)\s+([a-zA-Z_]\w*)'
      captures:
        1: storage.type.is.gdscript
        2: entity.name.type.class.gdscript
  class_name:
    - match: '(?<=class_name)\s+([a-zA-Z_]\w*(\.([a-zA-Z_]\w*))?)'
      captures:
        1: entity.name.type.class.gdscript
        2: class.other.gdscript
  class_new:
    - match: '\b([a-zA-Z_]\w*).(new)\('
      captures:
        1: entity.name.type.class.gdscript
        2: storage.type.new.gdscript
        3: punctuation.parenthesis.begin.gdscript
  compare_operator:
    - match: <=|>=|==|<|>|!=
      scope: keyword.operator.comparison.gdscript
  const_vars:
    - match: '\b([A-Z_][A-Z_0-9]*)\b'
      scope: constant.language.gdscript
  control_flow:
    - match: \b(?:if|elif|else|while|break|continue|pass|return|match|yield|await)\b
      scope: keyword.control.gdscript
  expression:
    - include: base_expression
    - include: getter_setter_godot4
    - include: assignment_operator
    - include: annotations
    - include: class_name
    - include: builtin_classes
    - include: class_new
    - include: class_is
    - include: class_enum
    - include: any_method
    - include: any_variable
    - include: any_property
  extends_statement:
    - match: '(extends)\s+([a-zA-Z_]\w*\.[a-zA-Z_]\w*)?'
      captures:
        1: keyword.language.gdscript
        2: entity.other.inherited-class.gdscript
  func:
    - match: \bfunc\b
      scope: keyword.language.gdscript
  function_arguments:
    - match: (\()
      captures:
        1: punctuation.definition.arguments.begin.gdscript
      push:
        - meta_content_scope: meta.function.parameters.gdscript
        - match: (?=\))(?!\)\s*\()
          pop: true
        - match: (,)
          scope: punctuation.separator.arguments.gdscript
        - match: '\b([a-zA-Z_]\w*)\s*(=)(?!=)'
          captures:
            1: variable.parameter.function-call.gdscript
            2: keyword.operator.assignment.gdscript
        - match: "=(?!=)"
          scope: keyword.operator.assignment.gdscript
        - include: base_expression
        - match: \s*(\))\s*(\()
          captures:
            1: punctuation.definition.arguments.end.gdscript
            2: punctuation.definition.arguments.begin.gdscript
        - include: letter
        - include: any_variable
        - include: any_property
        - include: keywords
  function_call:
    - match: |-
        (?x)
        \b(?=
          ([a-zA-Z_]\w*) \s* (\()
        )
      comment: Regular function call of the type "name(args)"
      captures:
        2: punctuation.definition.arguments.begin.gdscript
      push:
        - meta_scope: meta.function-call.gdscript
        - match: (\))
          captures:
            1: punctuation.definition.arguments.end.gdscript
          pop: true
        - include: function_name
        - include: function_arguments
  function_declaration:
    - match: |-
        (?x) \s*
        (func) \s+
        ([a-zA-Z_]\w*) \s*
        (?=\()
      captures:
        1: keyword.language.gdscript storage.type.function.gdscript
        2: entity.name.function.gdscript
      push:
        - meta_scope: meta.function.gdscript
        - match: '(:|(?=[#''"\n]))'
          pop: true
        - include: parameters
        - include: line_continuation
        - include: base_expression
  function_name:
    - include: builtin_classes
    - match: |-
        (?x)
        \b ([a-zA-Z_]\w*) \b
      comment: Some color schemas support meta.function-call.generic scope
      scope: support.function.any-method.gdscript
  getter_setter_godot4:
    - match: '\b(get):'
      captures:
        1: entity.name.function.gdscript
    - match: |-
        (?x) \s+
        (set) \s*
        (?=\()
      captures:
        1: entity.name.function.gdscript
      push:
        - meta_scope: meta.function.gdscript
        - match: '(:|(?=[#''"\n]))'
          pop: true
        - include: parameters
        - include: line_continuation
  in_keyword:
    - match: \b(for)\b
      captures:
        1: keyword.control.gdscript
      push:
        - match: ":"
          captures:
            1: keyword.control.gdscript
          pop: true
        - match: \bin\b
          scope: keyword.control.gdscript
        - include: base_expression
        - include: any_variable
        - include: any_property
    - match: \bin\b
      scope: keyword.operator.wordlike.gdscript
  keywords:
    - match: \b(?:class|class_name|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\b
      scope: keyword.language.gdscript
  lambda_declaration:
    - match: (func)\s?(?=\()
      captures:
        1: keyword.language.gdscript storage.type.function.gdscript
        2: entity.name.function.gdscript
      push:
        - meta_scope: meta.function.gdscript
        - match: '(:|(?=[#''"\n]))'
          pop: true
        - include: parameters
        - include: line_continuation
        - include: base_expression
        - include: any_variable
        - include: any_property
  letter:
    - match: \b(?:true|false|null)\b
      scope: constant.language.gdscript
  line_continuation:
    - match: (\\)\s*(\S.*$\n?)
      captures:
        1: punctuation.separator.continuation.line.gdscript
        2: invalid.illegal.line.continuation.gdscript
    - match: (\\)\s*$\n?
      captures:
        1: punctuation.separator.continuation.line.gdscript
      push:
        - match: |-
            (?x)
            (?=^\s*$)
            |
            (?! (\s* [rR]? (\'\'\'|\"\"\"|\'|\"))
                |
                (\G $)  (?# '\G' is necessary for ST)
            )
          pop: true
        - include: base_expression
  logic_operator:
    - match: \b(and|or|not|!)\b
      scope: keyword.operator.wordlike.gdscript
  loose_default:
    - match: (=)
      captures:
        1: keyword.operator.gdscript
      push:
        - match: (,)|(?=\))
          captures:
            1: punctuation.separator.parameters.gdscript
          pop: true
        - include: base_expression
  nodepath_function:
    - match: (get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\s*(\()
      captures:
        1: entity.name.function.gdscript
        2: punctuation.definition.parameters.begin.gdscript
      push:
        - match: (\))
          captures:
            1: punctuation.definition.parameters.end.gdscript
          pop: true
        - match: ("|')
          push:
            - meta_scope: string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape
            - match: \1
              pop: true
            - match: "%"
              scope: keyword.control.flow
  nodepath_object:
    - match: (NodePath)\s*(?:\()
      captures:
        1: support.class.library.gdscript
      push:
        - meta_scope: meta.literal.nodepath.gdscript
        - match: (?:\))
          pop: true
        - match: ("|')
          push:
            - meta_scope: string.quoted.gdscript constant.character.escape.gdscript
            - match: \1
              pop: true
            - match: "%"
              scope: keyword.control.flow.gdscript
  numbers:
    - match: "0b[01_]+"
      scope: constant.numeric.integer.binary.gdscript
    - match: "0x[0-9A-Fa-f_]+"
      scope: constant.numeric.integer.hexadecimal.gdscript
    - match: '[-]?([0-9][0-9_]+\.[0-9_]*(e[\-\+]?[0-9_]+)?)'
      scope: constant.numeric.float.gdscript
    - match: '[-]?(\.[0-9][0-9_]*(e[\-\+]?[0-9_]+)?)'
      scope: constant.numeric.float.gdscript
    - match: '[-]?([0-9][0-9_]*e[\-\+]?\[0-9_])'
      scope: constant.numeric.float.gdscript
    - match: "[-]?[0-9][0-9_]*"
      scope: constant.numeric.integer.gdscript
  parameters:
    - match: (\()
      captures:
        1: punctuation.definition.parameters.begin.gdscript
      push:
        - meta_scope: meta.function.parameters.gdscript
        - match: (\))
          captures:
            1: punctuation.definition.parameters.end.gdscript
          pop: true
        - include: annotated_parameter
        - match: |-
            (?x)
            ([a-zA-Z_]\w*)
              \s* (?: (,) | (?=[)#\n=]))
          captures:
            1: variable.parameter.function.language.gdscript
            2: punctuation.separator.parameters.gdscript
        - include: comment
        - include: loose_default
  pascal_case_class:
    - match: '\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\b'
      scope: entity.name.type.class.gdscript
  round_braces:
    - match: \(
      captures:
        0: punctuation.parenthesis.begin.gdscript
      push:
        - match: \)
          captures:
            0: punctuation.parenthesis.end.gdscript
          pop: true
        - include: base_expression
        - include: any_variable
  self:
    - match: \bself\b
      scope: variable.language.gdscript
  signal_declaration:
    - match: |-
        (?x) \s*
        (signal) \s+
        ([a-zA-Z_]\w*) \s*
        (?=\()
      captures:
        1: keyword.language.gdscript storage.type.function.gdscript
        2: entity.name.function.gdscript
      push:
        - meta_scope: meta.signal.gdscript
        - match: '((?=[#''"\n]))'
          pop: true
        - include: parameters
        - include: line_continuation
  signal_declaration_bare:
    - match: |-
        (?x) \s*
        (signal) \s+
        ([a-zA-Z_]\w*)(?=[\n\s])
      scope: meta.signal.gdscript
      captures:
        1: keyword.language.gdscript storage.type.function.gdscript
        2: entity.name.function.gdscript
  statement:
    - include: extends_statement
  statement_keyword:
    - match: |-
        (?x)
         \b(?<!\.)(
        continue | assert | break | elif | else | if | pass | return | while )\b
      scope: keyword.control.flow.gdscript
    - match: \b(?<!\.)(class)\b
      scope: storage.type.class.gdscript
    - match: |-
        (?x)
        ^\s*(
          case | match
        )(?=\s*([-+\w\d(\[{'":#]|$))\b
      captures:
        1: keyword.control.flow.gdscript
  string_formatting:
    - match: |-
        (?x)
         (
        % (\([\w\s]*\))?
        [-+#0 ]*
        (\d+|\*)? (\.(\d+|\*))?
        ([hlL])?
        [diouxXeEfFgGcrsab%]
         )
      scope: meta.format.percent.gdscript
      captures:
        1: constant.character.format.placeholder.other.gdscript
  strings:
    - match: (r)?("""|'''|"|')
      captures:
        1: constant.character.escape.gdscript
      push:
        - meta_scope: string.quoted.gdscript
        - match: \2
          pop: true
        - match: \\.
          scope: constant.character.escape.gdscript
        - include: string_formatting
  variable_declaration:
    - match: '\b(?:(var)|(const))\s+(?:(\b[A-Z_][A-Z_0-9]*\b)|([A-Za-z_]\w*))\s*'
      captures:
        1: keyword.language.gdscript storage.type.var.gdscript
        2: keyword.language.gdscript storage.type.const.gdscript
        3: constant.language.gdscript
        4: variable.other.gdscript
      push:
        - meta_scope: meta.variable.gdscript
        - match: $|;
          pop: true
        - match: '(:)?\s*(set|get)\s+=\s+([a-zA-Z_]\w*)'
          captures:
            1: punctuation.separator.annotation.gdscript
            2: keyword.language.gdscript storage.type.const.gdscript
            3: entity.name.function.gdscript
        - match: ":=|=(?!=)"
          scope: keyword.operator.assignment.gdscript
        - match: '(:)\s*([a-zA-Z_]\w*)?'
          captures:
            1: punctuation.separator.annotation.gdscript
            2: entity.name.type.class.gdscript
        - match: '(setget)\s+([a-zA-Z_]\w*)(?:[,]\s*([a-zA-Z_]\w*))?'
          captures:
            1: keyword.language.gdscript storage.type.const.gdscript
            2: entity.name.function.gdscript
            3: entity.name.function.gdscript
        - include: expression
        - include: letter
        - include: any_variable
        - include: any_property
        - include: keywords
```
</details>

Closing this as we can't add support for every language, so bringing your own grammar is the way to go.