text:
Is there a way to use WAH

The following does not seem to work.
sqlite.Open("books.db", sqlite.JournalModeWAL)

try adding URI parameter:
e.g. "file.db?_pragma=journal_mode(wal)"

Nope.
Also tried "_journal_mode=wah" (which works with mattn)

I can't reproduce, here's my test:
package main

import (
	"database/sql"
	"testing"

	"github.com/glebarez/sqlite"
	"gorm.io/gorm"
)

func TestJournalMode(t *testing.T) {
	db, err := gorm.Open(sqlite.Open("test.db?_pragma=journal_mode(wal)"))
	if err != nil {
		panic(err)
	}

	sqlDB, err := db.DB()
	if err != nil {
		panic(err)
	}

	if getJournalMode(sqlDB) != "wal" {
		t.Fatalf("expecting WAL mode")
	}

}

func getJournalMode(db *sql.DB) string {
	row := db.QueryRow("pragma journal_mode;")

	var jMode string
	if err := row.Scan(&jMode); err != nil {
		panic(err)
	}
	return jMode
}

Can you try?

You're right, probably a mistype on my part.
However the performance is 10x slower (pure 1.3s mattn 123ms ), using the following code
package main

import (
	"fmt"
	"time"

	"github.com/glebarez/sqlite"
	"gorm.io/gorm"
)

var DBConn *gorm.DB

type Book struct {
	ID     int       `json:"id"`
	Title  string    `json:"name"`
	Author string    `json:"author"`
	Rating int       `json:"rating"`
	Date   time.Time `json:"date" gorm:"column:date"`
}

func main() {

	//	os.Remove("books.db")
	initDatabase()

	db := DBConn
	c := 1000
	t := time.Now()
	for i := 0; i < c; i++ {
		book := new(Book)
		book.Author = "tolkein"
		book.Title = "lord of the rings"
		book.Rating = 5
		book.Date = time.Now()
		db.Create(&book)
	}
	fmt.Println("count", c)
	fmt.Println("time taken ", time.Since(t))

	d, _ := db.DB()
	d.Close()
}

func initDatabase() {

	var err error
	// pure go sqlite driver
	DBConn, err = gorm.Open(sqlite.Open("books.db?cache=shared&_pragma=journal_mode(wal)"), &gorm.Config{
		SkipDefaultTransaction: true,
		PrepareStmt:            true,
		// CreateBatchSize:        100,
	})
	if err != nil {
		panic("failed to connect database")
	}

	DBConn.AutoMigrate(&Book{})
}

My benchmark shows that pure-Go is ~4 times slower in this particlular insert:
goos: darwin
goarch: amd64
pkg: tests
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkInsertPureGo-12            7683            162200 ns/op
BenchmarkInsertCGo-12              28534             41001 ns/op

Here's the benchmark code to reproduce, you can run it on your machine with
go test -run=^$ -bench .

package main

import (
	"testing"
	"time"

	"github.com/glebarez/sqlite"
	sqlite3 "gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

type Book struct {
	ID     int       `json:"id"`
	Title  string    `json:"name"`
	Author string    `json:"author"`
	Rating int       `json:"rating"`
	Date   time.Time `json:"date" gorm:"column:date"`
}

func benchmarkInsert(b *testing.B, d gorm.Dialector) {
	// open DB connection
	db, err := gorm.Open(d, &gorm.Config{
		SkipDefaultTransaction: true,
		PrepareStmt:            true,
		// CreateBatchSize:        100,
	})
	if err != nil {
		panic("failed to connect database")
	}

	// migrate DB
	if err := db.Migrator().DropTable(&Book{}); err != nil {
		b.Fatal(err)
	}
	if err := db.Migrator().AutoMigrate(&Book{}); err != nil {
		b.Fatal(err)
	}

	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		book := new(Book)
		book.Author = "tolkein"
		book.Title = "lord of the rings"
		book.Rating = 5
		book.Date = time.Now()
		if err := db.Create(&book).Error; err != nil {
			b.Fatal(err)
		}
	}
}

func BenchmarkInsertPureGo(b *testing.B) {
	benchmarkInsert(b, sqlite.Open("test.db?_pragma=journal_mode(wal)"))
}

func BenchmarkInsertCGo(b *testing.B) {
	benchmarkInsert(b, sqlite3.Open("test.db?_journal_mode=WAL"))
}

I'm getting :
goos: linux
goarch: amd64
pkg: bb
cpu: AMD Ryzen 5 5500U with Radeon Graphics
BenchmarkInsertPureGo-12    	    1285	    968065 ns/op
BenchmarkInsertCGo-12       	   23970	     52667 ns/op
PASS
ok  	bb	3.197s

I'm using go 1.16.11

Wow, very high factor

Can you run benchmarks from https://github.com/glebarez/go-sqlite/tree/master/benchmark ?

goos: linux
goarch: amd64
pkg: github.com/glebarez/go-sqlite/benchmark
cpu: AMD Ryzen 5 5500U with Radeon Graphics
BenchmarkSelect/CGo_Memory_1e1-12         	  131701	      8770 ns/op
BenchmarkSelect/Go_Memory_1e1-12          	  194390	      6339 ns/op
BenchmarkSelect/CGo_Memory_1e2-12         	   20020	     59636 ns/op
BenchmarkSelect/Go_Memory_1e2-12          	   30295	     38956 ns/op
BenchmarkSelect/CGo_Memory_1e3-12         	    1947	    615115 ns/op
BenchmarkSelect/Go_Memory_1e3-12          	    2772	    428893 ns/op
BenchmarkSelect/CGo_Memory_1e4-12         	     195	   6106220 ns/op
BenchmarkSelect/Go_Memory_1e4-12          	     286	   4182851 ns/op
BenchmarkSelect/CGo_Memory_1e5-12         	      19	  61988030 ns/op
BenchmarkSelect/Go_Memory_1e5-12          	      28	  42346327 ns/op
BenchmarkSelect/CGo_Memory_1e6-12         	       2	 625610482 ns/op
BenchmarkSelect/Go_Memory_1e6-12          	       3	 429232747 ns/op
BenchmarkSelect/CGo_OnDisk_1e1-12         	   83805	     14301 ns/op
BenchmarkSelect/Go_OnDisk_1e1-12          	   89619	     13185 ns/op
BenchmarkSelect/CGo_OnDisk_1e2-12         	   17486	     68830 ns/op
BenchmarkSelect/Go_OnDisk_1e2-12          	   24654	     46872 ns/op
BenchmarkSelect/CGo_OnDisk_1e3-12         	    1940	    630119 ns/op
BenchmarkSelect/Go_OnDisk_1e3-12          	    2637	    447174 ns/op
BenchmarkSelect/CGo_OnDisk_1e4-12         	     194	   6142179 ns/op
BenchmarkSelect/Go_OnDisk_1e4-12          	     280	   4267654 ns/op
BenchmarkSelect/CGo_OnDisk_1e5-12         	      19	  62125432 ns/op
BenchmarkSelect/Go_OnDisk_1e5-12          	      27	  42735136 ns/op
BenchmarkSelect/CGo_OnDisk_1e6-12         	       2	 625605594 ns/op
BenchmarkSelect/Go_OnDisk_1e6-12          	       3	 433699318 ns/op
BenchmarkInsert/CGo_Memory_1e1-12         	   23320	     51714 ns/op
BenchmarkInsert/Go_Memory_1e1-12          	   14712	     79102 ns/op
BenchmarkInsert/CGo_Memory_1e2-12         	    2937	    398825 ns/op
BenchmarkInsert/Go_Memory_1e2-12          	    1921	    637811 ns/op
BenchmarkInsert/CGo_Memory_1e3-12         	     310	   3856435 ns/op
BenchmarkInsert/Go_Memory_1e3-12          	     196	   6154284 ns/op
BenchmarkInsert/CGo_Memory_1e4-12         	      30	  38477260 ns/op
BenchmarkInsert/Go_Memory_1e4-12          	      18	  61833730 ns/op
BenchmarkInsert/CGo_Memory_1e5-12         	       3	 387854957 ns/op
BenchmarkInsert/Go_Memory_1e5-12          	       2	 627007674 ns/op
BenchmarkInsert/CGo_Memory_1e6-12         	       1	3885791584 ns/op
BenchmarkInsert/Go_Memory_1e6-12          	       1	6313662293 ns/op
BenchmarkInsert/CGo_OnDisk_1e1-12         	   10000	    108554 ns/op
BenchmarkInsert/Go_OnDisk_1e1-12          	    6870	    171656 ns/op
BenchmarkInsert/CGo_OnDisk_1e2-12         	    2418	    468945 ns/op
BenchmarkInsert/Go_OnDisk_1e2-12          	    1550	    735856 ns/op
BenchmarkInsert/CGo_OnDisk_1e3-12         	     298	   3981170 ns/op
BenchmarkInsert/Go_OnDisk_1e3-12          	     189	   6336584 ns/op
BenchmarkInsert/CGo_OnDisk_1e4-12         	      30	  38602661 ns/op
BenchmarkInsert/Go_OnDisk_1e4-12          	      19	  62201767 ns/op
BenchmarkInsert/CGo_OnDisk_1e5-12         	       3	 386879917 ns/op
BenchmarkInsert/Go_OnDisk_1e5-12          	       2	 620643994 ns/op
BenchmarkInsert/CGo_OnDisk_1e6-12         	       1	3896065800 ns/op
BenchmarkInsert/Go_OnDisk_1e6-12          	       1	6302221749 ns/op
PASS
ok  	github.com/glebarez/go-sqlite/benchmark	173.876s

I've just finished real world benchmarks against CGo implementation.
Would appreciate if you run these on your machine.
https://github.com/glebarez/go-sqlite/tree/master/benchmark

I'm getting:
verifying github.com/glebarez/go-sqlite@v1.14.4/go.mod: checksum mismatch
	downloaded: h1:xMpicS1i2MJ4C8+Ap0vYBqTwYfpFvdnPE6brbFOtV2Y=
	go.sum:     h1:YAqgiMgrG4x1xu+YxXa8+GYqrWDKB20NPnOD5Z5QtFU=

SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.

try:
git pull
go clean -modcache
go mod tidy
go test -v .

Thank you!

Results in "performance mode" :
goos:   linux
goarch: amd64
cpu:    AMD Ryzen 5 5500U with Radeon Graphics
repeat: 1 time(s)
in-memory SQLite: false

bench_create_index                  |  2.47x | CGo:  87.434 ms/op | Pure-Go: 216.104 ms/op
bench_select_on_string_comparison   |  4.02x | CGo:  14.327 ms/op | Pure-Go:  57.623 ms/op
bench_select_with_index             |  3.05x | CGo:   0.005 ms/op | Pure-Go:   0.016 ms/op
bench_select_without_index          |  1.94x | CGo:   6.366 ms/op | Pure-Go:  12.367 ms/op
bench_insert                        |  1.52x | CGo:   0.039 ms/op | Pure-Go:   0.059 ms/op
bench_insert_in_transaction         |  1.43x | CGo:   0.007 ms/op | Pure-Go:   0.010 ms/op
bench_insert_into_indexed           |  1.46x | CGo:   0.010 ms/op | Pure-Go:   0.015 ms/op
bench_insert_from_select            |  2.31x | CGo:  22.347 ms/op | Pure-Go:  51.608 ms/op
bench_update_text_with_index        |  1.87x | CGo:   0.007 ms/op | Pure-Go:   0.013 ms/op
bench_update_with_index             |  2.21x | CGo:   0.005 ms/op | Pure-Go:   0.011 ms/op
bench_update_without_index          |  2.02x | CGo:   6.043 ms/op | Pure-Go:  12.217 ms/op
bench_delete_without_index          |  1.33x | CGo: 292.671 ms/op | Pure-Go: 389.759 ms/op
bench_delete_with_index             |  2.35x | CGo:  22.614 ms/op | Pure-Go:  53.077 ms/op
--- PASS: Test_BenchmarkSQLite (226.93s)
PASS
ok  	github.com/glebarez/go-sqlite/benchmark	226.939s

authors: glebarez mgholam

repo: glebarez/go-sqlite


text:
🛑 Schoelcher is down

In 575cf4f, Schoelcher (https://www.mairie-schoelcher.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Schoelcher is back up in 351b81d.

source: gharchive/issue

repo: glefait/martinique-public-websites

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 Schoelcher is down

In e666d27, Schoelcher (https://www.mairie-schoelcher.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Schoelcher is back up in b5d80b6 after 20 minutes.


text:
🛑 Schoelcher is down

In 6eebe7e, Schoelcher (https://www.mairie-schoelcher.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Schoelcher is back up in 6cec598 after 5 minutes.


text:
🛑 Saint-Pierre is down

In c9ced42, Saint-Pierre (https://saintpierre-mq.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Saint-Pierre is back up in d9d0b39 after 19 minutes.


text:
🛑 Saint-Pierre is down

In b7f1322, Saint-Pierre (https://saintpierre-mq.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Saint-Pierre is back up in 1aee54b after 12 minutes.


text:
🛑 Pole Agro-Ressource de Martinique is down

In a34bd82, Pole Agro-Ressource de Martinique (https://parm.mq) was down:

HTTP code: 500
Response time: 10854 ms

Resolved: Pole Agro-Ressource de Martinique is back up in 4ce7cb9 after 4 minutes.


text:
🛑 Schoelcher is down

In 774ed55, Schoelcher (https://www.mairie-schoelcher.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Schoelcher is back up in 7ef4d46.


text:
🛑 Martinique Transport is down

In 7263d39, Martinique Transport (http://www.martiniquetransport.mq) was down:

HTTP code: 503
Response time: 946 ms

Resolved: Martinique Transport is back up in 21b21f2.


text:
🛑 Schoelcher is down

In ad2d671, Schoelcher (https://www.mairie-schoelcher.fr) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Schoelcher is back up in 5b72430.


text:
whastapp claro

Chatwoor em
super_admin/settings
Conversation Style CSS
colar
body { background-color: #f4f4f4; background-image: url('https://github.com/user-attachments/assets/79ee2388-1ad6-4c15-80fd-88d933b88c24'); background-repeat: repeat; background-size: contain; background-position: center; }

repo: gleicilenedias/instalador-main

license: WTFPL


text:
Two questions

Hi,

Is the underlying system DART?
Does the extension support wildcards () e.g. uikit/**/.scss.

thanks
Marcel

Hi @chaloum,
Yes it's compiled from dart (dart-sass)
It supports glob patterns. So yes, uikit/**/.scss would work
Thanks

Hi @chaloum,
Yes it's compiled from dart (dart-sass)
It supports glob patterns. So yes, uikit/**/.scss would work
Thanks


text:
Diagnostic Icons

Describe the bug
Installed lspsaga and setup with defaults, but there's no diagnostic sign modified, only 'H', 'W', etc..
Ps: i read thru the docs.
I should set them manually or this is a bug?
Steps to reproduce
Use Lazy, install lspsaga
Expected behavior
Set Diagnostics Icons and Colors
Neovim version (nvim -v)
Nvim v0.9,0-dev
lspsaga commit
?
Terminal name/version
Ubuntu using Wsl2 inside Windows Terminal

:h vim.diagnostic.config


text:
Unexpected character callback behavior in XIM

I seem to be getting strange character callback events for unicode characters using XIM.
In particular, when I type a character with a three byte utf-8 encoding, I get one character callback for the first byte, another for the third byte, and no callback inbetween. So for example, when I type U+22AB (a compose sequence), I get a character callback with value 0xe2 and another with value 0xab. (U+22AB is encoded 0xe288ab in UTF-8).
I expected to get one callback with a utf-32 encoded character.
The code I'm using to test is the following:

#include <GLFW/glfw3.h>

#include <iostream>

void character_callback(GLFWwindow* window,unsigned int character);

int main()
{
  glfwInit();
  GLFWwindow* window = glfwCreateWindow(800,600,"Test",NULL,NULL);
  glfwSetCharCallback(window,character_callback);
  glfwMakeContextCurrent(window);
  while (!glfwWindowShouldClose(window))
  {
    glClearColor(0.2f,0.3f,0.3f,1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    glfwSwapBuffers(window);
    glfwPollEvents();
  }
}

void character_callback(GLFWwindow *window,unsigned int character) {
  std::cout << character << std::endl;
}

I'm primarily using GLFW 3.2.1 on Arch Linux (kernel 4.11.3-1-ARCH) with xorg-server version 1.19.3,
but I get the same results when testing against commit 8905e615a35eba7fe49870b11a04ec058c359732 from the ci branch as well.

I expected to get one callback with a utf-32 encoded character.

That's what I would have expected as well. What key sequence did you use, with what input method?

I use the XCompose file https://github.com/kragen/xcompose

Didn't mean to close, there... my finger slipped on my phone. The specific sequence I've been testing with is ++I+N+T

authors: elmindreda emakman

repo: glfw/glfw

license: Zlib


text:
Clipboard

Hi, i have the clipboard working but i have some issues i would like to understand better. First question is @jadahl do i really need to get the serial from all input to use it to set a selection?
And_glfwPlatformGetClipboardString _glfwPlatformSetClipboardString are not thread safe and i can't find anywhere in the documentation if they should be or not.
BTW @jadahl can you review the patch?

Sorry for the delay. Thanks for working on this. However, the new clipboard patch seems to not address the all of the raised issues in the previous review, for example this https://github.com/ricardomv/glfw/commit/a84fe7eb850d33c997b3a01878c01b554c13fdcd#commitcomment-7953730 and https://github.com/ricardomv/glfw/commit/a84fe7eb850d33c997b3a01878c01b554c13fdcd#commitcomment-7953719.

the issue stated in the comment 7953719 was already fixed here https://github.com/ricardomv/glfw/commit/300550aa756712204dbe5f05c60d794d2f1761b4 but I have rebased the branch on master. I don't know how to fix ricardomv@a84fe7e#commitcomment-7953719

What I meant was the second part of comment 7953719, i.e. the missing close(fd);
Regarding the other issue; we need to track both the DnD objects and selection offers separately, destroying them when they should be destroyed given what type it is. Otherwise we leak memory.
More or less: 1. receive data offer. 2. receive either enter or selection - this determines if its DND or selection/clipboard. 3. upon leave, destroy DND data offer; upon selection, destroy previous selection offer.
The mime-type has nothing to do if its DND or clipboard.

@jadahl sorry i don't have the time to work on this.

Ok! Thanks anyway. I will leave the pull request open if you find time or if anyone else is interested in continuing.

FYI this is implemented in my glfw fork

Superseded by #1353.

source: gharchive/pull-request

authors: jadahl kovidgoyal linkmauve ricardomv


text:
Scrolling with the mouse wheel in KDE's volume mixer applet scrolls through both devices and levels of devices.

This is a old issue. I faced it too. It is fixed.
Currently works perfectly with my 3 sinks and 2 devices

I've been using KDE since Kubuntu 19.04 and have not come across this issue before, so it's probably fixed and they ran into an older version here.

authors: Mitsunee alou-S


text:
🛑 APP is down

In 5ea4bb3, APP ($SITE_5) was down:

HTTP code: 504
Response time: 10104 ms

Resolved: APP is back up in fb694df after 1 hour, 22 minutes.

repo: glo-markoaular/status-navigate


text:
extensions checks: Add OCSP must staple check.

This commit adds a check for the OCSP Must Staple x509v3 feature
extension defined in RFC 7633. Prior to this commit running certlint
on a certificate with this extension produced output like:
Bad Certificates Detected: {
  'xxxx': {
    'valid': False,
    'problems': [
      'Certificate contains unknown extension (1.3.6.1.5.5.7.1.24)'
    ]
  }
}

The OCSP Must Staple check presently enforces that:

The certdata.Data.Type is not OCSP. The RFC only defines this
extension for end entity certificates, CSRs, and issuing
certificates, not OCSP signing certificates.
The ex.Critical flag is set to false. The RFC forbids setting this
extension to critical.

After applying this commit the above Bad Certificate Detected problem is
resolved.
Note to reviewers: I did not find any unit tests for the existing
certlint/extensions/ checks so I haven't tried to write one for this
addition. I did verify using known good certificates both with/without
the extension. If there is an example unit test to refer to I can attempt
to add one for the OCSP Must Staple check.

As this is extension is not supported by Go we should be checking more than the critical flag. It should be not to hard to test test the extension value against an expected byte array or to unmarshal the value.

@vanbroup This is sensible feedback & would make a much better check. My preference would be to merge this as-is and file a follow-up issue to enhance the implementation. I may not have time to return to this PR for a few days and I'd like to unblock users with OCSP Must Staple certificates. Are you open to that?
For reference I believe this check & the level of scrutiny it applies is fairly consistent with the existing codebase. I based this off of ocspnocheck.go which seems like it would need the same review feedback you gave this work. It does not check the IsCa field of the cert, or its key usage:
https://github.com/globalsign/certlint/blob/c11b63719ad75636b9a29854164c2bdf5c113b0b/checks/extensions/ocspnocheck/ocspnocheck.go#L24-L26
Similarly, though the extension is not supported by Go there is no explicit check of the ASN.1. Many other checks appear to apply the same surface level evaluation I did in this PR (e.g. adobetimestamp.go, pdfrevocation.go, smimecapabilities.go). It would be helpful to external contributors if there were more guidelines available for writing checks & consistency throughout the existing checks.
Thanks!

For reference I believe this check & the level of scrutiny it applies is fairly consistent with the existing codebase. I based this off of ocspnocheck.go which seems like it would need the same review feedback you gave this work. It does not check the IsCa field of the cert, or its key usage:

As added to the review comment, OCSPNoCheck applies only in OCSP signing certificates and not to any end-entity certificates. The type OCSP is based on the extended key usage x509.ExtKeyUsageOCSPSigning. If you just check for IsCA: false than you directly cover all end-entity certificates.

Similarly, though the extension is not supported by Go there is no explicit check of the ASN.1. Many other checks appear to apply the same surface level evaluation I did in this PR (e.g. adobetimestamp.go, pdfrevocation.go, smimecapabilities.go). It would be helpful to external contributors if there were more guidelines available for writing checks & consistency throughout the existing checks.

I agree that is not completely fair, I think most recent changes have all come with test coverage as I think it's important to work towards a 100% coverage for this package. The test case required for this extension is significantly simple that I feel it should not be much work to add.

If you just check for IsCA: false than you directly cover all end-entity certificates.

Sounds good :+1: I'll do that instead.

I think most recent changes have all come with test coverage as I think it's important to work towards a 100% coverage for this package. The test case required for this extension is significantly simple that I feel it should not be much work to add.

Ok, I can work with that. I'll close this PR and re-open it when I have time to work on adding a test case.
Thanks,

authors: cpu vanbroup

repo: globalsign/certlint

license_source: bigquery


text:
Can't install Vundle with vim

My linux version is Ubuntu 12.04.2 LTS ,when I run “vim +PluginInstall +qall” command,I got errors,
I also used version Ubuntu 14.04 to install Voundle,and got the same error.I also add  the line "set shell=/bin/bash" in my .vimrc file ,but still got the error .How to resolve it,Can you help me .Thanks.
The error message is as below:
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..HasGitRepo:
line    1:
E484: Can't open file /tmp/v9e4yTa/0
Error detected while processing function MaybeRunBranchSwitch..GetThisBranch:
line    1:
E117: Unknown function: fugitive#head
E116: Invalid arguments for function substitute(fugitive#head(), '/', '-', 'g')
E15: Invalid expression: substitute(fugitive#head(), '/', '-', 'g')
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..GetThatBranch..FindGitDirOrRoot:
line    3:
E484: Can't open file /tmp/v9e4yTa/1
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..FindGitDirOrRoot:
line    3:
E484: Can't open file /tmp/v9e4yTa/2
Error detected while processing function MaybeRunBranchSwitch..HasGitRepo:
line    1:
E484: Can't open file /tmp/v9e4yTa/3
Error detected while processing function MaybeRunBranchSwitch..GetThisBranch:
line    1:
E117: Unknown function: fugitive#head
E116: Invalid arguments for function substitute(fugitive#head(), '/', '-', 'g')
E15: Invalid expression: substitute(fugitive#head(), '/', '-', 'g')
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..GetThatBranch..FindGitDirOrRoot:
line    3:
E484: Can't open file /tmp/v9e4yTa/4
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..FindGitDirOrRoot:
line    3:
E484: Can't open file /tmp/v9e4yTa/5
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..HasGitRepo:
line    1:
E484: Can't open file /tmp/v9e4yTa/6
Error detected while processing function MaybeRunBranchSwitch..GetThisBranch:
line    1:
E117: Unknown function: fugitive#head
E116: Invalid arguments for function substitute(fugitive#head(), '/', '-', 'g')
E15: Invalid expression: substitute(fugitive#head(), '/', '-', 'g')
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..GetThatBranch..FindGitDirOrRoot:
line    3:
E484: Can't open file /tmp/v9e4yTa/7
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..FindGitDirOrRoot:
line    3:
E484: Can't open file /tmp/v9e4yTa/8
Cannot execute shell zsh
Error detected while processing function MaybeRunBranchSwitch..HasGitRepo:
line    1:
E484: Can't open file /tmp/v9e4yTa/9
Error detected while processing function MaybeRunBranchSwitch..GetThisBranch:
line    1:
E117: Unknown function: fugitive#head
-- More --

It seems on a first look completely unrelated to vundle, but let's take a look at your vimrc file. Post it please.

Sorry,It's my .vimrc file issue,it change the shell to zsh，I remove this line,and it's OK. Thanks.

@jamyy2000 close the issue then, plz

authors: jamyy2000 jdevera kosich

license: mit


text:
Add iceberg to rest

Minor cleanup to order types and duplicate structs while adding support for iceberg order types in the REST side.
Note: Does not presently validate the requirement that displayvol be >= 1/15 volume.

Thank you for the MR.

authors: gmosx strangelittlemonkey

repo: gmosx/kraken-sdk-rust


text:
🛑 i 學園 is down

In 4a8b7fc, i 學園 (https://istudy.ntut.edu.tw/mooc/index.php) was down:

HTTP code: 0
Response time: 0 ms

Resolved: i 學園 is back up in fe2a3b5.

repo: gnehs/ntut-uptime


text:
🛑 Blockscout Explorer is down

In 8ae6942, Blockscout Explorer (https://blockscout.com/xdai/mainnet) was down:

HTTP code: 503
Response time: 20211 ms

Resolved: Blockscout Explorer is back up in e8c9516.

repo: gnosischain/gnosischain-uptime


text:
🛑 Beacon RPC is down

In 917ff51, Beacon RPC (https://rpc-gbc.gnosischain.com/eth/v1/beacon/headers) was down:

HTTP code: 503
Response time: 295 ms

Resolved: Beacon RPC is back up in 79b419d.


text:
[Bug] Cant Force Push LFS-enabled to NON-LFS repo

when converting a repo to use LFS i have to create a new one. i cant reupload to the old repo ...
see: https://discourse.gitea.io/t/convert-existing-repository-in-gitea-to-one-using-git-lfs/1848

need more time to infestiage - will look at this later ...

☝

ping

@6543 sorry I missed this. I'm not quite sure from what you've written how to reproduce this. Did you ever get to the bottom of the problem? Is the failure definitely coming from Gitea?

No didn't had a deeper look into this jet

local tested - works now with current master

repo: go-gitea/gitea


text:
Container registry Login always return Error Response from Daemon: get "https://111.222.234.50/v2/": EOF

Description
Container registry Login always return Error Response from Daemon.
My conf/app.ini
[server]
APP_DATA_PATH    = /data/gitea
DOMAIN           = localhost
SSH_DOMAIN       = localhost
HTTP_PORT        = 3000
ROOT_URL         = http://111.222.234.50/

[packages]
ENABLED = true

Cmd
C:\>docker login 111.222.234.50
Username: user123
Password: 123456
Error response from daemon: Get "https://111.222.234.50/v2/": EOF

Do I have no correct understanding or setting?
Gitea Version
1.19.2
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
ubuntu 22.04
How are you running Gitea?
docker
Database
SQLite

By default, docker requires HTTPS

And if you use port 3000 you need that too for docker login.
docker login 111.222.234.50:3000

I use nginx proxy HTTPS to log in normally, but the push container image error occurs. I have checked the related issues of # 23708, # 24042, but referring to the solution is invalid for me
error parsing HTTP 404 response body: invalid character 'N' looking for beginning of value: "Not found.\n"
my app.ini
DOMAIN           = gitea.xxx.com
ROOT_URL         = https://gitea.xxx.com/
HTTP_PORT        = 3000

nginx.conf
server {
     server_name gitea.poliz.cn;
     listen 80;
     return 301 https://$host$request_uri;
}

server {
     server_name gitea.xxx.com;
     listen 443 ssl http2 ;
     include /etc/nginx/conf.d/_server_proxy.conf;
     proxy_cache off;
		location / {
			proxy_pass http://111.222.234.50:3000/;
		}

		location /v2/ {
			proxy_pass http://111.222.234.50:3000/v2/;
		    client_max_body_size 0;
		}
}

_server_proxy.conf
ssl_certificate     /etc/nginx/conf.d/certs/xxx.com_bundle.pem;
ssl_certificate_key /etc/nginx/conf.d/certs/xxx.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;

What command are you trying to execute? The log shows owner name or image name are missing. You must tag your image as gitea.xxx.com/owner/image

Thank you very much. I use vs2022 Push to the container registry. I need to fill in /user123 behind the original gitea.xxx.com to correct the OWNER path correctly
I have made mistakes that should not be made, thank you, thank you for the great project

authors: KN4CK3R jaelys wxiaoguang


text:
Show "_comment" of conposer.json

Feature Description
Show the content of "_comment" from composer.json on the package page.
https://getcomposer.org/doc/04-schema.md#-comment
Screenshots
No response

Does Packagist show these comments? If yes, could you link an example package?

_comment doesn't get used, but the README so I think the README would be the better option.
Just look at almost any project on Packagist for the README:
Example: laravel/laravel
Maybe just show the README of the linked repository.

Already have a branch ready which reads the readme file too. Will create a PR soon.

I will close this as 'not planned' because README is the better option.


text:
can't evaluate field UseSendmail in type interface

Gitea version (or commit ref): 4a747ae built with: bindata, sqlite, sqlite_unlock_notify
Git version: 2.18.1
Operating system: Mac OSX Mojave with docker 2.0.0.2 (30215)
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[X] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[X] No
[ ] Not relevant

Log gist:
template: admin/config:187:21: executing "admin/config" at <.Mailer.UseSendmail>: can't evaluate field UseSendmail in type interface {}

Description
Today I ran "docker image pull gitea/gitea:latest", and now every time I go to the page "admin/config" I get the error message above. The other pages are ok.

Thanks for reporting this 😄 This is likely related to this line: https://github.com/go-gitea/gitea/blob/master/templates/admin/config.tmpl#L187
There was recently a PR to add new mailer types, where this option was deprecated. I'll create a PR for this in a few hours, unless you want to create one first.

Sorry!
I missed that!

authors: lsampaioweb techknowlogick zeripath


text:
Add more milestone choices on issues list view

As title
view:

fix #11924

Can you add this to the bottom of arc-green to fix the header colors?
.ui.dropdown .menu > .header:not(.ui) {
  color: rgba(255,255,255,.85);
}

This dropdown can get quite large with a few milestones, maybe remove the dividers to save some vertical space (and I think they are unnecessary).

Does it even make sense to allow filtering via closed milestone on open issue? In what kind of situation would that be even useful?

Does it even make sense to allow filtering via closed milestone on open issue? In what kind of situation would that be even useful?

Because, in my opinion, whether issue is open has no logical connection with whether milestone is open, it seems to impose a connection, that open issue must be in an open Milestone and closed issue must in closed Milestone. But, I found that the github also uses this strategy, so it should be reasonable.

Generally milestone is closed when all issues and PRs connected to it are also closed.

Well, we can't filter closed issues based on open milestones either which makes perfect sense to me. See #11924

authors: CirnoT a1012112796 otbutz silverwind


text:
Make wording of commit search more clear

It's all in the title

LGTM

LGTM

authors: bkcsoft geek1011 strk


text:
Minor changes

Simplified SVG
Slightly corrected the readme

Very unrelated changes without any description on why they are needed and what they fix/improve

I think the title should be Removed outdated README links and minimized some SVGs.
Then, everyone knows what you are doing here.

The SVGs are generated with below node scripts. Please apply your configuration changes to SVGO there and then run make svg generate-images to regenerate the output files.
https://github.com/go-gitea/gitea/blob/main/build/generate-svg.js
https://github.com/go-gitea/gitea/blob/main/build/generate-images.js

Some of the SVGs are generated via below node scripts. Please apply your configuration changes to SVGO there and then run make svg generate-images to regenerate the output files.
https://github.com/go-gitea/gitea/blob/main/build/generate-svg.js https://github.com/go-gitea/gitea/blob/main/build/generate-images.js

Wait for the changes.

authors: Artem13327 delvh lafriks lunny silverwind


text:
Fix pre-existing markup links hrefs

This seeks to fix the bug reported on issue #29196.
Cause:
ID's with custom characters (- , _ , etc.), were not linking correctly in the Markdown file when rendered in the browser because the ID in the respective destinies would be different than the one in  anchor, while for IDs with only letters, the ID would be the same.
Fix:
It was suggested that to fix this bug, it should more or less like GitHub does it. While in gitea the anchors would be put in HTML like this:

Review

Staging

Development

Testing

Unit-tests

In GitHub, the same anchor's href properties would be the same without "user-content-" trailing behind.
So my code made sure to change those anchors, so it would not include "user-content-" and then add respective Event Listeners so it would scroll into the supposed places.
Fixes: #29196

Oh and let's give the PR a proper description...

@silverwind Do you think I need to add any more changes to this PR?

Did some style tweaks and added some explanatory comments to the file. Works as expected but I think above code block can be removed as we can just let those links work natively after the href is corrected.

authors: DanielMatiasCarvalho silverwind


text:
oauth2 with remote Gitea

Fix #8093

I'm using go1.13 so my vendor file is different. This is blocked by https://github.com/go-gitea/gitea/pull/8088


text:
Change some label colors

Feel free to close this pr or request change

user settings > organizations > new organization button -> black to blue

admin settings > organizations > new organization button -> black to blue

admin settings > users accounts > create user account button -> black to blue

repository > labels > count label -> set as basic

repository > milestone issues > issue number label (read) -> black to grey

repository > commit list > search button -> black to blue

Commit Search Button

Label Count Label

Milestone Issues > Issue Number Label

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8f09aff). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master   #9051   +/-   ##
========================================
  Coverage          ?   41.1%
========================================
  Files             ?     549
  Lines             ?   71495
  Branches          ?       0
========================================
  Hits              ?   29386
  Misses            ?   38391
  Partials          ?    3718

Continue to review full report at Codecov.

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

How doe it look in dark theme?

@lafriks

repository > labels > count label -> set as basic
for the dark theme it looks to bright - for the normal theme it is good ...

What do you think what it should be? I can change any other color instead of basic class?

@jaqra I guess you could go override the matching basic style in the dark theme.

I wonder if you can also change the color of a merge pull requested, it is a very bad choice

what about #bbbbbb

@Perflyst what do you suggest?

@silverwind can you review please?
@Perflyst i am waiting for your answer

Sorry.. Yes #bbbbbb would be fine, same color as the "X labels" background has

authors: 6543 Perflyst codecov-io jaqra lafriks silverwind


text:
DB.FirstOrCreate throws reflect: call of reflect.Value.Type on zero Value error

I have very basic model User class. And at the time of creating a user I am checking if the user with email already exist? If not it should create a user with the given email. For this I was using FirstOrCreate method. It was working fine in v1. But now in v2 it is throwing error reflect: call of reflect.Value.Type on zero Value.
Reproduced Playground PR here
Code
user := model.User{}
tx.FirstOrCreate(&user, model.User{
    Email: req.Email,
}

Fixed, thank you for your report.

authors: hetjagani jinzhu

repo: go-gorm/gorm


text:
Lack of documentation from migrating from v1 to v2.

Problem here is that we're using the v1 docs for Jointable Foreign Key https://v1.gorm.io/docs/many_to_many.html#Jointable-ForeignKey and there does not seem to be a clear path to have this supported in V2.
https://gorm.io/docs/many_to_many.html#Override-Foreign-Key
Can we have a clear description about these terminologies: foreignKey, references, joinForeignKey, joinReferences

Like https://gorm.io/docs/associations.html#tags ?

Like https://gorm.io/docs/associations.html#tags ?


text:
GORM Changelog

Your Question
Is there any changelog for Gorm? When I click on the version on the Docs, I go to "GORM 2.0 Release Note", but I would need more granular version changes because I am using v1.20.12 and I would like to know what changed up to v1.21.8.
The document you expected this should be explained
https://gorm.io/docs/v2_release_note.html
Expected answer
If possible, could you add a link to a changelog of minor versions (if it exists somewhere)? Thanks by advance

Maybe helpful.
https://github.com/go-gorm/gorm/releases
https://github.com/go-gorm/gorm/compare/v1.20.12...v1.21.8

Thanks! There should be a link to this page from the documentation 😉

authors: JeffPHP s-takehana


text:
gorm2 mysql自引用失败

Your Question
如下，使用AutoMigrate无法创建外键
type User struct {
	ID         int
	Name       string
	ReferredBy *int `gorm:"foreignKey:ReferredBy;constraint:OnUpdate:CASCADE,ONDELETE:SET NULL"`
	Referrer   *User
}

db.AutoMigrate(&User)

The document you expected this should be explained
https://gorm.io/zh_CN/
Expected answer
请问如何实现自引用，是bug还是我的使用方式有问题呢

因为有外键约束，无法自动迁移。
需要在创建db时，禁用外键约束：
参考：
https://gorm.io/zh_CN/docs/constraints.html#外键约束

因为有外键约束，无法自动迁移。
需要在创建db时，禁用外键约束：
参考：
https://gorm.io/zh_CN/docs/constraints.html#外键约束

兄弟 不是这个问题 你参考 #4372 https://github.com/go-gorm/gorm/issues/4372

authors: beluxx hovinlu


text:
add before find hook,we need split table with it

[] Do only one thing
[] Non breaking API changes
[] Tested

What did this pull request do?

User Case Description

You can use ConnPool replace for catching the SQL query before it execute to database.
See the Sharding plugin implementation.
https://github.com/go-gorm/sharding/blob/main/conn_pool.go#L58

Closing this PR, the BeforeFind hooks must be used very carefully, as it usually relied on the query results in the database.
Suggest to use Scopes or Callbacks for the case.
Thank you for your PR.

authors: dino-ma huacnlee jinzhu


text:
Route Regular expressions  for the host support

I want to achieve the following functions as :

for the ahost.example.com

m.Group("ahost.example.com", func(r martini.Router) {
    r.Get("/:id", GetBooks)
    r.Post("/new", NewBook)
    r.Put("/update/:id", UpdateBook)
    r.Delete("/delete/:id", DeleteBook)
})

for the bhost.example.com

m.Group("bhost.example.com", func(r martini.Router) {
    r.Get("/:id", GetBooks)
    r.Post("/new", NewBook)
    r.Put("/update/:id", UpdateBook)
    r.Delete("/delete/:id", DeleteBook)
})

I am especially looking forward to this function ,thanks!

Group does not group by host but by a part of the path.

authors: mvader zhuchaowe

repo: go-martini/martini


text:
[Bug]: websocket.Context.Closed() undefined

Description
go run main.go
command-line-arguments
./main.go:9:11: ctx.Closed undefined (type "github.com/go-mojito/mojito/websocket".Context has no field or method Closed)
How to Reproduce

Run the code snippet

Expected Behavior
Able to compile.
Version
0.0.16
Code Snippet
package main

import "github.com/go-mojito/mojito"
import websocket "github.com/go-mojito/mojito/websocket"

func SomeHandler(ctx websocket.Context) {
    for !ctx.Closed() {
        var msg string
        ctx.Receive(&msg)
        ctx.Send(msg)
    }
}

func main() {
  mojito.GET("/", func(ctx mojito.Context) {
    ctx.String("Hello World")
  })
  mojito.GET("/ws", SomeHandler)
  mojito.ListenAndServe(":8123")
}

Checklist:

[X] I agree to follow Mojito's Code of Conduct.
[X] I have checked for existing issues that describe my problem prior to opening this one.
[X] I understand that improperly formatted bug reports may be closed without explanation.

I have created a new release v0.0.17 which contains the fix

Thank you!

authors: nilathedragon rlsvr

repo: go-mojito/mojito


text:
fix: set timeout for TLS connections

Closes #17

@umputun please review this PR

repo: go-pkgz/email


text:
Add support for Bitbucket Server

Native support for webhooks was added in Bitbucket Server 5.4
However, both payloads and event keys differ from the Bitbucket Cloud. So I haven't been able to take advantage of this library. Are there any ongoing work for supporting native webhooks from Bitbucket Server or are there room for improvement?

There is no work on the books yet, but it should be as simple as copy pasting the existing implementation and modifying to support BitBucket Server.
Any help with a PR would be great!

Thanks for quick response, I will see if I can provide a PR during the upcoming week.

authors: goober joeybloggs

repo: go-playground/webhooks


text:
Fix redrawing prompts on Windows

Fixes redrawing prompts on Windows so that:

The line before the 1st survey prompt isn't accidentally deleted,
The survey prompt is properly redrawn after recording an answer.

For help with debugging Survey, this also adds logging support by setting SURVEY_LOG_FILE environment variable.
Fixes https://github.com/go-survey/survey/issues/368
Closes https://github.com/go-survey/survey/pull/458
TODO:

[ ] test in more different terminal combos
[ ] test cursor handling when a prompt or an answer wraps due to viewport width

@mislav : thank you for working towards the root of this issue for Windows users ✨
What might you share about this work for someone else to pick it up and carry it completion?

authors: andyfeller mislav

repo: go-survey/survey


text:
Links to documentation on home page were pointing to an 404 page.

Hi, some links to documentation were 404, so I fixed that.
Sincerelly,
Sascha

Thanks!

repo: go-xorm/website


text:
逆向时 DECIMAL 映射成string了

SkuPrice   string     json:"sku_price" xorm:"not null default 0.00 comment('单价') DECIMAL(10,2)"
VipPrice    string    json:"vip_price" xorm:"not null default 0.00 DECIMAL(10,2)"
使用reverse逆向时.....如上~

I think you should report this issue on https://gitea.com/xorm/cmd .

I think you should report this issue on https://gitea.com/xorm/cmd .

thank you!

repo: go-xorm/xorm


text:
Access database support by odbc driver

Just like mssql support

Good! Where can I find a demo code?

This does not be implemented yet.

authors: lunny yunfong


text:
Issue with bindings

Hello,
i'm starting a new project and would like to use this panel window package. I've got a fresh electron quick start setup and i've added your npm package. Following that i've added this line to main.js
const { PanelWindow } = require('electron-panel-window');
I then get the following error when running npm start

Any help much appreciated!

Hey @matt3224 first time creating a native package here so I likely missed something that needs to be included in the postinstall. Could you try rebuilding the package locally with these instructions and let me know what works…
https://github.com/goabstract/electron-panel-window#development

Ok sure, so after cloning the repo and running npm i i get the following error:
[Matt:...lectron-panel-window-master]$ npm i
Error: Failed to replace env in config: ${NPM_TOKEN}
    at /usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/config/core.js:415:13

    at String.replace (<anonymous>)
    at envReplace (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/config/core.js:411:12)
    at parseField (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/config/core.js:389:7)
    at /usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/config/core.js:330:24
    at Array.forEach (<anonymous>)
    at Conf.add (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/config/core.js:328:23)
    at ConfigChain.addString (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/node_modules/config-chain/index.js:244:8)
    at Conf.<anonymous> (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/config/core.js:316:10)
    at /usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16
/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/npm.js:61
      throw new Error('npm.load() required')
      ^

Error: npm.load() required
    at Object.get (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/npm.js:61:13)
    at process.errorHandler (/usr/local/Cellar/node@10/10.13.0/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
    at process.emit (events.js:182:13)
    at process._fatalException (internal/bootstrap/node.js:491:27)

Hopefully that's somewhat helpful

That's not really surprising based on the presence of the npmrc file for our CI publish process.
I actually meant rebuilding the package within the context of your project, are you using any other native modules successfully? I've been able to install without issue on several different machines and the module gets built as part of the install

Ok so here's the steps i'm taking, in a new empty directory:
$ git clone https://github.com/electron/electron-quick-start .
$ npm i
$ npm i electron-panel-window

Then I get this error:

So then i added nan using $ npm i nan -D
I then re ran $ npm i electron-panel-window which seems to do something positive:

Then tried npm start which gives this:
dyld: lazy symbol binding failed: Symbol not found: __ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9Signatu
reEEEiNS_19ConstructorBehaviorENS_14SideEffectTypeE
  Referenced from: /Developer/Verlay-e/node_modules/electron-panel-window/build/Release/NativeExtension.node
  Expected in: flat namespace

dyld: Symbol not found: __ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEiNS_19ConstructorBehavi
orENS_14SideEffectTypeE
  Referenced from: /Developer/Verlay-e/node_modules/electron-panel-window/build/Release/NativeExtension.node
  Expected in: flat namespace

Then I went to the /node_modules/electron-panel-window folder and ran npm run configure then npm run build back up to the project and i get the same "Symbol not found"
Am i missing something or perhaps theres some assumed knowledge?
Thanks for your help on this!

Thanks for the help debugging. I think the nan dependency is a legit issue, I based this repo off a boilerplate in the nan docs so I've asked the question in an issue.
I was able to reproduce that, however upon installing nan and rerunning npm i the module compiled successfully so now I'm thinking this could be an issue with the node version? Because of various electron bugs we're stuck on version 1.8 which means I'm running node 8 – I guess you're using something newer…

Or, the last issue might be related to your XCode install:
http://sd.jtimothyking.com/2018/07/26/stub-file-and-library-file-out-of-sync/

I haven't tried it, but you should be able to combine with this Electron API to achieve https://electronjs.org/docs/api/browser-window#winisvisibleonallworkspaces

I did try that but it only allows it to display over fullscreen apps rather than sticking it to the screen like picture-in-picture. I read up a bit awhile ago about how pip works and found it uses nspanel which is why i was super excited to try out your panel window package. I'm not sure what specifically needs to be set in nspanel to have the behaviour i'm looking for either

it only allows it to display over fullscreen apps

That shouldn't be the case with that particular method – does it change behavior between using BrowserWindow and this module?

Yes so it does do something when set on BrowserWindow, it does in-fact throw an error for PanelWindow:
2018-11-09 22:02:39.779 Electron[53099:3596396] *** Assertion failure in -[PROPanel _validateCollectionBehavior:], /BuildRo
ot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1671.10.106/AppKit.subproj/NSWindow.m:12591

The behaviour is quite close to pip, it seems to exist on every screen rather than be stuck. I think it's this i need (maybe) https://developer.apple.com/documentation/appkit/nspanel/1531901-isfloatingpanel

Just seen this actually in your code:
[mainContentView.window setFloatingPanel:YES];
So i guess it might work if that bug can be fixed

Is there not a way around that then? Or could it work as a setting perhaps?

I think setVisibleOnAllWorkspaces method on PanelWindow could be overridden without too much trouble, although this isn't an API I need and am currently swamped.
For a quick fix you could fork the repo and change out the string here: https://github.com/goabstract/electron-panel-window/blob/master/functions_mac.cc#L39

nan is now included in the dependencies. If you'd like to open an issue for the ontop on all workspaces behavior please go ahead

repo: goabstract/electron-panel-window


text:
Pointer corruption during decoding

While testing goccy/go-json (v0.4.8) as easyjson replacement with a larger project, tests in our test suite would fail unpredictably. Goccy/go-json was used only for unmarshaling. It looks like pointers get mixed up / corrupted sometimes, resulting in either invalid data, panics or errors when the GC detects pointers to released memory.
For one case I managed to write a test to reproduce the behaviour.
package main

import (
	"fmt"

	"github.com/goccy/go-json"
)

type B struct{ Int int32 }

type A struct{ B *B }

type X struct{ A []*A }

func main() {

	w1 := &X{}
	w2 := &X{}

	json.Unmarshal([]byte(`{"a": [ {"b":{"int": 42} } ] }`), w1)
	fmt.Printf("%p => %d\n", &w1.A[0].B.Int, w1.A[0].B.Int)

	json.Unmarshal([]byte(`{"a": [ {"b":{"int": 112} } ] }`), w2)
	fmt.Printf("%p => %d\n", &w1.A[0].B.Int, w1.A[0].B.Int)
	fmt.Printf("%p => %d\n", &w2.A[0].B.Int, w2.A[0].B.Int)

}

Output
x1 0xc0000ae084 => 42
x1 0xc0000ae084 => 112
x2 0xc0000ae084 => 112

All Bs seem to point to the same address but they should not. Unmarshalling the second JSON string into x2 overrides data in x1

Thank you for the great report !!! I fixed this issue with #167 .

authors: dynamix goccy

repo: goccy/go-json


text:
Adding custom camera feeds to CameraServer leads to crash

Tested versions
v4.4.dev.custom_build [4364ed6cc]
System information
Godot v4.4.dev (4364ed6cc) - Freedesktop SDK 24.08 (Flatpak runtime) on Wayland - Wayland display driver, Single-window, 1 monitor - Vulkan (Forward+) - dedicated AMD Radeon RX 6650 XT (RADV NAVI23) - 12th Gen Intel(R) Core(TM) i5-12500 (12 threads)
Issue description
When a custom CameraFeed is added to CameraServer through either GDScript or GDExtension, the scene will crash with error about caller thread, then crash with signal 11:
ERROR: Caller thread can't call this function in this node (/root). Use call_deferred() or call_thread_group() instead.
   at: propagate_notification (scene/main/node.cpp:2523)

Steps to reproduce
var feed := CameraFeed.new()

func _ready() -> void:
	CameraServer.add_feed(feed)

Minimal reproduction project (MRP)
None

No crash on windows 10, maybe OS related.
Godot v4.4.dev (2b7ea6223) - Windows 10 (build 19045) - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated AMD Radeon RX 580 2048SP (Advanced Micro Devices, Inc.; 31.0.21921.1000) - AMD Ryzen 5 3600 6-Core Processor (12 threads)

Confirming crash here using reproduction steps listed:
Godot v4.4.dev (6e2cf2aa7)
 - EndeavourOS #1 SMP PREEMPT_DYNAMIC Wed, 11 Dec 2024 15:35:54 +0000 on Wayland
 - X11 display driver, Multi-window, 1 monitor
 - Vulkan (Forward+)
 - dedicated NVIDIA GeForce RTX 3080 Ti (nvidia; 565.77)
 - 12th Gen Intel(R) Core(TM) i9-12900KF (24 threads)

ERROR: Caller thread can't call this function in this node (/root). Use call_deferred() or call_thread_group() instead.
   at: propagate_notification (scene/main/node.cpp:2523)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.4.dev.custom_build (6e2cf2aa7b78a25d1b054f2ec0f02cd658482f84)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/libc.so.6(+0x3d1d0) [0x704dc9e4c1d0] (??:0)
[2] CowData<char32_t>::_ref(CowData<char32_t> const&) (/home/alex/dev/godot/godot-engine/./core/templates/cowdata.h:474)
[3] String::String(String const&) (/home/alex/dev/godot/godot-engine/./core/string/ustring.h:604)
[4] CameraFeedLinux::get_device_name() const (/home/alex/dev/godot/godot-engine/modules/camera/camera_feed_linux.cpp:231)
[5] CameraLinux::_update_devices() (/home/alex/dev/godot/godot-engine/modules/camera/camera_linux.cpp:55)
[6] CameraLinux::camera_thread_func(void*) (/home/alex/dev/godot/godot-engine/modules/camera/camera_linux.cpp:46)
[7] Thread::callback(unsigned long, Thread::Settings const&, void (*)(void*), void*) (/home/alex/dev/godot/godot-engine/core/os/thread.cpp:66)
[8] void std::__invoke_impl<void, void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>(std::__invoke_other, void (*&&)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long&&, Thread::Settings&&, void (*&&)(void*), void*&&) (/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/invoke.h:61)
[9] std::__invoke_result<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>::type std::__invoke<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>(void (*&&)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long&&, Thread::Settings&&, void (*&&)(void*), void*&&) (/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/invoke.h:96)
[10] void std::thread::_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*> >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) (/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/std_thread.h:301)
[11] std::thread::_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*> >::operator()() (/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/std_thread.h:308)
[12] std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*> > >::_M_run() (/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/std_thread.h:253)
[13] /usr/lib/libstdc++.so.6(+0xe1c34) [0x704dca0e1c34] (??:0)
[14] /usr/lib/libc.so.6(+0x9439d) [0x704dc9ea339d] (??:0)
[15] /usr/lib/libc.so.6(+0x11949c) [0x704dc9f2849c] (??:0)
-- END OF BACKTRACE --
================================================================

repo: godotengine/godot


text:
Godot 3.0.3-rc1: a dll missing on windows 7

Godot version: Godot_v3.0.3-rc1_mono_win64 and Godot_v3.0.3-rc1-mono_win32
OS: Windows 7 ultimate service pack 1
Issue description:
i can not run the executables because a dll file is missing. when i searched the internet i found out that maybe this dll is not included in my windows, it seems to be a windows 10 thing.
https://stackoverflow.com/questions/37096393/api-ms-win-core-synch-l1-2-1-dll-is-missing-from-your-computer#37097066
https://msdn.microsoft.com/en-us/library/windows/desktop/mt657574(v=vs.85).aspx
Steps to reproduction: doubleclicking the exe-files (both do not work for me)

Do you get the same error with the classical (non-Mono) build? The missing dependency might be pull in for some of the bundled Mono DLLs.

On my windows 7 PC this error occurs only when launching Godot_v3.0.3-rc1_mono_win64.
It does not occur when launching Godot_v3.0.3-rc1_win64.

I just purchased a Windows 7 license. I should be able to fix this before rc2. I'll try to supply a test build asap.

@akien-mga the non-mono builds (win32 and win64) both do not show this message on my pc (win7).

I have reproduced the issue on my Windows 7 VM. I've rebuild Godot using Windows 7 and the resulting binary has the same problem. I'm investigating this further.

so, this took a little while to figure out. It turns out that the official mono distribution's static version of the runtime is linked against the windows 10 SDK. Specifically it uses GetFileVersionInfoSizeW() from Windows 10. This is also implemented in the DLL that is reported missing.
For 3.0.3 I'll build the Windows binaries against a shared version of mono (so we will ship the .dll). I'll try to have a build environment for Windows 7 that can build Mono itself so that for 3.0.4 we can build static Windows binaries that will work on all supported Windows versions.
Expect 3.0.3 rc2 to work for you.

I think this is fixed

authors: KellyThomas Tzoop akien-mga hpvb


text:
Feature Request: "close all scenes" and "close other scenes" options in editor

This is a feature request...
Can we have "close all scenes" and "close other scenes" options in the context menu of Godot Engine's scene editor?
It would make life easier when working with many scenes.
Currently, there is only an X (close) button and a "Close Tab" menu item in the context menu which closes only the scene that was clicked on.

This is already a thing in 3.2-dev version. You can get a nightly build to try it out.

authors: CngKO KoBeWi


text:
Viewport render to ViewportTexture after dynamic reparenting and moving nodes

Godot version:
3.2.1
OS/device including version:
Windows 10
Minimal reproduction project:
https://1drv.ms/u/s!Arug_xB8WkZQtFGub_ZqzqvTOSH1?e=3UxRJ6
Issue description:
I have scene MovingAndReparenting.tscn:
Spatial
-MeshInstance
-DirectionalLight
-Camera
-Spatial1
--Viewport
--MeshInstance
--Camera

I want to render Viewport content to ViewportTexture of first MeshInstace.
Unfortunately I have to move the node of Spatial1 to another place of the scene in space at the start function.
That's why the objects I render to Viewport are not its children at start. (Viewport is not a Spatial type, so they would not move to a new place in space).
After moving Spatial1 node to a new place and reparent child nodes to Viewport there is nothing projected from Viewport.
Script for that scene:
extends Spatial

onready var master_node = get_node("/root/Spatial/Spatial1")
onready var viewport_node = get_node("/root/Spatial/Spatial1/Viewport")
onready var mesh_node = get_node("/root/Spatial/MeshInstance")

func _ready():

	# translate Spatial1 to new location
	master_node.set_translation(Vector3(100,0,0))

	# parent all nodes to Viewport node
	for N in master_node.get_children():
		# leave first node because it is a Viewport
			if N != master_node.get_child(0):
				var node = N
				master_node.remove_child(node)
				# translate also child nodes
				node.set_translation(master_node.get_translation())
				viewport_node.add_child(node)
				node.set_owner(viewport_node)

	# set viewport texturte to mesh node albedo
	mesh_node.get_surface_material(0).albedo_texture = viewport_node.get_texture()

But scene tree is correct i think:
Spatial
-MeshInstance
-DirectionalLight
-Camera
-Spatial1
--Viewport
---MeshInstance
---Camera

In that project i made also scene WithoutMovingAndReparenting.tscn where:

I place Spatial1 node and his child nodes to another place in scene in editor without any reparenting script operations.

Script for that scene:
extends Spatial

onready var viewport_node = get_node("/root/Spatial/Spatial1/Viewport")
onready var mesh_node = get_node("/root/Spatial/MeshInstance")

func _ready():
	# set viewport texturte to mesh node albedo
	mesh_node.get_surface_material(0).albedo_texture = viewport_node.get_texture()

And it that case Viewport works good.
Does anyone have any idea why this is happening?
How to deal with such a problem? Doesn't Viewport update the data correctly?

The ViewportTexture takes a path to the Viewport. When you move the Viewport then the path no longer points to the correct place, you need to update the nodepath in the ViewportTexture
Just take a look at the docs for ViewportTexture https://docs.godotengine.org/en/latest/classes/class_viewporttexture.html#class-viewporttexture-property-viewport-path

@clayjohn Hello, so i do this:
mesh_node.get_surface_material(0).albedo_texture.set_viewport_path_in_scene("/root/Spatial/Spatial1/Viewport")
my new _ready() function:
func _ready():

	# translate Spatial1 to new location
	master_node.set_translation(Vector3(100,0,0))

	# parent all nodes to Viewport node
	for N in master_node.get_children():
		# leave first node because it is a Viewport
			if N != master_node.get_child(0):
				var node = N
				master_node.remove_child(node)
				# translate also child nodes
				node.set_translation(master_node.get_translation())
				viewport_node.add_child(node)
				node.set_owner(viewport_node)

	# set viewport texturte to mesh node albedo
	mesh_node.get_surface_material(0).albedo_texture = viewport_node.get_texture()
	# update viewport path
	mesh_node.get_surface_material(0).albedo_texture.set_viewport_path_in_scene("/root/Spatial/Spatial1/Viewport")

And nothing happens :/

Ok, i have a wrong Camera position to see Viewport contents :)
But could someone explain why when you save a scene to the tscn file you can't see the children of Vieweport Node?

authors: beetbeet clayjohn


text:
Pressing Enter in Project Manager does not edit the project in 3.2.2beta2 (worked in 3.2.1)

Godot version:
Godot_v3.2.2-beta2_win64
OS/device including version:
Windows 7 Pro PS1 x64
Issue description:
Can't edit the project by selecting it and pressing Enter. It works in Godot_v3.2.1-stable_win64.
Steps to reproduce:
Select a project in Project Manager and press Enter
Minimal reproduction project:

Likely a regression from #37281 (CC @ThakeeNathees).
It could be that the commit should not have been cherry-picked for the 3.2 branch and only made sense for master.

authors: akien-mga hilfazer


text:
Godot compiled by scons not working

Godot version:

Branch Main
OS/device including version:

Windows 10
Issue description:

Compiling issues
Steps to reproduce:
install Godot using git clone https://github.com/godotengine/godot.git and used scons compiled EXE no responding.
Minimal reproduction project:

Please provide more information. What command did you use to build Godot? What gets printed out when you run the engine?
Right now you haven't given anyone enough information to help you.

This was the exit code progress_finish(["progress_finish"], [])

Those just mean that the code finished compiling. Is anything printed when you run the engine?
If not try compiling with the following command:
scons p=windows windows_subsystem=console

Here is a TXT of the error.txt.

Do you have the Vulkan SDK installed? If so, are you able to run the vkcube example?

Didn't need to before, but I will go try.

I have downloaded the SDK now, but cube will not run

@Rdna123 Which i7 model is it? 4th-gen (Haswell) IGPs and older aren't supported, since they don't have a complete Vulkan implementation. If you're using integrated graphics, you need to have a 5th-gen (Broadwell) CPU or newer.

core i7 8th intel

Have you updated your graphics drivers recently? If the vkcube doesn't run, it means your current hardware setup doesn't support Vulkan.

Graphic drives are update to most recent.

authors: Calinou Rdna123 clayjohn


text:
OS.execute Unable To Get Path Contain Space Inside Quotation Mark For Arguments

Godot version:
3.2.3.stable
OS/device including version:
GNU/Linux Debian 10
Issue description:
in linux terminal , running mv "$HOME/file" "$HOME/file with space" rename (or move and rename) the file "file" inside the home directory to "file with space" , using quotation mark for file path
but in godot running print(OS.execute("mv" , ['\"$HOME/file\"' , '\"$HOME/file with space\"'] , true , output , true)) returns an exit code 1 and output

mv: target 'space' is not a directory

seems like it ignores my quotation mark , just like when i wrote mv $HOME/file $HOME/file with space in linux terminal

the only thing that didn't work in the above image is the KEY_2 one , the other returns an exit code 0

Probably related to #37291 and internal command quoting.

update
eventhough its unclear wether its because i updated to 3.3 or its never been a bug before , but it seems like when i use single quotation mark , '/path with space/as an/argument' would excecute correctly .
here is the worked code , just let you know that i have tried with ' " quote/inside/a quote " ' and ' \" quote/with/escape sequence \" ' and none of it works .

not a big deal , but personally im more of a double quotation mark fan .
its just that this function behaves differently than my expectation .
i dont know its called solved or just a workaround . so its up to you developers to leave it , fix it , or mark it as solved .

Duplicate of #37291 (same cause).

authors: CatFlickerRis Faless akien-mga


text:
I can get instance_id of Object in GDNative but can't get Object by instance_id

Godot version
3.3.stable
System information
Windows 10, Windows 11
Issue description
I can get instance_id of any Object using method:
int64_t instance_id = obj->get_instance_id();
or by result of code:
		Physics2DDirectSpaceState* space_state = get_world_2d()->get_direct_space_state(); 		const Array res = space_state->intersect_point(mouseGlobalPos, 1, godot::Array(), CursorCollisionLayer); 		if (!res.empty()) 		{ 			const Dictionary result = (Dictionary)res[0]; 			mousePointsToObject = result[Variant("collider_id")]; 		}
But I can't use this id to get the Object back.
I tried:
godot_object* instanceInt = godot_instance_from_id(mousePointsToObject); Object* instance = (instanceInt) ? (Object*)godot::nativescript_1_1_api->godot_nativescript_get_instance_binding_data(godot::_RegisterState::language_index, instanceInt) : nullptr;
But got an error:
Error	LNK2019	unresolved external symbol godot_instance_from_id referenced in function "public: void __cdecl godot::PlayerController::_process(float)"
Is it possible? I see that issues https://github.com/godotengine/godot/issues/28478 and https://github.com/godotengine/godot/pull/34986 are closed but can't find how to use it.
Steps to reproduce

Get the id of object:
int64_t instance_id = obj->get_instance_id();
There is no way to get appropriate object from given id

Minimal reproduction project
No response

I temporary solved it by wrapper class:
`
#pragma once
#include "Core/Types.h"
#include "GameAgent.h"
#include <Dictionary.hpp>
#include <Node.hpp>
class SceneObjectsManager
{
public:
SceneObjectsManager()
{
sceneObjects.clear();
}
template <class T>
void registerObject(T* gameAgent);

void destroyObject(int instance_id)
{
	if (sceneObjects.has(instance_id)) {
		sceneObjects[instance_id].call("queue_free", nullptr, 0);
		sceneObjects.erase(instance_id);
	}
}

bool isInstanceExists(int instance_id)
{
	return sceneObjects.has(instance_id);
}

void registerAgent(godot::GameAgent* gameAgent)
{
	registerObject<godot::GameAgent>(gameAgent);
}
void registerNode(godot::Node* node)
{
	registerObject<godot::Node>(node);
}

godot::GameAgent* getAgentByInstanceId(int instance_id)
{
	if (!sceneObjects.has(instance_id)) {
		return nullptr;
	} else {
		return sceneObjects[instance_id];
	}
}

godot::Node* getNodeByInstanceId(int instance_id)
{
	if (!sceneObjects.has(instance_id)) {
		return nullptr;
	}
	else {
		return sceneObjects[instance_id];
	}
}

public:
static constexpr s64 NULL_REFERENCE = -1;
protected:
godot::Dictionary sceneObjects;
};
template
inline void SceneObjectsManager::registerObject(T* object)
{
if (object) {
sceneObjects[object->get_instance_id()] = object;
}
}
`
But I'm waiting for function instance_from_id

This is possible in godot 4 (gdextension) via:
ObjectDB::get_instance(p_id);

in https://github.com/godotengine/godot-cpp/blob/master/include/godot_cpp/core/object.hpp#L161
In GDNative, there seem to be a godot_instance_from_id ( https://github.com/godotengine/godot-headers/blob/219afc98f7e80664584f3988d7861aeaa31bbd8d/gdnative/gdnative.h#L298 ), which you should be able to use via:
godot::Object *obj = godot::detail::get_wrapper<Object>(godot::core_1_2_api->godot_instance_from_id(id));

@NicholasShatokhin
This code seems to be working for me in 3.x now
godot_object* instanceInt = godot_instance_from_id(mousePointsToObject); Object* instance = (instanceInt) ? (Object*)godot::nativescript_1_1_api->godot_nativescript_get_instance_binding_data(godot::_RegisterState::language_index, instanceInt) : nullptr;

Closing as fixed, feel free to comment if this is still an issue.

authors: Faless NicholasShatokhin m4nu3lf


text:
GDExtension: Some EditorNode3DGizmoPlugin virtual functions are not being called

Godot version
v4.0.beta.custom_build.fc926eda1
System information
macOS 12.3
Issue description
Porting an EditorNode3DGizmoPlugin to GDExtension (godot-cpp), I noticed when overriding EditorNode3DGizmoPlugin::_get_gizmo_name that Godot still prints:
WARNING: A 3D editor gizmo has no name defined (it will appear as "Unnamed Gizmo" in the "View > Gizmos" menu). To resolve this, override the `_get_gizmo_name` function to return a String in the script that extends EditorNode3DGizmoPlugin.

This should happen here.  Haven't check in the debugger yet, and I will update the issue when I do, but I guess/intuition says the if (get_script_instance() && get_script_instance()->has_method("_get_gizmo_name")) check returns false.
If this is correct this also applies to EditorNode3DGizmoPlugin::_get_priority. The gizmo still works fine and the other functions all seem to call GDVIRTUAL_CALL instead of calling the method in the script instance.
Steps to reproduce
Create a simple EditorNode3DGizmoPlugin with godot-cpp:
class TestGizmo : public EditorNode3DGizmoPlugin
{
    GDCLASS(TestGizmo, EditorNode3DGizmoPlugin);

  protected:
    static void _bind_methods() {}

  public:
    virtual String _get_gizmo_name() const override
    {
        return "TestGizmo";
    }
};

Add it to project with add_node_3d_gizmo_plugin in an EditorPlugin (GDScript). Restart the editor and notice the warning produced by Godot. The gizmo will be unnamed.
Minimal reproduction project
No response

Can you check if ClassDB::get_virtual_func is called with your function name? In godot_cpp/src/core/class_db.cpp

Ah, so that function basically needs to change to
String EditorNode3DGizmoPlugin::get_gizmo_name() const {
    String ret;
    if (GDVIRTUAL_CALL(_get_gizmo_name, ret)) {
        return ret;
    }

[...]

? I will try this out and see if it works. Don't know how GDVIRTUAL works, but was wondering why all other functions but get_gizmo_name and get_priority were calling it. Good time to learn something new about the engine :-)

authors: Zylann alessandrofama


text:
Custom Resources don't have Icons in FileSystem dock

Godot version
3.x (Probably 4 too, haven't checked yet)
System information
Windows
Issue description
When creating a Custom Resource (which we will call from now on CR for short) and giving it an Icon, everything works fine.

You can see the Icon normally when creating the CR in the Resource List.

But somehow, when in the FileSystem dock, the Icon is replaced by a default file Icon.

I've checked, and seems like this problem has been here for a long time. Does anyone know how to fix it? I hope if someone knows how, they'll do it for Godot 3 too. Also, I DO have checked for older versions of Godot, and it also didn't work. I still haven't checked Godot 4 because my graphic card is too old to support GLES3, so go see if it works there.
Steps to reproduce
Just create a CR, give it a Class Name and Icon, create a new instance of this CR and save it to the Project folder, then the Icon doesn't appear in the FileSystem dock.
Minimal reproduction project
project.zip

Can confirm for v4.0.beta10.mono.official [d0398f62f]

Duplicate of #32706

authors: Fabien2S KoBeWi Modleyyy


text:
Some bottom editor don't hide properly

Godot version
4.2 ff5c884
System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)
Issue description
When you select AnimatedSprite2D with SpriteFrames and then deselect it, the SpriteFrames editor doesn't close properly:
https://github.com/godotengine/godot/assets/2223172/54be951f-932d-44f6-9b92-58249d87866b
The button disappears, but the panel stays expanded. Doesn't seem to happen with every editor (e.g. Theme).
Steps to reproduce

Add AnimatedSprite2D
Add SpriteFrames
Click empty space in scene tree

Minimal reproduction project
N/A

ubuntu, godot 4.1,
this used to happen sometimes to me too on a project I haven't worked on in a few days/weeks, in which I don't use AnimatedSprite2Ds so it must happen with another editor under some circumstances (shader editor?),
I had the godot editor boot with the "big" panel a few times too,
I couldn't reproduce it when I had this problem,
I can confirm this happens for the SpriteFrames editor

Update: the new bottom toggle shortcut makes the AnimatedSprite editor appear even when the button is invisible:
https://github.com/godotengine/godot/assets/2223172/5b2f60eb-ba70-482d-b783-8a20b1fde8a2
Looks like the AnimatedSprite editor does not unedit the object properly or something.

authors: KoBeWi mieldepoche


text:
C# script changes reverted without warning (upon first time saving/running scene after opening project)

Godot version
v4.1.1.stable.mono.official [bd6af8e0e]
System information
Godot v4.1.1.stable.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4080 (NVIDIA; 31.0.15.3734) - 13th Gen Intel(R) Core(TM) i7-13700K (24 Threads)
Issue description
Any C# script changes made after opening a project are reverted without warning when the scene is saved or run for the first time, at least for me in the specific circumstances of the included project. [EDIT: Put another way, the script file is apparently overwritten with the previous version of itself.]
I could not find a way to intentionally reproduce the problem from scratch in a new project, so I am providing the specific project it happened in, which is an in-progress "Your first 2D game" tutorial (Dodge the Creeps) using C#. I first ran into the issue simply following the tutorial from the beginning, tabbing over to VS Code and noticing that the (already edited and once-built!) script file had somehow reverted to the default C# template it started from.
In my testing the choice of (external) script editor did not affect the issue as such, but I am using VS Code, and with the script file open in it the issue can handily be seen to happen in real time as the file's contents update. The script file has not been opened inside Godot's own script editor.
It does not seem to matter if a manual build of the C# solution is done before step 5 (below). However, saving or running the scene before making the changes to the script seems to prevent the issue from occurring. Additionally, it seems that removing the .godot folder (as instructed for submission) also stopped the issue in the resulting stripped project, so I am including the folder as well (having removed the imported+mono+shader_cache subfolders which had no bearing on the issue).
Steps to reproduce

Open Godot
Open DodgeTheCreepsRepro project (should open directly into the scene player.tscn)
Open the script file Player.cs in an external editor
Make any changes to the script (e.g. just delete all the contents) and save it
Save or run the current scene in Godot

Minimal reproduction project
DodgeTheCreepsRepro.zip
(.godot folder partly included, per issue description)

Thanks for the report! Consolidating in https://github.com/godotengine/godot/issues/50163.

authors: Calinou entelec


text:
Child animatableBody2D offset from animated parent

Godot version
4.1.1
System information
Win11
Issue description
When animating the transform of an animatableBody2D's parent node using an animationPlayer, the body will have an incorrect transform if it is using sync to physics and the animationPlayer is using autoplay on load. the processmode of the animationPlayer doesn't seem to have an effect.
I have sometimes been able to correct the issue by calling advance(-dt) exactly once in the animationPlayer's _physics_process, but this doesn't always work, and i can't diagnose what the difference is.
Steps to reproduce
open the repro project, enable visible collision shapes, and run.
you can also open the scripts attached to the animation players and try uncommenting the commented line to see how it fixes the issue in one case but not the other.
Minimal reproduction project
animatableBodyBug.zip

ah, there are actually bigger issues here, i.e #58269 again. only the debug display moves at all, not the body.


text:
Import of gltf with blendshapes without tangents fails

Tested versions

Not reproducible in 4.2beta5
Reproducible in 4.2beta6 through 4.2.1

System information
Godot v4.2.beta6 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; 31.0.15.3713) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 Threads)
Issue description
Importing a gltf file without tangents in the editor with Ensure Tangents unchecked will fail for all meshes containing blend shapes with the following error log:
  Blend shape format must match the main array format for Vertex, Normal and Tangent arrays.
  scene/resources/mesh.cpp:1802 - Condition "err != OK" is true.
  scene/resources/mesh.cpp:1923 - Index p_idx = -1 is out of bounds (surfaces.size() = 0).
  scene/resources/mesh.cpp:1943 - Index p_idx = -1 is out of bounds (surfaces.size() = 0).
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:891 - Index p_shape = 0 is out of bounds ((int)mi->blend_weights.size() = 0).

The same thing happens at runtime. Since there is no option to enable Ensure Tangents for runtime that I can find, this is not possible to workaround for runtime import.
The issue affects the https://github.com/V-Sekai/godot-vrm/ project, however it happens with these models in the builtin gltf importer.
issues may be related:

#84875
#85406
I filed this issue since it is easy to reproduce and leads to a missing mesh during import, but maybe solving those issues will also address this one.

Steps to reproduce

Open the attached project.
Clear the console and reimport Godette_vrm_v4.glb - this will produce errors.
Open sample_scene.tscn and notice the models are all missing faces.
Click play to run the project. This will run load_at_runtime_scene.tscn which loads a gltf at runtime. this is also missing the face and produces errors in the Debugger -> Errors tab.
Optional: enable "Ensure Tangents" in the import dock and notice that the glb files now contain a face in the editor. This does not solve the runtime case.

Minimal reproduction project (MRP)
MeshTangents.zip

for runtime import, we found that using gltf_document.append_from_file(path, gltf_state, 8) works around the issue:
8 is the constant for EditorSceneFormatImporter.IMPORT_GENERATE_TANGENT_ARRAYS
Even though there is a workaround, I still think this is a bug: it only affects models with blend shapes.

I think this is related to another issue I raised in #86698

I think this is related to another issue I raised in #86698 Perhaps we could close the one I opened and add the MRP from it to this issue?

https://github.com/godotengine/godot/issues/86698 is a different issue unfortunately, so we should leave it open

authors: Calandiel clayjohn lyuma


text:
Test files polluting AppData/Local directory

Tested versions
4.3 dev f58a96cfa20530268a9b35efc8cd7ddad1900a8b
System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 31.0.15.4633) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)
Issue description
Some tests use ResourceSaver (and probably FileAccess) to write some test files. Example:
https://github.com/godotengine/godot/blob/f58a96cfa20530268a9b35efc8cd7ddad1900a8b/tests/core/io/test_resource.h#L79-L82
The problem is that they save it without any subfolder, creating a mess in that directory. On Windows it's AppData/Local, which I doubt it's intended for such things.
There could be a helper method that returns a safe cache directory, which could be a sub-directory of the above folder (with ensured existence).
Steps to reproduce

Run tests (godot.exe --test)

Minimal reproduction project (MRP)
N/A

Windows has a temporary files folder for this purpose and an alias to access it:
%Temp%\file.txt expands to C:\Users\user\AppData\Local\Temp\file.txt
More to the point, the tests should clean up after themselves!

authors: KoBeWi huwpascoe


text:
Fix msbuild with a msvc 'tools only' install

Taken from https://github.com/Microsoft/vswhere/wiki/Find-MSBuild
without '-products *' vswhere does not locate msbuild when installing a
tools-only (no IDE) version of the microsoft compilers.

(already in 3.0)

This will have to be changed in the engine as well: https://github.com/godotengine/godot/blob/813acef973a710c55bc157b7b37039de6e95dff2/modules/mono/utils/mono_reg_utils.cpp#L175-L178

authors: hpvb neikeq


text:
fix clipping with v_flip fixes: #18600

The problem was that v_flip (which is typically used by viewports for viewport textures) needs a different treatment for 'gl_scissors'. usually the scissors (clipping) y axis gets inverted.
When the vp is inverted, that this is not necessary (it actually should not get inverted!)
This fixes #18600 in which issues with labels with autowarp in vp's are reported (autowarp activates clipping, vp's use v_flip. This is why it happened in the reported case)

If this supersedes #18114, does it also fix #17635?

Yea It does. Didn't test but since 3d does first render a viewport texture and than assigns it. I'm really certain it will.
(I only tested on vp textures in a 2d scene which also had this issue)

@karroffel It would be really nice to get a review.  Or is there anything else that is holding this pr back?


text:
Fix unwanted restarting

Fix #20294

@akien-mga @mhilbrunner it's pretty annoying and I think this PR doesn't break anything, so I'll merge it.

I think this is probably a good change but in the future I'd recommend leaving the PR up for comments for awhile before merging it. Perhaps a day.

yeah. 99% of my PR was left to be merged by @akien-mga or @mhilbrunner or others.

I think such decisions are always all nuance and there isn't an objective right way.
Generally, waiting for a day or such is of course better, you're right; but its a tradeoff; the simpler the change and the more annoying the quirk it fixes, the more reasonable it is to merge and ask for forgiveness. ;)
In this case it was fine, I think.

This was fine merging right away, the fix is obviously correct.

authors: aaronfranke akien-mga mhilbrunner volzhs


text:
[WIP] Fix oversized folding icon in CodeEdit's

I think these sub-buttons are currently looking oversized and ugly (and inconsistent with the tabulation icon rendering):

So I changed their drawing method so the result is to be like:

Its size was correct, you seem to use HiDPI and the problems are:

the icon is upscaled with filtering and blurry, instead of rendered at double resolution from SVG
the tabulation icon should also be rendered at double resolution

Okay, sometimes I wrong understand that stuff..

authors: Chaosus akien-mga


text:
Fix name used instead of doc for GDScript signals

Fixes #53891

Thanks!

authors: akien-mga opl-


text:
Fix button multiline text alignment.

Fixes #56653

Looks good. If we do rename left/right to begin/end, I would expect the alignment to be handled line-by-line so that RTL text does align to the right when alignment is set to begin (even in a multi-direction multi-line text).

If we do rename left/right to begin/end, I would expect the alignment to be handled line-by-line so that RTL text does align to the right when alignment is set to begin (even in a multi-direction multi-line text).

This makes sense. Probably should be done only for \n breaks, not for auto breaks, or mixed language text might jump around on resize.

Thanks!

authors: akien-mga bruvzg


text:
[3.5] Update NavigationPolygonInstance when polygons of NavigationPolygon change

This is 3.5 version of #61149
Updates NavigationPolygonInstance polygons on the NavigationServer2D when the NavigationPolygon Resource emits its changed signal due to e.g. polygons altered by script.

Thanks!


text:
Add 16-bits TGA support

This adds support for TGA files with 16 bits per pixel (basically, RGBA5551, where the alpha bit is optional).
It should be possible to cherry-pick this into 3.x branch with no conflicts too.
Closes #65715

We made a decision not to support dithered artwork, but not sure the current state of this decision.

We made a decision not to support dithered artwork, but not sure the current state of this decision.

Does that also mean that the RGB565 / RGB5551 Image formats would be dropped in 4.x?

We made a decision not to support dithered artwork, but not sure the current state of this decision.

This is only for import – the resulting image format remains whatever Godot supports.

Does that also mean that the RGB565 / RGB5551 Image formats would be dropped in 4.x?

No, they won't be dropped. I think @fire is referring to paletted textures, which Godot can import (e.g. from PNGs) but GPUs don't actually support. These are converted to RGB8 or RGBA8 on import depending on whether the PNG contains an alpha channel.

I see that the RGBA5551 TGA is still being saved as an Image::FORMAT_RGBA8 (32-bit).
Would it be possible to save it as a proper Image::FORMAT_RGBA5551 (16-bit) so that it would take two times less VRAM while loaded in the GPU?

I see that the RGBA5551 TGA is still being saved as an Image::FORMAT_RGBA8 (32-bit). Would it be possible to save it as a proper Image::FORMAT_RGBA5551 (16-bit) so that it would take two times less VRAM while loaded in the GPU?

It seems the TGA loader simply converts anything it reads to FORMAT_RGBA8, including monochrome images. This could indeed be improved, but I think it is something for another PR (I would be happy to look into that, but I prefer this PR getting resolved first).

On another note, while I recently used Image::load_bmp_from_buffer, I notice the docs actually state that is does not support 16-bit, though it does not give a reason. @Calinou are you aware of why that is?

On another note, while I recently used Image::load_bmp_from_buffer, I notice the docs actually state that is does not support 16-bit, though it does not give a reason. @Calinou are you aware of why that is?

The only mention of 16-bit BMP I can see is in https://github.com/godotengine/godot/pull/30634. I don't think there's a specific reason for 16-bit BMP not being supported, so feel free to add support for it as well :slightly_smiling_face:
Please do so in a separate pull request, so they can be reviewed and merged independently.

Thanks! And congrats for your first merged Godot contribution :tada:

Cherry-picked for 3.6

authors: Calinou Ithamar LauPhi akien-mga fire timothyqiu


text:
Improve folders folding in filesystem dock

Intellij IDEA like folding of folders in filesystem dock (#796).

Note that you can reference GitHub issues with just #796, no need to paste the full URL. Also your first commit references the first issue of this repo due to that facility ;)

Would someone be interested in rebasing this PR on the master branch, and see what parts are still relevant and would be worth merging? Part of the things implemented here are already done in the master branch, but others are still missing.

Closing for now to reduce the PR backlog, as it can't be merged as is and I believe a big part of those changes was superseded by later commits. I think there are still interesting ideas here though which might be worth reimplementing on the current master branch, it would just need a motivated contributor to have a closer look.

authors: akien-mga mateka


text:
Add "dedicated server" export mode which can strip unneeded visual resources

This PR implements https://github.com/godotengine/godot-proposals/issues/5970 and supersedes #69546
Based on feedback from @Faless on the old PR, this PR is mostly contained within the export system.
It also includes two suggestions that @jordo gave on the old PR:

The name of the headless video driver and dummy audio driver were moved into constants in main.cpp
A virtual method create_placeholder() was added to Resource so that it's up to each resource to convert itself into a placeholder if it can. This will make it a little easier to add more placeholder classes going forward.

Otherwise, see the proposal for information about how this feature is meant to work!
Bugsquad edit: This closes https://github.com/godotengine/godot-proposals/issues/5970.

@Faless The changes I just pushed fix the issue you found with "Editable Children"! If you re-test with the same project, you'll probably need to delete .godot/exported for the changes to take effect (otherwise it'll re-use the cached exported resources from the last time).
Another note: the surface_material_override/0 property that you're overriding in your test project will actually become null rather than PlaceholderMaterial. I originally thought this meant it wasn't working, but after spending too much time trying to figure out why, I realized that this is expected! It's also replacing the mesh with PlaceholderMesh, which is reporting a surface count of 0, emptying out all the surface material overrides. :-)
I did a more targeted test as well, overriding mesh on the child of the instanced scene instead, and it correctly gets replaced with PlaceholderMesh too.
Unrelated to the "Editable Children" bug, I also added a UI change, where it'll set "res://" as Strip by default when you first switch to doing a dedicated server export (but it won't mess with existing customizations, if there are any). This fits in with the original proposal that wanted to make Strip be the default. And it will prevent users from wondering why their export is still so big after just selecting the mode, but failing to mark any paths as Strip.

One more thing: I hadn't realized that @reduz added the export plugin system (in [#65135]) specifically thinking about the dedicated server export!
When I first started working on this PR, I couldn't figure out how to make the cascading path-based configuration work as an export plugin. However, I think I'm going to re-explore how this could be done as an export plugin, even if it means making changes to how export plugins work to accommodate it.
If this looks better as an export plugin, I'll either push those changes here or make a new PR. In any case, I'll share what comes up in that exploration!

Alright! I just pushed a version that converts as much as I could into an export plugin. I still have a backup of the non-plugin version, in case folks end up wanting to go that way. But the code changes are much smaller in the plugin version (which is always good :-)) so just went ahead and pushed it here right away, rather than making a new PR.
There's still things that aren't in the plugin, for example:

The changes to EditorExportPreset to store the additional configuration data
The UI changes in ProjectExportDialog
Putting together the list of files to include or omit in EditorExportPlatform

... but, overall, with the plugin, the changes to EditorExportPlatform are much more minor.
I also had to make some improvements to EditorExportPlugin to allow implementing this plugin from C++ (it was very geared to GDExtension) and allow plugins to add custom feature tags.
Please let me know what you think!

Okay, it took me a while because I couldn't get the error reliably (until I realized that you need to change the scene when re-trying to avoid cache to kick in).
So, the error is now spammed for scenes without editable children (though the export works correctly). See the attached project. proj_srv_export_2.zip

@Faless Aha, thanks so much for working that out! I've added your suggested change to the PR :-)

👍

Had a call with @reduz and he requested the following changes:

Rather than using a virtual method on Resource, register the create_placeholder() method on each of the resource that supports becoming a placeholder
Show a message about which resources support being stripped in the UI (by looking up which have a create_placeholder() method in the ClassDB)

My latest push implements both things!
Here's a screenshot of the UI (the new message appears below the tree of files):

@reduz Does this match what you were thinking?

On RocketChat, @reduz requested that the "Strip" text in the dropdown be changed to "Strip visuals". My latest push makes this change! I've updated the screenshot in the PR description to reflect the new text.

@Calinou Thanks for all the review and suggestions! I think I've got them all merged into my latest push

Thanks!

authors: Faless akien-mga dsnopek jordo


text:
Remove legacy navigation debug materials

Removes legacy navigation debug materials.
Those are unused by now as navigation debug, including materials, has been moved to the NavigationServer.

Remove also the old debug navigation colors.

Thanks!


text:
Physics Interpolation - Fix interpolated_transform_2d

Uses the skew correct Transform2D::interpolate_with() function rather than the bugged 3.x version.
Fixes #93586
Port of #93851
Notes

May want to bump this to 4.3 milestone as it is fairly simple and good to fix.

Thanks!

authors: akien-mga lawnjelly


text:
Cannot create invoices when using BAPI transactions

I am trying to create an invoice in SAP using the BAPI_ACC_DOCUMENT_POST function. The call goes through correctly and I get a valid document id from the response but the invoice never appears in SAP. This is expected since we use BAPI transaction. This mean that I need to call BAPI_TRANSACTION_COMMIT once I am done creating my document. The final code looks something like this:
var result = _connection.ExecuteFunction(new CreateInvoiceFunction(invoiceDto));
_connection.ExecuteFunction("BAPI_TRANSACTION_COMMIT");

return result;

Even then, the invoice does not appear in SAP. We looked at the SAP traces and we see both functions called correctly. This works when using the SAPNCo library directly. I also tried to wrap both calls in a BeginContext and EndContext using the RfcSessionManager class but it also didn't changed anything.
Any idea of what might be causing this?

Hi @kawazoe. Could you share how did you try to use RfcSessionManager with SharpSapRfc?
I usually don't need it because I wrap both functions into a single Z function, but RfcSessionManager should work as well.

Sure! Basically, I am using a PlainSapRfcConnection behind the scenes so using RfcSessionManager with the previous code sample will look like this:
RfcSessionManager.BeginContext(_connection.Destination);

var result = _connection.ExecuteFunction(new CreateInvoiceFunction(invoiceDto));
_connection.ExecuteFunction("BAPI_TRANSACTION_COMMIT");

RfcSessionManager.EndContext(_connection.Destination);
return result;

Since the same destination should be used for both function calls, this should work flawlessly. Also, obviously, this will only work with plain connections, not soap ones.
I have to say, I haven't tried to use it without the manual call to BAPI_TRANSACTION_COMMIT and I am not sure if I should keep it there.

Try comparing both traces (SAPNCo and SAPNCo + SharpSapRfc) on SAP side, there should be a difference. I don't have a SAP instance here, but try to check if both functions are running under the same user session.
This is a good ref for SAP NCo
http://logosworld.com/docs/SAP/Connector/SAP Connector for Microsoft .NET  NCo_30_Overview.pdf
Just saw that there is a ISessionProvider, but never tried.

authors: goenning kawazoe

repo: goenning/SharpSapRfc


text:
希望新增excel的支持模块

excel的导入导出模块封装

@tianxia0079 使用第三方的吧，其实gf框架里面只有核心的基础包，保证轻量级，这种应用包不会集成进来的。

repo: gogf/gf


text:
perf(net/ghttp): Using assembly instead of reflection to call routing on the AMD64 platform

在amd64平台用汇编代替反射调用路由

@wln32 这块代码有点hack了，能描述一下这里使用unsafe包以及汇编的必要性吗？值得一提的是，unsafe包我之前在框架中有使用过，主要是string到[]byte的转换，在某些场景下会引起一些意想不到的错误，直接进程崩溃，后面全部删除了unsafe的使用。

@wln32 这块代码有点hack了，能描述一下这里使用unsafe包以及汇编的必要性吗？值得一提的是，unsafe包我之前在框架中有使用过，主要是string到[]byte的转换，在某些场景下会引起一些意想不到的错误，直接进程崩溃，后面全部删除了unsafe的使用。

@gqcn 其实string到[]byte的转换在其他库里面也很常见，你说的意想不到的错误，可能是修改了原字符串导致的，go的string是只读的，使用unsafe转换为[]byte后，不能修改其中的内容，否则会panic。
关于这里使用unsafe以及汇编，算是我的一个验证吧，刚开始的时候我就一直在想能不能直接使用如下的方法签名来统一调用，以此消除反射的开销。
函数签名:func(ctx context.Context, req unsafe.Pointer)(res unsafe.Pointer,err error)
我尝试了一下直接使用反射来获取每个方法的空接口，然后断言，发现不行，直到前段时间，我看了下汇编，觉得汇编应该可以实现我之前的想法，试了下 发现可以，原理其实差不多算是方法转发吧，转发参数以及接受返回值，目前来看，这个汇编写的应该没毛病，可以不用合并这个

@wln32 这块代码有点hack了，能描述一下这里使用unsafe包以及汇编的必要性吗？值得一提的是，unsafe包我之前在框架中有使用过，主要是string到[]byte的转换，在某些场景下会引起一些意想不到的错误，直接进程崩溃，后面全部删除了unsafe的使用。

@gqcn 其实string到[]byte的转换在其他库里面也很常见，你说的意想不到的错误，可能是修改了原字符串导致的，go的string是只读的，使用unsafe转换为[]byte后，不能修改其中的内容，否则会panic。
关于这里使用unsafe以及汇编，算是我的一个验证吧，刚开始的时候我就一直在想能不能直接使用如下的方法签名来统一调用，以此消除反射的开销。 函数签名:func(ctx context.Context, req unsafe.Pointer)(res unsafe.Pointer,err error) 我尝试了一下直接使用反射来获取每个方法的空接口，然后断言，发现不行，直到前段时间，我看了下汇编，觉得汇编应该可以实现我之前的想法，试了下 发现可以，原理其实差不多算是方法转发吧，转发参数以及接受返回值，目前来看，这个汇编写的应该没毛病，性能跟调用普通方法差了只有四五倍，可以不用合并这个pr


text:
Fix command used by FreeBSD init script

I recently installed Gogs on a FreeBSD system and found that the provided init script refers to start.sh which does not exist any more (since 6c84223). This change gets it working again.
Thanks.

Thanks!

authors: Unknwon wfriesen

repo: gogits/gogs


text:
Docs/fix warnings

Fixing minor sphinx error and warnings.s

LGTM

authors: ndcampbell sijis

repo: gogoair/foremast