ImportError: cannot import name 'DefaultProvider'

Hi,
I don't know if this belongs here or at pipenv! but there you go.
all I did was
pipenv --three
pipenv shell
pipenv install apistar
pipenv lock
and when I try apistar new . --layout minimal
I get this:
Traceback (most recent call last):
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/bin/apistar", line 7, in <module>
    from apistar.main import main
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/apistar/__init__.py", line 8, in <module>
    from apistar.app import App
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/apistar/app.py", line 7, in <module>
    from apistar import commands as cmd
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/apistar/commands/__init__.py", line 4, in <module>
    from apistar.commands.schema import schema
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/apistar/commands/schema.py", line 2, in <module>
    from coreapi.utils import get_installed_codecs
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/coreapi/__init__.py", line 2, in <module>
    from coreapi import auth, codecs, exceptions, transports, utils
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/coreapi/codecs/__init__.py", line 3, in <module>
    from coreapi.codecs.corejson import CoreJSONCodec
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/coreapi/codecs/corejson.py", line 8, in <module>
    import coreschema
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/coreschema/__init__.py", line 6, in <module>
    from coreschema.encodings.html import render_to_form
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/coreschema/encodings/html.py", line 5, in <module>
    env = jinja2.Environment(loader=jinja2.PackageLoader('coreschema', 'templates'))
  File "/home/essa/.local/share/virtualenvs/apistart-test-snB09WnE/lib/python3.5/site-packages/jinja2/loaders.py", line 222, in __init__
    from pkg_resources import DefaultProvider, ResourceManager, \
ImportError: cannot import name 'DefaultProvider'

thanks

From the traceback the import error seems to occur within jinja2.
I'd start be trying to track down if you can reproduce that error further down the stack (eg. importing coreschema, importing jinja2.)


Integrate with existing apps?

How would I integrate ng admin into an existing angular app?

If you're using ui-router, you can't for now.
Duplicate of #446


ci(pinner): Create issues-pinner.yml workflow

What does this PR do?
For resources
Description
A workflow to monitor pin/unpin issue event types and add/remove state labels accordingly
Needs declare a new label: ~📌 pinned~  :pushpin: pinned
Resolves #7055
Workflow runs:
- Tested with davorpa/free-programming-books#16 issue
- https://github.com/davorpa/free-programming-books/actions/runs/2983767547
- https://github.com/davorpa/free-programming-books/actions/runs/2983768434
- https://github.com/davorpa/free-programming-books/actions/runs/2983769061
- https://github.com/davorpa/free-programming-books/actions/runs/2983769167
Checklist:

[x] Read our contributing guidelines.
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

do you know of another repo where this is done?

any comments, @mohitsaxenaknoldus ?

do you know of another repo where this is done?

Not directly. But workflow is easy to newbies. I apply some merged knowledges:

Base docs: actions-ecosystem/action-add-labels & actions-ecosystem/action-remove-labels & actions-ecosystem/action-size
Run jobs concurrently to take performance into account. Stack stragegy is used (FIFO), so new runs waits for those older
Security. Scoping permissions to what really needed. In general issues: read and no git/filesystem (content: none) access.
Supercharging workflows with summaries. https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
It only affect to pin/unpin issue events  not PRs/commits

A job cleanup is made. Instead have defined 3 jobs we have 3 steps. It seems go a bit faster

please add a header comment in the code that describes the purpose of the action and exactly what it does.

please add a header comment in the code that describes the purpose of the action and exactly what it does.

This action adds a label to an issue when is pinned and removes it when unpinned.
The label is enhanced with stale.yml workflow. Pinned issues never stales due to the label is declared as exemption

This workflow adds a label to an issue when is pinned and removes it when unpinned.
The label is enhanced with stale.yml workflow. Pinned issues never stales due to the label is declared as exemption

that helps. now add it to the file

that helps. now add it to the file

Done

Nice work


Crop Mask No data value

With the previous regional crop mask, no data =0, while the continental crop mask no data = 255, can the no data value can be 0 instead of 255 for the continental crop mask.
regional crop mask

continental crop mask

unless we add another line to filter only the crop land before we can get the same regional one.

Hey Edward, this is actually an excellent example of why changing the nodata value is important.
If you look at the data values in the old _eastern crop mask here, where purple is 0 and yellow is 1, you can't distinguish the difference between non-crop and nodata. This is a problem.

The upgraded version looks like this, and note that the nodata values are correctly masked by default in QGIS.

If I unmask them, and set them as red, so values of 255 can be seen, you can see there are now three distinct classes in the data.

This is exactly why we reprocessed the whole continental crop mask: so that we can distinguish between the zero values (in the filtered data it means "not crop") and the nodata values (means there's no decision about it being crop/non-crop).

Hi @alexgleith, thank you for the clarification, I now understand it. I will update the notebooks with the continental crop mask and provide this explanation to it. Will close the issue.


Prepopulate gadgets and restrain adding new ones

Hi.
In this PR, I added a mechanism to prepopulate gadgets and avoid adding new ones:
$ docker build -t ghcr.io/inspektor-gadget/prepopulator tools/prepopulator/.
...
$ ./bin/minikube/minikube-v1.33.1 image load ghcr.io/inspektor-gadget/prepopulator
$ make minikube-start
...
$ ./bin/minikube/minikube-v1.33.1 image load ghcr.io/inspektor-gadget/inspektor-gadget:francis-volume-ig-oci
$ ./kubectl-gadget deploy --image-pull-policy=Never --prepopulate-gadgets=trace_exec,trace_open,ghcr.io/eiffel-fl/gadget/trace_exec
...
Inspektor Gadget successfully deployed
$ ./kubectl-gadget run trace_exec -A                          francis/volume-ig-oci *%
INFO[0000] Experimental features enabled
K8S.NAMESPACE  K8S.PODNAME    K8S.CONTAINER… MNTNS… PID      PPID     UID      GID      R… U… P… COMM    ARGS    K8S.NO… TIMESTAMP
gadget         gadget-6hhzt   gadget<PHONE_NUMBER>3    59175    0        0        0  f… f… gadgett /bin/g… minikub 2024-07-12T12:59
gadget         gadget-6hhzt   gadget<PHONE_NUMBER>4    59176    0        0        0  f… f… gadgett /bin/g… minikub 2024-07-12T12:59
^C%
$ ./kubectl-gadget run --verify-image=false ghcr.io/eiffel-fl/gadget/trace_exec -A
INFO[0000] Experimental features enabled
K8S.NAMESPACE    K8S.PODNAME      K8S.CONTAINERNA… MNTNS_… TIMESTAMP           PID      PPID     UID      GID      … U… COMM     K8S.NODE
gadget           gadget-6hhzt     gadget           4026537<PHONE_NUMBER>488       59795    59776    0        0        0 f… gadgettr minikube
gadget           gadget-6hhzt     gadget           4026537<PHONE_NUMBER>604       59794    59775    0        0        0 f… gadgettr minikube
^C%
$ ./kubectl-gadget run trace_oomkill -A                       francis/volume-ig-oci *%
INFO[0000] Experimental features enabled
Error: fetching gadget information: getting gadget info: rpc error: code = Unknown desc = getting gadget info: initializing and preparing operators: instantiating operator "oci": ensuring image: pulling image (if missing) "trace_oomkill": downloading to local repository: failed to create ingest file: open /var/lib/ig/oci-store/ingest/4032486abf82cf8e2e5d4e2ec332a693f10eb690fb3b5d51b5583f457340bb5d_359242559: read-only file system

Best regards.

This is an interesting approach and I like quite a couple of advantages it brings (read-only), however, I wanted to add another idea that we have (briefly) discussed at the get together and that is connected to this: the idea of "installed gadgets".
"Installed gadgets" could be pretty much the same as "pre-populated gadgets" - they'd however be pre-populated by the gadget pods themselves by listening to a new custom resource called "installed-gadget" or something like that. So whenever a new resource like that gets created, all pods would immediately pull the specified image.
Advantages:

RBAC control over what is pre-populated (can restrict who is able to deploy the CR)
pre-population can be done without re-deploying IG by an admin at any time (just create a new CR)
IG process is aware of state (all installed CRs) and can re-try downloading images (what if the Internet is down when prepopulating for example on some nodes)
additional restrictions (like parameter restrictions) can be placed in the CR
a "catalog" of available gadgets can quickly be compiled (we need something like this for other interfaces)

Disadvantages:

no read-only volume (checks are done in the IG process using the CR, though - so even if an image would be placed by a third party, it could not be run)
complexer logic when using default configuration of IG (e.g. without restrictions; in that case, installing the gadget should happen implicitly - probably using RBAC credentials of the client)

WDYT?

I'd propose to hold it until we are finished with #2997.

I'm thinking again about this and I'm not sure we need this support, at least not as a security mechanism. We're now able to control the gadgets that can be run by using allowed-gadgets. I see the mechanism provided in this PR more like a way to prepopulate the gadgets (to avoid having to reach the network), but that seems orthogonal to the security mechanism. In order to prepopulate the gadgets, I think something based on image import and image export should work. (this is however not clear how it'll work on the k8s case and if it should be a responsibility of Inspektor Gadget to handle it).

I think if somebody is able to bypass the allowed-gadgets then we're in a really bad position. However I agree that a read-only volume provides extra security, but we need to think more how to implement it. I think this "prepolator" is too hacky and only covers the k8s case. I'm imagining a way provide a file with a set of "prepopulated" gadgets it to ig with a --static-gadgets or similar flag.
I also want to get other folks opinions on this one. cc @alban

I don't really want to link those two features together:

Prepopulate gadgets
Restrict downloads

I think those two features should be configurable independently.
I don't think restricting downloads solely with a read-only volume is a good idea. If we make the path /var/lib/ig/oci-store configurable in the configuration file, then the read-only volume setting in the Helm chart will stop having an effect.
I also don't like that the download restriction is configured differently in the ig and the kubectl-gadget cases. And even in the kubectl-gadget case, there are 2 different code paths: configuration with Helm or with kubectl-gadget-deploy. This makes it easy to have regression bugs: for example, the deploy command checks for volumeMount.Name != "oci" to set the read-only flag, but if we rename the volume to oci-store at some point, it will silently stop being read-only.
I prefer the disable-pulling: true solution too because it would offer a single implementation in a single file for all use cases:

ig
kubectl-gadget with Helm
kubectl-gadget with the deploy command
custom software importing IG Golang packages

Next week, I plan to get user feedback for the IG Golang packages use case. I would like the two features (prepopulate & download restriction) to be available for that use case.

Came across this in morning: https://kubernetes.io/blog/2024/08/16/kubernetes-1-31-image-volume-source/ and was thinking we can have an image with all the gadgets and mount it as mentioned in the blog. The feature is in Alpha so perhaps something for future.

(not sure 100% relevant)

It's very relevant! I checked the k8s documentation looking for options but there was nothing, I think this new volume is perfect for our use case, thanks a lot for sharing it!


Add risingwave

https://github.com/risingwavelabs/risingwave/blob/main/docker/docker-compose-standalone.yml

closing, duplicate #650


[epic] Read Service with CKAN v2 compatibility

We are using Hasura as the base wrapper around Postgres.
We need a backwards compatible API
# dapi-endpoint includes version e.g. data-api.ckan.com/v1/ ...
{dapi-endpoint}/{dapi-id}/graphql  # raw Hasura
{dapi-endpoint}/{dapi-id}/datastore_search  # CKAN DataStore /api/3/datastore_search

# let's see about this one (if hard we may skip for now)
{dapi-endpoint}/{dapi-id}/datastore_search_sql/  # CKAN DS SQL /api/3/datastore_search_sql

Terminology

dapi-id = table name in postgres (?) tbc

NB: hasura does not allow - in table names ...

Acceptance

[ ] We have a new graphql endpoint

[ ] You can get CSV and xlsx data from it (?)

[ ] We have backwards compatible datastore_search
[ ] We have backwards compatible datastore_search_sql
[ ] We support CORS
[ ] We have a hook for metrics (to google analytics)

BONUS

[ ] We implement existing permissions (what are they?)

Tasks

[ ] Setup - create / define repo

[x] Bootstrap an Express app (?use a boilerplate instead of doing it from scratch https://expressjs.com/en/starter/generator.html)
[x] Setup tests - what should we use here? Supertest remains the default for node http server tests ...
[ ] Setup mocks / fixtures ie. the fixture postgres database

[ ] For mocks we can either use nock or mitm.js (interesting to give a try)

[ ] Setup CI to run the tests

[ ] Deploy to Hasura-dev on our cluster
[ ] Create the graphql endpoint

[ ] should serve as a proxy from/to hasura graphql server
[ ] receives a reqeust => preps a graphql query => hits hasura => pipes back the response

[ ] Create datastore_search endpoint
[ ] Create datastore_search_sql endpoint

Analysis
graph TD

subgraph Read API service
  hasura[Hasura]
  apiwrapper[NodeJS wrapper app]
end

postgres[Postgres]

apiwrapper --> hasura
hasura --> postgres

@rufuspollock @EvgeniiaVak
While this design might be good for this particular case, I would propose a more general idea on how to deal with multiple different data warehouse backends, exposing hasura directly is an option.
After some thought on the needs and variability that the Next API will have depending on customers and even for a single customer on the different reporting capabilities (example, full data download/upload). This is just an initial idea to start a deeper discussion, please let me know if I should move this to another thread or place.
In reference to design of data api I would propose to extend a bit the idea with something like this:
graph TD

Client --> A[API Next]
A -->|Service Call| B(Plugin Dispatcher)

subgraph Plugin System

    B --> C{Plugin Selection}
    C -->|1| HA[hasura]
    C -->|2| PG[Postgres]
    C -->|3| SFTP
    C --> DOTS[...]
    C -->|N| GQL[GraphQL]

end

The difference being that instead of the call and return passing directly to the through end system it passes through a plugin system, this way there are a few things that can be added painlessly (kind of).
Some of the advantages that I see for this approach would be:

for queries that return big results (GB order?) the result returned can be an URL pointing to a saved result in a file on a file server (for example SFTP server), this adds some resilience if the transfer fails (the client can start the transfer again, a result file hash can be computed and returned for ), it also can be used for intermediate results that can be used later for different output queries.
new backends can be added without the need to touch the main source package

What a plugin would do:

register itself and it's basic exposed api
provide it's documentation
act as a bridge between the API and a data backend
could query multiple backends/databases if needed

I don't know how this is currently handled but an example of a plugin that handles custom heavy queries that might take some time could be:
The plugin takes the call, puts the new job in a queue with a jobID
the API returns:

a jobID to be able to poll to see if the result is available, there is an error or still waiting to start
Once the job is available querying for the job ID can return an URL where the result is available and for how long it will be available before deletion

The polling ID is simple enough for many applications, while the system could be later updated to handle pub/sub (but for this the calling system needs to be able to also handle its subscriptions)

@EvgeniiaVak @leomrocha can you update on where we are with this?

@rufuspollock At the moment we have a basic API (as explained in the README file) that is not backwards compatible. It can take graphql queries and queries with other parametrizations.
We could make a few changes to have backwards compatibility adding endpoints that behind the scenes convert the calls to JSON, or doing a conversion in the same endpoints but I would suggest we keep the new API and deprecate the CKAN one adding specific compatibility endpoints giving some deadline (a few years?) to move to the new ones.
The datastore_search_sql endpoint should be deprecated a directly exposing the DB has many problems for portability and maintenance.
Not all the endpoints make sense with the new syntax as some can be merged.
In the case of making a GraphQL query, the server redirects to graphql
Downloads for CSV and XLSX should be added but I wouldn't do that as a graphql response (endpoint), instead what I would do is to maintain the graphql query and as response do a file stream directly, or saving to a file server with some file retention policy and returning the file url as a redirect and download.

@rufuspollock @anuveyatsu @EvgeniiaVak I would like your thoughts here.
This issue might be already outdated and some discussion is needed on the CKAN backwards compatibility.
I would like to avoid exposing the datastore_search_sql endpoint as it not only makes another security risk headache but I  think we should deprecate it. Maybe on the services that are still using this endpoint keep using CKAN while the systems are migrated to the new GraphQL and datastore_search endpoints.
For the complete backwards compatibility of datastore_search with CKAN there are still some things to implement that with the changes make no real sense or are not easily feasible. If is needed for some current migration we can implement the needed features, but I would make it as per need basis only and not as a general requirement. The same if a migration can be done with the datastore_search_sql endpoint, I would not include it in the data-api distribution but only do it in the cases that need it for migrating from CKAN and with the view of taking it out in the future.
I think one of the most important features to do right now is to implement access rights and security.

I would like to avoid exposing the datastore_search_sql endpoint as it not only makes another security risk headache but I think we should deprecate it. Maybe on the services that are still using this endpoint keep using CKAN while the systems are migrated to the new GraphQL and datastore_search endpoints.

I hear you .... and some people do use this so we will need it. I think for this we could implement a function purely in nodejs wrapper (outside Hasura). It's a relatively straightforward to do i think.

For the complete backwards compatibility of datastore_search with CKAN there are still some things to implement that with the changes make no real sense or are not easily feasible. If is needed for some current migration we can implement the needed features, but I would make it as per need basis only and not as a general requirement. The same if a migration can be done with the datastore_search_sql endpoint, I would not include it in the data-api distribution but only do it in the cases that need it for migrating from CKAN and with the view of taking it out in the future.

Can we make sure what is and is not implemented is very clearly documented in the README - is that something we could do right now.

I think one of the most important features to do right now is to implement access rights and security.

Can you open a separate issue about this if we don't have it already. For this i'm anticipating that we move to the JWT approach using ckanext-authz i.e. ckan using ckanext-authz gives out tokens that this data api service can then use to authorize requests.


Update dependency @types/react to v17.0.34

This PR contains the following updates:

Package
Type
Update
Change

@types/react
devDependencies
patch
17.0.20 -> 17.0.34

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

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (17.0.34). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Debug Button still invisible after Build

After Build the project. the debug buttons still invisible.

after restart vscode. they're appeared.

What CMake Version are you using? What configuration do you have for CMake Tools?

CMake Version: n 3.9.0-rc1
CMake Tools Settings:

"cmake.debugConfig": {
    "miDebuggerPath": "gdb.exe",
    "externalConsole": true,
    "stopAtEntry": true
}

Build Type: Debug


Update the search text in API Docs

Description
Need to update the search text (i.e., Search in distribution) in [lib.ballerina.io](https://lib.ballerina.io/). Saying distribution might not be meaningful here.

Related website/documentation area

Add/Uncomment the relevant area label out of the following.

Describe your task(s)

A detailed description of the task.

Related issue(s) (optional)

Any related issues such as sub tasks and issues reported in other repositories (e.g., component repositories), similar problems, etc.

Suggested label(s) (optional)

Optional comma-separated list of suggested labels. Non committers can’t assign labels to issues, and thereby, this will help issue creators who are not a committer to suggest possible labels.

Suggested assignee(s) (optional)

Optional comma-separated list of suggested team members who should attend the issue. Non committers can’t assign issues to assignees, and thereby, this will help issue creators who are not a committer to suggest possible assignees.

Closing as this is fixed in the new design as shown below.


Summarize v2

Attempting to add feature for summarize v2. This new feature is currently in beta. Now, a user can add summarize=true (boolean) to get the v1 version and summarize=v2 (string) to get the v2 version.
I am not sure how to test this PR so advice would be appreciated (I don't normally write C# code). The api url to test is https://api.beta.deepgram.com/v1/listen?summarize=v2
The response shape of summarize v2 is
{
  "metadata": {
    "transaction_key": "deprecated",
    "request_id": "",
    "sha256": "",
    "created": "2023-06-26T00:27:41.260Z",
    "duration": 25.933313,
    "channels": 1,
    "models": [
      "96a295ec-6336-43d5-b1cb-1e48b5e6d9a4"
    ],
    "model_info": {
      "96a295ec-6336-43d5-b1cb-1e48b5e6d9a4": {
        "name": "general",
        "version": "2023-02-22.3",
        "arch": "base"
      }
    }
  },
  "results": {
    "channels": [
      {
        "alternatives": [
          {
            "transcript": "Yeah, as as it's worth celebrating the first Space walk with an all female team. I think many of us are looking forward to it just being normal. And I think if it signifies anything, it is to honor the women who came before us who were skilled and qualified and didn't get the same opportunities that we have today.",
            "confidence": 0.99560547,
            "words": [
              {
                "word": "yeah",
                "start": 0.11971429,
                "end": 0.1995238,
                "confidence": 0.62402344,
                "punctuated_word": "Yeah,"
              },

            ]
          }
        ]
      }
    ],
    "summary": {
      "short": "A speaker discusses the upcoming launch of an all-female Space walking team, which is aimed at honoring skilled and qualified women who missed the same opportunities as the first Space walk. They express excitement for the upcoming launch and hope it will be a normal occurrence."
    }
  }
}

Whilst I am not on the main branch I am working on the prerelease branch - to get it working - you need to do the following
Change the Summarize type in PrerecordedTranscriptionOptions from bool? to object
Add to PredrecordedTranscriptionResult
[JsonProperty("summary")]
public Summary Summary {get;set;}
Add to Summary.cs
[JsonProperty("short")]
public string Short { get; set; }
you can see the test for it here  on my fork of the

closed duplicate


[5.6] Fix that you can't give a custom channel to notifications

In this commit https://github.com/laravel/framework/commit/4227bd78d5ab2743e694bfd34784a5ccced20bef Taylor broke the custom naming of channels. To fix this we have to rename broadcastType back to broadcastAs as the class that uses this looks at broadcastAs.

Isn't this a breaking change? Renaming methods sounds dangerous.

Maybe it is yeah, I though that as it is added in v5.6.4 and broke the PR it came after that I should put it in 5.6, but maybe it is better to add a alias method now and fix it in 5.7


feat: Added react-useragent example

Add an example how to use @quentin-sommer/react-useragent with next.
I've been asked this https://github.com/quentin-sommer/react-useragent/issues/10 and plan to link this example as reference!
See readme for details

thanks, @timneutkens :smile: Hope everything is great!


do you have a simulator for archon

Hello,  sdss-archon developers:
I am very interested in sdss-archon python package,
I wonder if there is a simulator which we can test when we have no acceess to Archon controller hardware
Best regards

Hi @eh2006re. No, we don't have an archon simulator. You can look into the conftest.py file in the test directory for a very simple Archon server that replies to commands being sent to it. That server helps with some of the unittesting and while it replies the same way the archon hardware does, it's not really meant as a full simulator.

HI, @albireox   Many thanks,   I will have a look.
Regards
xiaofeng

Hello, Jose
Sorry to bother you again.
We are interested in seeing if we can use SDSS-Archon and integrate it into
our detector control system.
We are developing software on Ubuntu-20.0.4, with python3.9.  but I have
not used asyncio or docker at all.
I was not sure how to test your contest.py
I installed sdss-archon with  "pip install sdss-archon "
I also created a simple echo Archon Controller simulator and tested with a
simple client. Verified that the TCP server/Client works.
See attached.
$ testArchonSimulatorEcho.py
$ testArchonSimClient.py
I thought if I start testArchonSimulatorEcho.py ( we have not got the
archon controller hardware yet),
then follow the simple steps in the section on your website (see below)
I shall be able to see the TCP communication from archon to my simple
testArchonSimulatorEcho.py
[
ArchonController
https://sdss-archon.readthedocs.io/en/latest/api.html#archon.controller.ArchonController
provides
a mid-level interface to the Archon controller and implements the protocol
for communicating with the controller
]
However, I failed at [await archon.start()].   here is what I tested inside
python interactive session

~$ python
Python 3.9.7 (default, Sep 16 2021, 13:09:58)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

import asyncio
from archon.controller import ArchonController
archon = ArchonController('my_controller', 'localhost')
archon
<archon.controller.controller.ArchonController object at 0x7f4aec946310>
await archon.start(False)
[ERROR]: File "", line 1
SyntaxError: 'await' outside function

if I use, instead, just  archon.start(False), it returns.  But , cmd =
archon.send_command('SYSTEM')   failed.
and I never see any TCP socket communication to testArchonSimulatorEcho.py.

Do I missed something in following the simple steps on
https://sdss-archon.readthedocs.io/en/latest/controller.html
thanks for your help in advance
Best regards
Xiaofeng
On Wed, 12 Jan 2022 at 08:16, José Sánchez-Gallego @.***>
wrote:

Hi @eh2006re https://github.com/eh2006re. No, we don't have an archon
simulator. You can look into the conftest.py file in the test directory
for a very simple Archon server that replies to commands being sent to it.
That server helps with some of the unittesting and while it replies the
same way the archon hardware does, it's not really meant as a full
simulator.
—
Reply to this email directly, view it on GitHub
https://github.com/sdss/archon/issues/35#issuecomment-1010759794, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJGHGHVCX3JVGIQCWWXQTTUVU2GTANCNFSM5LXKHYTQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.


Fix link

Fixes https://github.com/Microsoft/TypeScript/issues/13177

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: dumblole sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I did what I did because I believe that the file location has little to do with the actual build website since other files don't belong in their folder path as seen in the built website.
This was the broken link on the website:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
This is what it should be after my fix: https://www.typescriptlang.org/tsconfig-json.html


Documentation in Dash

I can't be the only one who loves Dash for documentation. Is it possible/easy to compile the documentation and add it do dash?

Any progress on this? New to Tailwind, but would love to see the docs in Dash.

Corresponding issue in the Dash user contributions repo: https://github.com/Kapeli/Dash-User-Contributions/issues/1870

Is anyone working on this? I might take a look at it

Apparently not. I gave it a shot and it wasn't straightforward. You'll probably have to ask Adam to modify the doc generation to get better cross linking.

I finally found some time to work on this, it's just waiting to be approved and merged into the Kapeli/Dash-User-Contributions repo.
My repo for the scraper + docs builder is here: https://github.com/bkbooth/dash-tailwindcss-docs (I'll update the README with a little more details soon)
I'm open to suggestions and/or PR's. It was a little difficult to come up with types (https://kapeli.com/docsets#supportedentrytypes) for the pages, for now I've used "Guide" for the pages under "Getting Started" in the Tailwind docs, "Sample" for the "Component Examples" pages and "Section" for everything else.
Also, there are two pages called "Display", one under "Layout" and another under "Flexbox", let me know if you have ideas for better ways to name the pages in Dash. I thought of prefixing the section title before the page title, but I don't like that as a hard rule, maybe just the pages under "Flexbox"?

@bkbooth Adam is planning to completely redo the docs in VuePress in the coming weeks. You might want to hold off on too much more work on this until he does that.

@aparajita thanks for heads up. Sounds like it'll probably take a little bit of work to update the scraper once the new docs site is finished.


ERROR NO2.8003 on Update object

Here is a code snippet using nitrite: first insert a region object,
then retrieve it from the database, in order to have an object with
autogenerated id, then i would like to update the object and store it again in the db.
With an non-autogenerated id it works fine, but not with a autogenerated.
I don't understand the error: //ERROR NO2.8003:
Since I retrieve the nitriteid from the db after having stored it in the db
my regSaved object should have an unique id and should be updateble
again. What wrong in this snippet ?
Nitrite db = Nitrite.builder().compressed().filePath(dbname).openOrCreate();

ObjectRepository<Region> repRegion = db.getRepository(Region.class);

Cursor<Region> cursorRegion1 = repRegion.find();
for (Region r : cursorRegion1) {
     repRegion.remove(r);
}
Region reg = new Region();
reg.regionName="BadenX";

WriteResult writeResult = repRegion.insert(reg); // insert a new region
NitriteId nitriteId = Iterables.firstOrDefault(writeResult); //gets the id of the new region after insert

Region regSaved = repRegion.getById(nitriteId); // retrieve the object
reg.regionName="Baden"; //update the name
repRegion.update(reg); //ERROR NO2.8003: update operation failed as no id value found for the object

Every update/remove operation needs a filter to identify an object uniquely from the repository. In an ObjectRepository, NitriteId is not the intended id you are looking for. As NitriteId only contains long value, it is not suitable for user defined id of an object. Its a limitation of ObjectRepository that you can not update/remove an object using auto-generated NitriteId. Your object needs to have a field marked with @Id.
The reason is, once you have an object there is no way you can associate it with a NitriteId, because an arbitrary object does not hold that information.
But NitriteCollection does not suffer from this limitation. The NitriteId value is stored in _id field of a Document. So there you can do the intended update/remove using the auto-generated id.
I hope this clarifies your confusion.

Thanks very fine, it works, here an example:
The Entity:
@Data
public class Region {
@Id
public String regionCode;

public String regionName;

public List<Gipfel> gipfelList;
     ....

the Unittest:
Test()
{
Region reg = new Region();
reg.regionCode="WA";
reg.regionName="Wallis";
Region regSaved = WriteToDB(reg); //save the object and retrieve it again for further use
    Gipfel gipfel = new Gipfel("Matterhorn", 4478, reg);
    regSaved.gipfelList.add(gipfel);
    repRegion.update(regSaved);
    repGipfel.insert(gipfel);
    gipfel = new Gipfel("Monte Rosa", 4600, reg);
    regSaved.gipfelList.add(gipfel);
    repRegion.update(regSaved);
    repGipfel.insert(gipfel);

}

Region WriteToDB (Region reg)
{
    WriteResult writeResult = repRegion.insert(reg);
    NitriteId nitriteId = Iterables.firstOrDefault(writeResult);
    return repRegion.getById(nitriteId);
}


fix(api): apply dashboard filter to get dash charts API

SUMMARY
Applies dashboard filters to the get dashboard chart API endpoint.
Dashboard filters contains logic around datasource access and dashboard RBAC
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #13173 (1ab9cc1) into master (2ce7982) will increase coverage by 13.71%.
The diff coverage is 52.16%.

@@             Coverage Diff             @@
##           master   #13173       +/-   ##
===========================================
+ Coverage   53.06%   66.77%   +13.71%
===========================================
  Files         489      492        +3
  Lines       17314    29003    +11689
  Branches     4482        0     -4482
===========================================
+ Hits         9187    19367    +10180
- Misses       8127     9636     +1509

Flag
Coverage Δ

cypress
?

python
66.77% <52.16%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/constants.py
100.00% <ø> (ø)

superset/examples/birth_names.py
73.19% <ø> (ø)

...43f2fdb_add_granularity_to_charts_where_missing.py
0.00% <0.00%> (ø)

...s/260bf0649a77_migrate_x_dateunit_in_time_range.py
0.00% <0.00%> (ø)

...ons/versions/41ce8799acc3_rename_pie_label_type.py
0.00% <0.00%> (ø)

superset/connectors/sqla/views.py
62.74% <4.34%> (ø)

superset/views/datasource.py
88.70% <16.66%> (ø)

superset/viz.py
58.61% <27.27%> (ø)

superset/charts/commands/exceptions.py
92.85% <77.77%> (ø)

superset/utils/core.py
88.26% <87.50%> (ø)

... and 925 more

Continue to review full report at Codecov.

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

😮 Thanks for the fix! Next time I'll make sure to add a test for this


Add guidance on how to deal with API breakages

Fixes issue #308. Also tidies up the CONTRIBUTE.md file.

Thanks @elisachisari, I've made these changes now.

I also renamed CONTRIBUTE.md to CONTRIBUTING.md so that GitHub recognises it (it expects to find a file with this name).


Support JSON Schema Draft 2020-12

Currently in the 2.1.0 version of spec, we support only JSON Schema in the version of draft 07. There are some changes (including breaking changes) between draft 07 -> draft 2019-09 -> draft 2020-12, especially with core keywords:

dependencies are split to dependentSchemas and dependentRequired - as I read dependencies has still backward compatibility
added deprecated keyword - similar to our deprecated
added new predefined formats
added unevaluatedItems and unevaluatedProperties keywords - similar to additional*, but they can "see" into subschemas and across references
added local/dynamic anchors
added minContains, maxContains
definitions -> $def (definitions has still backward compatibility)
in the $ref other keywords are now allowed alongside of it
... other thing related to the vocabularies and meta schemas

You can read all changes in:

Draft-07 to Draft 2019-09
Draft 2019-09 to Draft 2020-12

Due to the fact that JSON Schema itself has breaking change and it's treated by us as a base for our Schema Object, so the specification itself will have breaking change when we start supporting the latest drafts.
The issue itself is like question: When will we start supporting this? O maybe someone have an opinion that we shouldn't support this at all in the near future? Or if yes, when? In 3.0.0 or 4.0.0?
We must also remember about adjusting the JSON Schema for spec to the Draft 2020-12.

@Relequestual I think we'll need your help with dialects 😊 Mind joining our next SIG meeting and giving us an introduction/demo?

@fmvilas Sorry for not seeing this. I rarely get round to seeing GitHub notifications.
"Dialects" are essentially collections of vocablaries.
Each version of JSON Schema is a "dialect". If you look at the 2020-12 meta-schema, you'll see it's comprised of multiple vocabularies.
When processing a JSON Schema, an implementation must look at any defined $schema values to determine the dialects used. Usually this is only one dialect in the root of the document.
In order to determine if you can process a document, you must know the defined dialect, and be able to match that to a meta-schema.
The meta-schema defines the vocabulary requirements for that dialect.
If you match the dialect URI to a meta-schema, you have an error, because you cannot proceed.
If you can, you must then know the vocabularies that are required for correct processing defined in the meta-schema.
Let me know if any of that doesn't make sense.
(Then let me know you've replied in slack 😅)

@Relequestual Yeah, I understand that, use can choose which version of JSON Schema they can use by $schema, but we have "hardcoded" in our JSON Schema for spec that use can be only use draft-07, so this issue is related to that, to support by default latest version, but if someone will want use older, then should use $schema :)

Great! Just wanted to share as @fmvilas said you needed help with dialects. I guess that's outdated?

@Relequestual Could we use 2019-09 (or greater) and add all required vocabularies from Draft-07 so we can keep retro compatibility?
The point is that Draft-07 doesn't have any defined vocabulary (because vocabularies were introduced in 2019-09) so I don't see how we could use it, unless we manually host new vocabulary for those Draft-07 vocabularies we wanna keep then use them through some like:
"allOf": [                                                                // 3
    {
        "$ref": "https://asyncapi.com/220-schema",
        "$ref": "https://asyncapi.com/json-schemadraft-7-vocabulary",
    }
  ],

@smoya You can use any "dialect" that is known.
Prior to 2019-09, for example draft-07, the dialect is a single vocabulary, but never defined.
As such, you could argue the dialect and the vocaublary URI are the same.
(Although, this could cause problems if we later decide that the vocabulary URI as a URL can provide some data.)
Are you extending the draft-07 dialect/vocabulary with your own keywords?
If so, it sounds like you want JSON Schema to define a vocabulary URI for draft-07 (and previous), so you can use it along with your own vocabularies to define your own dialect. Does that sound right?
If I understand correctly, we could look into providing those vocabulary URIs, but how far back should we go? draft-04? We want to encourage people to move to newer versions.

There is a potential blocker that may stop us to move forward from Draft-07 in terms of tooling. json-schema-ref-parser, the tool used for parsing JSON Reference and JSON Pointer withing our Parser-JS, does not support JSON Schema 2019-09 or greater yet. See https://github.com/APIDevTools/json-schema-ref-parser/issues/145.
Dependant tooling such as JSON Schema types are not available for versions greater than Draft-07
Meaning some of $ref features won't work if we move forward.
We should either look for an alternative, work on such linked issue or craft a solution ourselves.

I was chatting with @jonaslagoni in slack and he suggested me to leave a comment here. I would like to see the upgrade as well, not sure I can contribute much practically (don't know json schema that deeply, don't know js much either), so consider this more like an end user desire, but draft 7 is pretty old now and new people (like me) to json schema would probably start with newer drafts. Also, I think OpenAPI 3.1 is backed by json schema 2020, so it would make sense to upgrade there

My only concern is the state of the tooling support for the newer versions of JSON Schema. The last time I checked, it wasn't widely supported. If tooling is not there yet, I'd not upgrade either. There's no point in upgrading to the latest version if fewer people will be able to use it.

My only concern is the state of the tooling support for the newer versions of JSON Schema. The last time I checked, it wasn't widely supported. If tooling is not there yet, I'd not upgrade either. There's no point in upgrading to the latest version if fewer people will be able to use it.

If we stay, there are still some features from JSON Schema Draft 2019-09 and greater that we could port, such as the reference and bundling behavior. Tooling would need to be maintained in our side but maybe it is worth the movement.  More on https://github.com/asyncapi/spec/issues/649

Tooling would need to be maintained in our side but maybe it is worth the movement.

I honestly doubt it but I don't have the data, it's just a gut feeling. I think most people are not using complex JSON Schemas on AsyncAPI. But again, just a gut feeling.

I honestly doubt it but I don't have the data, it's just a gut feeling. I think most people are not using complex JSON Schemas on AsyncAPI. But again, just a gut feeling.

Yeah, I think so as well. In fact, the only needed (at a glance) feature was having the possibility to override properties when using $ref, but after latest findings I think the behavior JSON Schema does starting from Draft 2019-09 won't suit our use cases.
For example, and this is the most unsuitable thing IMHO, is the fact that properties to override will do a AND with the referenced schema. I.e.:
{"type": "object", "$ref": "foo"} is equivalent to {"type": "object", "allOf": [{... contents of foo schema ...}]}
We (@jonaslagoni and I) couldn't find an official doc place where they mention this, however you can find some mentions on this library issue https://github.com/APIDevTools/json-schema-ref-parser/issues/145#issue-551674615 (from where I got the example above) and also this Slack thread where @jonaslagoni is involved https://json-schema.slack.com/archives/CT8QRGTK5/p1637146426080000?thread_ts=1636976501.051400&cid=CT8QRGTK5
Meaning https://github.com/asyncapi/spec/issues/649 is potentially gonna be closed as won't do if we decide indeed the new $ref behavior does not fit our needs.

Not expected to be closed as completed 🤷. I created a PR for fixing that https://github.com/asyncapi/.github/pull/174 cc @derberg


Implement World Rendering (Chunk implemented, backface missing)

Closes #18

And please add a short description to your PR (I already added the "closes") and adjust the title if necessary.


Unable to extend User table.

AL Extension Version: 2.0.48254

Server Version: US Dynamics NAV 13.0 (24630)

I try to add new field to User table<PHONE_NUMBER>) but when add new field to "User Card" page I received an error that the supplied field number cannot be found in the 'User' table.

This is not supported. We are in the process of adding compiler checks to prevent it at compilation stage.

Don´t know if supported to modify "User" table, but I know it´s no good. Instead modify "Company" or "User" tables, long time ago we would rather modify "Company information" and "User Setup" tables instead.

@JohnBlackmar Thank you for reporting the bug. The fix will be shipped in future update.

In this case the fix is that the compiler will prevent extending system tables. So the scenario is still not supported.


toolchains configuration option in add_requires does not take effect on Windows.

Xmake Version
2.9.1
Operating System Version and Architecture
Windows 10, clang-cl
Describe Bug
On xmake.lua, I set one specific package d3d12-memory-allocator to be built using msvc like so:
add_requires("d3d12-memory-allocator", {configs = {toolchains = "msvc"}})

The full xmake script can be seen here: https://github.com/JX-Master/LunaSDK/blob/0218180058a1cc068e523cec5f3e17294e4938ef/xmake.lua#L80C5-L80C78
Then I configure the project using the following commands:
xmake f --mode=debug --arch=x64 --toolchain=clang-cl -c -y -v

It seems that make will still use clang-cl to build d3d12-memory-allocator instead of msvc, even if the toolchain is explicitly specified, which caues compile errors. The full error log can be seen here:
https://github.com/JX-Master/LunaSDK/actions/runs/8979206373/job/24660823551
Expected Behavior
The specified package, d3d12-memory-allocator, should be compiled using msvc instead of clang-cl according to the configuation, even if the host project itself is built using clang-cl.
Project Configuration
https://github.com/JX-Master/LunaSDK/blob/0218180058a1cc068e523cec5f3e17294e4938ef/xmake.lua#L80C5-L80C78
Additional Information and Error Logs
https://github.com/JX-Master/LunaSDK/actions/runs/8979206373/job/24660823551

It works for me.
$ xmake f --mode=debug --arch=x64 --toolchain=clang-cl -c -v
checking for d3d12-memory-allocator ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
  -> d3d12-memory-allocator v2.0.1 [toolchains:"msvc", runtimes:"MT"]          <------ still msvc
please input: y (y/n/m)

no toolchain configs now. https://github.com/JX-Master/LunaSDK/blob/a43a6711242abf8658d407c53d0889bb6a746e98/xmake.lua#L80
And I add msvc, it still works for me.
    add_requires("d3d12-memory-allocator", {configs = {toolchains = "msvc"}})

PS C:\Users\wangrunqing\Downloads\LunaSDK> xmake f --mode=debug --contract_assertion=y --thread_safe_assertion=y --arch=x64 --toolchain=clang-cl -c -v --rhi_debug=y --rhi_api=D3D12 --shared=y
> checking for c links(d3d12-memory-allocator)
> checking for c snippet(find_package/d3d12-memory-allocator)
checking for d3d12-memory-allocator ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
  -> miniaudio 0.11.21
  -> stb 2023.12.15
  -> spirv-cross 1.3.268+0 [runtimes:"MT", toolchains:"clang-cl"]
  -> glfw 3.4 [runtimes:"MT", toolchains:"clang-cl"]
  -> d3d12-memory-allocator v2.0.1 [runtimes:"MT", toolchains:"msvc"] <-------------- msvc
please input: y (y/n/m)

I tried your project, it works on ci too.
https://github.com/waruqi/LunaSDK/actions/runs/8997613472
patch
https://github.com/waruqi/LunaSDK/commit/f53ba189438330039f04c4955d6a25481a34bb21

I tried your project, it works on ci too.
https://github.com/waruqi/LunaSDK/actions/runs/8997613472

The main branch of LunaSDK is locked to Xmake v2.8.9 to prevent CI failure. It can be seen here:
https://github.com/waruqi/LunaSDK/actions/runs/8997613472/job/24716094811
Run xmake-io/github-action-setup-xmake@v1
  with:
    xmake-version: 2.8.9
    actions-cache-folder: .xmake-cache-W19
  env:
    XMAKE_GLOBALDIR: D:\a\LunaSDK/xmake-global
Selected xmake v2.8.9 (commit: cb1b6505)
Selected xmake v2.9.1 (commit: 0c79f616)
download xmake v2.8.9
  downloading from https://github.com/xmake-io/xmake/releases/download/v2.8.9/xmake-v2.8.9.win64.exe
  downloaded to D:\a\_temp\fcdb7acf-acdc-448e-ae39-bf346b4a5ca3.exe
install xmake v2.8.9
  installing to C:\Users\RUNNER~1\AppData\Local\Temp\xmake-cb1b65054db2a2917ef3998d9f0b2f72a8d99e54
  D:\a\_temp\fcdb7acf-acdc-448e-ae39-bf346b4a5ca3.exe /NOADMIN /S /D=C:\Users\RUNNER~1\AppData\Local\Temp\xmake-cb1b65054db2a2917ef3998d9f0b2f72a8d99e54
  installed to C:\Users\RUNNER~1\AppData\Local\Temp\xmake-cb1b65054db2a2917ef3998d9f0b2f72a8d99e54
C:\hostedtoolcache\windows\xmake\2.8.9\x64\xmake.exe --root --version
xmake v2.8.9+HEAD.cb1b65054, A cross-platform build utility based on Lua
Copyright (C) 2015-present Ruki Wang, tboox.org, xmake.io
                         _
    __  ___ __  __  __ _| | ______
    \ \/ / |  \/  |/ _  | |/ / __ \
     >  <  | \__/ | /_| |   <  ___/
    /_/\_\_|_|  |_|\__ \|_|\_\____|

                         by ruki, xmake.io

    👉  Manual: https://xmake.io/#/getting_started
    🙏  Donate: https://xmake.io/#/sponsor

Run 240506-fix-xmake branch on CI will produce the error listed above.

The main branch of LunaSDK is locked to Xmake v2.8.9 to prevent CI failure. It can be seen here:

I switched to dev version, it still works.
https://github.com/waruqi/LunaSDK/commit/0d21b8c3c870a67fb75bd8c8f70910841bca7896
https://github.com/waruqi/LunaSDK/actions/runs/9011763323

I have confirmed that this issue will be affected by CI caching configuration. That says, if the xmake is configured using existing cache in Retrieve cached xmake dependencies step, they this error won't occur. But if the cache is not found, then this problem will occur. This make a very strange behavior: every action will fail on its first run, but if we re-run failed jobs, they will success because now the cache is present for the job.
To make this problem occur every time, caching in ci-windows-main.yml must be disabled like so:
https://github.com/JX-Master/LunaSDK/commit/0218180058a1cc068e523cec5f3e17294e4938ef
Then this problem should occur every time.

this patch should work. https://github.com/xmake-io/xmake/pull/5076

you can try dev branch. branch@dev.

Confimed fixed on branch@dev. Thanks.


API to locate, but not load, config files

Coming from #172
It would be nice to use cosmiconfig to locate but not load a config file.  This mechanism already exists internally but is not part of the API.
Ideally the API will allow requesting candidate files one at a time.  If the first candidate should be skipped, the next is requested.  This behavior already exists internally, via the ignoreEmptySearchPlaces option.
If it matches the (async) iterator interface, users can do:
const explorer = createExplorer({/* ...options */});
let config;
for(const configPath of explorer.locateSync()) {
    config = attemptToLoad(configPath);
    if(config) break;
}

Thanks for filing this @cspotcode.
What are the reasons https://github.com/sindresorhus/find-up doesn't fulfill this need?
I'm partly wondering because it might, and partly to make sure that we're aware of whatever the key difference is, so we'd preserve that in a locate-only implementation.

find-up sounds like it fits the bill; I wasn't aware of it.  I'll do some reading.

find-up was perfect, thanks for the suggestion.  mochajs/mocha#3830
Since I went that route, I'm no longer investigating cosmiconfig for mocha.  I appreciate you taking the time to discuss my use-case and potential implementations.  Please don't feel the need to keep this issue open on my account.

Great, @cspotcode 👍


Sync global-node-modules with snap-pelion-edge build

edge-node-modules has been updated and cleaned.
Remove old build script foo, update SHA

Needs full regression before merging

I don't see the SHA change

@mray190 can you modify the commit message with a link to the commit that introduced the SHA change?


Add to existing attribute based on data value

Plates needs a way to enhance an attribute based on a data value, not just replace it with the data value.
For instance, in my Todo app, if a todo item is checked as done, I want to add a CSS class to the div, but I don't want to remove the existing class.
HTML of an uncompleted item {content: 'My Todo Item', done: false}:

My Todo Item

HTML of a completed item {content: 'My Todo Item', done: true}:

My Todo Item

I'd be happy to implement this and submit a pull request, but welcome any input or suggestions before doing so. Is there already a way to accomplish this?
It seems like there needs to be a way to supply a Map with custom functions so we can better control the output.  For instance:
// Function to pass into Plates.Map.use()
// It should be passed the existing attribute value and the data model
function addClass(currentAttr, data) {
  return currentAttr.indexOf('done') === -1 ? currentAttr + ' done' : currentAttr;
}

var map = Plates.Map();
map.class('todo-content').to('content');
map.class('todo-content').use(addClass).as('class');

The above will need more work since the use() method does not yet know which attribute it pertains to, since as('class') is chained after it. But I hope it gets the concept across.

@nhunzaker Is this similiar to what we are discussing?

@pksunkara Yes, I had been playing around with something similar a few days ago. Basically, I made it so that some of the map methods could be passed functions which would use the returned value instead of the value in the data argument of the bind method.

var data = { foo : "auto" };

map.where("class").is("todo-content").use(function(data) {
    return data.foo + " complete";
});

This would work similarly for insert.

@nhunzaker Your example looks useful. Do you have this implementation committed in your fork? I browsed through your commits but it wasn't immediately obvious.

@tauren My apologies, it got bundled in with the iteration fixes and I pulled it out. @pksunkara should be working on a similar, permanent solution.


Add infomanifest crd

What type of PR is this?

/kind feature
What this PR does / why we need it:

Add InfoManifest CRD
fix manage_version_cr.sh and template
make controller adapted to the InfoManifest CRD

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/lgtm


Can this mod trigger VAC?

I know that the VAC for TF2 is out of date, but you still use VAC to collect random item drops.

what do you mean? this is legal serverside plugin, only can be used in servers running sourcemod. No one can get banned for using this

My Mistake, I'm going to add it to the server now


Add fluent builder for Laravel

Related to PHPORM-103
Create a fluent pipeline builder that can be used like this:
        $pipeline = (new FluentFactory())
            ->match(x: Query::eq(1))
            ->project(_id: false, x: true)
            ->sort(x: Sort::Asc)
            ->getPipeline();

I messed with my branches. PR re-opened: https://github.com/mongodb/mongo-php-builder/pull/67


External URLs

Add support for absolute URLs

API
{ name: 'Phone', absolute: 'https://github.com' }

prepared in dev, will be released in 3.0.0


Reference sequence description in table output

This may be useful when the reference sequence identifiers are not verbose e.g. in the Virosaurus database where the sequence header description specifies name of a virus.

Also make sure that long names are properly wrapped in the --table output [#13]

Add maybe also an -e/--exclude option based on the description header / target sequence identifier that can exclude terms like endogenous retrovirus or phage from large collections.

Add a sorting function for output by regions / coverage

Plan to do verbose output with one -v flag to show sequence descriptions and two -vv flags to show region tags, remove empty column that is currently output for -v region tags when no verbose option is specified.

Added exclude file with 0.6.0, added verbose flags


Added to alternativeTo

No mailing list so posting here.
Added it to alternativeTo here:
http://alternativeto.net/software/yakyak/
I just copy/pasted from the github wiki. I'll leave further management of the posting to you guys.

Thank you. Not sure we'll have time for managing that but ok :)


Add a collectd system statistics collector.

Moves dstat collector to perfkitbenchmarker.traces.
Adds a collectd collector, which can collect some
additional system stats during benchmark runs.

Is this ready for review?  If so please label it as such.

Done.

LGTM


Update Hermez with 7 day delay

Referencing Issue #340, this PR is supposed to modify the 'Yes' Upgradability to '7 days', along with the addition of the Timelock smart contract found here:
https://etherscan.io/address/0xf7b20368Fe3Da5CD40EA43d61F52B23145544Ec3#code

Thank you. This is a great PR. I'll look into the contracts and merge it after reviewing the timelock contract.

Closes #340


[dv,nv_counters] Create nv counters on retention sram

Change a few top level tests to use these instead of the flash based counters.

chip_sw_all_escalation_resets is in the smoke regression and it is affected by the NVM counter - so probably you have to patch that one up as well...


Bumps to version 1.1.0.BUILD-SNAPSHOT

Travis build is currently broken too.

Bumps to version 1.1.0

???
We have not release 1.0.0 yet...

We'll want to release things like the Cloud Stream Binder soon,

Well, we are not in GA, so that is fully OK to add more features and release one more Milestone.
What was then the point to release this M1 if we just jump to the next point version?
I'm fully confused how you are messing with our versioning politics...
I can't find the doc describing the versioning process, but that is definitely not what we all do here.

That's what I was thinking about. For M2, I'd be thinking about adding the Spring Cloud Stream Pub/Sub binder, which should probably go through its Milestone phase before GAing.
On the other hand, I don't want to overcomplicate things by having different versions for the binder and the rest of the stuff, so I'm OK going this way.
I didn't mean to mess with anything. If this is the way you guys do, I'm totally happy going this way :)

No problem! We are not simple guys as well 😉
So, yes, would be much better to release a single version for all the modules, and that is OK to add new big feature in the Milestone. Code freeze comes on RC phase. And only bug fixed and docs on GA one.
If we decide to add something new, it is already the next minor version. But at the same time we have to maintain the current version in the separate branch for some time as point versions.
Some critical changes goes already to the major version.
We just only need to have a plan of features pack to position ourselves that we are going to GA after this and that.
Something like this. I'm sure there are some other arguments why we live this versioning style....


chore: #27 - Add docker linters to pipeline

Through I think we are good to merge it as it scans the image anyway and results are visible in output

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


[Enhancement / Documentation request]: Document or add support for getting a list of most requested terms from the cache,  reuse cache as a local "answer" DB

What would you like to be added?
This proposes to have:

A way to get a list of the K most frequent "answers" from the cache.
A way to copy caches as response DBs around for deploying and reusing already learned caches (effectively used as mini response models)

Why is this needed?

for local optimizations based on query frequency.
saving costs deploying a cache in a new project and continue adding to it in new deployment.

Anything else?
I'm happy to work on this features / documentation bit, but I gather I'd need some contribution guidance :)

@sivang Thanks your issues.
Rough expectations are as follows:

Hope to import and export the data in the cache
Support obtaining the most frequently accessed data list in the cache, such as the 10 most frequently used cache data in the cache

Is there any deviation from the above description

@sivang

Regarding data migration, you can use relevant db tools for data migration
I have added a report table in the v0.1.35 version, and you can use it to analyze the cache data.


[Enhancement]  Enable Bracket Coloring in Keyword Arguments for Enhanced Readability

Description
Currently, our codebase does not support bracket coloring within the arguments of function calls, specifically in keyword arguments. This feature can significantly improve code readability, especially in complex functions with nested structures or multiple keyword arguments.
Feature Request
I propose to implement bracket coloring in keyword arguments. This feature would allow developers to quickly identify matching brackets, reducing the cognitive load when parsing through code and debugging.
Expected Behavior
When implemented, developers should see different colors for matching brackets within the arguments of a function. This should apply universally across all functions, including those with nested brackets and multiple layers of function calls.
Current Behavior
As of now, brackets within keyword arguments remain the same color, making it challenging to distinguish between different levels of nested arguments or to quickly identify matching pairs.
Desktop

VS Code Version 1.87i
RobotCode Version 0.76.2
OS: Windows
Python Version 3.11
RobotFramework Version 7
Additional tools like robocop, robotidy

Works like a charm thanks!

Actually, the coloring changes if there is comment with brackets after the VAR statement...

Yes, red is the color that is usually showed for missing brakets.


Use the SwiftOperators module to fold sequence expressions.

This change deletes the custom folding implementation that was used previously in swift-format. Folding was previously only performed before the pretty-printing stage (after the "rules" stage), but now folding occurs before the folding stage, allowing us to write rules that are aware of operator precedence.
The exception to the above is that if you use the format or lint APIs that take a SourceFileSyntax, you must manually fold the syntax tree first (any SequenceExprs left in the tree will trap).

I browsed through the various changes here, and they look great. I'd love to hear how the SwiftOperators library is working out for you, and please feel free to file issues or ping me if/when you run into problems.


ws-federation side by side with asp.net core identity

I've copied the same code from above. But it seems once I have asp.net core identity with ws-federation as the same time, the ws-federation won't work. The user can be redirected to the federated login page, and post back looks correct but the origin action always complains identity is not authenticated.
I can see that the incoming ws-federation response is correct from the OnTicketReceived event, and the identity is authenticated in the OnTicketReceived event,  set-cookie for "identity.external" can be found in redirect to origin URL response. However the origin URL seems does not recognize the identity.external cookie.
Is that the issue of sequence of service configuration? Or I missed something?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 59d6d442-8d46-3f9e-e75a-ad9d900fc117
Version Independent ID: d07c4058-452f-cdac-c59d-8f09e70a43f3
Content: Authenticate users with WS-Federation in ASP.NET Core
Content Source: aspnetcore/security/authentication/ws-federation.md
Product: aspnet-core
GitHub Login: @chlowell
Microsoft Alias: scaddie

@chlowell can you respond?

It could be a configuration problem. You might find a full sample app more helpful than the snippets in the doc. There's one in aspnet/Security.

I was using the sample app to add the asp.net core identity side by side with wsfederation.  Once I add the services.AddIdentity, the wsfederation will not work.  It looks like both asp.net core identity and wsfederation will register authentication scheme, but the authentication middleware will use the default one only.  Can I register two authentication middleware?
My current solution is to map the wsfederation user to asp.net core identity user and call signinmanger to signin in the OnTokenValidated event. This is a little bit ugly.
Here is the code from authentication middle ware:
var defaultAuthenticate = await Schemes.GetDefaultAuthenticateSchemeAsync();
if (defaultAuthenticate != null)
{
var result = await context.AuthenticateAsync(defaultAuthenticate.Name);
if (result?.Principal != null)
{
context.User = result.Principal;
}
}

I don't quite follow you. Like oauth middleware, the ws-fed middleware integrates with Identity as an external authentication provider. So Identity handles login and registration, and manages accounts, but accepts authentication from the ws-fed provider.
Using the MVC 2.1 new project template with individual user accounts as an example, your configuration would look something like this:
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(
            Configuration.GetConnectionString("DefaultConnection")));
    services.AddDefaultIdentity<IdentityUser>()
        .AddEntityFrameworkStores<ApplicationDbContext>();

    services.AddAuthentication()
        .AddWsFederation(options =>
        {
            //  your ws-fed config here
        });

    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

Thanks for contacting us. We believe that the question you've raised have been answered. If you still feel a need to continue the discussion, feel free to reopen it and add your comments.


[Dataset] Submitting the SPOLIN dataset for ConvoKit

Hello, I would like to have the SPOLIN dataset from Grounding Conversations with Improvised Dialogues (ACL 2020) added to ConvoKit.
All the requested information according to the contribution guidelines can be found here: https://drive.google.com/drive/folders/1XjwgEh38N-9MwNwAy1icpMYFMlvUzl_u?usp=sharing
Let me know if you need any help from my part to get this dataset added. Thank you!

@cristiandnm Hello Cristian! let me know if there is anything I can help to get this dataset included into ConvoKit :)

Thanks for the dataset and for contributing it to ConvoKit!  One minor thing that would be good to change before we include it: I notice that as of now there are only two speakers in the dataset, which can be a bit confusing and might conflict with the intended use of the corpus hierarchy (implying that 2 speakers generated all utterances.  Could you create a unique pair of users for each conversation (e.g., speaker_43245_1, speaker_43245_2, where 43245 is the conversation id)?
Let me know if that makes sense.
Cristian

Yes, that makes sense. I made the update according to your suggestions (e.g., speaker_43245_1, speaker_43245_2, where 43245 is the conversation id)

@wise-east Sorry for the delay, we've been busy developing other features for ConvoKit. We'll be adding the dataset today. Could you update the SPOLIN description you shared re: how speakers are named?
Seems confusing at the moment. Some pairs are suffixed by '0' or '1', while others are suffixed by '1', '2'. Is this deliberate?

@calebchiam Hi Caleb. I've updated the description. Sorry for the confusion. All of them should be 0 and 1 for the first and second turns respectively, but for the validation set there was a bug that made them 1 and 2 instead.
I don't have access to the code base that formatted the dataset for the time being, so is it possible that you could simply make this fix for the speaker row such that valid_x_p_1 becomes valid_x_p_0 and valid_x_r_2 becomes valid_x_r_1? If not, I'll make the fix later when I have access and notify you then.

@wise-east Added comments on your Google doc, but it looks like there are some other issues, so please address those and I'll come back to this later. Thanks!

Hi @calebchiam I finally got around to making the updates as you suggested. The drive folder contains the updated dataset and the google doc has been updated with your feedback. Please let me know if you need anything else! Thank you.

@wise-east Was on vacation, so had to take a pause on this.
Last bit of info I need from you, what are the sizes of the train and test splits?

Here's the splits: https://github.com/wise-east/spolin

 data/spolin-train.json
 data/spolin-valid.json

yesands
non-yesands

Spontaneanation
10,459
5,587*

Cornell
16,426
18,310

SubTle
40,303
19,512

Total
67,188
43,409

yesands
non-yesands

Spontaneanation
500
500

Cornell
500
500

Total
1,000
1,000

Thanks for your contribution, @wise-east!
You can now download the SPOLIN corpus through ConvoKit: Corpus(download('spolin-corpus'))
Your dataset description can be found here: https://convokit.cornell.edu/documentation/spolin.html
If you want to change the description, you can edit the file directly and make a PR.


downstream allocator

Use StreamAllocator for downstream video bandwidth management.

looks good.

@davidzhao @cnderrauber Going to merge this. David, please let me know about using use of map for the paused/resumed tracks. I can make the change in a subsequent PR.
I am also going to post a note about this change in #dev to watch for video stalls as I expect this to be a bit of iterative thing to get it right.
Will also open client side tasks about the new StreamedTracksUpdate proto change.


Strawberry.enum does not return a valid class type

When defining an enum without the class definition since I am dynamically building it, I get

If I try to use strawberry.enum on the actual field I get

@deibeljc, This seems to be generic strawberry-graphql issue and not related to the django integration. Please report this to the strawberry project if you agree that's the case.
https://github.com/strawberry-graphql/strawberry


Add improvement of performance in SpecValidation on validateSettings

Description:

Improvement described here
The unit tests already covered this part

@yonaskolb Can you do a CR here?


Fixed a typo

Apologies for the late response and thank you for the pull request.
I've been sick all month and I've only just seen these.
I will merge it by tomorrow.

No problem and get well soon @mpatsis !

No problem and get well soon @mpatsis !


Page grid view should support keyboard navigation

Feature Description
When inside the page grid, a user should be able to:

Use tab to jump between "Back" button, "Preview size" range control (three stops), and the page list.
When jumping to the page list the currently selected page should be focused instead. Not the whole list.
Use ↕ and ↔ keys to navigate through the grid horizontally and vertically, and with wrapping.
Use mod+↕ and mod+↔ to reorder pages.
Use Enter to select a page.
The focus should be trapped inside the dialog. E.g. if at any point the focus leaves the dialog while it's still open, the focus should be returned back to the dialog.
Use Esc to exit the dialog at any time.

Make sure to add integration testing for all described scenarios.
Additional Context
In some form, all of these keys are already implemented (in a simpler form) in the useCarouselKeys.js, but need more general implementation here.

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

@carlos-kelly @barklund  is this something that you think Formidable could work on? If so, let's move to the backlog and tag it to the upcoming sprint?
cc: @bmattb @chris-pgm

@carlos-kelly @barklund is this something that you think Formidable could work on? If so, let's move to the backlog and tag it to the upcoming sprint?

This issue is very (extremely!) well-defined and accessible. I don't see any reason why it can't be picked up by Formidable.

Sounds good.

Updates on requirements/functionality per discussion in slack.
Regarding "wrapping functionality""

Going left/right should proceed to the next/previous lines after the last column
Going down should adjust for unfilled columns. E.g. down from a column when the next row has an empty column below it should cause it to go to the last element in the grid.

Regarding tabbing to/from the Page list:

Initial tab to the page list should focus on the active/current page
Subsequent tabs to the page list should focus on the previously focused page.

Which PR branch am I testing in the QA environment? Not seeing PR#3113 in there:

@csossi PR #3113 has already been merged. Test on master

Verified in QA

So this all works fine, but when I tab to move to the grid view, it defaults to the currently selected page and I can't tell whether the page is selected. Would be good to restyle the selection in this case to include some outline of the full page. Will file a follow-up ticket for that.


[5.4] Add Caster Classes

This makes use of classes for casting models instead of using a switch statement for each single type to perform some action on the value.
<?php

class Invoice extends Eloquent
{
    protected $casts = [
        'amount_due' => 'money'
    ];

    protected $customCasters = [
        'money' => \App\Casters\MoneyCaster::class
    ];
}

<?php

class MoneyCaster extends AbstractCaster
{
    public function as($value)
    {
        return $value;
    }

    public function from($value)
    {
        return Money((int) $value);
    }
}

This is essentially similar to the original model cast PR I already submitted. We may re-open that one if interest continues.

@taylorotwell I believe this approach is bit different to your proposal #13706. In your proposal we can only cast attributes into classes whereas with this alternative we can use it to transform attributes to whatever value we want. For example, decoding from base64 string #16450. It will be up to the developer to take care of value objects if that's what they need/want; but this PR is not about casting attributes into objects, it's more generic.

@JosephSilber, I think this gives us the freedom we needed.

@taylorotwell As @CristianLlanos pointed out this implementation is kept quite generic and opposed to your PR this leaves the developer free hand as to what he wants to do with the value passed to the caster.

@CristianLlanos Moved the PR to a package https://github.com/faustbrian/Eloquent-Castable.


Matrix icon added

Please review and merge: https://github.com/xianmin/hugo-theme-jane/pull/386 first as this is a "chain" pr.

Okay, thanks anyway

@arran4  Sorry for closing this PR. The new version has made changes to the icon-related code, and I haven’t yet figured out the best way to customize the icons. Additionally, since I haven’t heard of Lemmy and Beeper, I’m unsure if adding these icons would make the project too cluttered... Anyway, I’m considering if there’s a better way to add custom icons. Thank you for your PR!

All good, it's your project, just they were all closed without comment.
They were useful to me so I added them, and pushed it up stream just incase. Would be nice if a dynamic set was easily supported IMHO.


fix typos in FDSBP elixir comments

I fixed some typos in the comments of some FDSBP elixirs and adapted the whitespace for consistency with other elixirs.

I reported to documentation building error at https://github.com/jheinen/GR.jl/issues/522
It cannot be related to this PR

I'll merge since the CI failures mentioned above are note related to this PR


[Suggestion] Sorting for Tabs

I have a LOT of chat's open that I moderate for and chat in as I always have 3-5 streams open and I manually sort my tabs so the "LIVE" Channels are always towards the "front" of the chat list; reason being I like to CTRL + 1-9 through the channels.
Would love to have a way to "auto-sort" the tabs by "Live" , "Name" , or "None.
Thanks!

Duplicate of #2810


Don't use the UIBundle's Transform Fields

Objective
I was working with the TextBundle component bundle because I wanted to change the position of the text that the bundle was holding. I used the transform field on the TextBundle at first because that is normally what controls the position of sprites in Bevy and that's what I was used to working with.
But the actual way to change the position of text inside of a TextBundle is to use the Style's position field, not the TextBundle's transform field.
Anecdotally, it was mentioned on the discord that other users have had this issue too.
Solution
I added a small doc comment to the TextBundle's transform telling users not to use it to set the position of text. And since this issue applies to the other UI bundles, I added comments there as well!

This is a great start! IMO we should have similar warnings on the GlobalTransform field, and replicate this across the other UI bundles (NodeBundle, ImageBundle, ButtonBundle).

Can we use nested bundles here, somehow. E.g. SetBySystems<TransformBundle>

SetBySystems

I'm not sure what you mean here?
I do think that documentation and code deduplication is a compelling argument for nested bundles here; I ran into similar issues when splitting up the Style component. @cart was opposed as a matter of style the last time we asked though.

Without going into design discussion, just adding to all UI bundles that the Transform fields are not supposed to be manually changed could be a good start 👍

SetBySystems would be a unit documentation bundle that the inner bundle's items should not be modified at creation time, as they'll be set by systems, hence the name.

This seems like a good idea, although the specific language "not to be used" sounds a bit harsh to me and it seems like instructing users to use style.position could be a bit misleading with regard to how positioning of UI elements is typically done in Bevy.
I'd suggest something like

This field is automatically managed by the UI layout system. To alter the position of the NodeBundle, use the properties of the Style component.

This is how things appear rendered:

An extra empty line and/or period after "The transform of the node" would help.
Maybe bring back the link to Style too?

This is how things appear rendered:
An extra empty line and/or period after "The transform of the node" would help.
Maybe bring back the link to Style too?

Yeah I just fixed that haha, my b. I also added the periods.
And yeah, I can bring back the link, good point!

I'm not seeing the line break and/or periods, so the rendered output is still turning into a big one-line run-in sentence.
    /// The transform of the node.
    ///
    /// This field is automatically managed by the UI layout system.

NodeBundle should also probably get its backticks back (but no need to link that)

Should be all good now. Thanks for the feedback!
I don't know why you are not seeing the periods tho, they should be added.

Oh unless you mean after node? I left that alone because none of the other comments I didn't write have periods on them.

Looks good to me. Don't need a period if there's a line break.

bors r+


Replace webpki-roots with rustls-native-certs

Potential fix for #742, but not sure if we consider this breaking. See the discussion there for background.
This implementation is loosely based on hyper-rustls (also MIT): https://github.com/rustls/hyper-rustls/blob/21c4d3749c5bac74eb934c56f1f92d76e1b88554/src/config.rs#L27-L47
Tested on macOS connecting to GMail.

Thanks for the PR, however I don't want to drop the possibility of using webpki-roots. Can we do something like reqwest where both can be enabled at compile-time and then either one of them can be used at runtime?

Alright, I tried something here, hope it's not too much. 😁
The idea is to make the rustls feature flag useful by itself. All conditions for rustls-tls were changed to rustls. We can use dep: syntax in Cargo.toml to overload the optional dep, and still pull in the required rustls-pemfile dep if rustls is enabled.
rustls-tls is still there, but the difference is that rustls doesn't pull in webpki-roots. This means the old rustls-tls flag keeps working exactly the same for our users, and we no longer have the slight compatibility break (which was my own concern.)
I added a CertificateStore enum that then allows selecting the source of the base set of roots to trust. All TLS backends support Default and None. The None variant is also new for native-tls and boring-tls, and may be handy for users who want to limit trust to just their custom certs.
For rustls, the Default behaviour is to use rustls-native-certs, webpki-roots, or nothing, in that order, depending on features enabled. Existing users will not have the rustls-native-certs feature, but will have webpki-roots via the old rustls-tls flag, so the default has the same behavior as before.
If both flags are enabled, there's CertificateStore::WebpkiRoots to explicitely select webpki-roots. That enum variant only works for rustls, though. (Other backends error when it's selected.)
I again did some testing of the various scenarios against gmail, and it all looks to be working as expected here.

I like the refactoring you've done, however the PR is now too big for my taste because it includes both support for support for rustls-native-certs and the refactoring. I think we could merge the first part in lettre 0.10 and the second part in lettre 0.11 skipping the backwards compatibility piece.

Makes sense. I split off the feature flag stuff into a separate commit not part of this PR. So this now just adds the optional rustls-native-certs dep and the CertificateStore enum. Does that look better, or should I reduce it further?

Released as 0.10.3

Thanks for releasing this, btw! We are now shipping portier-broker 0.8.0 with Rustls instead of OpenSSL. 🙂


awsome

you are awesome you are a lifesaver there is no problem I just want to say thanks for the list cheers mate

Thanks!


Distinguish between canals and natural waterways

Canals look just like natural waterways, which can be confusing whenever both a canal and a creek is in view:

Even worse is when a canal follows an aqueduct over a creek:

One approach I’ve seen in print maps is to depict a canal as a line with teeth, which are probably intended to evoke locks at a regular interval, even if the locks themselves are omitted:

Bridge casing would help, of course:

One approach I’ve seen in print maps is to depict a canal as a line with teeth, which are probably intended to evoke locks at a regular interval, even if the locks themselves are omitted

I wonder if those are meant to invoke a cutting or embankment? We could add a mid-tone casing or some other treatment to act as sort of a shadow line for now, then unify with embankments/cuttings if we ever add them.

Is this ticket specifically about canals that are represented as linear features? (i.e. a waterway=canal object but no natural=water + water=canal area)?

Probably wouldn't make sense for those that have an area:

Is this ticket specifically about canals that are represented as linear features? (i.e. a waterway=canal object but no natural=water + water=canal area)?

Yes. Despite my second screenshot above, I’m mostly thinking of these canals at zoom levels where all you see is a linear feature. If you zoom in enough to where the area gets wide, then it’ll cover up both the line and any ornamentation, but I think that’s OK. At that point, we want things like rivers and roads to look more realistic and less symbolized.

I wonder if those are meant to invoke a cutting or embankment? We could add a mid-tone casing or some other treatment to act as sort of a shadow line for now, then unify with embankments/cuttings if we ever add them.

I think this is unlikely, since the transportation maps I’ve seen this on don’t have any visual language for cuttings or embankments in general. Personally, I’m reminded of the canals whose converted towpaths I’ve biked along, where the remnants of these locks appear at a regular interval. But it could just be an arbitrary abstract symbol. It’s just that I’ve seen it in multiple unrelated maps, so I figured it’s something of a convention.
To be sure, not every map distinguishes canals this way. Many leave them looking just like natural waterways. This official tourism map of Arizona distinguishes canals by pointing out that they’re straighter than rivers, duh:

One technical challenge I see is that if we go with the "teeth" option, is that we would want to shift the label laterally as we do for streets.  This side effect would make the label look oddly offset when you do have the canal water area visible.
I like the teeth concept though if we can get past this labeling issue.


Add a Gitter chat badge to README.md

levarml/LeVar now has a Chat Room on Gitter
@eponvert has just created a chat room. You can visit it here: https://gitter.im/levarml/LeVar.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Making these changes elsewhere. Also, this PR includes changes that go beyond adding the Gitter badge. (Weird.)


Modularise the attack language

With PR #140 merged, I begin to feel the need to start thinking about modularising our attacks. For example, the 'doubleSatAttack' is conceptually an attack that adds some constraints, followed by a "balancing attack", that pays any added value to the attacker. This second step is common to almost all attacks; it seems reasonable to have a balanceAttack.
If Attacks are the atoms of our attack language, let's start looking for particularly small atoms, and rely on the Monoid instance of Attack to combine them into double satisfaction, datum hijacking, ... attacks.

About the type
type Attack m = Monad m => TxSkel -> m TxSkel
Would that work if m is a state monad ?
More precisely, what would be the relevance of the TxSkel input ?

Maybe going to an arbitrary monad is a bit too generic.
How about something of the like
type Attack m a = MonadMockChain m => StateT TxSkel m a
A few remarks / questions on this proposition (in a very unorganized manner):

MonadMockChain allows us to rely on the outside world.
We build a computation, which makes it easily composable with respect to >==.
How do we branch though, if there are several possible outcomes?
Is that even relevant to wanting to branch ?
How do we handle cases where the modification is unsuccessful ?
Do we just return the id computation, or do we just make a call to fail ?
Each unary computation can then return a value.
Each unary computation can be developed using optics on the inner TxSkel.
Should we change the TxSkel type to have the sub constraints types builtin ?
In that case, how do we ensure ordering of the outputs ?
These attacks could be both used for large spectrum attempts or single step modifications.
In practice for audits, endpoints could be computations aimed at being run on empty skeletons.
Or, they could be functions that return a TxSkel coupled with whatever value needs to be returned.
The former has the benefit of providing both the skeleton as well as the return value for free.

Of course, this is something I was to propose at some point since this more or less corresponds to the original vision I had on single step attacks during my latest audit. This vision has improved a lot since then though, since this version can possibly successfuly take the best out of optics, attacks and temporal modalities while using state computations. Feel free to challenge my assumptions, and discuss the implications.

A very short comment before I try to dive more into details.
Why should the attack only have read-only access to the outside world?
I understand why it makes sense at first glance, but is it really a requirement?


Collision breaks on unfocused tab

Describe the bug
This happens in the brand new unmodified 2D starter project. Works fine normally, but when I switch to another tab for a few seconds and come back, the little alien guy has fallen through the floor and the death barrier.
To Reproduce
Steps to reproduce the behavior :

Make a new starter project fibbo init 2d [project-name]
Run it npm run dev
Open the localhost link in your browser and switch to another tab for about 10 seconds.
Alien falls forever.

Expected behavior
Staying on the platform?
Screenshots
Image
Desktop (please complete the following information):

Browser: Floorp (Firefox fork)
Version: 11.21.0
OS: Linux Mint 22

Hey !
Yes this is a known bug, switching tab (and sometimes just waiting) can break the collisions.
It must have something to do with Rapier collision system.
This is top priority issue, thanks for opening it ! 👍

Pinning some discutions I had with @doppl3r on dimforge Discord

Decided to not use a web worker, as it is basically impossible to reliably and efficiently sync the scene's data across multiple worker + main thread 30 times per second.
Doing everything in a single web worker is technically achievable however (as in react-three-offscreen) but :

It is pretty hard and time consuming to maintain
It won't enable direct observability over the scene

This is required for devtools
More generally, it make accessing the scene's data harder (through async calls,...)

For the sake of this issue, I'll keep it simple and make it so the simulation doesn't run when the tab is inactive, and ignore the time that passed.
I'll also try to add a bit more control over the refresh rate (by creating a "pipeline" system) so the simulation can run slower than the rendering or main game loop.


.invert() method for Ordinal Scale

Like the .invert() method for continuous scales (pass a range value, receive a domain value), has the d3 team considered making an equivalent method for Ordinal scale?  Several people are interested in this capability; some making work-arounds, such as: http://stackoverflow.com/questions/20758373/inversion-with-ordinal-scale/20766269?noredirect=1#comment68394750_20766269
Thank you,
Nick

Historically, there has not been a ordinal.invert for a few reasons:

There’s no requirement that ordinal.range values are unique, so for a given range value y, there could be more than one domain value x that matches.

While ordinal.domain values are keyed by string (i.e., the domain values are internally coerced to strings such that any subsequent input value x will match the domain value with the same string-coerced value), ordinal.range values are not. So you’d need to decide whether range values should also be keyed by string, or whether you’d want to use SameValueZero, strict equality, etc.

Related to 2, at the time ordinal scales were first implemented, ECMAScript collections were not widely available, so unless you string-coerced range values, invert would require a linear scan of the range to find the matching value.

d3/d3-scale#60 implements ordinal.invert, choosing to string-coerce range values for indexing (which seems reasonable). That pull request stalled with a discussion of an alternative implementation, but at some point I hope to close it.
Also see d3/d3-scale#64 for band and point scales.


Stuck on [DEBUG] in init

Before submitting a bug report...

[X] This bug wasn't already reported.
(I have checked every bug report on GitHub)

[X] I've cleared the sessions folder.

Branch
master
Commit
24a63e4
Describe the bug
Every time that i try to execute MS Rewards Farmer, it freeze at [DEBUG] in init
2024-10-31 22:32:29,482 [INFO]<EMAIL_ADDRESS>2024-10-31 22:32:29,483 [DEBUG] in init
Copy and paste your error
2024-10-31 22:32:29,482 [INFO]<EMAIL_ADDRESS>2024-10-31 22:26:51,451 [DEBUG] in init

no error provided at all *

Screenshots
none
Value of dashboard variable
none

another bug:
https://gist.github.com/ruisuantonio/8d612d684ee164babbca2d468e317513

Are you using it on Linux via ssh? If so, try to enable x11 forwarding on the session

Are you using it on Linux via ssh? If so, try to enable x11 forwarding on the session

i was using windows, the problem was an update that firewall blocked connections made by automation


[Community] Link to Platforms Definition White Paper broken in the Platform Engineering Maturity Model

Contribution Description
When reading the Platform Engineering Maturity Model it was noticed the link that references the Platforms Definition White Paper is not found.
For example:
https://github.com/cncf/tag-app-delivery/blob/b279406f83ead64de25572014ab421ddf26b76c7/platforms-maturity-model/v1/index.md?plain=1#L33
Related Working Group (WG)
Platforms
Contribution type
White paper
Why TAG App Delivery?
This is a suggestion to fix a link that currently is not found.
Related projects/technologies
No response
Affiliation disclosure
No response
Additional collaborators
No response
Additional information
No response

Hi @tiagodolphine, thanks for opening the issue and PR. This should be fixed in https://github.com/cncf/tag-app-delivery/pull/625

Hi @lianmakesthings thanks for pointing out the fix.
So, all good I'll close this one.