Running gopls with verbose and logging:
      \ 'cmd': 'gopls -v -logfile gopls.log'

Just writes an empty log.
Other details:
go version: go version go1.13.4 darwin/amd64
gopls version: golang.org/x/tools/gopls 0.2.0
<EMAIL_ADDRESS>h1:ddCHfScTYOG6auAcEKXCFN5iSeKSAnYcPv+7zVJBd+U=

Working coc.nvim config, for reference:
{
  "languageserver": {
    "golang": {
      "command": "gopls",
      "args": [],
      "rootPatterns": [
        "go.mod",
        ".vim/",
        ".git/",
        ".hg/"
      ],
      "filetypes": [
        "go"
      ]
    }
  }
}

When invoked from coc.nvim, lsof -p <pid> | grep cwd reveals the CWD of gopls is the project directory.

I have got exact same problem. Using neovim with built-in lsp api.

Perhaps this issue is better positioned on the Neovim repository given that this seems to be an issue unrelated to nvim-lsp.

I got some more detailed logging out of gopls:
[Trace - 20:01:50.050 PM] Sending request 'initialize - (1)'.
Params: {"rootUri": "file:///Users/stefan/tmp/hello", "capabilities": {"workspace": {"configuration": true}, "textDocument": {"references": {"dynamicRegistration": false}, "completion": {"completionItem": {"snippetSupport": false, "commitCharactersSupport": false, "preselectSupport": false, "deprecatedSupport": false, "documentationFormat": ["markdown", "plaintext"]}, "contextSupport": false, "dynamicRegistration": false, "completionItemKind": {"valueSet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]}}, "documentHighlight": {"dynamicRegistration": false}, "hover": {"dynamicRegistration": false, "contentFormat": ["markdown", "plaintext"]}, "synchronization": {"dynamicRegistration": false, "willSaveWaitUntil": false, "willSave": false, "didSave": true}, "signatureHelp": {"signatureInformation": {"documentationFormat": ["markdown", "plaintext"]}, "dynamicRegistration": false}}}, "processId": 49096, "trace": "off"}
[Trace - 20:01:50.052 PM] Received response 'initialize - (1)' in 1ms.
Result: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."]},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":true,"codeLensProvider":{},"documentLinkProvider":{},"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":{},"foldingRangeProvider":true,"executeCommandProvider":{"commands":["tidy"]},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":""}}
[Trace - 20:01:50.055 PM] Sending notification 'initialized'.
Params: []
[Trace - 20:01:50.055 PM] Sending notification 'textDocument/didOpen'.
Params: {"textDocument": {"uri": "file:///Users/stefan/tmp/hello/hello.go", "version": 0, "languageId": "go", "text": "package main\n\n// Hello returns a greeting.\nfunc Hello(name string) string {\n  if name == "" {\n    name = "Anonymous"\n  }\n  return "Hello, " + name + "!"\n}"}}
[Trace - 20:01:50.057 PM] Received notification 'window/logMessage'.
Params: {"type":1,"message":"2019/11/20 20:01:50 : reply not invoked with a valid call"}
[Trace - 20:01:50.057 PM] Received notification 'window/logMessage'.
Params: {"type":1,"message":"2019/11/20 20:01:50 : no views in the session"}

I promised @norcalli a two minute guide on how to get a Go test environment going in a local directory, so here we go:
# We will dump it all in ~/tmp
$ mkdir ~/tmp
$ cd ~/tmp

# Install Go
$ wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
$ tar xfz go1.13.4.linux-amd64.tar.gz
$ export PATH=$PATH:$HOME/tmp/go/bin
$ go version
go version go1.13.4 linux/amd64

# Create the smallest hello world possible, using go module as project root
$ go mod init hello
go: creating new go.mod: module hello
$ cat > main.go
package main
func main() {
   println("Hi!")
}

# Test build
$ go build
$ ./hello
Hi!

To get verbose/tracing output from gopls, use something like:
call nvim_lsp#setup("gopls", {"cmd": "gopls -logfile /tmp/gopls.log -rpc.trace -v")

Perhaps this issue is better positioned in the Neovim repository given that this seems to be an issue unrelated to nvim-lsp.

Yes, most likely. Looking at the trace, it seems gopls is setup correctly and has a good idea of the Go project. Messages are going back & forth, it just doesn't agree about one of them it seems? I agree that is most likely more a core LSP issue.
Since the LSP support in Neovim obviously works well with other servers, I'll try to find someone on the Go team who can take a peek at the trace.

Asking @stamblerre to take a peek at this issue - hoping we can get a hint about the reply not invoked with a valid call message that we get back from gopls.

Not too familiar with lsp but I did some digging and it looks like gopls expects initialized params to be an (empty) object {} and not an (empty) array []

@seankhliao Oh if that's the case then it's fixed in the LSP follow up PR I made. https://github.com/neovim/neovim/pull/11430.

@everyone I can confirm that the new LSP followup fixes gopls.

@norcalli Fantastic - I'll give it a try when it lands!

Just a heads up that neovim/neovim#11430 was merged today. The gopls integration works well now. Thank you @norcalli this is great.
I am playing with this on macOS, and I install the latest Neovim either with brew install neovim --HEAD or brew reinstall neovim after that. It is pretty easy to stay up to date.
Don't forget to also update plugins from within Neovim.
I am not sure how to properly use the LSP integration, but one thing that I noticed is that it now shows inline hints like this one:

While writing code, the messaging seems a bit erratic right now:

Looks like there are lots of opportunities to contribute to make this super awesome.

While writing code, the messaging seems a bit erratic right now

Would be nice with an option to only run diagnostics in normal mode, i.e. when leaving insert mode or when making text changes in normal mode. Some LSP servers are quite heavy (e.g. RLS) and running them continuously will be a huge battery drain and resource hog.
But maybe this is a neovim issue/feature, rather than nvim-lsp.

Also, I guess this can be closed now...?

@st3fan @lithammer that kind of thing can be addressed here. The thing about the diagnostics callback is that it's incredibly simple, meaning that anyone could customize it to their preference as long as the easy utility functions are available. This is the entire function:
M['textDocument/publishDiagnostics'] = function(_, _, result)
  if not result then return end
  local uri = result.uri
  local bufnr = vim.uri_to_bufnr(uri)
  if not bufnr then
    err_message("LSP.publishDiagnostics: Couldn't find buffer for ", uri)
    return
  end
  util.buf_clear_diagnostics(bufnr)
  util.buf_diagnostics_save_positions(bufnr, result.diagnostics)
  util.buf_diagnostics_underline(bufnr, result.diagnostics)
  util.buf_diagnostics_virtual_text(bufnr, result.diagnostics)
  -- util.set_loclist(result.diagnostics)
end

Meaning that if you wanted to control when diagnostics were displayed, or add a debounce or timeout for them, then you just need to modify the default callbacks and set that.


Bundle bats-support runtime dep as a submodule for tests

As is known, we don't have a uniform dependency manager for shell utilities (despite attempts). So we don't want bats-support as a submodule for typical usage. (though this is an option and should be discussed separately, I think)
However, including bats-support as a submodule for use by the test suite makes sense. This eliminates the need for custom setup when cloning the repo, or knowing that bats-support needs cloned in a magic location (as a sibling). With bats-support as a submodule (included under tests/helpers/) a single recursive clone puts the bats-assert test repo into a runnable and green state immediately.
For a moment, I considered including bats-support using the git-subtree mechanism, which is usually a preferred alternative for 3rd party deps. Generally, I consider subtree preferable except in cases where one may want to make changes to the dep itself and push back upstream from within the main repo. Since bats-assert and bats-support are both owned by "us", this makes submodules the preferred option, IMO.

Closing as this conversation can be moved to my fork if it should be continued at all.


Release notes for 0.7.0

@mdedetrich I will merge this, if you want to change something please open another PR, thanks!


Migration: cannot migrate package/flutter due to sky engine

Attempting to run dart migrate from an nnbd SDK on flutter/packages/flutter results in a failed sanity check that we're operating on an NNBD sdk.
It's actually correct! (hooray sanity check). It doesn't use the NNBD sdk that is built/running, it uses sky_engine.
Here's a temporary way to migrate flutter anyway:
cp -r $NNBD_SDK_BUILD_OUTPUT/dart-sdk/lib/ fake_sky_engine/
cp -r bin/cache/pkg/sky_engine/lib/ui fake_sky_engine/lib/
cp bin/cache/pkg/sky_engine/lib/_embedder.yaml fake_sky_engine/lib/

And then open packages/flutter/.dart_tool/package_config.json, and change:
-      "rootUri": "file:///home/mfairhurst/projects/dart/flutter/bin/cache/pkg/sky_engine",
+      "rootUri": "file:///home/mfairhurst/projects/dart/flutter/fake_sky_engine",

Hoping this works for the time being.

Closing this since sky_engine has been unforked.


Remove call to GOVUK.SelectionButtons Javascript

This code was causing the following JS error in the console:
Uncaught TypeError: GOVUK.SelectionButtons is not a constructor
    at HTMLDocument.<anonymous> (application.self-23554ec1afd1a09c9f17684021c71e9dcec03e07d10f08b007e4e5052a5fcb50.js?body=1:47)

Turns out that the GOVUK.SelectionButtons code was removed some time ago: https://github.com/alphagov/govuk_elements/blob/3a7f21838d7849d90434731488e1a0f0f209250d/packages/govuk-elements-sass/CHANGELOG.md#300 so this PR removes the call to something that doesn't exist.

selection-buttons.js does still exist in Frontend Toolkit (though it's largely redundant)…
It's also still included by Static.
(That doesn't mean that we shouldn't remove it here, as in theory it shouldn't be needed… but it's not quite as clear-cut as if we were trying to instantiate something that doesn't exist)


Record blocked while transcribing (no real async possible)

when .text(function) is called, microphone is blocked and it is not listening. Speech happening at the same time is not captured and is also not listed in the recorder.audio_queue.qsize()
So a basic customer journey example.

"Speak now"
User Speaks - "Recording"
User stops speaking. "Transcribing"
Transcribing disappears. Faster-Whisper is trying to transcribe using large-v3
User speaks while big transcription is happening Gets ignored
Result of first text appears. "Speak now"

I tried enable_realtime_transcription': True and False. Both has the problem.
I am using recorder.text(process_text) which according to docs async as soon as I provide a function in .text(). But it appears to be not that async.
Can you please solve this? The queue appears to be buggy and with slow gpu / cpu, there is guaranteed data loss due to race condition.
Thank you

Since the whole transcription process is already encaptured within another process I have currently no idea what I can do here. There is a tiny chance that if it still blocks the main process it might just be a general performance issue on the system. If it's a real bug on CPU systems I'm unsure what to do here and open to suggestions.

At the lines beginning from 1025, we are blocking the main thread and wait until results are there. I am guessing, this problem is also there on GPUs, but because of speed + maybe usage of smaller models.

Main thread is blocked within the real-time transcription, also for wake word detection and VAD. In theory this should not affect recording, since this is done in another process. Recording since it runs entirely encapsulated should in theory guarantee that every chunk gets recorded and end up in the processing queue. I can't think of a way to encapsulate this even more. Honestly it should not even happen, maybe on a single core idk


Syncing to previously pushed dataset does not restore columns

Hi Gerhard
After creating a dataset using the Sample_PushDataset, and then attempting to sync to it using the following function, the 'dataset' object is populated with the table that was created, but the table does not have any columns...
  private static void Test_SyncDataset(PBIAPIClient pbic)
  {
     string datasetName = "MyPushDataset";

     PBIDataset dataset = new PBIDataset(datasetName, PBIDefaultMode.Push);
     dataset.ParentPowerBIAPI = pbic;

     Console.WriteLine("Syncing to PowerBI Service ... ");
     dataset.SyncFromPowerBI(); // check if a Dataset with the same ID or Name already exists in the PowerBI-Service
     Console.WriteLine("Done!");
  }

just checked the API again and it seems that a new functionality was added to also retrieve metadata for Push-datasets:
https://docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets/datasets_gettables
will add this functionality in the near future and update you here!

Many thx Gerhard.

new functionality was added to also retrieve metadata for Push-datasets:

TBH, I thought you were already supporting this:
        public string PBITable.ApiURL
        {
            get
            {
                if (ParentGroup == null)
                    return string.Format("/v1.0/myorg/datasets/{0}/tables/{1}", ParentDataset.Id, Name);
                else
                    return string.Format("/v1.0/myorg/groups/{0}/datasets/{1}/tables/{2}", ParentGroup.Id, ParentDataset.Id, Name);
            }
        }

ps. I'm actually excited by the possibility of integrating your library into my app, hence my pushiness :)

I just ran some tests and even though the docs state that the call to the tables API (https://docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets/datasets_gettables) also returns columns and measures, it in fact only returns the name of the table
the JSON that I get returned is as follows:
{
  "@odata.context":"http://wabi-us-north-central-redirect.analysis.windows.net/v1.0/myorg/$metadata#tables","value":[
    {
      "name":"MySalesTable"
    }
  ]
}

once this is working correctly in the REST API, it will also return the columns, measures, etc. in the C# objects


Bump to 1.21.0

After 1.19.0, we released a release candidate 1.21.0-rc1 for testing a release candidate that we didn't expect to get generally.
But the Gradle plugin currently uses
    implementation("software.amazon.smithy:smithy-model:[1.0, 2.0[")
    implementation("software.amazon.smithy:smithy-build:[1.0, 2.0[")
    implementation("software.amazon.smithy:smithy-cli:[1.0, 2.0[")

which based on Gradle ordering rules, finds 1.21.0-rc1, which caused issues to existing customers, like https://github.com/awslabs/smithy/issues/1186
Releasing 1.21.0 will fix the issues as, 1.21.0 will be picked over 1.21.0-rc1. So we are skipping 1.20.0.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

CI is failing for the issue this release will fix.


os-acme-client + DNS-01 - error:DNS problem: SERVFAIL looking up TXT for ... but TXT record was updated!

Important notices

[ x] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[ x] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
[ x] The title contains the plugin to which this issue belongs

Describe the bug
It's my first OPNsense so, never tested with previous version
I have a BIND9 server, working with nsupdate to update records
When I send a widlcard certificate request from acme-client plugin, the order request is sent to letsencrypt, the DNS-01 challange starts, then nsupdate asks for record TXT to be updated, in the server th bind9 execute and update the _acme-challenge record ...
till now  it's ok
I see the request in BIND9 log, it's accepted and executed
from an external windows client I can verify the changes with
nslookup -type=TXT _acme-challenge.fibertelecom.com ns1.fibetelecom.com
nslookup -type=TXT _acme-challenge.fibertelecom.com ns2.fibetelecom.com
nslookup -type=TXT _acme-challenge.fibertelecom.com ns3.fibetelecom.com
nslookup -type=TXT _acme-challenge.fibertelecom.com
and all of them show the new value correctly like this
Server:  ns1.fibertelecom.it
Address:  <IP_ADDRESS>
_acme-challenge.fibertelecom.com        text = "mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U"
fibertelecom.com        nameserver = ns1.fibertelecom.it
fibertelecom.com        nameserver = ns2.fibertelecom.it
fibertelecom.com        nameserver = ns3.fibertelecom.it
ns1.fibertelecom.it     internet address = <IP_ADDRESS>
ns2.fibertelecom.it     internet address = <IP_ADDRESS>
ns3.fibertelecom.it     internet address = <IP_ADDRESS>
ns1.fibertelecom.it     AAAA IPv6 address = 2a03:b020:0:404::50
ns2.fibertelecom.it     AAAA IPv6 address = 2a03:b020:0:404::51
ns3.fibertelecom.it     AAAA IPv6 address = 2a03:b020:0:403::254

but after the sleep period (60sec or so) in the log I can see the error
domain validation failed (dns01)
validation for certificate failed: *.fibertelecom.com
To Reproduce
Steps to reproduce the behavior:
go to Services->ACMEclient->Certificate
click on "Issue or renew Certificate"  icon ⟳

wait for about 1 min
go to Services->ACMEclient->LogFiles
see error in SystemLog and ACMElog
Expected behavior
request new order to letsencrypt   OK
ask for dns challenge   OK
dnsupdate to create/update TXT record (request to my bind9)  OK
bind9 to create/update TXT record in the correct ZONE (reply from my bind9) OK
wait a while for master/slave propagation  OK
dns check/lookup from letsencrypt   FAIL
certificate signed   SKIPPED
dnsupdate to delete TXT record (request to my bind9)  OK
bind9 to delete TXT record in the correct ZONE (reply from my bind9) OK
Screenshots
settings

account

challenge type

certificate

Relevant log files
/var/log/named/bind.log FROM BIND9 SERVER
queries: info: client @0x7f89dc10df70 <IP_ADDRESS>#26085 (dit.whatsapp.net): query: dit.whatsapp.net IN A + (<IP_ADDRESS>)
queries: info: client @0x7f89dc10df70 <IP_ADDRESS>#52223 (jenson.api.swiftkey.com): query: jenson.api.swiftkey.com IN A + (<IP_ADDRESS>)
queries: info: client @0x7f89e4890150 <IP_ADDRESS>#57921 (cloud.mikrotik.com): query: cloud.mikrotik.com IN A + (<IP_ADDRESS>)
update-security: info: client @0x7f89e4890150 <IP_ADDRESS>#53963/key letsencrypt: signer "letsencrypt" approved
update: info: client @0x7f89e4890150 <IP_ADDRESS>#53963/key letsencrypt: updating zone 'fibertelecom.com/IN': adding an RR at '_acme-challenge.fibertelecom.com' TXT "mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U"
queries: info: client @0x7f89d426ae10 <IP_ADDRESS>#11574 (cdn.samsungcloudsolution.com): query: cdn.samsungcloudsolution.com IN A + (<IP_ADDRESS>)
queries: info: client @0x7f89dc1cdae0 <IP_ADDRESS>#51014 (www.msndvr.com): query: www.msndvr.com IN A + (<IP_ADDRESS>)
queries: info: client @0x7f89d426ae10 <IP_ADDRESS>#52190 (voip.eutelia.it): query: voip.eutelia.it IN A + (<IP_ADDRESS>)
notify: info: zone fibertelecom.com/IN: sending notifies (serial<PHONE_NUMBER>)

System Log FROM Services: ACME Client: Log Files (reverse order)
**2022-08-31T05:54:50	opnsense	AcmeClient: validation for certificate failed: *.fibertelecom.com**
**2022-08-31T05:54:50	opnsense	AcmeClient: domain validation failed (dns01)**
2022-08-31T05:54:06	opnsense	AcmeClient: running acme.sh command: /usr/local/sbin/acme.sh --issue --syslog 7 --debug 3 --server 'letsencrypt_test' --dns 'dns_nsupdate' --dnssleep '30' --home '/var/etc/acme-client/home' --certpath '/var/etc/acme-client/certs/630e16fd428678.73410954/cert.pem' --keypath '/var/etc/acme-client/keys/630e16fd428678.73410954/private.key' --capath '/var/etc/acme-client/certs/630e16fd428678.73410954/chain.pem' --fullchainpath '/var/etc/acme-client/certs/630e16fd428678.73410954/fullchain.pem' --domain '*.fibertelecom.com' --days '1' --force --keylength '4096' --accountconf '/var/etc/acme-client/accounts/630e22238d0e13.59919420_stg/account.conf'
2022-08-31T05:54:06	opnsense	AcmeClient: using challenge type: Dns Challange fibertelecom.com
2022-08-31T05:54:06	opnsense	AcmeClient: account is registered: *.fibertelecom.com TEST
2022-08-31T05:54:06	opnsense	AcmeClient: using CA: letsencrypt_test
2022-08-31T05:54:06	opnsense	AcmeClient: issue certificate: *.fibertelecom.com
2022-08-31T05:54:06	opnsense	AcmeClient: certificate must be issued/renewed: *.fibertelecom.com

ACME log FROM Services: ACME Client: Log Files
 	 	running on FreeBSD version FreeBSD 13.1-RELEASE-p1 sta
 	 	socat version <IP_ADDRESS> on Aug 16 2022 04:11:15
 	 	socat by Gerhard Rieger and contributors - see www.dest-unreach.org
 	 	socat:
 	 	configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx/error.log --user=www --group=www --with-compat --with-pcre --modules-path=/usr/local/libexec/nginx --with-file-aio --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx/access.log --with-http_v2_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --without-mail_smtp_module --with-mail_ssl_module --without-pcre2 --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --add-module=/usr/obj/usr/ports/www/nginx/work/nginx-module-vts-0.1.18 --with-mail=dynamic --with-stream=dynamic --add-dynamic-module=/usr/obj/usr/ports/www/nginx/work/ngx_brotli-9aec15e --add-dynamic-module=/usr/obj/usr/ports/www/nginx/work/headers-more-nginx-module-d6d7eba --add-dynamic-module=/usr/obj/usr/ports/www/nginx/work/naxsi-1.3/naxsi_src --add-dynamic-module=/usr/obj/usr/ports/www/nginx/work/njs-0.7.6/nginx
 	 	TLS SNI support enabled
 	 	built with OpenSSL 1.1.1q 5 Jul 2022
 	 	nginx version: nginx/1.22.0
 	 	nginx:
 	 	apache doesn't exist.
 	 	apache:
 	 	OpenSSL 1.1.1o-freebsd 3 May 2022
 	 	openssl:openssl
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] Diagnosis versions:
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] code='400'
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] _ret='0'
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo '
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] POST
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] payload='{}'
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:50 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:50	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] Please add '--debug' or '--log' to check more details.
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] _on_issue_err
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] Removed: Success
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] removing _acme-challenge.fibertelecom.com. txt
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] Removing txt: mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U for domain: _acme-challenge.fibertelecom.com
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] d_api='/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] txt='mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] _currentRoot='dns_nsupdate'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] aliasDomain='_acme-challenge.fibertelecom.com'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] txtdomain='_acme-challenge.fibertelecom.com'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] d='fibertelecom.com'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] Removing DNS records.
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] dns_entries='fibertelecom.com,_acme-challenge.fibertelecom.com,,dns_nsupdate,mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U,/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] _clearupdns
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] No need to restore nginx, skip.
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] pid
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] Skip for removelevel:
**2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] *.fibertelecom.com:Verify error:DNS problem: SERVFAIL looking up TXT for _acme-challenge.fibertelecom.com - the domain's nameservers may be malfunctioning**
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] code='200'
2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] _ret='0'
2022-08-31T05:54:48	acme.sh	[Wed Aug 31 05:54:48 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo '
2022-08-31T05:54:48	acme.sh	[Wed Aug 31 05:54:48 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:48	acme.sh	[Wed Aug 31 05:54:48 UTC 2022] POST
2022-08-31T05:54:48	acme.sh	[Wed Aug 31 05:54:48 UTC 2022] payload
2022-08-31T05:54:48	acme.sh	[Wed Aug 31 05:54:48 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:48	acme.sh	[Wed Aug 31 05:54:48 UTC 2022] checking
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] sleep 2 secs to verify again
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] Pending, The CA is processing your order, please just wait. (2/30)
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] code='200'
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] _ret='0'
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo '
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:46	acme.sh	[Wed Aug 31 05:54:46 UTC 2022] POST
2022-08-31T05:54:45	acme.sh	[Wed Aug 31 05:54:45 UTC 2022] payload
2022-08-31T05:54:45	acme.sh	[Wed Aug 31 05:54:45 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:45	acme.sh	[Wed Aug 31 05:54:45 UTC 2022] checking
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] sleep 2 secs to verify again
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] Pending, The CA is processing your order, please just wait. (1/30)
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] trigger validation code: 200
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] code='200'
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] _ret='0'
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo '
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:43	acme.sh	[Wed Aug 31 05:54:43 UTC 2022] POST
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] payload='{}'
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] _currentRoot='dns_nsupdate'
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] uri='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] keyauthorization='DB-ngPui2lHjhC8LiDKkXYCw7sprVJX_JxEtuI8d_nI.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4'
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] d='*.fibertelecom.com'
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] Verifying: *.fibertelecom.com
2022-08-31T05:54:42	acme.sh	[Wed Aug 31 05:54:42 UTC 2022] ok, let's start to verify
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] Sleep 30 seconds for the txt records to take effect
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] The txt record is added: Success.
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] adding _acme-challenge.fibertelecom.com. 60 in txt "mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U"
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] Adding txt value: mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U for domain: _acme-challenge.fibertelecom.com
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] Found domain api file: /usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] d_api='/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] txt='mm60284zRClciD0WBywWDb9mFQRpvAOuQ5_jyixmL_U'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] txtdomain='_acme-challenge.fibertelecom.com'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] _d_alias
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] d='*.fibertelecom.com'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] vlist='*.fibertelecom.com#DB-ngPui2lHjhC8LiDKkXYCw7sprVJX_JxEtuI8d_nI.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4#https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w#dns-01#dns_nsupdate,'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] d
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] dvlist='*.fibertelecom.com#DB-ngPui2lHjhC8LiDKkXYCw7sprVJX_JxEtuI8d_nI.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4#https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w#dns-01#dns_nsupdate'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] keyauthorization='DB-ngPui2lHjhC8LiDKkXYCw7sprVJX_JxEtuI8d_nI.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] uri='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] token='DB-ngPui2lHjhC8LiDKkXYCw7sprVJX_JxEtuI8d_nI'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] entry='"type":"dns-01","status":"pending","url":"https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3490184753/cRhv6w","token":"DB-ngPui2lHjhC8LiDKkXYCw7sprVJX_JxEtuI8d_nI"'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] _currentRoot='dns_nsupdate'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] _w='dns_nsupdate'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] Getting webroot for domain='*.fibertelecom.com'
2022-08-31T05:54:12	acme.sh	[Wed Aug 31 05:54:12 UTC 2022] d='*.fibertelecom.com'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] code='200'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] _ret='0'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo '
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/3490184753'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] POST
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] payload
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/3490184753'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] Le_OrderFinalize='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/66518223/3864148853'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] Le_LinkOrder='https://acme-staging-v02.api.letsencrypt.org/acme/order/66518223/3864148853'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] code='201'
2022-08-31T05:54:11	acme.sh	[Wed Aug 31 05:54:11 UTC 2022] _ret='0'
2022-08-31T05:54:10	acme.sh	[Wed Aug 31 05:54:10 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo '
2022-08-31T05:54:10	acme.sh	[Wed Aug 31 05:54:10 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
2022-08-31T05:54:10	acme.sh	[Wed Aug 31 05:54:10 UTC 2022] POST
2022-08-31T05:54:10	acme.sh	[Wed Aug 31 05:54:10 UTC 2022] _ret='0'
2022-08-31T05:54:09	acme.sh	[Wed Aug 31 05:54:09 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.DNesoFbo -I '
2022-08-31T05:54:09	acme.sh	[Wed Aug 31 05:54:09 UTC 2022] _post_url='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
2022-08-31T05:54:09	acme.sh	[Wed Aug 31 05:54:09 UTC 2022] HEAD
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] RSA key
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] payload='{"identifiers": [{"type":"dns","value":"*.fibertelecom.com"}]}'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] d
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] Getting domain auth token for each domain
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] Single domain='*.fibertelecom.com'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] _createcsr
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] Read key length:4096
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] _saved_account_key_hash is not changed, skip register account.
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] d
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] _currentRoot='dns_nsupdate'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] Check for domain='*.fibertelecom.com'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] d='*.fibertelecom.com'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] Le_LocalAddress
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] _chk_alt_domains
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] _chk_main_domain='*.fibertelecom.com'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] _on_before_issue
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] Using CA: https://acme-staging-v02.api.letsencrypt.org/directory
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_NEW_NONCE='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_AGREEMENT='https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017-w-v1.3-notice.pdf'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_REVOKE_CERT='https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_NEW_ACCOUNT='https://acme-staging-v02.api.letsencrypt.org/acme/new-acct'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_NEW_ORDER='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_NEW_AUTHZ
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ACME_KEY_CHANGE='https://acme-staging-v02.api.letsencrypt.org/acme/key-change'
2022-08-31T05:54:07	acme.sh	[Wed Aug 31 05:54:07 UTC 2022] ret='0'
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] _CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.bSaqbk2x '
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] timeout=
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] url='https://acme-staging-v02.api.letsencrypt.org/directory'
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] GET
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] _init api for server: https://acme-staging-v02.api.letsencrypt.org/directory
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] Using ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] Le_NextRenewTime
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] DOMAIN_PATH='/var/etc/acme-client/home/*.fibertelecom.com'
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] ACME_DIRECTORY='https://acme-staging-v02.api.letsencrypt.org/directory'
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] Using config home:/var/etc/acme-client/home
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] _alt_domains='no'
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] _main_domain='*.fibertelecom.com'
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] Running cmd: issue
2022-08-31T05:54:06	acme.sh	[Wed Aug 31 05:54:06 UTC 2022] Using server: letsencrypt_test

Additional context
The namsserver must be configured to accept dns dynamyc update RFC2136 (nsupdate)
In BIND9 server, just use
dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST letsencrypt
and to allow nsupdate create a letsencrypt.key file like this
key "letsencrypt" {
        algorithm hmac-sha512;
        secret [**base64key**];
};

then allow update in named.conf
...
include "/etc/bind/letsencrypt.key";
zone "fibertelecom.com" {
    file "/etc/bind/zones/fibertelecom.com.signed";
    type master; allow-transfer { ...; }; also-notify { ...; }; allow-update { key letsencrypt; ...};
};
...

Environment
on OPNsense appliance
OPNsense 22.7.2-amd64
FreeBSD 13.1-RELEASE-p1
OpenSSL 1.1.1q 5 Jul 2022
plugin os-acme-client v3.13
Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz
on DNS server
BIND9.11.5 (working well for years)
Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz
(same issue as #3104, re-written using template ... please remove or merge)

2022-08-31T05:54:49	acme.sh	[Wed Aug 31 05:54:49 UTC 2022] *.fibertelecom.com:Verify error:DNS problem: SERVFAIL looking up TXT for _acme-challenge.fibertelecom.com - the domain's nameservers may be malfunctioning

As reported by acme.sh, a SERVFAIL DNS error was reported. This most likely hints at an issue with the nameservers of your domain.

Just upgraded to OPNsense v22.7.3_2 , but acme version is still v3.13 ... nothing touched in configuration or nameserver
But ... now it's working ! :O
These are the logs using "Let's Encrypt Test CA"
#SYSTEM LOG#
php AcmeClient: running automation (configd): Restart Nginx
php AcmeClient: running automation (configd): Restart HaProxy
php AcmeClient: running automations for certificate: *.fibertelecom.com
opnsense AcmeClient: imported ACME X.509 certificate: *.fibertelecom.com
opnsense AcmeClient: importing ACME CA: (STAGING) Artificial Apricot R3
opnsense AcmeClient: successfully issued/renewed certificate: .fibertelecom.com
opnsense AcmeClient: running acme.sh command: /usr/local/sbin/acme.sh --issue --syslog 7 --debug 3 --server 'letsencrypt_test' --dns 'dns_nsupdate' --dnssleep '30' --home '/var/etc/acme-client/home' --certpath '/var/etc/acme-client/certs/630e16fd428678.73410954/cert.pem' --keypath '/var/etc/acme-client/keys/630e16fd428678.73410954/private.key' --capath '/var/etc/acme-client/certs/630e16fd428678.73410954/chain.pem' --fullchainpath '/var/etc/acme-client/certs/630e16fd428678.73410954/fullchain.pem' --domain '.fibertelecom.com' --days '1' --keylength '4096' --accountconf '/var/etc/acme-client/accounts/630e22238d0e13.59919420_stg/account.conf'
opnsense AcmeClient: using challenge type: Dns Challange fibertelecom.com
opnsense AcmeClient: account is registered: *.fibertelecom.com TEST
opnsense AcmeClient: using CA: letsencrypt_test
opnsense AcmeClient: issue certificate: *.fibertelecom.com
opnsense AcmeClient: certificate must be issued/renewed: *.fibertelecom.com
php	AcmeClient: running automation (configd): Restart Nginx
php	AcmeClient: running automation (configd): Restart HaProxy
php	AcmeClient: running automations for certificate: *.fibertelecom.com
opnsense	AcmeClient: imported ACME X.509 certificate: *.fibertelecom.com
opnsense	AcmeClient: importing ACME CA: (STAGING) Artificial Apricot R3
opnsense	AcmeClient: successfully issued/renewed certificate: .fibertelecom.com
opnsense	AcmeClient: running acme.sh command: /usr/local/sbin/acme.sh --issue --syslog 7 --debug 3 --server 'letsencrypt_test' --dns 'dns_nsupdate' --dnssleep '30' --home '/var/etc/acme-client/home' --certpath '/var/etc/acme-client/certs/630e16fd428678.73410954/cert.pem' --keypath '/var/etc/acme-client/keys/630e16fd428678.73410954/private.key' --capath '/var/etc/acme-client/certs/630e16fd428678.73410954/chain.pem' --fullchainpath '/var/etc/acme-client/certs/630e16fd428678.73410954/fullchain.pem' --domain '.fibertelecom.com' --days '1' --keylength '4096' --accountconf '/var/etc/acme-client/accounts/630e22238d0e13.59919420_stg/account.conf'
opnsense	AcmeClient: using challenge type: Dns Challange fibertelecom.com
opnsense	AcmeClient: account is registered: *.fibertelecom.com TEST
opnsense	AcmeClient: using CA: letsencrypt_test
opnsense	AcmeClient: issue certificate: *.fibertelecom.com
opnsense	AcmeClient: certificate must be issued/renewed: *.fibertelecom.com
#ACME LOG#
acme.sh	_on_issue_success
acme.sh	Installing full chain to: /var/etc/acme-client/certs/630e16fd428678.73410954/fullchain.pem
acme.sh	Installing key to: /var/etc/acme-client/keys/630e16fd428678.73410954/private.key
acme.sh	Installing CA to: /var/etc/acme-client/certs/630e16fd428678.73410954/chain.pem
acme.sh	Installing cert to: /var/etc/acme-client/certs/630e16fd428678.73410954/cert.pem
acme.sh	And the full chain certs is there: /var/etc/acme-client/home/.fibertelecom.com/fullchain.cer
acme.sh	The intermediate CA cert is in: /var/etc/acme-client/home/.fibertelecom.com/ca.cer
acme.sh	Your cert key is in: /var/etc/acme-client/home/.fibertelecom.com/.fibertelecom.com.key
acme.sh	Your cert is in: /var/etc/acme-client/home/.fibertelecom.com/.fibertelecom.com.cer
acme.sh	Cert success.
acme.sh	Le_LinkCert='https://acme-staging-v02.api.letsencrypt.org/acme/cert/fae2dc7c4334e1c3f069d46b029c726d5cfe'
acme.sh	_end_n='36'
acme.sh	Found cert chain
acme.sh	code='200'
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/cert/fae2dc7c4334e1c3f069d46b029c726d5cfe'
acme.sh	POST
acme.sh	payload
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/acme/cert/fae2dc7c4334e1c3f069d46b029c726d5cfe'
acme.sh	Le_LinkCert='https://acme-staging-v02.api.letsencrypt.org/acme/cert/fae2dc7c4334e1c3f069d46b029c726d5cfe'
acme.sh	Downloading cert.
acme.sh	Le_LinkCert='https://acme-staging-v02.api.letsencrypt.org/acme/cert/fae2dc7c4334e1c3f069d46b029c726d5cfe'
acme.sh	Order status is valid.
acme.sh	code='200'
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/66518223/3947136873'
acme.sh	POST
acme.sh	payload='{"csr": "MIIEkjCCAnoCA.......BfZxTntnLprDkCcka0JCKW67A"}'
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/66518223/3947136873'
acme.sh	Le_OrderFinalize='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/66518223/3947136873'
acme.sh	Lets finalize the order.
acme.sh	j='26'
acme.sh	i='2'
acme.sh	Verify finished, start to sign.
acme.sh	Removed: Success
acme.sh	removing _acme-challenge.fibertelecom.com. txt
acme.sh	Removing txt: HwaP0kkv51jUwHrz0t6ASaRcmod4bhIMEIIJ0B_lXWo for domain: _acme-challenge.fibertelecom.com
acme.sh	d_api='/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh'
acme.sh	txt='HwaP0kkv51jUwHrz0t6ASaRcmod4bhIMEIIJ0B_lXWo'
acme.sh	_currentRoot='dns_nsupdate'
acme.sh	aliasDomain='_acme-challenge.fibertelecom.com'
acme.sh	txtdomain='_acme-challenge.fibertelecom.com'
acme.sh	d='fibertelecom.com'
acme.sh	Removing DNS records.
acme.sh	dns_entries='fibertelecom.com,_acme-challenge.fibertelecom.com,,dns_nsupdate,HwaP0kkv51jUwHrz0t6ASaRcmod4bhIMEIIJ0B_lXWo,/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh
acme.sh	_clearupdns
acme.sh	No need to restore nginx, skip.
acme.sh	pid
acme.sh	Skip for removelevel:
acme.sh	pid
acme.sh	Success
acme.sh	code='200'
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug'
acme.sh	POST
acme.sh	payload
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug'
acme.sh	checking
acme.sh	sleep 2 secs to verify again
acme.sh	Pending, The CA is processing your order, please just wait. (1/30)
acme.sh	trigger validation code: 200
acme.sh	code='200'
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug'
acme.sh	POST
acme.sh	payload='{}'
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug'
acme.sh	_currentRoot='dns_nsupdate'
acme.sh	uri='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug'
acme.sh	keyauthorization='Sd0i6ZCZa_PppAz8_GBPOfH-stqX-uAkptWnkm1JzyM.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4'
acme.sh	d='.fibertelecom.com'
acme.sh	Verifying: .fibertelecom.com
acme.sh	ok, let's start to verify
acme.sh	Sleep 30 seconds for the txt records to take effect
acme.sh	The txt record is added: Success.
acme.sh	adding _acme-challenge.fibertelecom.com. 60 in txt "HwaP0kkv51jUwHrz0t6ASaRcmod4bhIMEIIJ0B_lXWo"
acme.sh	Adding txt value: HwaP0kkv51jUwHrz0t6ASaRcmod4bhIMEIIJ0B_lXWo for domain: _acme-challenge.fibertelecom.com
acme.sh	Found domain api file: /usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh
acme.sh	d_api='/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh'
acme.sh	txt='HwaP0kkv51jUwHrz0t6ASaRcmod4bhIMEIIJ0B_lXWo'
acme.sh	txtdomain='_acme-challenge.fibertelecom.com'
acme.sh	_d_alias
acme.sh	d='.fibertelecom.com'
acme.sh	vlist='.fibertelecom.com#Sd0i6ZCZa_PppAz8_GBPOfH-stqX-uAkptWnkm1JzyM.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4#https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug#dns-01#dns_nsupdate,'
acme.sh	d
acme.sh	dvlist='.fibertelecom.com#Sd0i6ZCZa_PppAz8_GBPOfH-stqX-uAkptWnkm1JzyM.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4#https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug#dns-01#dns_nsupdate'
acme.sh	keyauthorization='Sd0i6ZCZa_PppAz8_GBPOfH-stqX-uAkptWnkm1JzyM.Sgc2Szv5GT1AiCkTjGqRWbgXtQGunnjIqj81lAolIl4'
acme.sh	uri='https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug'
acme.sh	token='Sd0i6ZCZa_PppAz8_GBPOfH-stqX-uAkptWnkm1JzyM'
acme.sh	entry='"type":"dns-01","status":"pending","url":"https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/3550832853/UL8Qug","token":"Sd0i6ZCZa_PppAz8_GBPOfH-stqX-uAkptWnkm1JzyM"'
acme.sh	_currentRoot='dns_nsupdate'
acme.sh	_w='dns_nsupdate'
acme.sh	Getting webroot for domain='.fibertelecom.com'
acme.sh	d='.fibertelecom.com'
acme.sh	code='200'
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/3550832853'
acme.sh	POST
acme.sh	payload
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/3550832853'
acme.sh	Le_OrderFinalize='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/66518223/3947136873'
acme.sh	Le_LinkOrder='https://acme-staging-v02.api.letsencrypt.org/acme/order/66518223/3947136873'
acme.sh	code='201'
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
acme.sh	POST
acme.sh	_ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.W9CdftaD -I '
acme.sh	_post_url='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
acme.sh	HEAD
acme.sh	RSA key
acme.sh	payload='{"identifiers": [{"type":"dns","value":".fibertelecom.com"}]}'
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
acme.sh	d
acme.sh	Getting domain auth token for each domain
acme.sh	Single domain='.fibertelecom.com'
acme.sh	_createcsr
acme.sh	Read key length:4096
acme.sh	_saved_account_key_hash is not changed, skip register account.
acme.sh	d
acme.sh	_currentRoot='dns_nsupdate'
acme.sh	Check for domain='.fibertelecom.com'
acme.sh	d='.fibertelecom.com'
acme.sh	Le_LocalAddress
acme.sh	_chk_alt_domains
acme.sh	_chk_main_domain='.fibertelecom.com'
acme.sh	_on_before_issue
acme.sh	Using CA: https://acme-staging-v02.api.letsencrypt.org/directory
acme.sh	ACME_NEW_NONCE='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
acme.sh	ACME_AGREEMENT='https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017-w-v1.3-notice.pdf'
acme.sh	ACME_REVOKE_CERT='https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert'
acme.sh	ACME_NEW_ACCOUNT='https://acme-staging-v02.api.letsencrypt.org/acme/new-acct'
acme.sh	ACME_NEW_ORDER='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
acme.sh	ACME_NEW_AUTHZ
acme.sh	ACME_KEY_CHANGE='https://acme-staging-v02.api.letsencrypt.org/acme/key-change'
acme.sh	ret='0'
acme.sh	_CURL='curl --silent --dump-header /var/etc/acme-client/home/http.header -L --trace-ascii /tmp/tmp.9hlYu3Av '
acme.sh	timeout=
acme.sh	url='https://acme-staging-v02.api.letsencrypt.org/directory'
acme.sh	GET
acme.sh	_init api for server: https://acme-staging-v02.api.letsencrypt.org/directory
acme.sh	Using ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory
acme.sh	Le_NextRenewTime
acme.sh	DOMAIN_PATH='/var/etc/acme-client/home/.fibertelecom.com'
acme.sh	ACME_DIRECTORY='https://acme-staging-v02.api.letsencrypt.org/directory'
acme.sh	Using config home:/var/etc/acme-client/home
acme.sh	_alt_domains='no'
acme.sh	_main_domain='.fibertelecom.com'
acme.sh	Running cmd: issue
acme.sh	Using server: letsencrypt_test
And it seems to work also with "Let's Encrypt CA".
I had tried just before the upgrade and it had failed. After upgrade it's working.
I'm closing ... for me with OPNsense v22.7.3_2 is now working. Thanks.


Set locales is error in Laravel5

I set 'locales' option in administrator.php
'locales' =>  array('en', 'zh-TW'),
When I click language ,it is error.
FatalErrorException in AdminController.php line 613:
Call to a member function put() on null

Same here. Seems like the session object passed to the constructor is not assigned to the controller's session var. There's no $this->session = $session; there.

:+1:

This affects other sections of the admin, like downloading a file with a custom action (line 237 of AdminController).

The same problem! anyone solved it?

The pull request #856 fixes this. I'm using a private fork with that patch applied for now, not a great solution, but works.

not work for me.because the app session con't get the value in https://github.com/FrozenNode/Laravel-Administrator/blob/master/src/Frozennode/Administrator/AdministratorServiceProvider.php#L142

All these are now fixed with v5.0.5


[🐞] Warned when serializing JSXNode.

Which component is affected?
Qwik Runtime
Describe the bug
I am trying to access to the state that contains a JSXNode from the useTask$ like this:
export default component$(() => {
  const foo:{
    contents: JSXNode
  } = {
    contents: jsx("p", {children:"TEST"})
  }
  useTask$(({track}) =>{
    console.log(foo);
  });

This is warned although the JSXNodeSerializer works well and got the correct result.
Expected results:
No warnings.
Reproduction
https://stackblitz.com/edit/qwik-starter-ewvscc?file=src%2Froutes%2Findex.tsx
Steps to reproduce
Please visit the link above.
System Info
System:
    OS: macOS 14.2.1
    CPU: (8) arm64 Apple M2
    Memory: 63.08 MB / 24.00 GB
    Shell: 3.6.1 - /opt/homebrew/bin/fish
  Binaries:
    Node: 20.11.0 - /opt/homebrew/opt/node@20/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 10.2.4 - /opt/homebrew/opt/node@20/bin/npm
    pnpm: 8.15.1 - /opt/homebrew/bin/pnpm
    bun: 1.0.16 - ~/.bun/bin/bun
  Browsers:
    Chrome: 121.0.6167.184
    Safari: 17.2.1
  npmPackages:
    @builder.io/partytown: ^0.9.0 => 0.9.0
    @builder.io/qwik: workspace:* => 1.4.5
    undici: * => 6.3.0
    vite: ^5.0.12 => 5.0.12

Additional Information
No response

JSXNode is a little bit internal, and in v2 it will be VNode. In any case, your problem can be solved by making it JSXNode<any>, or even just the returntype of jsx().
BTW, for qwik-only repros it's better to use the playground:
https://qwik.dev/playground/#f=Q0o0xgaW2BKNDrDkqNCB15QUpyFIgKTl51uBeGA%2BKO%2BBIwaW0W1A6SI%2FDWQzyKm1wKBDVwyU0lAqUNJRqE4GFc3AqLNSCnENDlGq1QTpAGJ43a5RDa6oa0FOgBsDbxkAXQIMCqAWMIktXqqBSvRgNoNMRg7C0XQ%2FJNM9AA

@wmertens Unfortunately, I have confirmed the JSXNode<any> nor ReturnType<typeof jsx> couldn't solve this issue.
https://stackblitz.com/edit/qwik-starter-fudmjk?file=src%2Froutes%2Findex.tsx
It still sais
10:56:31 [vite] warning: When referencing "foo" inside a different scope (useTask$), Qwik needs to serialize the value, however "foo.bar.type" is a function, which is not serializable.
Check out https://qwik.builder.io/docs/advanced/dollar/ for more details.
  Plugin: vite-plugin-qwik
  File: /home/projects/qwik-starter-ewvscc/src/routes/index.tsx:14:17
  12 |    }
  13 |    useTask$(({track}) =>{
  14 |      console.log(foo);
     |                   ^
  15 |    });

And about the qwik-only repros, is it possible to show the warning log?
I couldn't find the way to see it.

Ah right I keep forgetting that the playground doesn't have eslint.
There are two solutions:

change the eslint rule so it accepts JSXNode
use JSXNode<string> or just any

Feel like making a PR? :)

@wmertens
Okay, I will make a PR to fix the eslint rule :)


Update check pop up continues, even when the script is already updated.

Describe the bug
Every time I open up a new tab on YouTube, it tells me to update the script even though it's already on 2.9.
Expected behavior
For it to not pop up at all when disabling the update check in the code.
Screenshots
https://imgur.com/a/LmblypB (Both screenshots are through this link)
Desktop

OS: Windows 10 22H2
Browser: Firefox
Version: 121.0

A new update popup has been implemented now that is no longer intrusive.


Fatal Error

Fatal error: Uncaught Error: Call to undefined function LinusU\Bitcoin\bcmul() in /var/www/html/oom/AddressValidator.php:82

bcmul() is a function in php. This error means that the php version on your server has not been compiled with the necessary library, called BC Math (http://php.net/manual/en/book.bc.php). You need to talk to your server admin about this.
ref: https://www.drupal.org/project/yr_verdata/issues/1159010


Thank you for creating this library

I have created a rails gem called smartcrop-rails, a wrapper of smartcrop.js for rails application.
Here are the links:
Github: https://github.com/sadiqmmm/smartcrop-rails
Rubygems: https://rubygems.org/gems/smartcrop-rails
Can you include in your readme / wiki / Docs / any.

A gem for a single js file without any actual rails integration seems like a lot of overhead..

I agree with you @koenpunt I don't like this wrapping javascript libraries in gems either. But if there are people who like that, who am I to judge. ;)
Added it to the README, thanks!


Remove links to additional elements in the PDF render

Closes #162

a. Sample text element (filename: sample.txt)
How about having the full relative path:
a. Sample text element (filename: ./elements/sample.txt)
And the HTML vs PDF rendering just turns on/off the <a> around the path itself, rather than rendering the [link] text?

That is significantly more difficult to do since it needs to be done in CSS alone

Gotcha. Does this also do the same thing for additional elements pointing to repos or non-relative links?

That is significantly more difficult to do since it needs to be done in CSS alone

Gotcha. Does this also do the same thing for additional elements pointing to repos or non-relative links?

Yes.
Let me try something slightly different.


prevent undefined.split error

process.version already defined as empty string in defunctzombie/node-process (used in browserify)

and redefine process.version is a bad thing, this will better:
var pVersion = process.version || ''
var pVersionMajor = parseInt(pVersion.split('.')[0].slice(1), 10)

Happy to merge a PR similar to what @fanatid mentioned above.


Resolver: resolving "eqfilter" AST filtering a simple string value

The PR introduces initial implementation to resolve an AST.
The current implementation supports only "eqfilter" operation as the root of the AST.
Only simple (not regext) strings can be filtered.
This PR is inspired by - https://github.com/nmstate/nmpolicy/pull/4/commits/ee26a0bd9fb784a14e5c9d6ae538ede8455ac890
Depends on https://github.com/nmstate/nmpolicy/pull/20

@AlonaKaplan looks like there are some linting issues too.

@AlonaKaplan Can you rebase it in top of https://github.com/nmstate/nmpolicy/pull/28 while we merge it ?


"Remind me" feature on events not working

Feedback from REconomy members:

I go to https://opencollective.com/reconomycop/events/community-wealth-building-models-on-both-sides-of-the-atlantic-781ev ... click on INTERESTED button, enter my email and hit REMIND ME button but nothing happens :-/

I tried the same, entered my email and clicked the green button "REMIND ME" and nothing happened.

@asood123 were you looking into this?

I just tried it and it works so closing.


docs: update readme with link to nuxt module

:tada: This PR is included in version 1.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


GPII-3103: Increasing minReplicas for nginx ingress controller and default backend

LGTM!
I like how you've introduced autoscaling with narrow parameters while we get a feel for how it works.


Feature: Have tau/config/validate.py script

@FiniteSingularity per our discussion earlier, I started a PR for this feature of a standalone script tau/config/validate.py. This script can be run on its own to validate whether certain environment variables are going to work correctly. It does all validations before finishing and logs some mix of warnings and then errors. If more than zero errors are found, it exits with an error code, so it could be used in docker-compose.yml file which the PR has in one particular spot. We could add security warnings about default passwords and such.

@FiniteSingularity I think this is ready for you to have a look at.  I think I have most of the checks that had been discussed on discord, and having this in place does indeed make docker-compose repeatedly restart tau-app while reporting errors.

If the user wants to use this script to validate settings before starting up docker, they could do this:
source ./scripts/loadenv.sh && ./tau/config/validate.py
As we discussed, I abandoned the attempt of working environment validation into db/scripts/init-user-db.sh, since this only can run the first time the postgres container starts, meaning that we can't use it to avoid the situation where the user has to remove the tau_postgres-data docker volume and start over. If you think it makes sense to move some of the Django database bootstrapping from this script back into wait_for_postgres.py, I don't know if it makes sense to work that change into this PR or into the other one with the docker changes.

@mtfoley I haven't had a chance to look at this in depth yet.  Now that we've greatly simplified the env vars, and initial setup (and moved the django DB setup to the app container), where does this validation script stand?  Is it worth taking another go at this to get it working with the new code?  Would love to hear your thoughts on this.

Great question. I'll bring it up to date with the latest and refactor it to make it more readable. I guess I would say it could still be helpful since it sounds like the connectivity scope will hopefully expand.

@FiniteSingularity I think it's up to date now.  However in updating this, I feel like I may have found a bug.  The only place I can find where you call source ./scripts/loadenv.sh is in the .devcontainer folder.  Shouldn't it also be in ./Dockerfile?

Closing this one. I can refer to this one if another should be opened.


Do not build Demangle on Swift 5.9 or above

Pull request #68 prevents Backtrace from being built on Swift 5.9 and above, but Demangle is still built and fails when the importing project uses musl.

The problem I ran into was similar to #71, but instead of making the library compatible with musl this change switches off the build on newer Swift versions, as #68 did for Backtrace.swift.

@swift-server-bot test this please

@swift-ci please smoke test

@swift-server-bot test this please

Hmmm we lost CI rights, @yim-lee do you think you could help?

@swift-server-bot add to allowlist

@FranzBusch @ktoso We need to do "add to allowlist" first. AFAIK no one can trigger a build if the CI doesn't recognize the PR author.
Also, can one of you approve and merge https://github.com/swift-server/swift-backtrace/pull/70 for Swift 5.10 CI please?

Oh I'm silly and forgot that... Thank you @yim-lee  -- merged the other thing


⚠ sandbox-api.piste.gouv.fr healthcheck has degraded performance

In 35015ad, sandbox-api.piste.gouv.fr healthcheck (https://sandbox-api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 4618 ms

Resolved: sandbox-api.piste.gouv.fr healthcheck performance has improved in 69db65a.


PlaywrightLauncher: Drafted solution of default browsers.

I think we should add the APIFY_DEFAULT_BROWSER_PATH to the apify-shared right?

I think we should add the APIFY_DEFAULT_BROWSER_PATH to the apify-shared right?

I don't know. It's not shared 😄 Let's not do it at this point. Nobody will miss it now.

I think we should add the APIFY_DEFAULT_BROWSER_PATH to the apify-shared right?

I don't know. It's not shared 😄 Let's not do it at this point. Nobody will miss it now.

I was asking because of the Apify.getEnv function. All the env vars are from shared.

I don't think it needs to be there. It's only a docker container hack. It does not have any informational value besides that.


clarify matching behavior for HTTP Headers

This patch adds support for regex and implementation-specific
behaviors for HTTP Header.
The name for the field has been changed to headers as multiple headers
are ANDed.
Fix #159

@jpeach I've incorporated your feedback.

When you specify a single constant for ImplementationSpecific matches, what do you do if an implementation has multiple different implementation-specific match types? (e.g. it might have 9 different regex options)

As we discussed in the service-apis call, the value itself can have the meta information for this purpose. We should have a separate discussion for this issue and solve it for both PathType and HeaderMatchType.
@robscott @aledbf PTAL.

@robscott Can you take a look again please?

On May 19, 2020, at 5:16 AM, Miciah Dashiel Butler Masters<EMAIL_ADDRESS>wrote:
It would be useful to document the semantics with respect to whitespace and folding. For example, "Neither leading nor trailing whitespace is stripped from the received header before comparison,

I don’t think that this is standards conforming. HTTP/1.1 has specific rules about white space in headers.

This PR is ready for another pass.

drop one reference to whitespace in header values

I don't have a preference either way.

ping @robscott @Miciah @jpeach

I've opened up https://github.com/kubernetes-sigs/service-apis/issues/213 to track the matching problem for headers with multiple values.
I've also removed the line that mentioned whitespace stripping behavior.
PTAL.

Ping @Miciah @robscott.
If the patch looks good, I'll rebase to resolve the conflict.

This looks good to me, thanks! I think it would be good to revisit this and try to add more specificity around how the different match types will work, but I think it's a great improvement over what we currently have.
/lgtm

/approve
let's remember the comments and merge this for now

This looks good to me, thanks! I think it would be good to revisit this and try to add more specificity around how the different match types will work, but I think it's a great improvement over what we currently have.

Yes. I plan on taking up #190 once this is merged in. Rebasing now.

Rebased. @robscott @bowei  This will need another /lgtm.

/lgtm
/approve
thanks!


Slow shrine hero animations in debug build

@HansMuller @Hixie
I looked into if there was any obvious performance bottleneck affecting shrine hero animations (shrine -> product order page). I've attached screenshots of the profile and then the profile with the assertion call expanded. There don't appear to be any obvious bottlenecks.

In production mode, on the devices I've tested with, I've seen that the first hero UP misses frames. Then, the second, third, etc hero UPs perform much better. See also: https://github.com/flutter/flutter/issues/5363

My guess is that there's two things at work here; one is that we suddenly have to compile a bunch of code that hasn't run before (hence why it's better the second time), and the other is that when you first build a bunch of new widgets (e.g. the first page of the next route) we run a bunch of expensive O(N²) layout assertions.


Increment version for eventhub releases

Increment version for eventhub releases

Can one of the admins verify this patch?

@serkantkaraca:  I'll defer to you on this one;  I'm not sure if it aligns with your strategy for incrementing and I think it conflicts with another PR.

@serkantkaraca:  I'll defer to you on this one;  I'm not sure if it aligns with your strategy for incrementing and I think it conflicts with another PR.

@serkantkaraca: I'll defer to you on this one; I'm not sure if it aligns with your strategy for incrementing and I think it conflicts with another PR.

@jsquire do we still need this PR? I already bumped up to 4.3.1 which works fine with our stress tests.

@serkantkaraca: Nope.  If you bumped the version already and you're comfortable with that version then this can be abandoned and closed out.   I'll close it, but feel free to reopen if you change your mind.


[Proposal]: Add type annotations to the code or add stub files

Issue guidelines

[X] I've read the Issue Guidelines and wholeheartedly agree.

Issue Checklist

[X] I have searched open or closed issues and found nothing related to my idea.
[X] I have read the Documentation and it doesn't mention anything about my idea.
[X] To my best knowledge, my idea wouldn't break something for other users.

Describe your Idea
PEP 484 – Type Hints
Stub files
Use Cases
To simplify integration into existing projects that have type annotations.
Any other Relevant Information?
Not sure about my availability (whether I will be able to contribute in the near future), but at least I can review a pull request if anyone will submit one.

@AIGeneratedUsername Yeah, I would love to have this for vidgear. Type annotations enhance code clarity, facilitate type checking, and maintain consistency within the codebase, ultimately improving development efficiency and code quality.

@simon-liebehenschel This issue is successfully fixed and merged in commit: https://github.com/abhiTronix/vidgear/commit/31550b648025b5fef493c11797a196f237acbdc7


Implement NodeParentList

Description
Represents a list of a node's  parent Nodes (excluding the root Scene
Details
Should implement IReadOnlyList and only be mutable internally
Should be locked for access while a Node is being detached

Discarded in favor of using NodeList


Latest version

Updated universe to latest crossfilter and reductio
remove data with predicate as per https://github.com/crossfilter/crossfilter/wiki/API-Reference#wiki-crossfilter_remove
make sure active filters are reapplied weh add/remove data
add build version to the package

Hey @tannerlinsley  - any chance this get reviewed ?
The ability to remove data with predicate is very useful when you want to deal dynamically with data update. In this case, you need a way to tell universe which data to remove and then add them again to the data store.


fatal: Not a git repository (or any of the parent directories): .git

Get this error after all steps successfully and run empty room command or mp3d by typing
"python3 -m minos.tools.pygame_client --dataset mp3d --scene_ids 2t7WUuJeko7 --env_config pointgoal_mp3d_s"

This has been fixed in v0.7.x branch of the code (we will ignore exceptions that comes from trying to track the git version).


Vitest

PLIP (Plone Improvement Proposal)
Responsible Persons
Proposer: Víctor Fernandez de Alba (@sneridagh)
Seconder:
Abstract
Replace Jest with Vitest as the Volto unit test runner.
Motivation
Jest is showing its age compared to Vitest. Vitest is the unit test runner that uses Vite under the hood. It uses a zero configuration model, thanks to be Vite-based. It's faster as it is Vite who transpiles the code.
Assumptions
None.
Proposal & Implementation
Vitest shares the same syntax as they use Mocha/Chai we will have to adapt the test setup to meet Vitest requirements and move the mocks to the Vitest style, if needed.
Deliverables
Volto will be using Vitest instead of Jest for running tests.
Documentation on how to migrate projects and add-ons to use Vitest.
Documentation on Vitest.
Risks
None.
Participants
Open for volunteers. This could be easily a GSOC for next year.

I am working on this issue. It requires a systematic approach for migration, and I will provide regular updates on my progress.


Noob Harmony hub homebridge custom RF and broad link-rm

Hi all. I just got my RPi running home bridge with home alarm system, door lock and IKEA lights hub.
Just bought the harmony hub and need som help. I am learning config.json slowly so bare with me.
With my harmony hub I now want to know if there is any possibility to add custom rf commands in my config file to make te harmony hub send command I like to my DVR thru SIRI. ex: "Hey Siri, switch to Eurosport" or " put on SKY sports" or "Show me the TV guide"
And does broad link-rm work with harmony hub as only hardware?
Any help is valued. Have a good evening to all.
Regards, Kenneth - Trondheim - Norway

Closing this - feel free to re-open


Razorpay Version 2.9.1 for NodeJS uses Vulnerable Dependencies

Guys, what is the update with this bugfix ? Please get it tested and live soon. Waiting on you guys to make my project reach 0 vulnerabilities.

@razorpay-sanjib  @aishrazorpay @amitrazorpay  @bala-razorpay @KanhaRazorpay @tanmayrazorpay

Created a PR #397 which resolves the issue. Used axios instead of request and request-promise.
Here is the comparison chart for alternatives of request package: https://github.com/sindresorhus/got#comparison
P.S.: Wanted to use got but they don't support commonjs anymore since v11 (which is no longer maintained), so used axios instead.


Unable to use gigya on client side

Hi,
I wanted to use gigya on client side in Angular project.
I didn't find the accounts.showScreenSet() method so I just referred to the Gigya.request('accounts.showScreenSet', {...}).
But what I get is this error:
EXCEPTION: Uncaught (in promise): TypeError: fs.readFileSync is not a function
TypeError: fs.readFileSync is not a function
at getCertificate (http://localhost:4200/vendor.bundle.js:133782:26)
at http://localhost:4200/vendor.bundle.js:133795:17
at new ZoneAwarePromise (http://localhost:4200/polyfills.bundle.js:745:29)
at Gigya.exports.httpRequest (http://localhost:4200/vendor.bundle.js:133790:12)
at Gigya. (http://localhost:4200/vendor.bundle.js:96419:51)
at step (http://localhost:4200/vendor.bundle.js:96286:23)
at Object.next (http://localhost:4200/vendor.bundle.js:96267:53)
at http://localhost:4200/vendor.bundle.js:96261:71
at new ZoneAwarePromise (http://localhost:4200/polyfills.bundle.js:745:29)
at __awaiter (http://localhost:4200/vendor.bundle.js:96257:12)
at Gigya._request (http://localhost:4200/vendor.bundle.js:96373:16)
at Gigya. (http://localhost:4200/vendor.bundle.js:96364:44)
at step (http://localhost:4200/vendor.bundle.js:96286:23)
at Object.next (http://localhost:4200/vendor.bundle.js:96267:53)
at http://localhost:4200/vendor.bundle.js:96261:71
I didn't try to investigate it but by the error message it's obvious that this lib is designed for node applications.
The question is: is it possible to configure it somehow for client application? Or maybe there is already some other package that I could use in a Angular application? Currently all I have is just the Gigya's SDK available via CDN.

yep, this is for node development.
the websdk for front-end implementation:
http://developers.gigya.com/display/GD/Web+SDK

This SDK requires sensitive information (your secret key) to function, so it can't be used on the client-side. Regardless, it implements APIs only (no UIs).


hotfix/oauth -> dev

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

a discussion (no related file):
Let's wait to merge this until we decided whether to remove the auto sync

Comments from Reviewable

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

app/src/main/java/edu/byu/suite/mainScreen/FavoritesActivity.java, line 331 at r2 (raw file):

			// this attempts to load their name and other account info
			AccountInformation.sync(this, account, result -> {
				if (result != null) {

Add an && here that will only call updateLoginStatus if the preferred name changed

Comments from Reviewable

Review status: 1 of 2 files reviewed at latest revision, 2 unresolved discussions.

app/src/main/java/edu/byu/suite/mainScreen/FavoritesActivity.java, line 331 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Add an && here that will only call updateLoginStatus if the preferred name changed

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

app/src/main/java/edu/byu/suite/mainScreen/FavoritesActivity.java, line 331 at r2 (raw file):
Previously, geogor37 (Geoff Gorham) wrote…
Done.

Oh wow... that was a lot more complicated than I thought... I was hoping for something closer to this:
if (result != null && result.getPreferredName() != null && result.getPreferredName().equals(accountInformation.getPreferredName()) {
...
}

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 2 unresolved discussions.

app/src/main/java/edu/byu/suite/mainScreen/FavoritesActivity.java, line 331 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Oh wow... that was a lot more complicated than I thought... I was hoping for something closer to this:
if (result != null && result.getPreferredName() != null && result.getPreferredName().equals(accountInformation.getPreferredName()) {
...
}

Done.

Comments from Reviewable

Reviewed 5 of 6 files at r4.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

app/src/main/java/edu/byu/suite/mainScreen/FavoritesActivity.java, line 331 at r4 (raw file):

			// this attempts to load their name and other account info
			AccountInformation.sync(this, account, result -> {
				if (result != null && result.getPreferredName() != null && accountInformation != null && !result.getPreferredName().equals(accountInformation.getPreferredName())) {

Add comment

support/src/main/java/edu/byu/support/login/LoginActivity.java, line 53 at r4 (raw file):

				OAuthToken token = response.body();
				if (token == null || !token.isValid()) {
					onFailure(call, new ByuError(getString(R.string.invalid_token_message)));

Use empty string

Comments from Reviewable

Reviewed 2 of 3 files at r5.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


access_logger: correctly throw exception for grpc logger

Signed-off-by: Takeshi Yoneda<EMAIL_ADDRESS>Commit Message: access_logger: correctly throw exception for gRPC logger
Additional Description: As described in  https://github.com/envoyproxy/envoy/issues/15458, the current implementation of gRPC access loggers potentially throws exception in the worker threads due to usage of AsyncClientManager::factoryForGrpcService in the ThreadLocal::SlotPtr::set. This commit fixes this by checking the gRPC clusters' health in the main thread before going into the tls setters.
Risk Level: low
Testing: unittest
[Optional Fixes #Issue]  https://github.com/istio/istio/issues/34901 https://github.com/envoyproxy/envoy/issues/15458

/wait


Dropdown in nav-item: arrow placement

When using dropdown in navbar and if any HTML tag is inside the .dropdown-toggle, the caret absolute position goes to the left… Only on blink based browsers (Chromium, Brave, Vivaldi…).
Eg:

    Mon compte
    3

I'm working with v4 alpha 5, BTW.
I'll fix this locally but that may be a dropdown bug (adding right: .625rem; to the .dropdown-toggle::after seems to do the job).

Yes I've reproduce it on alpha.5
But not on alpha.6
Sorry for this alpha.5 bug, you'll need to keep your fix until upgrading to alpha.6

Looks good to me, I close this one :)
Thanks!


Clang 18 support

It seems like Sol no longer works on the newest Clang release:
sol/function_types.hpp:110:31: error: address of overloaded function 'call' does not match required type 'int (lua_State *)'
  110 |                                 lua_CFunction freefunc = &function_detail::upvalue_this_member_variable<C, Fx>::template call<is_yielding, no_trampoline>;

Nevermind, I didn't search the issues, this is a duplicate:
#1581
#1560
#1588


Potential bug is camera preview, reg. aspect ratio . .

Godot version
3.4 latest . .
System information
Windows 10 . .
Issue description
Uh, not sure this is a bug, tried making an accurate 16:9 mesh, for letterboxing, idea was to scale it, to add letterbox - stuff . . .
Made a mesh, in Blender, and scaled it to match 16:9, 1280x720p has same aspect - ratio, 1.777777 . . However, the lines don't match up, see here . . .

Well, shouldn't the yellow line, project settings is set, to 1280x720, match up with the well reference mesh, anyway, this might be a problem, later in rendering, well not sure it's important . . .
Not really sure why they don't match up, maybe it leads to distortion, later, when camera renders scene, or it isn't accurate, to the pixel ratio, well might not even be bug, not sure why it happens, thanks . . . .
Steps to reproduce
Make a mesh, in Blender, and scale a center quad, to match 16:9, some ratio . . Then, make this . . <3

I just took center square, after 3x3 sub - division, scaled the x to 1.6, and y to 0.9, and put it in Godot, in front of the camera, since aspect ratio is same for 1280x720p, 1.777777, well, not sure why the lines don't add up . .

Well, it might also lead to camera not sort-of accurately rendering a scene, or lead to, something like stretching, or so . . .
Well, have several plans, for instance make something like Wind in the Willows, it'd be nice if things, were more accurate . . :OO Thx . . .
Minimal reproduction project
Like above, takes a few minutes to make a reference mesh, it's more about accuracy, not sure . . . .

Well, atm. Godot doesn't have a sort-of preview, for cinematics, made a prototype, mind that, I only make cinematics, if I have a project that makes sense or, has well character . . . It's I think a calm, well as ' good as it gets ' preview, for working in cinematics, it's not finished . . . <3

Anyway, it's a nice way to frame a shot, also modest, calm, simple . . So, if I could suggest, assuming there's a worthy reason, to even make 'cinematics', well I feel best working like this, looks pretty cool . . . There could be a few variations of this, perhaps make a node, name it CinematicCamera3D, or PreviewCamera <3 Thx . . . .

The default project window size is 1024×600. This resolution is not 16:9, it's roughly 1.71.

Yes, but my resolution is 1280x720, not 1024x600 :OO . . .

Ok, it works, well made Godot into a pro - cinematic software suite . . .

Well, one can do nice things, with bit tweaking <3

Closing, as this is not an issue within Godot.


Poor coverage of null case when testing MonoidNull laws for Product Int.

This leads to the generation of an excessive number of examples:
  Testing MonoidNull laws for type Product Int
    monoidNullLaw_basic [✔]
      +++ OK, passed 819200 tests:
      99.0284% a /= mempty
       0.9716% a == mempty

Fixed by #28.


Quality of Service - Configuration

Background

As per the Quality of Service, documentation we can set up TimeoutValue in isolation of the ExceptionsAllowedBeforeBreaking and DurationOfBreak options. I'm trying to only use TimeoutValue property without the other two.

Expected Behavior

Expected Behavior is that if I have just configure TimeoutValue then I should be able to call the API Gateway without any issue.

Actual Behavior

Configuring just the TimeoutValue returns 500 Internal Server Error. Here are logs:

[WRN] requestId: 80000010-0007-ff00-b63f-84710c7967bb, previousRequestId: no previous request id, message: Error making http request, exception: System.ArgumentException: The enumerable of policies to form the wrap must contain at least two policies.
Parameter name: policies
   at Polly.Policy.WrapAsync(IAsyncPolicy[] policies) in C:\projects\polly\src\Polly.Shared\Wrap\PolicyWrapSyntaxAsync.cs:line 93
   at Ocelot.Provider.Polly.PollyCircuitBreakingDelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Ocelot.Requester.HttpClientHttpRequester.GetResponse(DownstreamContext context)

[WRN] requestId: 80000010-0007-ff00-b63f-84710c7967bb, previousRequestId: no previous request id, message: Error Code: UnableToCompleteRequestError Message: Error making http request, exception: System.ArgumentException: The enumerable of policies to form the wrap must contain at least two policies.
Parameter name: policies
   at Polly.Policy.WrapAsync(IAsyncPolicy[] policies) in C:\projects\polly\src\Polly.Shared\Wrap\PolicyWrapSyntaxAsync.cs:line 93
   at Ocelot.Provider.Polly.PollyCircuitBreakingDelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Ocelot.Requester.HttpClientHttpRequester.GetResponse(DownstreamContext context) errors found in ResponderMiddleware. Setting error response for request path:/api/HomeAssessment/Codification/slowService/20, request method: GET
2019-05-31 11:54:27.395 +10:00 [ERR] <End Request> GET /api/HomeAssessment/Codification/slowService/20 500 8ms

Additional Information
This issue can be also be reproduced with Ocelot.AcceptanceTests -> PollyQoSTests. If we remove property  ExceptionsAllowedBeforeBreaking from should_timeout and should_not_timeout methods, we get InternalServerError. As per documentation, this should not be case.

Any solution?
I am also facing the same issue.

Same issue for me.  Appear to be getting the same error even with all 3 options provided.  Would like to be able to only set TimeoutValue.
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking":3,
"DurationOfBreak":1000,
"TimeoutValue":5000
}

@TomPallister Did you archived this project or not?

I'm using Ocelot version 17.0 (the latest on nuget) and still having this issue. Is there any workaround for this?


Update Sample App in Google Play store

[ ] Add a sample entity and listing to the Sample App
[ ] Update the Sample App in the Google Play store with latest update
[ ] Link to the sample app in the readme and elsewhere

https://github.com/ruddell/IgniteJhipsterSampleApp
https://play.google.com/store/apps/details?id=com.ignitejhipstersampleapp

Tracking in Pre-v1 issue


Collection elements injection scope

Right now there is no way to control collection element scope.
This can lead to unexpected results.
For example we have an injector with singleton scope by default and want to bind some Map unscoped.
We can try something like this binder.bindeMap(..).withoutScope(). This indeed will return new map instance on each provider call, however content will be always the same as all elements inside map will be bound in default scope (i.e. singleton).
We have two options here:

use map scope on all elements (except for elements bound by keys, as we can't control their bindings)
allow to define scope for every element in the collection

Any problem with keeping Collection and its elements scopes independent from each other?

@andrus yes it have its own scope right now, you can't control it effectively (or am I missing something?) :)

Ok, I may have misunderstood what is proposed here. So you are suggesting adding scope to collections themselves, and then make a distinction between the scopes of collection elements bound implicitly and explicitly?

Yes, something like this. But I'm not sure it is a feature we need right now, I've just found this confusing as a user.


feat: Set max height on a Select component

Is your feature request related to a problem? Please describe.
I have a select component where the number of input elements is dynamic. It can be as few as 2 or 3 elements or even a few dozen. The problem is that if I don't set a height on a select component and I have lots of elements to display, the selection starts in the middle of the list.

If I set a fixed height, this fixes my problem for big lists:

However, for short lists, I get a UI that is too big:

Describe the solution you'd like
My ideal UI would be what survey does by default:

For huh I would maybe imagine a .MaxHeight() method so that the small list would still fit the contents, but the big list would be contained within the MaxHeight value.
// Select is a form select field.
type Select[T comparable] struct {
	value    *T
	key      string
	viewport viewport.Model

	// customization
	title           string
	description     string
	options         []Option[T]
	filteredOptions []Option[T]
	height          int
+	maxHeight       int

...

+ func (s *Select[T]) MaxHeight(height int) *Select[T] {
+ 	s.maxHeight = height
+ 	s.updateViewportHeight()
+ 	return s
+ }

func (s *Select[T]) updateViewportHeight() {
	// If no height is set size the viewport to the number of options.
-	if s.height <= 0 {
-		s.viewport.Height = len(s.options)
-		return
-	}
+	if s.height <= 0 {
+		s.viewport.Height = min(len(s.options), s.maxHeight)
+		return
+	}

	// Wait until the theme has appied.
	if s.theme == nil {
		return
	}

	const minHeight = 1
-	s.viewport.Height = max(minHeight, s.height-
-		lipgloss.Height(s.titleView())-
-		lipgloss.Height(s.descriptionView()))
+	s.viewport.Height = max(minHeight, min(s.height-
+		lipgloss.Height(s.titleView())-
+		lipgloss.Height(s.descriptionView()), s.maxHeight))
}

This would result in the desired UI state:

Describe alternatives you've considered
Have the .Height() method shrink to fit the contents by default and add a parameter to .Height() to allow users to make it a fixed height if they want.
Additional context
Here's how I'm currently using the Select component:
// PromptSelect launches the selection UI
func PromptSelect(message string, options []string) (string, error) {
	var result string
	form := huh.NewForm(
		huh.NewGroup(
			huh.NewSelect[string]().
				Title(message).
				Height(10).
				Options(huh.NewOptions(options...)...).
				Value(&result),
		),
	).WithKeyMap(NewKeyMap())

	err := form.Run()
	if err != nil {
		return "", ExitUserSelectionError{Err: err}
	}
	return result, nil
}

Hey there! Thank you so much for creating this issue.
We introduced the Height attribute on the Select and MultiSelect fields to give them the ability to scroll. Let us know if that fixes your issue! If it doesn't work for you, please feel free to reopen this issue!

https://github.com/charmbracelet/huh/pull/76


ESModules: tsconfigPaths is not a function; no default export

In an ESModule project, the default export is { default: [Function (anonymous)] } which also breaks type information in ESM Typescript projects.
I've had to do this to work around it:
import _tsconfigPaths from 'vite-tsconfig-paths';
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-ignore
const tsconfigPaths: typeof _tsconfigPaths = _tsconfigPaths.default;

Perhaps the easiest solution would be to create two dist bundles, one classic Node and one ESM. In trying to make my own vite plugins and looking at the others out there, creating two bundles seems to be pretty ubiquitous.
Reproduction: https://github.com/josh-hemphill/vite-tsconfig-paths/tree/esm-errored

Please reproduce the issue in the ./demo folder of this repo.

@aleclarson Here's the requested reproduction: https://github.com/josh-hemphill/vite-tsconfig-paths/tree/esm-errored

What's the use case for "type": "module" with a Vite project? Are you using lib mode?

No, I just prefer running with "type": "module" across everything. I've been migrating from Webpack and my project is already "type": "module" so I'd like avoid having to also migrate backwards to "type": "commonjs"

creating two bundles seems to be pretty ubiquitous

It doesn't appear that Vite's official plugins do this.
But @vitejs/plugin-vue does the following:
module.exports = vuePlugin;
vuePlugin["default"] = vuePlugin;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  parseVueRequest
});

Though I'm not sure how that last statement gets there, as it's missing from the source code:
https://github.com/vitejs/vite/blob/ad5d28d1fcd027e9c92c1447698b27f3da6655a4/packages/plugin-vue/src/index.ts#L167-L169

Well their using esbuild for the bundle generation and tsc just for the declartaions, so presumably it's an artifact of esbuild.
A couple of the vite plugins I've seen have been using tsup to build which automatically generates an es and commonjs bundles.
I've been working on a favicon plugin and tsup has been pretty nice (though purposefully lacking in configuration, which did cause me to need to copy over any external declarations during build that I wanted to re-export if I was building from ESM)

I'd be open to a PR that adds tsup


Multi-GPU is broken

2x3090 instance on Runpod using the Runpod notebook on their Stable Diffusion image. I can train on GPU 0, but not 0 and 1 together or even separately. Running on GPU 0 works fine.
Here is what happens when I am training on GPU 0, and try to start a separate training on GPU 1.

Traceback (most recent call last):
  File "main.py", line 665, in <module>
    model = load_model_from_config(config, opt.actual_resume)
  File "main.py", line 42, in load_model_from_config
    model.cuda()
  File "/venv/lib/python3.8/site-packages/pytorch_lightning/core/mixins/device_dtype_mixin.py", line 138, in cuda
    return super().cuda(device=device)
  File "/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 688, in cuda
    return self._apply(lambda t: t.cuda(device))
  File "/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 578, in _apply
    module._apply(fn)
  File "/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 578, in _apply
    module._apply(fn)
  File "/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 578, in _apply
    module._apply(fn)
  [Previous line repeated 1 more time]
  File "/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 601, in _apply
    param_applied = fn(param)
  File "/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 688, in <lambda>
    return self._apply(lambda t: t.cuda(device))
RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 23.70 GiB total capacity; 0 bytes already allocated; 13.56 MiB free; 0 bytes reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 883, in <module>
    if trainer.global_rank == 0:
NameError: name 'trainer' is not defined

Im having the same problem, but with 0 GPU, with normal configuration :(,

Something like this would fix it, no? Pass in gpuinfo when it is called in main.py.
def load_model_from_config(config, gpuinfo, ckpt, verbose=False):
    print(f"Loading model from {ckpt}")
    pl_sd = torch.load(ckpt, map_location="cpu")
    sd = pl_sd["state_dict"]
    config.model.params.ckpt_path = ckpt
    model = instantiate_from_config(config.model)
    m, u = model.load_state_dict(sd, strict=False)
    if len(m) > 0 and verbose:
        print("missing keys:")
        print(m)
    if len(u) > 0 and verbose:
        print("unexpected keys:")
        print(u)

    device = torch.device("cuda:" + str(gpuinfo).rstrip(",")) if torch.cuda.is_available() else torch.device("cpu")
    model.to(device)
    model.eval()
    return model

model.cuda() only calls on GPU 0.

Is multi GPU supposed to be supported?

Potentially related (NameError: name 'trainer' is not defined):

https://github.com/JoePenna/Dreambooth-Stable-Diffusion/issues/28
https://github.com/JoePenna/Dreambooth-Stable-Diffusion/issues/53
https://github.com/JoePenna/Dreambooth-Stable-Diffusion/issues/86
https://github.com/JoePenna/Dreambooth-Stable-Diffusion/issues/87

Something like this would fix it, no? Pass in gpuinfo when it is called in main.py.

The following seems to give a solution:

https://datascience.stackexchange.com/questions/54907/model-cuda-in-pytorch

model.cuda() by default will send your model to the "current device", which can be set with torch.cuda.set_device(device).
An alternative way to send the model to a specific device is model.to(torch.device('cuda:0')).
This, of course, is subject to the device visibility specified in the environment variable CUDA_VISIBLE_DEVICES.
You can check GPU usage with nvidia-smi. Also, nvtop is very nice for this.
The standard way in PyTorch to train a model in multiple GPUs is to use nn.DataParallel which copies the model to the GPUs and during training splits the batch among them and combines the individual outputs.

Following in the hope this get supported :)

No plans to support this, PR's welcome though if you can figure it out


Make JID parts public

I am writing a MUC like server component with this library. My server component have to get and interpret each part of JID such as local part, domain part, and resource part. Public API to access to each part is required, because my sever component code is in out of this xmpp package.
I made each field public, simply. I renamed from username to Local to accord to RFC 7622.
Thank you for your great project.

Thanks for the patch. I have integrated in https://github.com/FluuxIO/go-xmpp/commit/1be04b0fba234c1ccd3b1854dc643fea8a05493d using naming scheme coming from XEP-0029 (see: https://xmpp.org/extensions/xep-0029.html).

Thank you @mremond !!


New Metric or additional Label for Http Requests failed at BIG-IP modules (LTM/ASM)

Is your feature request related to a problem? Please describe.
We want to get segregation of HTTP response codes with which requests are rejected by BIG-IP modules ASM/LTM and which are coming from backend pools. We are using Prometheus PULL consumer.
Specially for metrics: f5_4xxResp, f5_5xxResp
Describe the solution you'd like
Following metric is coming today as below:
f5_4xxResp{host="azt1waf-wus-i5prod-A-03-vmss_2",httpProfiles="/Common/http"}
If we have a new Label attached to , it would be really great
f5_4xxResp{host="azt1waf-wus-i5prod-A-03-vmss_2",httpProfiles="/Common/http", failedAt="ltm" }
f5_4xxResp{host="azt1waf-wus-i5prod-A-03-vmss_2",httpProfiles="/Common/http", failedAt="asm" }
Describe alternatives you've considered
Another alternative could be to have separate metrics:
f5_4xxResp_asm
f5_4xxResp_ltm
Additional context
Our SRE/NOC teams are always requesting this data from us. As we have layered architecture and requests can be rejected from any hop. F5 BIGIP is a critical hop for our deployments and we need to help them in debugging on critical issues.

Our Open Telemetry consumer gathers some additional tag data that it attaches to metrics. Does forwarding the data through an Open Telemetry Collector solve your issue?
https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/setting-up-consumer.html#opent


[e2e]: container schedule main provenance-repository slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/10626119955
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.provenance-repository.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.provenance-repository.slsa3.yml
Trigger: schedule
Branch: main
Date: Fri Aug 30 03:08:07 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/10641913958
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.provenance-repository.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.provenance-repository.slsa3.yml
Trigger: schedule
Branch: main
Date: Sat Aug 31 03:08:17 UTC 2024
Tests are passing now. Closing this issue.