Fixes to exit tests.

This PR supersedes #603, #613, and #614. Exit tests remain an experimental feature.
Clarify that 8-bit exit codes aren't a problem on macOS and Windows. (#603)
The documentation for the experimental exit tests feature currently says that on POSIX-like systems, only the low 8 bits of a process' exit code are preserved. This would be true if we used wait(), wait4(), etc. and WEXITSTATUS(), but we use waitid() instead which is supposed to preserve the full exit code. It does so on Darwin, but not on Linux; Windows doesn't use waitid() but does report the full exit code.
Now, we're not currently building for any other POSIX-like systems that support processes (WASI/Wasm doesn't count here), so I've left in some weasel words and added a canary unit test. It will let us know if/when we add a platform that where waitid() doesn't preserve all the bits of the exit code, and we can amend the documentation in that case.
Implement an equality operator for ExitCondition. (#613)
This PR implements == and === for ExitCondition, part of the experimental exit tests feature. These operators are necessary in order to allow for exit tests to support more complex matching by trailing closure (e.g. to support inspecting stdout.) Because .failure is a fuzzy case, == fuzzy-matches while === exactly matches. Hashable conformance is unavailable.
Example usage:
let lhs: ExitCondition = .failure
let rhs: ExitCondition = .signal(SIGTERM)
print(lhs == rhs) // prints "true"
print(lhs === rhs) // prints "false"

Allow throwing an error from an exit test's body. (#614)
This PR amends the signatures of the exit test macros (#expect(exitsWith:) {} and try #require(exitsWith:) {}) to allow bodies to throw errors. If they do, they are treated as uncaught errors and the child process terminates abnormally (in the same way it does if an error is thrown from the main function of a Swift program.)
Checklist:

[x] Code and documentation should follow the style of the Style Guide.
[x] If public symbols are renamed or modified, DocC references should be updated.

@swift-ci please test

@swift-ci please test

@swift-ci please test Windows

@swift-ci please test

@swift-ci please test

@swift-ci please test


Added skipUninstall option for plugin config and CLI arguments

Please set issue #17 for more information on the issue. This option allows a project to bypass the uninstall which is useful when using other tooling such as lerna. In those cases, bypassing the uninstall is the only option without providing a vendor-specific and potentially complex solution.

The option will default to false, maintaining the same behavior of uninstalling the plugin.


Fix mono-repo "failed to create object" error

Rename Update to Apply to reflect existing client-side apply behavior
Add an Update method to update directly (and send metrics) when the Get has already been performed
Fix "failed to create object" error in the mono-repo finalizer by switching from Upsert to Apply
Remove unused Upsert function
Add additional equivelency checks to avoid updates when using Apply and ApplyStatus

/unhold


Custom connector - online refresh and gateway error

Hi all,
Having trouble refreshing a published online report that uses a custom connector. We've never been able to refresh this report online, only on desktop.
We have a custom connector that calls a REST API using basic auth, the auth credentials are passed through the custom connector and credentials are collected from the user in Power BI. I've got an on-premises gateway (NOT personal) that is installed and says it is online and ready. My custom connector shows up in the gateway under Connectors, the file path is set to either c:\temp or the c:\users..\Power BI Desktop\Custom Connectors folder. I get the same result regardless of file path, service account has full access to both.
The published report shows that the gateway is not configured correctly and when expanded to show data sources included, it shows the error Cannot be added to gateway    Extension{"extensionDataSourceKind":"MyDataConnectorNameHere","extensionDataSourcePath":"{"SubscriptionKey":"sdfsdfsdf","AttendanceStartDate":"2021-01-01"}"} My custom connector doesn't show up in the data sources available for the gateway.
Error log for the gateway shows only "DM.EnterpriseGateway Error: 0 : 2021-11-16T20:26:02.1622734Z DM.EnterpriseGateway	00000000-0000-0000-0000-000000000000	00000000-0000-0000-0000-000000000000	0000	00000000-0000-0000-0000-000000000000	00000000-0000-0000-0000-000000000000	00000000-0000-0000-0000-000000000000	25E31978 [DM.Analytics] Performance counters not installed, application performance metrics will not be traced (category = Microsoft Power BI Enterprise Gateway)".
I'm talking to support about it but wanted to reach out here to see if anyone had suggestions.
Thank you,
cmbUIT

Hello,
We have the exact same issue with one of our custom connector.
In addition, when we want to add a new Data Source to our gateway from PowerBI Service, the connector isn't listed. But it is listed in the Gateway Cluster.
Rgds

Hey!
Apologies for the late reply on this. My name is Miguel Escobar, and I recently joined the Power Query SDK team as Product Manager.
For questions related to the Power Query SDK, Power BI Custom Connectors, or Power Query in general, we recommend posting those questions in the official Power Query forum inside the Power BI Community site. You can find more information about this from the last section of the readme file of this repo. If you have any issues related to the Gateway, you can also raise a support ticket through the Power BI portal.
One possibility is that the gateway doesn't have permissions to read the files in the directory that you've selected and that's why its not showing up in the gateway application itself.
Thank you!
Miguel Escobar
Product Manager @ Microsoft


pynetbox.lib.query.RequestError: The request failed with code 400 Bad Request

I  get this error both in Centos 7.6  and in a container  running debian and python 3.7.3
My netbox is versionn 2.5.8
root@b456e5f91474:~/netbox-scanner# pip freeze

asn1crypto==0.24.0
bcrypt==3.1.4
certifi==2018.8.24
cffi==1.11.5
chardet==3.0.4
cpe==1.2.1
cryptography==2.3.1
idna==2.7
netaddr==0.7.19
paramiko==2.4.2
pyasn1==0.4.4
pycparser==2.19
PyNaCl==1.3.0
pynetbox==3.4.6
python-nmap==0.6.1
requests==2.19.1
six==1.11.0
urllib3==1.23

root@b456e5f91474:~/netbox-scanner# python --version
Python 3.7.3

Here is the stack trace:
root@b456e5f91474:~/netbox-scanner# python netbox-scanner-master/netbox-scanner/nbscanner
Traceback (most recent call last):
  File "netbox-scanner-master/netbox-scanner/nbscanner", line 75, in <module>
    nbs.sync(networks)
  File "/root/netbox-scanner/netbox-scanner-master/netbox-scanner/nbscanner.py", line 223, in sync
    self.sync_network(network)
  File "/root/netbox-scanner/netbox-scanner-master/netbox-scanner/nbscanner.py", line 157, in sync_network
    self.sync_host(host)
  File "/root/netbox-scanner/netbox-scanner-master/netbox-scanner/nbscanner.py", line 131, in sync_host
    nbhost = self.netbox.ipam.ip_addresses.get(address=host[0])
  File "/usr/local/lib/python3.7/site-packages/pynetbox/lib/endpoint.py", line 157, in get
    filter_lookup = self.filter(**kwargs)
  File "/usr/local/lib/python3.7/site-packages/pynetbox/lib/endpoint.py", line 247, in filter
    for i in req.get()
  File "/usr/local/lib/python3.7/site-packages/pynetbox/lib/query.py", line 240, in get
    return req_all(self.url)
  File "/usr/local/lib/python3.7/site-packages/pynetbox/lib/query.py", line 222, in req_all
    req = make_request(url)
  File "/usr/local/lib/python3.7/site-packages/pynetbox/lib/query.py", line 219, in make_request
    raise RequestError(req)
pynetbox.lib.query.RequestError: The request failed with code 400 Bad Request

It looks like a mismatch between pynetbox v3.4.6 and NetBox v2.5.8 --I built this script using NetBox v2.4.4 and current version of pynetbox is 4.0.6.
I can't reproduce this environment right now (NetBox v2.5.8), but just made a new commit updating all versions of dependencies. Please, try this new version and send me a reply (it worked for me pynetbox v4.0.6 and NetBox v2.4.4).

Ok,
downloaded new zip from master:
pip install --upgrade -r requirements.txt
root@b456e5f91474:~/netbox-scanner# pip freeze
asn1crypto==0.24.0
bcrypt==3.1.6
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4
cpe==1.2.1
cryptography==2.6.1
idna==2.8
netaddr==0.7.19
paramiko==2.4.2
pyasn1==0.4.5
pycparser==2.19
PyNaCl==1.3.0
pynetbox==4.0.6
python-nmap==0.6.1
requests==2.21.0
six==1.12.0
urllib3==1.24.1

i see pynetbox changing to 4.0.6 ...
Running the scanner, i get the same error:
root@b456e5f91474:~/netbox-scanner# python netbox-scanner-master/netbox-scanner/nbscanner
Traceback (most recent call last):
  File "netbox-scanner-master/netbox-scanner/nbscanner", line 75, in <module>
    nbs.sync(networks)
  File "/root/netbox-scanner/netbox-scanner-master/netbox-scanner/nbscanner.py", line 223, in sync
    self.sync_network(network)
  File "/root/netbox-scanner/netbox-scanner-master/netbox-scanner/nbscanner.py", line 157, in sync_network
    self.sync_host(host)
  File "/root/netbox-scanner/netbox-scanner-master/netbox-scanner/nbscanner.py", line 131, in sync_host
    nbhost = self.netbox.ipam.ip_addresses.get(address=host[0])
  File "/usr/local/lib/python3.7/site-packages/pynetbox/core/endpoint.py", line 135, in get
    filter_lookup = self.filter(**kwargs)
  File "/usr/local/lib/python3.7/site-packages/pynetbox/core/endpoint.py", line 220, in filter
    ret = [self._response_loader(i) for i in req.get()]
  File "/usr/local/lib/python3.7/site-packages/pynetbox/core/query.py", line 239, in get
    return req_all(self.url)
  File "/usr/local/lib/python3.7/site-packages/pynetbox/core/query.py", line 217, in req_all
    req = make_request(url)
  File "/usr/local/lib/python3.7/site-packages/pynetbox/core/query.py", line 214, in make_request
    raise RequestError(req)
pynetbox.core.query.RequestError: The request failed with code 400 Bad Request but more specific details were not returned in json. Check the NetBox Logs or investigate this exception's error attribute.

In  the server side running in development mode with DEbug=True I see:
----------------------------------------
Exception happened during processing of request from ('<IP_ADDRESS>', 56748)
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/socketserver.py", line 650, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python3.7/socketserver.py", line 720, in __init__
    self.handle()
  File "/usr/local/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 171, in handle
    self.handle_one_request()
  File "/usr/local/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 179, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 104] Connection reset by peer
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('<IP_ADDRESS>', 56752)
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/socketserver.py", line 650, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python3.7/socketserver.py", line 720, in __init__
    self.handle()
  File "/usr/local/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 171, in handle
    self.handle_one_request()
  File "/usr/local/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 179, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 104] Connection reset by peer
----------------------------------------

pynetbox.core.query.RequestError: The request failed with code 400 Bad Request but more specific details were not returned in json. Check the NetBox Logs or investigate this exception's error attribute.

Connection reset errors could be related to network or web server issues. Using the same environment you're running the script, you could open Python shell and simulate that interaction:
>>> from pynetbox import api
>>> nb = api('netbox_addr', token='token_goes_here', ssl_verify=False)
>>> nb.ipam.ip_addresses.get(address='ip_addr')

Try with IP addresses that are registered and not registered in NetBox. You could even try with some invalid values, like address=None or address=84. How will NetBox behave?

Another clue:
https://stackoverflow.com/questions/1434451/what-does-connection-reset-by-peer-mean

Thanks, this actually was helpful debugging.
The issue seems to have been caused by using the short name for the netbox server in the scanner config instead of the fqdn that Netbox has in the ALLOW_HOSTS setting.
With this and pynetbox==4.0.6 now the scanner is aadding new IPs to netbox!!!


it not workeddd

Steps to reproduce

...
...

Command string used
CME verbose output (using the --verbose flag)
OS
Target OS
Detailed issue explanation

Think you should hang out with this guy https://github.com/byt3bl33d3r/MITMf/issues/315, you two seem to have a lot in common.


Autocomplete does not show on mobile

@chabb

@jdagdelen  In the PR, I left this comment :
Note that you'll need to have a chrome extension to enable CORS, or have a proxy endpoint
You cannot use google scholar from covidscholar, it has a different domain name. A browser cannot make XHR requests to a website that has a different domain name. You need to have a small proxy on your backend that forwards the requests, or design your own endpoint by using something like : https://pypi.org/project/scholarly/


Register window-all-closed only when not on macOS

This is kind of old and there are merge conflicts, so I'm going to close this for now.
There's also no rationale as to why this change is needed. If you're still interested in getting this change in, please update the PR summary, rebase the change on the latest changes to the repository, and let us know that it's been updated. Thanks!


fix(map_loader): modify build error in rolling (#777)

Description
https://github.com/autowarefoundation/autoware.universe/pull/777 のbackport
Related Llinks
https://tier4.atlassian.net/browse/AEAP-488
Tests performed

map_loaderがビルドできること
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Codecov Report

:exclamation: No coverage uploaded for pull request base (beta/v0.3.16@36358a2). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@              Coverage Diff               @@
##             beta/v0.3.16    #456   +/-   ##
==============================================
  Coverage                ?   0.00%
==============================================
  Files                   ?       3
  Lines                   ?     139
  Branches                ?       0
==============================================
  Hits                    ?       0
  Misses                  ?     139
  Partials                ?       0

Flag
Coverage Δ

differential
0.00% <0.00%> (?)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Cron schedule not working?

The Cron schedule with specific date and time (runs only once) does not seem to be working for me (maybe configuration issue?)  Here is my configuration:
{
  "bistro_settings": {
    "resources": {
      "instance": {"concurrency": {"limit": 10, "default": 1}},
      "level1": {
        "my_resource": {"limit": 3, "default": 0}
      }
    },
    "nodes": {
      "levels": ["level1", "level2"],
      "node_sources": [{
          "source": "manual",
          "prefs": {
            "node1": []
          }
        }, {
          "source": "add_time",
          "prefs": {
            "parent_level": "level1",
            "schedule": [{
                "cron": {
                  "year": 2017,
                  "month": 5,
                  "day_of_month": 3,
                  "hour": 7,
                  "minute": 15,
                  "dst_fixes": ["unskip", "repeat_use_only_early"]
                },
                "lifetime": 50
              }
            ]
          }
        }
      ]
    },
    "enabled" : true
  },

  "bistro_job->job1" : {
    "owner" : "test",
    "enabled" : true,
    "command" : ["/path/to/task_script.sh"],
    "priority": 2,
    "resources": {
      "my_resource": 1
    }
  }
}

However, if I change the schedule item to epoch, then it works right away:
{
"cron": {"epoch": {"period": 60}},
"lifetime": 20
}
Could you give a working Cron example, please?  Thank you.

I tried your example, and it works fine, with one caveat. Did you know that lifetime has a unit of seconds? If you change it to 500000, you should start seeing a node named<PHONE_NUMBER>. As written, it would only be possible for your task to start your within that time window of 50 seconds.
After 50 seconds, that node would cease to exist, and no job would be able to run tasks against it.
I'm currently on vacation, but once back I'll put up a change to rename the fields to lifetime_sec and enabled_lifetime_sec. Or feel free to send a pull request if you have a moment. I'd just ask that you also add a kLifetimeSec and kEnabledLifetimeSec to the end of bistro/config/Config.h to be used instead of hardcoded string constants (and of course run unit tests).
I also see that two of the libraries Bistro depends on have build breakages. Sorry about that. I'll look into it once I'm back.
Please reopen the issue if my diagnosis is incorrect.


Memory usage low while machine has 64GB using 7B model

I noticed during generation that the RAM usage was only around 4.5GB. My machine has 64GB. Is there a way to allow for higher memory usage? Would this increase the tps at all?

The 7B model only needs about ~4.5GB. If you wanna try bigger models, you can try running the 13B and 70B variants which consume a lot higher memory as per the instructions here: https://github.com/getumbrel/llama-gpt#install-llamagpt-anywhere-else

@mayankchhabra Thanks!


Add amsharma3 to org members and distributed workloads maintainers

Add amsharma3 to organization members and distributed workloads maintainers.

@accorvin @anishasthana

cc @LaVLaS


Unable to Use 'router.replace' with Custom Locale Parameter

Description
I know this is not directly related to next-intl, but it's recommended in the docs and i need an alternative.
I encountered an issue while attempting to use the 'router.replace' method in combination with a custom 'locale' parameter. However, I received an error message stating, "Argument of type '{ locale: string; }' is not assignable to parameter of type 'Url | undefined'. Object literal may only specify known properties, and 'locale' does not exist in type 'UrlObject'.ts(2345)."
Mandatory reproduction URL (CodeSandbox or GitHub repository)
https://codesandbox.io/p/sandbox/next-intl-bug-template-forked-yow8ep
Reproduction description

Follow the documentation link provided (https://next-intl-docs.vercel.app/docs/routing/navigation#userouter) to learn about the recommended approach for routing with internationalization using 'router.replace'.
Implement the 'router.replace' method with the 'pathname' and 'locale' parameters in your Next.js application as described in the documentation.
Observe the TypeScript error mentioned above when attempting to compile the application.

Expected behaviour
The user should be redirected to the current page with the correct translation provided.

This is my temporary solution:
router.push(e + '/' + pathname.replace(/\/(de|en)?\/?/,'/'))

I unfortunately don't see anything changed in the CodeSandbox you've linked to. Can you please make sure to include a reproduction that shows the erroneous behavior?

I'm experiencing the exact same problem

Me too :)


If primaryContainerName=="primary", container content will be duplicated

TL;DR
If primaryContainerName=="primary", container content will be duplicated
Type

[x] Bug Fix
[ ] Feature
[ ] Plugin

Test
byhsu@byhsu-ld1 ~/local-repo/flyte/flyteplugins byronhsu/podmerge ❯ make test_unit
Makefile:11: warning: overriding recipe for target `generate'
boilerplate/flyte/golang_test_targets/Makefile:13: warning: ignoring old recipe for target `generate'
go test -cover ./... -race
ok      github.com/flyteorg/flyteplugins/go/tasks       0.361s  coverage: [no statements]
ok      github.com/flyteorg/flyteplugins/go/tasks/aws   0.070s  coverage: 36.5% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/config        [no test files]
?       github.com/flyteorg/flyteplugins/go/tasks/errors        [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/logs  0.156s  coverage: 71.2% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery       [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/bundle        0.314s  coverage: 83.3% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/catalog       0.115s  coverage: 39.0% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/catalog/mocks [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/core  0.243s  coverage: 28.0% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/core/mocks    [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/core/template 0.311s  coverage: 81.9% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/encoding      0.086s  coverage: 100.0% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/flytek8s      0.821s  coverage: 86.6% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/flytek8s/config       0.097s  coverage: 54.3% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/google        [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/internal/webapi       2.286s  coverage: 55.5% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/internal/webapi/mocks [no test files]
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/io    [no test files]
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/io/mocks      [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/ioutils       0.338s  coverage: 49.7% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/k8s   [no test files]
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/k8s/mocks     [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/tasklog       0.085s  coverage: 94.4% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/utils 0.082s  coverage: 62.3% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/utils/secrets 0.081s  coverage: 83.3% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/webapi        0.261s  coverage: 40.0% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/webapi/example        0.282s  coverage: 33.3% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/webapi/mocks  [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/workqueue     0.199s  coverage: 80.6% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/pluginmachinery/workqueue/mocks       [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array 0.505s  coverage: 58.7% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/arraystatus     0.208s  coverage: 93.9% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/awsbatch        0.470s  coverage: 71.3% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/awsbatch/config 0.091s  coverage: 59.0% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/awsbatch/definition     0.047s  coverage: 53.3% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/plugins/array/awsbatch/mocks  [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/core    0.298s  coverage: 68.1% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/errorcollector  0.089s  coverage: 96.2% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/array/k8s     1.460s  coverage: 52.8% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/plugins/awsutils      [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/hive  0.406s  coverage: 65.7% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/hive/client   0.059s  coverage: 80.0% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/plugins/hive/client/mocks     [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/hive/config   0.053s  coverage: 39.4% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/dask      0.340s  coverage: 85.2% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/kfoperators/common        0.259s  coverage: 79.7% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/kfoperators/mpi   0.585s  coverage: 82.4% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/kfoperators/pytorch       0.684s  coverage: 77.8% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/kfoperators/tensorflow    0.710s  coverage: 82.2% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/pod       0.607s  coverage: 85.5% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/ray       0.356s  coverage: 63.6% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/sagemaker 0.593s  coverage: 74.4% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/sagemaker/config  0.039s  coverage: 21.7% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/k8s/spark     0.428s  coverage: 81.4% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/presto        0.348s  coverage: 48.8% of statements
?       github.com/flyteorg/flyteplugins/go/tasks/plugins/presto/client [no test files]
?       github.com/flyteorg/flyteplugins/go/tasks/plugins/presto/client/mocks   [no test files]
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/presto/config 0.038s  coverage: 47.4% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/webapi/athena 0.233s  coverage: 36.6% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/webapi/bigquery       10.210s coverage: 68.6% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/webapi/databricks     5.180s  coverage: 72.7% of statements
ok      github.com/flyteorg/flyteplugins/go/tasks/plugins/webapi/snowflake      5.204s  coverage: 71.4% of statements
?       github.com/flyteorg/flyteplugins/tests  [no test files]

Are all requirements met?

[x] Code completed
[ ] Smoke tested
[x] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
	podSpec = v1.PodSpec{
		Containers: []v1.Container{
			v1.Container{
				Name: "primary",
				VolumeMounts: []v1.VolumeMount{
					{
						Name:      "nccl",
						MountPath: "abc",
					},
				},
			},
		},
	}

If primaryContainerName=="primary", after merging, volumes will be duplicated.
				VolumeMounts: []v1.VolumeMount{
					{
						Name:      "nccl",
						MountPath: "abc",
					},
					{
						Name:      "nccl",
						MountPath: "abc",
					},
				},

mergePodSpecs logic is wrong. defaultContainerTemplate, primaryContainerTemplate should be extracted before merging happens.

Thanks for uncovering this! I don't think the ordering here matters though right? Instead we should just be using the basePodSpec to retrieve templated containers rather than the mergedPodSpec, which you have corrected.
Also, we can probably roll up this test into the existing test and just add a check for assert.Len rather than adding a complete new test.

@hamersaw Addressed your comments. Thanks!


Allow user to specify topics

Allow user to specify topics. For example, ‘fraud money billing payoff spy’ would be an excellent set of topics for this analysis. These user specified topics (i.e. search terms) could then be used to score the emails.

Closing issue, topics are auto-generated based on dataset content. The list above is more of a search criteria list which can be specified in a search.


Update storybook pkg

Issue: https://github.com/storybookjs/testing-react/issues/106
What Changed

Update Storybooks pkg
WebProjectAnnotations @storybook/preview-web to @storybook/store.
skipLibCheck to false

Checklist
Check the ones applicable to your change:

[ ] Tests are updated
[ ] Documentation is updated

Change Type
Indicate the type of change your pull request is:

[ ] documentation
[ ] patch
[ ] minor
[x] major

The build now succeeds.
However, if skipLibCheck : false, the build fails.
I think it would be better to set skipLibCheck : false.

FYI: https://github.com/storybookjs/storybook/pull/19048 is also pending, which resolves it for shorter-term patch release.

@clintandrewhall
thank you!
I will fix it to use when it is released.

skipLibCheck was set to false.
This fixed the error.
https://github.com/storybookjs/testing-react/pull/115#issuecomment-1226866885
The version of @storybook/csf was out of sync with @storybook/client-api and @storybook/store's dependencies on @storybook/csf, so we aligned them.

Hey @sakit0, thank you so much for your contribution! Given that Storybook 7.0 has reached beta, in the efforts of supporting it, I released 2.0.0-next.0 which supports Storybook 7 and does most changes you did in this PR, but in the new structure for Storybook 7.0.
Given that this PR is a breaking change for users that use 1.x.x, and we now have a 2.0.0 version that supports Storybook 7.0, and getting this released is going to be a lot of effort, so I'd rather have users migrate their Storybook to 7.0 instead, and they won't have any issues with testing-react v2.
I hope you understand, and I'll be closing this PR. Thank you so much once again for your time!


run csv_example.py failure

Hi all,
when I run csv_example.py, there is an error, what should I do?
32/10 positive, 5/10 negative
Do these records refer to the same thing?
(y)es / (n)o / (u)nsure / (f)inished / (p)revious
f
Finished labeling
clustering...
Traceback (most recent call last):n
File "csv_example.py", line 149, in
clustered_dupes = deduper.partition(data_d, 0.5)
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/site-packages/dedupe/api.py", line 170, in partition
pair_scores = self.score(pairs)
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/site-packages/dedupe/api.py", line 106, in score
self.num_cores)
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/site-packages/dedupe/core.py", line 252, in scoreDuplicates
fillQueue(record_pairs_queue, record_pairs, n_map_processes)
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/site-packages/dedupe/core.py", line 283, in fillQueue
chunk = tuple(itertools.islice(iterable, chunk_size))
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/site-packages/dedupe/api.py", line 254, in pairs
con.close()
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/tempfile.py", line 805, in exit
self.cleanup()
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/tempfile.py", line 809, in cleanup
_shutil.rmtree(self.name)
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/shutil.py", line 494, in rmtree
_rmtree_safe_fd(fd, path, onerror)
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/shutil.py", line 452, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/proj/xsjhdstaff2/shengl/usr/local/anaconda3/lib/python3.7/shutil.py", line 450, in _rmtree_safe_fd
os.unlink(entry.name, dir_fd=topfd)
OSError: [Errno 16] Device or resource busy: '.nfs0000000002d81be2000026cb'

i don't konw. looks like it's having trouble cleaning up the a tempfile.


Bad Error messages

Current Behavior
it's giving non understandable error messages
Helpful and easy to understand error messages mentioned in readme, but it's no longer correct

Expected Behavior
Should show understandable error message, like it's showing rn-packager

Haul Configuration (webpack.haul.js)
Configuration didn't changed
Your Environment

software
version

Haul
latest

react-native
latest

node
7.5.1

npm or yarn
4.1.

Experiencing similar issue.

I feel like this would fix a lot of other issues that might be due to npm modules not being pre-transpiled, like #150  where the error message is not understandable.
I'm willing to give this a shot, if someone can point me in the right direction.

@GeeWee let me know if you need any help, either here or on our Slack. Would love to see a support for better error messages.

Hi, I was looking for issues which I can work on and came by this issue, though I couldn't reproduce it on latest.
I then looked on the commits history and saw this PR: https://github.com/callstack/haul/pull/183
Did the above PR solved this issue?

@itaym2 thanks for triaging this, closing then :)


1483 create seedersreplication for data addededited via the admin interfaces

Creates new filesystem disk on permanent storage storage/app/seeds.
Created new artisan command db:seed:backup which you can pass a table to backup the tables as a JSON file into storage/app/seeds.
Updated seeders for the tables to first try and pull from the stored file if it exists in order to seed the table.
Added new seeder for the interpretations table.

Tests

[x] Pull the following tables from staging identities, interpretations, resource_collections, resources, topics.
[x] Deploy those tables to local mysql deployment.
[x] Run the command php artisan db:seed:backup for each table and make sure that the table file is stored correctly.
[x] Run the command php artisan db:seed --class= for each of the filament table seeders.
[x] Check tables values before and after seeder is run.

@marvinroman would you have time to write up some docs about these new features to add to the Readme?

@marvinroman I'm also wondering what will happen when any of the tables change/migrate. Will the restoring from the backup work because they may not line up properly anymore?

It would

I'm also wondering what will happen when any of the tables change/migrate. Will the restoring from the backup work because they may not line up properly anymore?

It really depends on the change.

If a column was deleted we would have to delete it from the seeder class.
If a column type was changed we might have to change how it's added.
If a column is added we will want to add the the seeder, but make sure it fails gracefully if it's not yet in the JSON file.

@marvinroman sorry, I was off work for a couple of days. I'm noticing this is closed now. Was that intentional?

If a column was deleted we would have to delete it from the seeder class.

This seems to be the easiest and we just need to update the seeder when we make our database migration.

If a column type was changed we might have to change how it's added.

I'm guessing here it would be a "one" time change, so we'd have to have some logic that accounted backup being in either the old or new state. I suppose in a future release we'd update this again to only work for the new state. Is that correct?

If a column is added we will want to add the the seeder, but make sure it fails gracefully if it's not yet in the JSON file.

This might be a problem because our old data would basically get trashed at this point. That is, it wouldn't be restored. Is that correct? Any thoughts?
I can't think of a way to do this, but what we kind of want to do is run the new migrations on the old database before backing it up.

@marvinroman I believe the InterpretationSeeder also needs to be added to the ProductionSeeder because that is the one that gets run on staging. We will probably also need to run it initially on staging but I guess it won't really matter that the interpretationSeeder is there, but we will need to manually migrate the Interpretations table over to production when we do that first production release.
Also thanks for the detailed docs.

@marvinroman noticed an issue with the resources and resource collections. It seems that after restoring from a backup, the resources collections do not have their resources attached.

@marvinroman also noticed that --remove only seemed to work if I specified an explicit table name, wasn't able to remove all. Nothing reported and the files were not removed when calling php artisan db:seed:backup --remove and php artisan db:seed:backup --remove --all.
Also didn't get any error or anything when running php artisan db:seed:backup. I'm guessing it requires the --all or specific table name flags.

@marvinroman I believe the InterpretationSeeder also needs to be added to the ProductionSeeder because that is the one that gets run on staging. We will probably also need to run it initially on staging but I guess it won't really matter that the interpretationSeeder is there, but we will need to manually migrate the Interpretations table over to production when we do that first production release.
Also thanks for the detailed docs.

This update will be part of my next commit.

This might be a problem because our old data would basically get trashed at this point. That is, it wouldn't be restored. Is that correct? Any thoughts?

I think we can take these cases as they come up and find a strategy that works for it. I don't think we are going to solve for all cases. In some cases it would make sense to work a data upgrade into the migration and then run the backup after the migration.

@marvinroman also noticed that --remove only seemed to work if I specified an explicit table name, wasn't able to remove all. Nothing reported and the files were not removed when calling php artisan db:seed:backup --remove and php artisan db:seed:backup --remove --all.
Also didn't get any error or anything when running php artisan db:seed:backup. I'm guessing it requires the --all or specific table name flags.

The table check wasn't working after the change to getting options instead of direct parameters. This will be fixed in the next commit.

@marvinroman noticed an issue with the resources and resource collections. It seems that after restoring from a backup, the resources collections do not have their resources attached.

Maybe you can show me through this one? Or provide a test case? I need more information on how these links are made and how to test.


Couchbase

@weisong44
Was working on the intern project fair and design doc review. Took a week to finally update this code.
Have a question: why do we need tableId here? I think the tableId is on the remoteTableDescriptor level. I don't see other table functions in samza-li is using tableId.
Another issue: There seems to be a bug in CouchbaseMock. Whenever I try to close a bucket, there is a warning:
[main] ConfigurationProvider [INFO] Closed bucket inputBucket
[cb-core-3-2] CouchbaseCore [WARN] Exception while Handling Request Events RequestEvent{request=null}
java.lang.ArithmeticException: / by zero

I don't have a way to avoid this since the CouchbaseTableReadFunction and CouchbaseTableWriteFunction will close the bucket during shutdown.


Chrome "this browser is managed by your organization"

Will BloatNosy cause this message in chrome if you disable chrome telemetry?
I have a complete fresh install of windows 11, so i find it hard to believe that i already have malware. (Google results say its malware if you see this message on a personal computer).

It happened to me too

Yup..it happens. It was perfect in ThisisWin11 (outdated) as there is no such warning.

The reason Chrome is telling you that is because the app is setting registry values that Chrome uses to disable metrics & other telemetry items.

https://github.com/builtbybel/BloatyNosy/issues/6#issuecomment-1447444636

deal breaker

Happened to me too, I freaked out and reset my PC and all the passwords thinking I had gotten a malware. After the fresh install when I ran this app again, this time the warning appeared in the systems privacy settings. Is there a way to disable this? It seems the app applies some kind of group policy or sopmething.

If you want to disable this, because it can restrict your Google Sign In with certain 3rd party applications, simply go into your Registry Editor, type in this path:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome

and delete these 3 values;

This way is probably how it was done by BloatyNosy. Maybe the same can be applied with the Windows diagnostics prevention if you find the right documentation but I don't see any problem with it, if anything, it prevents Windows updates from enabling it again.

Was looking for why this happened to me as I was using BlaotyNosy but also used Optimizer (https://github.com/hellzerg/optimizer) at some point. So for me it was all these entries that caused the "Managed by your organization" message.


SIMSBIOHUB-498: Seed Critterbase Measurements

Links to Jira Tickets

https://apps.nrs.gov.bc.ca/int/jira/browse/SIMSBIOHUB-498

Description of Changes

Added cb measurements lookup table
added survey observation measurements table
Created seed data

Testing Notes

{List any relevant testing considerations, necessary pre-reqs, and areas of the app to focus on. Specifically, include anything that will help the reviewers of this PR verify the code is functioning as expected.}

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.01%. Comparing base (dfbe6e4) to head (02bf825).

Additional details and impacted files
@@             Coverage Diff             @@
##              dev    #1228       +/-   ##
===========================================
+ Coverage   55.29%   76.01%   +20.71%
===========================================
  Files         592      235      -357
  Lines       17978     9631     -8347
  Branches     2769     1353     -1416
===========================================
- Hits         9941     7321     -2620
+ Misses       7378     1897     -5481
+ Partials      659      413      -246

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[api-docs] Re-add discord-interactions.py

A new commit was made into the api-docs repo. This issue was created automatically. Need to review if we made any change to the library for this commit.
https://github.com/discord/discord-api-docs/commit/200475ce72d645c91539c149404300a497e157ea

ncn


Circular dependencies

Prerequisites

[x] I have read the documentation;
[x] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
Bug
Steps to Reproduce
This is a minimal use case:
import React from 'react'

import SchemaField from 'react-jsonschema-form/lib/components/fields/SchemaField'
import Form from 'react-jsonschema-form'

console.warn(
  'SchemaField.defaultProps.registry.fields.SchemaField',
  SchemaField.defaultProps.registry.fields.SchemaField
)

const CustomSchemaField = function(props) {
  return (

Yeah, I am pretty dumb.

      <SchemaField {...props} />

  );
};

const fields = {
  SchemaField: CustomSchemaField
};

const FormWithCustomSchemaField = () => (
  <Form
    schema={{
      type: 'object',
      properties: {
        title: {
          type: 'string',
          title: 'a title'
        }
      }
    }}
    fields={fields}
    onSubmit={() => {}}
    onChange={() => {}}
  >

  </Form>
)

const NormalForm = () => (
  <Form
    schema={{
      type: 'object',
      properties: {
        title: {
          type: 'string',
          title: 'a title'
        }
      }
    }}
    onSubmit={() => {}}
    onChange={() => {}}
  >

  </Form>
)

const App = () => (

    <FormWithCustomSchemaField />
    <NormalForm />

)

export default App

The error is
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of `Form`.

This is because of #387 + https://github.com/webpack/webpack/issues/1788
Expected behavior
Should have no error.
Actual behavior
An error, because of undefined SchemaField.
require("./components/fields") = {
  ArrayField: () => () /* component */,
  ...,
  SchemaField: undefined
}

Version
from v0.41.2 to latest (v0.48.0)
Proposal solution
Setting default registry lazily, when react components are instanced, not when they are created.
// utils.js
export function getDefaultRegistry() {
  return {
    fields: require("./components/fields").default,
    widgets: require("./components/widgets").default,
    definitions: {},
    formContext: {},
  };
}

// SchemaField.js
SchemaField.defaultProps = {
  uiSchema: {},
  errorSchema: {},
  idSchema: {},
  registry: null,
  disabled: false,
  readonly: false,
  autofocus: false,
};

function SchemaFieldRender(props) {
  const {
    uiSchema,
    errorSchema,
    idSchema,
    name,
    required,
    registry = getDefaultRegistry()
  } = props;
 // do other things
}

If it's ok, I will create a PR.
cc @n1k0 @dulguun0225 @DanialK

Sounds good, please create a PR. Thanks!
Le 7 mai 2017 6:58 AM, "Vinh Le"<EMAIL_ADDRESS>a écrit :

Prerequisites

I have read the documentation
https://github.com/mozilla-services/react-jsonschema-form/blob/master/README.md#readme
;
In the case of a bug report, I understand that providing a SSCCE
http://sscce.org/ example is tremendously useful to the maintainers.

Description
Bug
Steps to Reproduce
This is a minimal use case:
import React from 'react'
import SchemaField from 'react-jsonschema-form/lib/components/fields/SchemaField'import Form from 'react-jsonschema-form'
console.warn(
'SchemaField.defaultProps.registry.fields.SchemaField',
SchemaField.defaultProps.registry.fields.SchemaField
)
const CustomSchemaField = function(props) {
return (

Yeah, I am pretty dumb.
<SchemaField {...props} />

);
};
const fields = {
SchemaField: CustomSchemaField
};
const FormWithCustomSchemaField = () => (
 {}}
    onChange={() => {}}
  >

)
const NormalForm = () => (
   {}}
    onChange={() => {}}
  >

)
const App = () => (

)
export default App
The error is
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of Form.
This is because of #387
https://github.com/mozilla-services/react-jsonschema-form/pull/387 +
webpack/webpack#1788 https://github.com/webpack/webpack/issues/1788
Expected behavior
Should have no error.
Actual behavior
An error, because of undefined SchemaField.
require("./components/fields") = {
ArrayField: () => () /* component */,
...,
SchemaField: undefined
}
Version
from v0.41.2 to latest (v0.48.0)
Proposal solution
Setting default registry lazily, when react components are instanced, not
when they are created.
// utils.jsexport function getDefaultRegistry() {
return {
fields: require("./components/fields").default,
widgets: require("./components/widgets").default,
definitions: {},
formContext: {},
};
}
// SchemaField.jsSchemaField.defaultProps = {
uiSchema: {},
errorSchema: {},
idSchema: {},
registry: null,
disabled: false,
readonly: false,
autofocus: false,
};
function SchemaFieldRender(props) {
const {
uiSchema,
errorSchema,
idSchema,
name,
required,
registry = getDefaultRegistry()
} = props;
// do other things
}
If it's ok, I will create a PR.
cc @n1k0 https://github.com/n1k0 @dulguun0225
https://github.com/dulguun0225 @DanialK https://github.com/DanialK
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mozilla-services/react-jsonschema-form/issues/574,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACiSyoPaUKsd6bQEAOGDtl6zWJ46hADks5r3U-QgaJpZM4NTA4i
.

Released in v0.48.1.


Display of Stacks transaction size in bytes

I think it would be nice if we have Stacks tx size item on explorer like all Bitcoin block explorers.
This can easily give users and devs idea of how much size they are dealing with in the network and how much in bytes both Stacks block and its transactions inside occupy.
More transparent, more insightful, more inspiring!

Thanks for the suggestion!

Hi all, trying to resurrect this as I believe it is a great feature!

@rafaelcr do we have this information on the API?

@andresgalante we do 👍
For example, you can find keys for execution_cost_read_length and execution_cost_write_length here: https://stacks-node-api.mainnet.stacks.co/extended/v1/tx/0x0153a41ed24a0e1d32f66ea98338df09f942571ca66359e28bdca79ccd0305cf

This is a good first issue but it'll need design help to be ready to execute

Byte size is supposed to be shown on https://stxmempool.com
The other dimensions are more interesting I think.

https://github.com/stxmempool/stxmempool

Byte size is a good idea. Thanks.

I disagree, byte size is not really relevant for stacks.


Guidance on translating GeoJSON from/to Boost Geometry

Hi Stephen,
Thank you for the awesome library, however I am struggling to write GeoJSON from Boost Geometry and need guidance.
Given a generic Point of dimension N and using the design rationale defined in Boost Geometry docs, where the components of the points are accessed through free functions boost::geometry::get<N>(Point p) how to model writing it to JSON to have an output such as for a 3D point:
{
    "type" : "Point",
    "coordinates" : [3.4,2.3,1.2]
}

The current hurdles are:

Custom Read/Write example in README.md https://github.com/stephenberry/glaze/blob/main/README.md?plain=1#L360 uses member functions and not free functions.
The examples for custom writing & reading (https://github.com/stephenberry/glaze/blob/main/docs/custom-serialization.md) has a JSON identifier which can't be resolved in version 3.4.1.

So please, can you give some guidance on how one would model generic Points, Linestrings, MultiLinestrings, etc... of Boost Geometry with Glaze in order to produce GeoJSON geometries? https://datatracker.ietf.org/doc/html/rfc7946
I currently work around the custom serialization with the generic json type glz::json_t json; and parse the strings into my model classes, but I believe you would be able to provide a more elegant way to solve the problem with a generic implementation, for which I am eager to learn.
Thank you,
Reference of a Linestring:
{
    "type" : "LineString",
    "coordinates" : [
      [13.5, 43, 35.8],
      [10.73, 59.92,3.0]
    ]
}

Reference of a MultiLinestring:
{
    "type" : "MultiLineString",
    "coordinates" : [
      [[12.1, 40.3], [11.42, 60.34]],
      [[43.5, 9.8], [-32.23, 23.40]]
    ]
}

Version 3.5 changed the custom API from glz::detail::to_json to glz::detail::to<JSON. If you look back on the documentation under the tag v3.4.1 you'll see the old documentation if you're planning to stay on that version.
However, rather than using the to/from customization. I think you should be able to use glz::custom. The example you pointed to uses member functions, but you can actually use lambda functions defined within the glz::meta.
Consider this example:
struct custom_buffer_input
{
   std::string str{};
};

template <>
struct glz::meta<custom_buffer_input>
{
   static constexpr auto read_x = [](custom_buffer_input& s, const std::string& input) { s.str = input; };
   static constexpr auto write_x = [](auto& s) -> auto& { return s.str; };
   static constexpr auto value = glz::object("str", glz::custom<read_x, write_x>);
};

This is defining lambda functions for how to read/write. The auto& s refers to self, which will be a reference to the struct referred to by the meta. The read_x shows how you can handle the input if you need to, but it is an option parameter.
I'm not familiar with Boost Geometry, so I'd have to do more research to figure out a precise solution. Let me know if this is enough direction to help you solve the translation. And, ask any more questions that you have.

Thank you so much for your prompt reply.
Implementation did improve towards a more generic type, although I am not able to handle yet varying number of Dimensions of the point, here is the current implementation for a 2D point:
template<typename Point> requires boost::geometry::util::is_point<Point>::value
struct glz::meta<Point> {

    static constexpr auto read_coordinates = [](Point &s, const std::array<typename boost::geometry::traits::coordinate_type<Point>::type, boost::geometry::traits::dimension<Point>::value> &coords) {
        boost::geometry::set<0>(s, coords[0]);
        boost::geometry::set<1>(s, coords[1]);
    };

    static constexpr auto write_coordinates = [](auto const &s) -> auto  {
        return std::array {boost::geometry::get<0>(s), boost::geometry::get<1>(s)};
    };
    static constexpr auto value = glz::object("coordinates", glz::custom<read_coordinates, write_coordinates>);
};

This results in the following JSON:
{
    "coordinates": [2.4,5.6]
}

Now I'm missing two pieces of this puzzle:
1.  Handle N dimension points
I think I would need something along the lines of the below, for which I am not able to get the syntax yet.
    template<int Dim>
    static constexpr auto get_coordinates(auto const &p) {
        return boost::geometry::get<Dim>(p), get_coordinates<Dim - 1>(p);
    }

    template<>
    static constexpr auto get_coordinates<0>(auto const &p) {
        return boost::geometry::get<0>(p)
    }

    static constexpr auto write_coordinates = [](auto const &s) -> auto  {
        return std::array {get_coordinates<boost::geometry::tratis::dimension<Point>::value>(s)...};
    };

  // something analogous for the read the JSON into the object

2. The "type" attribute
I would need to put this "type" attribute as a constant when writing the JSON, but discard it (or validate it?) when reading the JSON.
This would allow the wellformed GeoJSON such as
{
    "type" : "Point",
    "coordinates" : [3.4,2.3,1.2]
}

Any tips on how to cover these two gaps? Any material you would recommend to read up on Meta programming for C++20?
This task seems a little daunting for new comers.
Thanks for any help you can provide.

This additional info is helpful. I think because of the specificity needed here, that specializing to/from functions is the way to go.
Consider this code for the Eigen C++ library:
template <matrix_t T>
   requires(T::RowsAtCompileTime >= 0 && T::ColsAtCompileTime >= 0)
struct from<JSON, T>
{
   template <auto Opts>
   static void op(auto& value, is_context auto&& ctx, auto&& it, auto&& end)
   {
      std::span<typename T::Scalar, T::RowsAtCompileTime * T::ColsAtCompileTime> view(value.data(), value.size());
      detail::read<JSON>::op<Opts>(view, ctx, it, end);
   }
};

template <matrix_t T>
   requires(T::RowsAtCompileTime >= 0 && T::ColsAtCompileTime >= 0)
struct to<JSON, T>
{
   template <auto Opts>
   static void op(auto&& value, is_context auto&& ctx, auto&& b, auto&& ix) noexcept
   {
      std::span<typename T::Scalar, T::RowsAtCompileTime * T::ColsAtCompileTime> view(value.data(), value.size());
      detail::write<JSON>::op<Opts>(view, ctx, b, ix);
   }
};

Notice how the data is converted to a std::span, which the rest of Glaze then knows how to work with. Is there a way to convert your coordinates into a std::span kind of like this? It seems like Eigen here, you know the dimensions at compile time.
This would just encode/decode to a JSON array. The object structure you can then define higher level with fields like "type" and "coordinates".
The handling of "type" : "Point" can be done by making wrapper structs that just takes a reference to the coordinates type.
// This may need to be templated on CoordinatesType
struct coordinates_write
{
   static constexpr std::string_view type = "Point";
   CoordinatesType& coordinates;
};

template <>
struct glz::meta<coordinates_write>
{
   using T = coordinates_write;
   static constexpr auto value = object(&T::type, &T:: coordinates);
};

struct coordinates_read
{
   CoordinatesType& coordinates;
};

template <>
struct glz::meta< coordinates_read >
{
   using T = coordinates_read;
   static constexpr auto value = object(&T:: coordinates);
};

You don't need to use this in the rest of your codebase, just within your glz::custom for your Point:
template<typename Point> requires boost::geometry::util::is_point<Point>::value
struct glz::meta<Point> {

    static constexpr auto read_coordinates = [](Point &s) {
        return coordinates_read{s};
    };

    static constexpr auto write_coordinates = [](auto const &s)  {
        return coordinates_write{s};
    };
    static constexpr auto value{glz::custom<read_coordinates, write_coordinates>};
};

Does this make sense? Let me know what is confusing. As far as meta-programming for C++20, just try to get up to speed on C++20 concepts and refresh on template specialization. Understanding those two features will help a ton. I'm not sure of a particularly good read off the top of my head, but if you do some searching on those topics you should find some good documentation.

Upon looking at https://en.cppreference.com/w/cpp/container/span ; span models contiguous sequence of objects with the first element of the sequence at position zero. Boost Geometry on the other hand, makes no assumption about the layout of the coordinates in memory, but rather requires traits specialization to access different dimensions of a point. Hence I don't think std::span is an option.
An example of these traits follows below which models a Geo referenced Point with latitude & longitude:
    template<>
    struct access<Point, 0> { // accessing the 0 dimension, here the X axis
        static inline CoordinateType get(Point const &p) { return p.longitude(); }

        static inline void set(Point &p, CoordinateType const &value) { p.set_longitude(value); }
    };

    template<>
    struct access<Point, 1> { // accessing the 1 dimension, here the Y axis
        static inline CoordinateType get(Point const &p) { return p.latitude(); }

        static inline void set(Point &p, CoordinateType const &value) { p.set_latitude(value); }
    };

This is the reason I was trying the approach of using the template recursion, where one specializes the last recursion step, to break out of the recursion. However I'm struggling to get the syntax right in order to have a compile time array returned (or a tuple?) with varying number of elements defined at compile time.
I will dig some more in the to<JSON, T> and from<JSON, T> approaches and see how can this template recursion can be achieved there.
For type handling "type" : "Point", yes, the wrapper type is an option, thank you.

Using the to<JSON... mechanism, I would need something along the lines of:
    template<uint32_t Format, typename Point, int Dim>
    struct write_coordinates {
        template <auto Opts>
        static void apply(Point& value, auto&&... args) {
            write_coordinates<Format, Point, Dim-1>::apply<Opts>(value, args...);
            write<JSON>::op<Opts>(boost::geometry::get<Dim>(value), args...);
        }
    };

    template<uint32_t Format, typename Point>
    struct write_coordinates<Format, Point, 0> {

        template <auto Opts>
        static void apply(Point& value, auto&&... args) {
            write<JSON>::op<Opts>(boost::geometry::get<0>(value), args...);
        }
    };

    template <typename Point > requires boost::geometry::util::is_point<Point>::value
    struct to<JSON, Point>
    {
        template <auto Opts>
        static void op(Point& value, auto&&... args) noexcept
        {
            write_coordinates<JSON, Point, boost::geometry::traits::dimension<Point>::value-1>(value, args...);
        }
    };

However the, on the first write_coordinates<Format, Point, Dim-1>::apply<Opts>(value, args...); of write_coordinates apply function, auto && args... can't be forwarded to the next function:
error: expected ')'
   55 |             write_coordinates<Format, Point, Dim-1>::apply<Opts>(value, args...);

error: expression contains unexpanded parameter pack 'args'
   55 |             write_coordinates<Format, Point, Dim-1>::apply<Opts>(value, args...);

Also tried using:
write_coordinates<Format, Point, Dim-1>::apply<Opts>(value, std::forward<decltype(args)>(args)...);

which results in the exact same errors
Any clues on how to overcome this? I know this is not yet the end result for having the elements in a list, but I was hoping to get something at least compiling as a first step.
Thank you

Tried removing the Format template argument and the removing the variadic parameters, but not change in the error message:

   template<typename Point, int Dim>
    struct write_coordinates {
        template <auto Opts, is_context Ctx, class B, class IX>
        static void apply(Point& value, Ctx&& ctx, B&& b, IX&& ix) {
            write_coordinates<Point, Dim-1>::apply<Opts>(value, std::forward<Ctx>(ctx), std::forward<B>(b), std::forward<IX>(ix));
            write<JSON>::op<Opts>(boost::geometry::get<Dim>(value), std::forward<Ctx>(ctx), std::forward<B>(b), std::forward<IX>(ix));
        }
    };

    template<typename Point>
    struct write_coordinates<Point, 0> {

        template <auto Opts, is_context Ctx, class B, class IX>
        static void apply(Point& value, Ctx&& ctx, B&& b, IX&& ix) {
            write<JSON>::op<Opts>(boost::geometry::get<0>(value), std::forward<Ctx>(ctx), std::forward<B>(b), std::forward<IX>(ix));
        }
    };

    template <typename Point > requires boost::geometry::util::is_point<Point>::value
    struct to<JSON, Point>
    {
        template <auto Opts, is_context Ctx, class B, class IX>
        static void op(Point& value, Ctx&& ctx, B&& b, IX&& ix) noexcept
        {
            write_coordinates<Point, boost::geometry::traits::dimension<Point>::value-1>::apply<Opts>(value, std::forward<Ctx>(ctx), std::forward<B>(b), std::forward<IX>(ix));
        }
    };

Resulting in compilation error:
/libraries/glaze_geom/test/point_traits.cpp:125:13: error: reference to overloaded function could not be resolved; did you mean to call it?
  125 |             write_coordinates<Point, boost::geometry::traits::dimension<Point>::value-1>::apply<Opts>(value, std::forward<Ctx>(ctx), std::forward<B>(b), std::forward<IX>(ix));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:30:56: note: in instantiation of function template specialization 'glz::detail::to<10, boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>>::op<opts{10, 1, 0, 1, 1, 1, 0, 0, 32, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0}, glz::context &, std::string &, unsigned long &>' requested here
   30 |             to<JSON, std::remove_cvref_t<T>>::template op<Opts>(std::forward<T>(value), std::forward<Ctx>(ctx),
      |                                                        ^
/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/core/write.hpp:24:44: note: in instantiation of function template specialization 'glz::detail::write<10>::op<opts{10, 1, 0, 1, 1, 1, 0, 0, 32, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0}, boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> &, glz::context &, std::string &, unsigned long &>' requested here
   24 |       detail::write<Opts.format>::template op<Opts>(std::forward<T>(value), ctx, buffer, ix);
      |                                            ^
/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/core/write.hpp:77:23: note: in instantiation of function template specialization 'glz::write<opts{10, 1, 0, 1, 1, 1, 0, 0, 32, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0}, boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> &, std::string, glz::context &>' requested here
   77 |       const auto ec = write<Opts>(std::forward<T>(value), buffer, ctx);
      |                       ^
/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1629:14: note: in instantiation of function template specialization 'glz::write<opts{10, 1, 0, 1, 1, 1, 0, 0, 32, 3, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0}, boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> &>' requested here
 1629 |       return write<opts{}>(std::forward<T>(value));
      |              ^
/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/exceptions/json_exceptions.hpp:140:26: note: in instantiation of function template specialization 'glz::write_json<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> &>' requested here
  140 |       auto result = glz::write_json(std::forward<T>(value));
      |                          ^
/libraries/glaze_geom/test/point_traits.cpp:104:21: note: possible target for call
  104 |         static void apply(Point& value, Ctx&& ctx, B&& b, IX&& ix) {
      |                     ^
1 error generated.

Cool! args... can be broken out as glz::context&& ctx, B&& b, auto&& ix.
To write out a bracket for your array use: dump<'['>(b, ix);. This will allocate more memory in the output buffer only when needed.
You can do the same for commas and the closing bracket.
I think this should then be sufficient for writing.

Thank you, dump<'['>(b, ix) is very helpful!
Would it make any sense to make the Format a template argument?
Right now I have the following, with uint32_t Format as a template argument, in the hopes of a format agnostic implementation:
    template<uint32_t Format, typename Point, int Dim>
    struct write_coordinates {
        template <auto Opts>
        static void apply(Point& value, auto&&... args) {
            write_coordinates<Format, Point, Dim-1>::template apply<Opts>(value, args...);
            write<Format>::template op<Opts>(boost::geometry::get<Dim>(value), args...);
        }
    };

    template<uint32_t Format, typename Point>
    struct write_coordinates<Format, Point, 0> {

        template <auto Opts>
        static void apply(Point& value, auto&&... args) {
            write<Format>::template op<Opts>(boost::geometry::get<0>(value), args...);
        }
    };

    template <typename Point > requires boost::geometry::util::is_point<Point>::value
    struct to<JSON, Point>
    {
        template <auto Opts>
        static void op(Point& value, auto&&... args) noexcept
        {
            write_coordinates<JSON, Point, boost::geometry::traits::dimension<Point>::value-1>::template apply<Opts>(value, args...);
        }
    };

The Format field is only really needed if you're going to implement BEVE, CSV, or other formats. Adding it will let you more easily support other formats if you want to in the future. Glaze also intends to add more formats in the future.

Thanks for the help so far! I am now able to generate a JSON list of coordinates and parse it back with the following code, which does yet not handle white spaces when parsing.
I believe for handing whitespace I should use the following code as reference, is this correct? https://github.com/stephenberry/glaze/blob/4b043646397b55fe764b2d19bb5c72d6dd1a39d9/include/glaze/json/read.hpp#L1161-L1163
to and from JSON code working so far:
template<uint32_t Format, typename Point, int Dim>
    struct write_coordinates {

        template<auto Opts>
        static void apply(Point &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            write_coordinates<Format, Point, Dim - 1>::template apply<Opts>(
                    value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(b)>(b),
                    std::forward<decltype(ix)>(ix)
            );

            dump<','>(b, ix);

            write<Format>::template op<Opts>(
                    boost::geometry::get<Dim>(value),
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(b)>(b),
                    std::forward<decltype(ix)>(ix)
            );
        }
    };

    template<uint32_t Format, typename Point>
    struct write_coordinates<Format, Point, 0> {

        template<auto Opts>
        static void apply(Point &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            write<Format>::template op<Opts>(
                    boost::geometry::get<0>(value),
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(b)>(b),
                    std::forward<decltype(ix)>(ix)
            );
        }
    };

    template<uint32_t Format, typename Point>
    struct write_coordinate_list {
        template<auto Opts>
        static void apply(Point &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            dump<'['>(b, ix);

            write_coordinates<Format, Point,
                    boost::geometry::traits::dimension<Point>::value - 1>::template apply<Opts>(
                    value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(b)>(b),
                    std::forward<decltype(ix)>(ix)
            );
            dump<']'>(b, ix);
        }
    };

    template<typename Point> requires boost::geometry::util::is_point<Point>::value
    struct to<JSON, Point> {
        template<auto Opts>
        static void op(Point &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            write_coordinate_list<JSON, Point>::template apply<Opts>(
                    value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(b)>(b),
                    std::forward<decltype(ix)>(ix)
            );
        }
    };

    template<uint32_t Format, typename Point, int Dim>
    struct read_coordinates {

        template<auto Opts>
        static void apply(Point &value, is_context auto&& ctx, auto&& it, auto&& end) {
            read_coordinates<Format, Point, Dim - 1>::template apply<Opts>(
                    value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(it)>(it),
                    std::forward<decltype(end)>(end)
            );
            match<','>(ctx, it);
            typename boost::geometry::traits::coordinate_type<Point>::type dimension_value;
            read<Format>::template op<Opts>(
                    dimension_value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(it)>(it),
                    std::forward<decltype(end)>(end)
            );
            boost::geometry::set<Dim>(value, dimension_value);
        }
    };

    template<uint32_t Format, typename Point>
    struct read_coordinates<Format, Point, 0> {

        template<auto Opts>
        static void apply(Point &value, is_context auto&& ctx, auto&& it, auto&& end) {
            typename boost::geometry::traits::coordinate_type<Point>::type dimension_value;
            read<Format>::template op<Opts>(
                    dimension_value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(it)>(it),
                    std::forward<decltype(end)>(end)
            );
            boost::geometry::set<0>(value, dimension_value);
        }
    };

    template<uint32_t Format, typename Point>
    struct read_coordinate_list {
        template<auto Opts>
        static void apply(Point &value, is_context auto &&ctx, auto &&it, auto &&end) {
            match<'['>(ctx, it);
            read_coordinates<Format, Point,
                    boost::geometry::traits::dimension<Point>::value - 1>::template apply<Opts>(
                    value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(it)>(it),
                    std::forward<decltype(end)>(end)
            );
            match<']'>(ctx, it);
        }
    };

    template<typename Point> requires boost::geometry::util::is_point<Point>::value
    struct from<JSON, Point> {
        template<auto Opts>
        static void op(Point &value, is_context auto &&ctx, auto &&it, auto &&end) {
            read_coordinate_list<JSON, Point>::template apply<Opts>(
                    value,
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(it)>(it),
                    std::forward<decltype(end)>(end)
            );
        }
    };

Is there any difference between:
            write<JSON>::op<Opts>(
                    "coordinates",
                    std::forward<decltype(ctx)>(ctx),
                    std::forward<decltype(b)>(b),
                    std::forward<decltype(ix)>(ix)
                    );

and:
            dump<'"'>(b, ix);
            dump<"coordinates">(b, ix);
            dump<'"'>(b, ix);

in regards to runtime costs? Asking as they seem to yield the same behaviour.

You can just use GLZ_SKIP_WS();. You shouldn't need the if constexpr (!has_ws_handled(Opts)) { , unless perhaps for the opening if you want avoid some potential double parsing, but this doesn't really matter.
You don't need to use std::forward with ctx, b, and ix, because these are almost always lvalue references, so it won't make a performance difference.

Thank you so much! Now the next challenge has been to write Linestrings to JSON.
The issue that I suspect that I'm facing is that, since a Linestring can be modeled as a std::vector of Points:
https://github.com/boostorg/geometry/blob/develop/include/boost/geometry/geometries/linestring.hpp#L54-L60
I think Glaze's std::vector specialization is being picked up before my specialization of struct to<JSON, Geometry> with requires boost::geometry::util::is_geometry<Geometry>::value.
The reason I suspect that is because, if I fully specialize to<JSON, Linestring> then it works.
Anyway to overcome this? 🤔
   // iterate through the coordinates of a Linestring
    template<uint32_t Format, typename Linestring> requires boost::geometry::util::is_linestring<Linestring>::value
    struct write_coordinates<Format, Linestring> {
        template<auto Opts>
        static void apply(Linestring &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            dump<'['>(b, ix);

            auto begin = boost::begin(value);
            auto const end = boost::end(value);
            bool first = true;
            for (auto it = begin; it != end; ++it)
            {
                if (not first) {
                    dump<','>(b, ix);
                }
                write_coordinates<Format, typename std::remove_reference<decltype(*it)>::type>::template apply<Opts>(*it, ctx, b, ix);
                first = false;
            }

            dump<']'>(b, ix);
        }
    };

    // write coordinates of a Point
    template<uint32_t Format, typename Point> requires boost::geometry::util::is_point<Point>::value
    struct write_coordinates<Format, Point> {
        template<auto Opts>
        static void apply(Point &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            dump<'['>(b, ix);

            write_coordinate<Format, Point,
                    boost::geometry::traits::dimension<Point>::value - 1>::template apply<Opts>(value, ctx, b, ix);

            dump<']'>(b, ix);
        }
    };

//    If full specialization is done, then it works, a JSON is generated.
//    template<>
//    struct to<JSON, Linestring> {
//        template<auto Opts>
//        static void op(Linestring &value, is_context auto &&ctx, auto &&b, auto &&ix) {
//            dump<'{'>(b, ix);
//            dump<R"("type")">(b, ix);
//            dump<':'>(b, ix);
//            write_geo_json_type<Linestring>::template apply<Opts>(ctx, b, ix);
//            dump<','>(b, ix);
//            dump<R"("coordinates")">(b, ix);
//            dump<':'>(b, ix);
//            write_coordinates<JSON, Linestring>::template apply<Opts>(value, ctx, b, ix);
//            dump<'}'>(b, ix);
//        }
//    };

    template<typename Geometry> requires boost::geometry::util::is_geometry<Geometry>::value // I suspect because a Linestring can be a std::vector of points, Glaze's `std::vector` handling is being picked up before this specialization.
    struct to<JSON, Geometry> {
        template<auto Opts>
        static void op(Geometry &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            dump<'{'>(b, ix);
            dump<R"("type")">(b, ix);
            dump<':'>(b, ix);
            write_geo_json_type<Geometry>::template apply<Opts>(ctx, b, ix);
            dump<','>(b, ix);
            dump<R"("coordinates")">(b, ix);
            dump<':'>(b, ix);
            write_coordinates<JSON, Geometry>::template apply<Opts>(value, ctx, b, ix);
            dump<'}'>(b, ix);
        }
    };

Comping error:
In file included from <directory>/libraries/glaze_geom/test/point_traits.cpp:14:
In file included from <directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/glaze_exceptions.hpp:12:
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/exceptions/json_exceptions.hpp:140:21: error: no matching function for call to 'write_json'
  140 |       auto result = glz::write_json(std::forward<T>(value));
      |                     ^~~~~~~~~~~~~~~
<directory>/libraries/glaze_geom/test/point_traits.cpp:266:22: note: in instantiation of function template specialization 'glz::ex::write_json<boost::geometry::model::linestring<boost::geometry::model::point<double, 3, boost::geometry::cs::cartesian>> &>' requested here
  266 |         r = glz::ex::write_json(bg_linestring);
      |                      ^
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1627:56: note: candidate template ignored: constraints not satisfied [with T = boost::geometry::model::linestring<boost::geometry::model::point<double, 3, boost::geometry::cs::cartesian>> &]
 1627 |    [[nodiscard]] glz::expected<std::string, error_ctx> write_json(T&& value) noexcept
      |                                                        ^
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1626:14: note: because 'boost::geometry::model::linestring<boost::geometry::model::point<double, 3, boost::geometry::cs::cartesian>> &' does not satisfy 'write_json_supported'
 1626 |    template <write_json_supported T>
      |              ^
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/core/opts.hpp:347:46: note: because 'detail::to<JSON, std::remove_cvref_t<T>>{}' would be invalid: ambiguous partial specializations of 'to<10, boost::geometry::model::linestring<boost::geometry::model::point<double, 3, boost::geometry::cs::cartesian>>>'
  347 |    concept write_json_supported = requires { detail::to<JSON, std::remove_cvref_t<T>>{}; };
      |                                              ^
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1615:28: note: candidate function template not viable: requires 2 arguments, but 1 was provided
 1615 |    [[nodiscard]] error_ctx write_json(T&& value, Buffer&& buffer) noexcept
      |                            ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1621:51: note: candidate function template not viable: requires 2 arguments, but 1 was provided
 1621 |    [[nodiscard]] glz::expected<size_t, error_ctx> write_json(T&& value, Buffer&& buffer) noexcept
      |                                                   ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1633:28: note: candidate function template not viable: requires 2 arguments, but 1 was provided
 1633 |    [[nodiscard]] error_ctx write_json(T&& value, Buffer&& buffer) noexcept
      |                            ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
<directory>/cmake-build-debugpolly/vcpkg_installed/arm64-osx/include/glaze/json/write.hpp:1639:51: note: candidate function template not viable: requires 2 arguments, but 1 was provided
 1639 |    [[nodiscard]] glz::expected<size_t, error_ctx> write_json(T&& value, Buffer&& buffer) noexcept
      |                                                   ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

I setup a compiler explorer with the code here:  https://tinyurl.com/boost-geometry .
I'm trying to understand why don't I need a template specialization for the Boost Geometry Point model, but I need one for  the Linestring which is modelled as a std::vector<Point>?
This is, why if you comment lines 342 to 348 from the compiler explorer link above there is a compilation error?
Why don't I need a similar specialization for Point?
Code from lines 342 to 348 is:
template<>
struct glz::detail::to<glz::JSON, ModelLinestring> {
    template<auto Opts>
    static void op(const ModelLinestring &value, is_context auto &&ctx, auto &&b, auto &&ix) {
        write_geometry<JSON, ModelLinestring>::template apply<Opts>(value, ctx, b, ix);
    }
};

Thanks for any insight you can provide.

When you comment out those lines this error is helpful: note: because 'detail::to<JSON, std::remove_cvref_t<T>>{}' would be invalid: ambiguous partial specializations of 'to<10, boost::geometry::model::linestring<boost::geometry::model::point<double, 3, boost::geometry::cs::cartesian>>>'
I don't have much time to dig into this, but this code must be a more specialized version of glz::detail::to. If this doesn't exist it means that two different specializations would support this type.
This is probably one of them. But, I can't actually tell where the other option is, which causes the ambiguity.
template<typename Geometry> requires boost::geometry::util::is_geometry<Geometry>::value
    struct to<JSON, Geometry> {
        template<auto Opts>
        static void op(const Geometry &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            write_geometry<JSON, Geometry>::template apply<Opts>(value, ctx, b, ix);
        }
    };

Awesome, thank you!
Any insight was very helpful. Sorry to bug with C++ related questions, will close this issue, thank you.

It becomes ambiguous because it clashes with Glaze's handling of std::vector<T>, explicitly removing the Linestring from the to<JSON, Geometry>:
    template<typename Geometry> requires (boost::geometry::util::is_geometry<Geometry>::value and not boost::geometry::util::is_linestring<Geometry>::value)
    struct to<JSON, Geometry> {
        template<auto Opts>
        static void op(const Geometry &value, is_context auto &&ctx, auto &&b, auto &&ix) {
            write_geometry<JSON, Geometry>::template apply<Opts>(value, ctx, b, ix);
        }
    };

And removing the specialization, it results in a list of Point types, handled by glaze's mechanism to handle std::vector<T>:
[{"type":"Point","coordinates":[2.4,5.6,5.9]},{"type":"Point","coordinates":[2.4,5.6,5.9]}]

This was very interesting, I'm glad you were able to figure it out and get it working! Nice job!

Now looking for a mechanism of how can glaze's handling of std::vector<T> can be used as a fallback in case no other specialization is provided.

Yay, this was covered in the docs! 🥳
https://github.com/stephenberry/glaze/blob/7d942ae07caf37792d1ec62df29f51c8b71e7bfc/docs/custom-serialization.md?plain=1#L104-L118
https://github.com/stephenberry/glaze/blame/7d942ae07caf37792d1ec62df29f51c8b71e7bfc/docs/custom-serialization.md#L118

So fixed with:
template <typename Geometry>
requires boost::geometry::util::is_geometry<Geometry>::value
struct glz::meta<Geometry> {
    static constexpr auto custom_read = true;
    static constexpr auto custom_write = true;
};

Which makes the custom serializer take precedence.
Damn, this library is awesome!

Fantastic!


EG4 18kPV

Any ideas if this will work with the EG4 18kPV which is based on a LUX-12K hybrid inverter?

Good question, in all honest I have absolutely no idea :) The EG4 is an american-based product right? So I don't think I'll be able to get my hands on one to try it out. It may be possible to add support but we'll need to know the protocol it speaks first.
If I had to guess, I'd suspect that if its based on a Luxpower inverter then the internal registers will all be pretty much the same, but perhaps the wifi dongle may be slightly different so there may be a different TCP wrapper around the packets.
Do you have one, are you able to try it? Does the EG4 talk to Luxpower's servers? What does the web interface of the wifi dongle look like, can you open a listening port for lxp-bridge to connect to?
Most usefully, some packet dumps of what's going on when it sends data out would be a good start, maybe we can deciphering it.

Thanks.  I have ordered one so will be able to investigate further.  It is an "Americanized" version of the LUX-12K hybrid inverter so maybe it will work.  It does not however talk to Luxpower servers.  Instead it is supposed to talk to AWS servers  in USA region.   On page 41 of this PDF it shows interface setting up the Wi-fi dongle:
https://eg4electronics.com/wp-content/uploads/2023/06/EG4-18KPV-12LV-Manual-1.3.0.pdf

Well well, look what I found ;) https://eg4electronics.com/wp-content/uploads/2023/06/EG4-18KPV-12LV-Modbus-Protocol.pdf
The registers correspond exactly with what we have documented in https://github.com/celsworth/lxp-bridge/wiki/Inputs and https://github.com/celsworth/lxp-bridge/wiki/Holdings so I think there's a good chance it will work.
This is supremely helpful, until now Luxpower have been extremely cagey about releasing documentation like this, a lot of what we know is reversed engineered or guessed. In fact there's more registers in that doc than I knew about so we could add those to lxp-bridge's output at some point. I see there's older/smaller models in the EG4 range that also have Modbus Protocol documentation which look completely different (https://eg4electronics.com/downloads/), so probably only the 18kPV will work with this software.
The documentation is focused on UART though rather than over TCP so there's still a bit of an unknown there over TCP encapsulation. But I think that should be easy to work out, just by watching what the inverter sends for a while.
The Wi-fi dongle images in the manual look pretty much identical to what's on Lux inverters as well, so the instructions will be much the same, just open a listening port to connect to. The AWS servers you mention look like simple reskins (literally just a different colour scheme) by the look of it.

Excellent.  It will be a while before I can test this since haven't received it yet.  Maybe someone else who has one may be able to test beforehand.

Well well, look what I found ;) https://eg4electronics.com/wp-content/uploads/2023/06/EG4-18KPV-12LV-Modbus-Protocol.pdf

Oooh... this makes things exciting :)

Any ideas if this will work with the EG4 18kPV which is based on a LUX-12K hybrid inverter?

It works.  I'm using it with mine.  It locks up occasionally and stops updating the values.  Not sure why yet.. but for the most part it works.  I'd love it if the rest of the registers (the ones the distributor has access to that customers don't) would be published tho.

I'd love it if the rest of the registers (the ones the distributor has access to that customers don't) would be published tho.

Any ones in particular? Since we have the modbus protocol document now we can add a lot more, but since I don't have access to an inverter that populates all these new registers, I'm not really sure which ones are useful (and even with the Chinglish doc, understanding what half of them mean is tricky sometimes)

I'd really like to see the fault codes and status.. i mean really all of them that make sense.  I'd be happy to provide some data if needed.  I have my system ac coupled.  I don't have anything in the PV ports.  just a huge AC Coupled array.


[FEATURE]: Add Buttons in the Initiative Cards

We can add Buttons in the respective cards of the initiative sections.
Use Case
We'll redirect them to their respective pages with the help of buttons.
Alternatives
We can do the same work by linking the names of the initiatives other than using buttons.
Screenshots

Note to reviewers
I'm a GSSoC'22 contributor. I can work on this issue. Kindly assign this issue to me.

I'm a GSSoC'22 contributor. I can work on this issue. Kindly assign this issue to me.


[new chord progression]

** Which Chord progression would you like to add to the pack? **
I-V-iv-VI

Ohhh nooo I forgot this one??
Many thanks for your great contribution ;)
Ludo
https://drolez.com/freemidi/   - Free Midi Chords pack


Add custom templating to Coverage Reporting

Added code to include all resources in coverage templates
Added code to the Coverage::ResourceWrapper class to output json
Added set_template call to the Coverage class
Added table.erb and json.erb templates.
I'm pretty new to ruby, and really new to chefspec, so if there are better ways to do these things, please advise.  Also I'm not seeing much automated testing of the Coverage class, so i'm not sure where to add tests for these changes.  They work in my ad-hoc testing using the example files in the directory. What other testing should I add?

@sethvargo Have you looked over the new code, was I able to address all your comments?


Add fix for Cordova 7.0 in afterPrepareHook

closes #22

adapted from https://github.com/nordnet/cordova-hot-code-push/blob/master/scripts/lib/iosWKWebViewEngineSupport.js
changes verified with Cordova v7.0.1

related to https://github.com/nordnet/cordova-hot-code-push/issues/295
@nikDemyankov Could you review the changes? 🍻


chore: update tests to Astro 5

Updates the Deno Astro Adapter to Astro 5.0. This includes updating the dependencies in the package.json and removing the warning about static output mode. The static output mode has been removed in Astro 5.0 [1,2].
[1] https://5-0-0-beta--astro-docs-2.netlify.app/en/guides/upgrade-to/v5/#removed-hybrid-rendering-mode
[2] https://astro.build/blog/astro-5/
This change-set also update the README as we can now build with Deno 2.0 This was introduced in commit f8d18fdb40dcdd9b9e1a778c73973922d4a01b73

Don't review this yet. I've noticed a slight improvement I can make. Astro 5 has removed hybrid support, but this adapter still checks for it.

Don't review this yet. I've noticed a slight improvement I can make. Astro 5 has removed hybrid support, but this adapter still checks for it.

Should be good to go now. I removed the check for the static output option as it's the default now that they removed hybrid mode. I left a few links to the docs on this.

Should be good to go now. I removed the check for the static output option as it's the default now that they removed hybrid mode. I left a few links to the docs on this.

Sounds reasonable to me as static mode now seems supporting optional server-side rendering https://astro.build/blog/astro-5/#simplified-prerendering

Published as 0.2.0 (minor version bump because of the change of astro major version support<EMAIL_ADDRESS>Thanks for your contribution!


Plug-in installation command problem

VSCode Version: Code 1.14.2 (cb82febafda0c8c199b9201ad274e25d9a76874e, 2017-07-19T23:34:09.706Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author (truncated)
Version

vscode-eslint
dba
1.2.11

python
don
0.7.0

vscode-docker
Pet
0.0.16

Steps to Reproduce:
1.Create a new .py file and save, prompt to install the pylint plugin.
2.Click on the installation, run the command in poershell:
"D: \Program Files\Python36\python.exe" -m pip install pulint
Will perform the error, it should actually be
&"D: \Program Files\Python36\python.exe" -m pip install pulint
or
python -m pip install pulint

Reproduces without extensions: Yes/No

I'm guessing the Python extension is prompting you to install pylint. Pls file the issue against the Python extension here: https://github.com/DonJayamanne/pythonVSCode/issues. Thanks!


@conda-forge-admin,please add bot automerge

@conda-forge-admin,please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/mcpl-feedstock#6.


[core] Make CRUD feature available to the users

Summary
We discussed CRUD feature yesterday and I have mentioned it in the announcement blog as an upcoming feature: https://github.com/mui/material-ui/pull/43497. Here, I have linked the RFC but it doesn't make sense because we already have it ready in some form. I think we should just release it and let users explore it and share feedback. WDYT?
Any reason why we should still keep it hidden?
Motivation
To let users use the powerful features of Toolpad Core.
Search keywords: CRUD

Closing it as we have a separate issue for CRUD now.


[Feature Request] Deliver UI notifications via AppSync Subscription

🙋 feature request

🤔 Expected Behavior

😯 Current Behavior

💁 Possible Solution

🔦 Context

💻 Examples

@astra1 can you add a comment that you are working on this issue. I believe I can then assign it to you.

will do this


Mouse wheel scrolls window and changes size of selected annotation

For small window sizes, scrollbars appear in the browser window.
When in annotation mode, using the mouse wheel then scrolls the window while also changing the size of the selected annotation.
Tested on firefox/ubuntu

Fixed


If Nether ambience plays, it will not stop when returning to the overworld

This happens on Fabric API 0.30, Seamless Loading Screen 1.2.2
I have identified this mod to be the culprit behind this bug, as it doesn't happen on vanilla or without this mod enabled.
Seems like travelling between nether/overworld somehow has this plugin break the ambience, making it not stop when you leave the Nether.

I can't find anything that would cause this, but I'll look a bit deeper tomorrow

Oh, I'm dumb. One of the screen's I override/replace was the joining world screen. Since that screen is used both both initial join (when I want it to show) and changing worlds (overworld -> nether, etc), I checked to see if it was the initial one. I did this by replacing the reset call (which changes screens, resets the audio, etc) with custom code that resets it with the the custom screen. The problem was that if it wasn't where I wanted to replace it, the code got replaced with nothing, so it never called reset, which meant the audio was never reset. This is now fixed and will be in the v1.3.0 release today. (or v1.3.0-beta.1 if I can't get the translations in time)

Oh, I'm dumb. One of the screen's I override/replace was the joining world screen. Since that screen is used both both initial join (when I want it to show) and changing worlds (overworld -> nether, etc), I checked to see if it was the initial one. I did this by replacing the reset call (which changes screens, resets the audio, etc) with custom code that resets it with the the custom screen. The problem was that if it wasn't where I wanted to replace it (i.e. changing dimensions), the code got replaced with nothing, so it never called reset, which meant the audio was never reset. This is now fixed and will be in the v1.3.0 release today. (or v1.3.0-beta.1 if I can't get the translations in time)

LOOOL this is amazing, yeah I was wondering it was smth like that cuz I could've sworn there's a loading screen between dimensions

Fixed in v1.3.0 and v1.3.1


Don't duplicate code for small-error

So, while implementing #159, I've noticed that I have to duplicate docstrings for small-error. I though that maybe we can get rid of this duplication, by separating the Error API (which is the same for both cases) and the implementation (which actually differs). Not sure if it's worth doing this, but at least it seems to work =P

Could you nest these inside an error directory with submodules for the two impls?

Sure!

I would have named submodules impl and impl_small, but impl is a keyword 😒

I rebased and fixed this. :-)