Kong enterprise multiple ingress controllers deployment for multiple workspace support

Adding support for configuring different workspaces with multiple ingress controller deployment when using kong enterprise. Multiple ingress deployment is documented here but not supported in the current helm chart.
We are using those modification in a customisation of the kong chart but would be great to keep using the original always trying to help with our feedback.

/assign @shashiranjan84

Hey @paulopez78,
Thank you for the PR.
Some thoughts:

Multiple workspaces of Kong Enterprise can be managed by different controllers but the thought there was to map k8s namespaces to Kong workspaces. What is your use-case here?
Doing multiple cluster-level controllers and segregating them by ingress.class is for mapping to Kong workspaces is not going to scale well and I expect that to be an operational burden.

Hi @hbagdi ,
In our use case we have kong enterprise with different workspaces using a central database (postgres).
Then developers can create ingress resources in the cluster and custom CRDs (plugins for example) for configuring services, routes and plugins in the different workspaces.
The only thing that I've found talking about this kind of deployment models is [here](https://github.com/Kong/kubernetes-ingress controller/blob/master/docs/concepts/deployment.md#multiple-ingress-controllers), as you said it talks about namespace isolation but first talks about what we are trying to achieve:

Using kubernetes.io/ingress.class annotation:
It is common to deploy Ingress Controllers on a cluster level, meaning an Ingress Controller will satisfy Ingress rules created in all the namespaces inside a Kubernetes cluster. Use the annotation on Ingress and Custom resources to segment the Ingress resources between multiple Ingress Controllers.

To be honest I don't understand the model matching 1 namespace to 1 workspace, does it mean that the ingress controller configured for that workspace with all the services created for that workspace need to be deployed and running into the same namespace? In the docs says:

Kong Ingress Controller supports a deployment option where it will satisfy Ingress resources in a specific namespace

How does it work and how I can enable it? I'm only familiar with ingress.class annotation when running multiple ingress controllers in a cluster for segmentation.
Finally I don't understand (in this kind of scenario with multiple ingress controllers) if the pod running the ingress controller needs always to run along with the kong proxy container (as it is done in the chart).
In our case we are running  different ingress controllers pods (without the kong proxy container) configuring the --kong-url  pointing to the kubernetes service that gets access to the main kong deployment/pod.
We already contacted support one week ago validating what we are doing and the answer is that deployment model we are using looks ok.
I'm really happy to help providing more feedback or doing PRs.
Thanks in advance for your help.

The deployment model is fine in general, but more complex than what we'd like to support in the standard chart. We'd like to instead approach this by adding better control over the controller's arguments to values.yaml (allowing you to specify --kong-workspace and such manually), and then having users create separate releases if they want to use multiple deployments for various components.
This keeps the chart simpler at the cost of complicating upgrades. For the controller, if there is no version that supports both your current Kong version and the new Kong version, you'd need to temporarily disable the controller-only deployments (scale them to 0), complete the Kong upgrade, and then upgrade the controller-only deployments and restore their normal replica count.
Would you have concerns with that multi-release model/do you think there's any reason it wouldn't work in your scenario?

To be honest I don't understand the model matching 1 namespace to 1 workspace, does it mean that the ingress controller configured for that workspace with all the services created for that workspace need to be deployed and running into the same namespace? How does it work and how I can enable it? I'm only familiar with ingress.class annotation when running multiple ingress controllers in a cluster for segmentation.

This is handled by the --watch-namespace argument, which is normally set to all. The controller does not need to run in this namespace, but it does need permission to read it.

Finally I don't understand (in this kind of scenario with multiple ingress controllers) if the pod running the ingress controller needs always to run along with the kong proxy container (as it is done in the chart).

It does not, though at present we don't intend to include disabling Kong pods entirely as a standard option. You can either disable proxy listens on some deployments or use --kong-url to point the controller to a central deployment/customize the deployment template to remove the Kong pod.

Thanks for you reply @rainest, I agree that kind of changes make the chart more complicated, but IMHO you should find a way for using the chart in kong enterprise scenarios, like the one I'm facing with more than workspace and multi ingress controller deployment.
It was really hard to find information about how to do the setup even contacting support, would be great to have better documentation in that regard if there are no plans for supporting it in the chart itself.

Apologies for the late response here; I had a number of unrelated issues come up last week.
I entirely agree that we should have documentation around more complex deployment scenarios. None exists yet as it's only come up recently in relation to Helm-managed releases, and presents challenges stemming from existing limitations in the chart and the overall complexity of general-purpose solutions for split deployments.
Covering those effectively requires a combination of adding new features to better enable these deployments, techniques for splitting them, and documenting the various template components to help users get started with template customization if needed. That's planned, but takes time to write well, so we're providing assistance via support tickets/community posts on a case by case basis for the time being.
I've further reviewed using an umbrella chart to manage multiple Kong deployments with varied settings under a single release. This does work around the additional manual upgrade steps but introduces further complexity of its own, so it doesn't look like that'd work as a simple general-purpose solution (we'd most likely need to instead document the process of creating an umbrella chart suited for a given deployment model).
With that all in mind, are you okay closing out the PR/continuing to maintain your modifications in a fork for now? Do you have any further questions on the customization you'd like us to follow up on in your support case?


list_locks must use 0 / 1 for True / False

Depending on the backend being used (sqlite or another), paddles won't
interpret locked=false as being the same as locked=0 (see
http://tracker.ceph.com/issues/12183 for more context).
Convert True to 1 and False to 0 to always get the same behavior from
paddles, regardless of the backend.
Signed-off-by: Loic Dachary<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1549/
Tests failed for this pull request.

test this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1580/
Tests passed for this pull request.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1585/
Tests passed for this pull request.


dtype of zarr array unexpectedly changes when fill_value is specified

What happened?
Opening a zarr group which contains an array of integer dtype with a fill_value results in an xarray dataset in which the array has floating-point dtype.
What did you expect to happen?
An xarray dataset in which the array has the original integer dtype.
Minimal Complete Verifiable Example
import zarr
import xarray

#Create zarr with integer dtype and fill_value
grp = zarr.open_group("test.zarr")
arr = grp.create(shape=(10,), name="array", dtype="int8", fill_value=-1)
arr.attrs['_ARRAY_DIMENSIONS'] = ['dim1']

#Open in xarray to see that the dtype is now float32
ds = xarray.open_zarr("test.zarr", consolidated=False)
ds['array'].dtype

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?
This is a result of https://github.com/pydata/xarray/issues/5475 where xarray's _FillValue has a different meaning to zarr's fill_value.
The change of dtype happens at https://github.com/pydata/xarray/blob/3c98ec7d96cc4b46664850cc7a40af2bc184fea0/xarray/coding/variables.py#L204 where xarray is trying to find a dtype where fill_value can represent "missing" data, wheras in zarr, fill_value can be any data value as its intent is to fill in missing chunks not represent missing data.
I'm not sure how best to fix this - maybe if the zarr fill value is clearly a non-missing value for the dtype then xarray should act as if it doesn't have a fill value? Happy to work on a PR if that seems to be a valid approach, although others may have thought on if that is a breaking change for some folks.
 For example:
ds = xarray.open_zarr("test.zarr", consolidated=False, decode_cf=False)
ds['array'].dtype

prints dtype('int8').
Does that help?


Update problem 947: add an UnionFind solution

The idea is to view the stones as a graph: each stone is a vertex, and there is an edge between two vertices if they are in the same row or column. Then, we claim that after removing the largest possible number of stones, the number of remaining stones equals the number of connected components in the original graph. To establish correctness, we need two lemmas:

We can treat each connected component independently. Removal in one connected component will only affect another component if there are stones in them that are in the same row or column. However, if this is the case, they won't be distinct connected components.

For each connected component, one stone is left after removing the maximum possible number of stones. It's easy to see that we cannot remove all stones in the component because the last stone has no pair. To prove that we can remove the other stones until the last one, we can apply induction based on the number of stones in the component or follow a strategy of removing stones in reverse order that a DFS discovered.

After proving our claim, we know that the result is the total number of stones minus the number of connected components.

Update the implementation of DFS solution; the previous implementation is indeed time O(N^2).


Error in COPRO

TypeError: cannot pickle '_thread.RLock' object
python: 3.12.4
dspy: 2.4.13
from dspy.evaluate import Evaluate

def validate_answer(example, pred, trace=None):
    return example.y_true.lower() == pred.answer.lower()

NUM_THREADS = 5
evaluate = Evaluate(devset=devset, metric=validate_answer, num_threads=NUM_THREADS, display_progress=True, display_table=False)

# %%
evaluate(classifier)

# %%
from dspy.teleprompt import COPRO
teleprompter = COPRO(
    metric=validate_answer,
    verbose=True,
)

# %%
kwargs = dict(num_threads=64, display_progress=True, display_table=0) # Used in Evaluate class in the optimization process

compiled_prompt_opt = teleprompter.compile(classifier, trainset=devset, eval_kwargs=kwargs)

100%|██████████████████████████████████████████████████████████████████████████████████████████████████| 139/139 [00:55<00:00,  2.49it/s]
Average Metric: 94 / 139  (67.6): 100%|████████████████████████████████████████████████████████████████| 139/139 [00:11<00:00, 12.26it/s]
WARNING:dspy.teleprompt.copro_optimizer:2024-07-31T06:07:59.218537Z [warning  ] DeprecationWarning: 'verbose' has been deprecated. To see all information for debugging, use 'dspy.set_log_level('debug')'. In the future this will raise an error. [dspy.teleprompt.copro_optimizer] filename=copro_optimizer.py lineno=78
Traceback (most recent call last):
File "/Users/hawktang/PycharmProjects/classification_dspy/optimize.py", line 450, in
compiled_prompt_opt = teleprompter.compile(classifier, trainset=devset, eval_kwargs=kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/site-packages/dspy/teleprompt/copro_optimizer.py", line 140, in compile
module = student.deepcopy()
^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/site-packages/dspy/primitives/module.py", line 105, in deepcopy
return copy.deepcopy(self)
^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 162, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 259, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 136, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 221, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/hawktang/micromamba/envs/dspy/lib/python3.12/copy.py", line 151, in deepcopy
rv = reductor(4)
^^^^^^^^^^^
TypeError: cannot pickle '_thread.RLock' object

I have the same issue with Miprov2.  I ran it successfully in a different program last week, but now getting the "TypeError: cannot pickle '_thread.RLock' object" no matter how many threads I choose.

I discovered the issue.  It was because I was using qdrant as an RM and some of the configuration was trying to get pickled.
I set up a "get_retriever" method in my program to "lazily" initiate the Qdrant retriever there instead of trying to pass configuration in variables.
Module Definition
class Program(dspy.Module):
def init(self, qdrant_config, tenant_filter, qdrant_collection):
super().init()
self.qdrant_collection = qdrant_collection
self.tenant_filter = tenant_filter
self.[steps in my program]
def get_retriever(self):
    # Lazily initialize the Qdrant retriever here
    vectorizer = TextEmbedding(model="sentence-transformers/all-MiniLM-L6-v2")
    qdrant_client = QdrantClient(
        url="QDRANT_ENPOINT",
        api_key="API_KEY",
    )
    return QdrantRM(
        qdrant_client=qdrant_client,
        qdrant_collection_name=self.qdrant_collection,
        vectorizer=vectorizer,
        document_field="chunk",
        vector_name="chunk-embedding",
        k=5  # Number of passages to retrieve
    )

def forward(self, args....):

I'm not out of the woods yet, but at least it got my optimizer running the program (including the rag retriever)

I spent all day on this.  I think I found a solution (not fully working yet, but getting closer.
The problem I had was with the qdrant configuration settings.  When I put them at the top of my code and then tried to pass them through the optimizer, I got this error.  However, when I "lazily loaded" them as part of the program class definition, it finally started moving forward (though I just found another bug)
Define the GeneratePimer module
class GeneratePrimer(dspy.Module):
def init(self):
super().init()
self.qdrant_collection = "[name]
self._qdrant_client = None  # Placeholder for lazy loading
self._qdrant_retriever = None  # Placeholder for lazy loading
self._vectorizer = None  # Placeholder for lazy loading
    # Initialize the Chains of Thought using the signatures
    self.generator = dspy.ChainOfThought(Do a thing)
   retrieval step....
   etc.

def _initialize_qdrant(self):
    """Lazy initialization of Qdrant client and retriever."""
    if self._qdrant_client is None:
        self._qdrant_client = QdrantClient(
            url="{my_endpoint}",
            api_key="{my_api_key}",
        )

    if self._vectorizer is None:
        self._vectorizer = FastEmbedVectorizer(model="sentence-transformers/all-MiniLM-L6-v2")

    if self._qdrant_retriever is None:
        self._qdrant_retriever = QdrantRM(
            qdrant_client=self._qdrant_client,
            qdrant_collection_name=self.qdrant_collection,
            vectorizer=self._vectorizer,
            document_field="{my_document_field_name}",
            k=5 #I found this didn't work like I thought, so I defined it again below
        )
        dspy.settings.configure(rm=self._qdrant_retriever)
        self.retrieve = dspy.Retrieve(k=5) #defined the k here too.

def forward

     #in my forward right before my retrieval step

     # Lazy load Qdrant configurations
     self._initialize_qdrant()

I hope this is helpful to someone else.

This (deep copy issue) is now fixed in DSPy 2.5


VS2015 typescript settings are not honored because they are set to apply to an incorrect platform within the csproj file

I created a new web application in vs 2015, and tweaked the default typescript settings.  Within the csprj file they are only applied to 'Debug Any CPU' (note the space)  When they should be Applied to Debug AnyCPU.  This causes the settings to not be picked up at compiled time

Is this an Asp.net 4 or asp.net 5 project? And is this VS 2015 RTM?

I believe it's VS 2015 RTM, about reads: v 14.0.23107.0 D14REL
I used the classic Asp.net 4.5 web application template

+1. I can confirm this after struggling for a while to understand why the trusty old "Cannot compile external modules unless the --module flag is provided" message just wouldn't go away.

Manually editing the project file to your desired setting is at least unblocking you while we fix this right?

Yeah, that's exactly what I've done to unblock.

Checked in a fix, this is in the next release for VS.


Use streams3

Waiting on https://github.com/deoxxa/duplexer2/pull/12

duplexer2 v0.1.0 (that uses Stream3) is released.

Thanks @shinnn!

https://github.com/substack/stream-combiner2/commit/f738fb5b71c21717ccef8938f0c2c46a4a61a527#diff-04c6e90faac2675aa89e2176d2eec7d8R5

for streams2

After this is merged (or in this PR?), that line also should be updated.

@substack Looks like https://github.com/deoxxa/duplexer2/pull/12 was released, can this PR be merged now?

@feross after this gets merged then there's just module-deps and browserify itself

@zertosh yeah! we're very close to being completely streams3 in browserify.

LGTM


Improve testing of internal

Some use cases are difficult to test but can be mocked.
Currently, the test suite is not designed for that.

Update runner.sh to be tested outside the Docker image
Setup bat testing environment
Design bat tests to cover various use cases.

Related to #31


Remove zips used by bwc tests

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

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

:exclamation: Current head 67cf7d6 differs from pull request most recent head df8e6c7. Consider uploading reports for the commit df8e6c7 to get more accurate results

@@           Coverage Diff           @@
##             main     #133   +/-   ##
=======================================
  Coverage        ?   83.51%
  Complexity      ?      556
=======================================
  Files           ?       61
  Lines           ?     2050
  Branches        ?      146
=======================================
  Hits            ?     1712
  Misses          ?      230
  Partials        ?      108

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 0a7f805...df8e6c7. Read the comment docs.


Fix Stomp

Confirmed that ElastAlert requirements.txt uses any version of Stomp newer than 4.1.17, and the latest version of Stomp does not support a top level .start() method call. Only the stomp.transport sub module provides a start() method. Further, the documented quick-start and related examples make no mention of the need to call .start(). Documentation referenced from this location: https://pypi.org/project/stomp.py/

Confirmed that ElastAlert requirements.txt uses any version of Stomp newer than 4.1.17, and the latest version of Stomp does not support a top level .start() method call. Only the stomp.transport sub module provides a start() method. Further, the documented quick-start and related examples make no mention of the need to call .start(). Documentation referenced from this location: https://pypi.org/project/stomp.py/


Missing Autocomplete in VSCode / PyCharm

Bug Description
Hello together,
I use bytewax within a virtual environment.  Environment was created under Python 3.10.9 using the command
python -m venv .venv
and then I activated the environment. I installed bytewax via pip and can create imports.
from bytewax.dataflow import Dataflow
The problem is that "Dataflow" is not found within the IDE. This means that autocomplete, etc. do not work.
However, I can execute and use Dataflow without any problems. It is only annoying within the IDEs.
Python version (python -V)
Python 3.10.9
Bytewax version (pip list | grep bytewax)
0.14.0
Relevant log output
Cannot find reference 'Dataflow' in 'dataflow.py'

Steps to Reproduce

Create new project in PyCharm / VSCode (under MacOS 13.1)
Create and activate venv
pip install bytewax
create new .py file with
from bytewax.dataflow import Dataflow

I'm trying to replicate the problem (I'm on linux), but it seems to work.
This is what I did:
mkdir bytewax-bug
cd bytewax-bug
python -m venv .venv
source .venv/bin/activate
pip install bytewax
code main.py

Code has the ms-python extension installed:

Starting to write the import it works:

It also works if I run code from outside the virtualenv.
I tried pycharm community edition too, created the virtualenv and installed bytewax from whithin the IDE, and it worked there too:

Maybe it depends on the language server/python plugin used? I installed a fresh version of both code and pycharm, so the setup is pretty much the default one.

Thanks for your test. I just did a fresh installation on VSCode and entered same lines of code from your example above.
Same Extension installed. Only difference seems to be the OS.
Anybody able to confirm my behaviour on MacOS?

I can confirm the issue on MacOS

yep, seeing the same on macOS/vscode

Unfortunately, these don't get automagically created by Maturin/PyO3 at this point and need to be manually created as a pyi stub file. There is an issue open with a proposal to automate this as it would be quite cumbersome to maintain.


Enums should implement hash()

It is currently not possible to create a Map or a Set using an enum as a key type because the compiler expects the key type to implement a hash() function. This is surprising because the underlying type of an enum is u32 which should be easy to translate to an i32 for purposes of generating a hash code.
Example code:
use core.map

Fruit :: enum {
    Apple; Banana; Carrot;
}

main :: () {
    m : Map(u32, str);
    m = map.make(u32, str);

    m2 : Map(Fruit, str);
    m2 = map.make(Fruit, str);
}

Error:
Failed to compile your code:

Line 38, column 16:
    Failed to satisfy constraint where t is of type 'Fruit'.
 38 |     { hash.hash(t) } -> u32;
                     ^
Line 19, column 66:
    Here is where the interface was used.
 19 | Map :: struct (Key_Type: type_expr, Value_Type: type_expr) where ValidKey(Key_Type) {
                                                                       ^~~~~~~~
Line 13, column 13:
    Here is the code that caused this constraint to be checked.
 13 |     m2 : Map(Fruit, str);
                  ^

A similar error occurs when trying to create a Set(Fruit).
I suggest an enhancement where all enums automatically implement hash() using the underlying data type if possible. If it's not possible to hash the underlying data type, then there should be an option to implement this function in the body of the enum in the same way as for structs.

I agree enums should have hash defined for them by default, so that's going to be fixed.
But just to mention, you can make this work manually in one of these two ways.
#inject
Fruit.hash :: (f: Fruit) -> u32 {
    return hash.hash(cast(u32) f);
}

#overload
hash.hash :: (f: Fruit) -> u32 {
    return hash.hash(cast(u32) f);
}


[AutoRelease] t2-cosmosdb-2024-12-02-73672(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5735
Recording test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=984
BuildTargetingString
azure-mgmt-cosmosdb
Skip.CreateApiReview

issue link:https://github.com/Azure/sdk-release-request/issues/5735


Clicking on Alarm or "..." from dashboard does not take you to the alarm details page

Type of issue

[x] Bug
[ ] New feature
[ ] Improvement

Description

There is no deep link to the alarms page

Steps to reproduce

open dashboard
click on alarm
nothing happens.

dup?

Fix merged, closing.

Reopening. There is an issue where navigation to the alarm details page fails if the user hasn't already navigated to maintenance page.


Refactor deployment workflows

Context
The workflows that initiate a deployment use workflow_dispatch, this can result in unnecessary failures when subsequent workflow doesn't wait and makes logs harder to read.
https://trello.com/c/grpMynpF
Changes proposed in this pull request
This change refactors the workflow to use reusable actions.
Guidance to review
Confirm that workflow conditions and results remain the same.
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

Testing delete-review-app workflow


[1.x] Adds Feature::activeForAny()

I want to be able to check if any of a user's related models have a particular feature enabled.
$schools = $user->loadMissing('schools');
$featureIsActive = Feature::for($schools)->someAreActive('enrolled-in-beta');

But this actually is checking that all of the schools have at least one of the features (in this case it's just one feature, 'enrolled-in-beta', which is gets wrapped as an array) being passed in. So if all of the user's schools don't have the feature enabled, $featureIsActive is false.
With the change in this PR, we can accomplish that with:
$featureIsActive = Feature::for($schools)->activeForAny('enrolled-in-beta');

I would have just changed someAreActive() but it seems like that would be a breaking change (proven by the fact I would have to modify tests) 😢 hence the new method.

@cosmastech, thinking out loud here, I feel like the API we really want here is something like this:
Feature::forSome($schools)->active('enrolled-in-beta');

This better indicates that the "some" applies to the schools and not the features.
$school1 = School::find(1);
$school2 = School::find(2);

Feature::forSome([$school1, $school2])->active('enrolled-in-beta'); // false

Feature::for($school2)->activate('enrolled-in-beta');

Feature::forSome([$school1, $school2])->active('enrolled-in-beta'); // true

We then have better composition, for example we could mix forSome with someAreActive:
$model1 = Model::find(1);
$model2 = Model::find(2);

Feature::forSome([$model1, $model2])->someAreActive(['feature-1', 'feature-2']); // false

Feature::for($model1)->activate('feature-2');

Feature::forSome([$model1, $model2])->someAreActive(['feature-1', 'feature-2']); // true

That's a great call @timacdonald. My first thought was "should we make scopes Enumerable?"
Feature::for($models)->some()->active('feature1');
// or even
Feature::for($models)->some->active('feature1');

But looking at Enumerable interface, I imagine most of those wouldn't apply. So maybe just methods for some() and every() would be sufficient.

I just realized that this doesn't make any sense:
Feature::forSome(['taylor', 'tim'])->activate('foo'); // or deactivate

What do we do in that case? Throw an exception? Just activate them both scopes?

@cosmastech, I don't think all methods would be available. Only a subset of methods would be available after calling forSome.
I'm on something else at the moment, but will circle back to this. I don't want you to put in a heap of work on something we aren't sure on just yet.

@cosmastech, I'm going to close this one. This isn't a "no", more a "maybe later".
I don't think this is the API we want and we also want to see that more people want the feature before investing time in getting things right for it.
Thanks for the PR!


Determine if the antiforgery cookie is considered essential

From @Tratcher on Wednesday, December 27, 2017 1:48:50 PM
RE: aspnet/Security#1561
When this new policy is applied all non-essential cookies will be suppressed. We need to determine if anti-forgery is considered essential by default. I expect yes as it's a security feature.
@blowdart
Copied from original issue: aspnet/Antiforgery#175

From @rynowak on Wednesday, December 27, 2017 2:38:46 PM
I also expect yes.

From @blowdart on Wednesday, December 27, 2017 4:39:35 PM
Yup, essential

From @mkArtakMSFT on Thursday, December 28, 2017 11:18:29 AM
Thanks guys. Agree, this should be marked as essential. I'm updating the title and assigning to someone to make the actual change.

From @mkArtakMSFT on Thursday, December 28, 2017 11:23:47 AM
Hi @kichalla. Can you please mark the antiforgery cookie as "essential"?

From @Tratcher on Thursday, December 28, 2017 11:56:00 AM
Preview2? @blowdart isn't the rest of this feature going into preview1?

From @blowdart on Thursday, December 28, 2017 2:59:40 PM
I believe so, but it's a question for @DamianEdwards though

This should be in preview1 if it can be


create instructions for building a Linux kernel and making a bootable USB drive

Hey is this the relevant parameter for the kernel compilation and access to /dev/mem : https://cateee.net/lkddb/web-lkddb/STRICT_DEVMEM.html ?

Yes, that is one of them. I just added a defconfig file and instructions in 0d4296cf46a0.


Change in ordering of the error message details

In version 0.10 error messages were shown in this order (message key,  file/zip entry, [SEVERITY], error message):
POL_4: mimetype [ERROR] Extension and MIME type | The MIME type value MUST be: "application/vnd.oasis.opendocument.spreadsheet" and the file extension MUST be ".ods".
Now, in 0.12, they are shown in a different order (message key, [SEVERITY],  file/zip entry,  error message):
POL_4: [ERROR] mimetype Extension and MIME type | The MIME type value MUST be: "application/vnd.oasis.opendocument.spreadsheet" and the file extension MUST be ".ods".
This does seem more consistent with the APP-x messages which were always this way around, but is it deliberate? And if this is the order as it should be, could we make sure we don't change it again? :)

The change was deliberate for consistency. I'm not intending to change again and would only do so in response to issues generally.


Add openstack provider support to subscription-cleanup-job

Currently subscription-cleanup-job in KEB can only release subscription for limited set of hyperscaler providers:

Azure
AWS
GPC

Openstack provider is not supported. As a result the job cannot release openstack subscription. This limitation may at some point impact production environment.

Opening as OpenStack subscriptions seem to be used for Kyma Runtime

The investigation showed that Gardener is cleaning up clusters in CCEE properly and no left-overs have to be cleaned up by us. Closing this issue as obsolete.


Unable to recover after "Visual tracking is lost"

Hello,
I am trying to use this package with ZED mini camera on Orin AGX. The system works fine
till we hit a situation when "Visual tracking is lost"  this can happen due to many reasons,
(robot wondering to close to a featureless wall, enters low lighting area), Once this happens though
the visual slam is unable to recover. I am using IMU fusion from the ZED camera. I have tracked the IMU Odometry
it seems to be generating the correct data. Any work arounds or suggestions.
Sandeep

Here is my interpretation based on what is described. Once the tracker is lost. It will be in a mode where the odometry estimates won't match the ground truth. At that point, you can call the reset odometry service to reinitialize the tracker and vslam odometry session.


Assign ready channel to nil only if it is not nil

If the ready channel is already nil, it's not necessary to assign
it to nil.
Signed-off-by: Jin Xu<EMAIL_ADDRESS>

[Current coverage][cc-pull] is 54.99%

Merging [#1163][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.04%

@@             master      #1163   diff @@
==========================================
  Files            77         77
  Lines         12079      12079
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6648       6643     -5
- Misses         4509       4513     +4
- Partials        922        923     +1

[][cc-pull]

Powered by Codecov. Last updated by [2603e45...90d9f7e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/2603e459de306f010439770f358daeee4a470df3...90d9f7e7a4c499448417e318251e01c15bf34273?src=pr
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/1163?src=pr

LGTM

LGTM


EPS errors out with Bitcoin core v<IP_ADDRESS>

Hi,
I upgraded BTC core to the latest version and connecting my Electrum wallet to EPS errors out on EPS with python script errors. Is this a known issue? I'm currently away from my machine but can post error logs later today.
Thanks in advance.
Edit: I'm running EPS v0.1.7

I am getting an error too.
Traceback (most recent call last):
File "/home/kid/.local/bin/electrum-personal-server", line 11, in
sys.exit(main())
File "/home/kid/.local/lib/python3.6/site-packages/electrumpersonalserver/server/common.py", line 759, in main
run_electrum_server(rpc, txmonitor, config)
File "/home/kid/.local/lib/python3.6/site-packages/electrumpersonalserver/server/common.py", line 494, in run_electrum_server
broadcast_method)
File "/home/kid/.local/lib/python3.6/site-packages/electrumpersonalserver/server/common.py", line 276, in handle_query
fee_rate = 1e8*details["fee"] // details["size"]
KeyError: 'size'

Ah yes, those error messages look familiar to me too.
Cheers for posting the error logs.
Thanks

I can confirm this issue with bitcoin-core v<IP_ADDRESS> and EPS 0.1.7.

Same issue for me. I had to go back to core 18.0.1

To solve this you need to set deprecatedrpc=size in bitcoin.conf

I can confirm that chris-belcher solution solves the problem. Tx Chris.

Damn, I pasted deprecatedrpc=size into my conf file but EPS still crashed on me with 0.19.01
0xbytes, am I missing something?

is your bitcoin.conf file definitely being read by Core? Try adding connect=0 and checking that it makes Core unable to connect to any other peer.

Is it possible EPS v0.1.7 has no issues with Bitcoin core v0.19.0., despite
deprecatedrpc=size missing in bitcoin.conf? Mine seems to be running just fine.

Yes, the above mentioned parameter deprecatedrpc=size in bitcoin.conf solves the problem.

@chris-belcher that didn't work for me either :-/
Would it help if I shared my bitcoin.conf file?

@chris-belcher this issue is fixed in master. Is there any plan to make a new release?

This is my bitcoin.conf
server=1
daemon=1
dbcache=600
rpcuser=*[put your own username]
rpcpassword=[your own password]
rpcport=8332
rpcallowip=<IP_ADDRESS>/<IP_ADDRESS>
rpcthreads=10
port=8333
bind=<IP_ADDRESS>:8333
minrelaytxfee=0.000002
limitfreerelay=6
txindex=1
maxconnections=100
deprecatedrpc=size
#tor
proxy=<IP_ADDRESS>:9050
listen=1
bind=<IP_ADDRESS>
onlynet=onion

Can confirm deprecatedrpc=size helps solve the issue. Thanks @chris-belcher

With the new release 0.2.0 this issue is fixed.


Switch to sql alchemy orm

The switch did not occur, but other items were addressed that prompted the move.


Use govuk frontend v5

What’s changed

Identifying a user need

downstream project:

create a govuk_frontend.js file in in source/assets/javascripts
add //= require govuk_frontend_all into it
serve or build

jasmine broken. not sure it supports es6


update ghga-service-chassis-lib version

Title for squash and merge:
update ghga-service-chassis-lib version

Codecov Report

Merging #71 (c1366d6) into dev (cd4f67f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev      #71   +/-   ##
=======================================
  Coverage   68.53%   68.53%
=======================================
  Files          14       14
  Lines          89       89
=======================================
  Hits           61       61
  Misses         28       28

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 cd4f67f...c1366d6. Read the comment docs.


Proposal branch

C# winforms file

This is looking good! I might recommend can we move /Client/SNUBclientFinalProject/ to /Client/?

Closed.


ST_AsText function

Is there a way to convert the output of a Geometry POINT declared with geoalchemy2 from binary to text with ST_AsText function in PostGIS?

Please use Stack Overflow for questions about your own code. This tracker is for issues related to the project itself. Be sure to include a minimal, complete, and verifiable example.
This appears to be a question about SQLAlchemy. Flask-SQLAlchemy should not affect what types of queries you can construct, it is only a wrapper around SQLAlchemy.


Keep receiver alive after timeout and reuse

In current world after timeout, the receiver would be shutdown, everything needs to be re-established.

receiver life cycle control on timeout: added a new kwarg "_shutdown_after_timeout" into ReceiveClient Constructor to allow the upper layer control the life cycle
after one generator ends, new one can simply be created to continue utilizing the receiver.

To reuse the receiver in the service bus, the code could be:

class ServiceBusReceiver:
    def _create_handler(self, auth):
        self._handler = ReceiveClient(..., shutdown_after_timeout=False)

    def __next__(self):
        self._check_live()
        while True:
            try:
                return self._do_retryable_operation(self._iter_next)
            except StopIteration:
                self._message_iter = None

    def _iter_next(self):
        self._open()
        if not self._message_iter:
            self._message_iter = self._message_iter = self._handler.receive_messages_iter()  # get a new generator if last one ends
        uamqp_message = next(self._message_iter)
        message = self._build_message(uamqp_message)
        return message

Does this need a changelog note?


Rename autorest.csharp branch feature/v3 to main

The default branch for autorest.csharp is being renamed from feature/v3 to main

/check-enforcer override
Change not tested by pr pipeline


JRTB-4: As a user, I want to get new articles no later than 20 minutes since the article was created

As a user, I want to get new articles no later than 20 minutes since the article was created.
For it, needs to be implemented Spring Scheduler.
Every 15 minutes the newly created service will :
find all active subscriptions(subscription, which linked to the active user)
find all new articles for active subscriptions
send new articles for users
Acceptance criteria:
Spring scheduler added to the project with task every 15 minutes
Logic for getting new articles added
[The scheduling process for finding new articles for an active subscription must be followed by this workflow:

https://github.com/JBolivarLi/JRTelegramBot/pull/23


Missing example in pub.dev page

Hello @jascodes, thank you for your useful package ;)
Is very useful for me. But I discovered that in example page in Pub.dev (https://pub.dev/packages/animated_indexed_stack/example) is missing your simple_tab_selector.dart example.
There is only main.dart without any useful information about your library..
I was a little confused when I tried find some example during a start..
So can you add it there for others? ;)

Glad you found it useful.
It was very hastily written for internal use. In future I will come back to it with fixes, examples and some good documentation.
There is caveat to this package right now, that the animation get interrupted if you change index during animation. To fix this I have to rewrite major part of it. Will do that at some tome in future. Stay tuned for that.
Jas

Hi @jascodes, before you fix this can you explain how to use pageBuilderList to custom animation for each page? I try to like this but only the first page is animation, the second does not.
AnimatedIndexedStack(
    duration: Duration(milliseconds: 500),
    selectedIndex: vm.selectedIndex,
    transitionBuilder: (context, animation,
        secondaryAnimation, child) {
        var begin = Offset(0.0, 1.0);
        var end = Offset.zero;
        var curve = Curves.ease;

        var tween = Tween(begin: begin, end: end)
            .chain(CurveTween(curve: curve));

        return SlideTransition(
        position: animation.drive(tween),
        child: child,
        );
    },
    pageBuilderList: [
        (context, animation, secondaryAnimation) =>
            _buildVideosList(),
        (context, animation, secondaryAnimation) =>
            _buildCommentList()
    ],
),


What happens to the mongo data if the Flux container goes down?

We're talking about all services being in one container without a mounted volume. Does this mean we lose all of the labelled data if the container goes down?

hard deploy would lose the data, soft deploy would not


Scheduling before resource updated

Hi, I appreciate your efforts in sharing GPUs in Kubernetes.
We tried to run KubeShare scheduler in our cluster, and we found an issue.
Some sharepods are waiting, because there is not enough GPU resources.
When KubeShare schedule sharepods, it need to synchronize current resource of nodes in cluster.
However, instead of waiting for the scheduled sharepod to be updated, the next sharepod will be scheduled immediately.
So maybe it needs to add code to wait for the scheduled sharepod to be updated.
We solved the issue by adding the code below to 'syncHandler' function in 'KubeShare/pkg/scheduler/controller.go.'
for sharepod.Spec.NodeName != schedNode && sharepod.ObjectMeta.Annotations[kubesharev1.KubeShareResourceGPUID] != schedGPUID {
	sharepod, err = c.sharepodsLister.SharePods(namespace).Get(name)
	if err != nil {
		if errors.IsNotFound(err) {
			utilruntime.HandleError(fmt.Errorf("SharePod '%s' in work queue no longer exists", key))
			return nil
		}
		return err
	}
}

Thank you for your great work!

Many thanks to your feedback.
We are glad that you are interested in our work.

And I think you miss 'wait.Done()'
if cannotScheduled {
wait.Done()
return
		}
at 'syncNodeResources' function in 'KubeShare/pkg/scheduler/sync_resources.go'
When the node cannot be scheduled, because of its taint, the scheduler waits forever.


refactor: remove sec_cats

Pull request
Please confirm that this pull request has done the following:

[x] Tests added
[x] Documentation added (where applicable)
[ ] Description in a {pr}.thing.md file in the directory changelog added - see changelog/README.md for details

Description
Remove sec_cats:

from the documentation of the data formats
from tests
from the formal definitions of data formats

However, we retain:

backwards compatibility for reading: We just ignore sec_cats when loading from CSV or netcdf.
when converting free-form DataFrames to interchange format, you still have to specify secondary categories using the sec_cat__ prefix, for backward compatibility and because it's a useful feature to guard against typos.

Note that this is a breaking change, if you e.g. read something from interchange format, then save it back to interchange format, it will remove the sec_cats entry.
Closes: #217

Unfortunately, there are a lot of places where sec_cats were used. The tests now pass, but I still think this is a medium-risk PR. Maybe we can test something from the non-AnnexI repo to see if it still works?


is it possible to create a new track in runtime?

or any way to use hotkey record?

Theoretically this is possible, there would be some development required to accomplish this.
It's been a while - but most likely you would need to tell the SceneTrack core to start a new track, and tell all the components in unity that are in scene to reregister themselves.

SceneTrackObject.zip
@reapazor Hi, I got some problem with add new track and hotkey Record feature.
The first time take is perfect but the second take always loss the parents info in its FBX file.
code is simple, I add a new void to clear the FrameCount in SceneTrack system class and the rest
is in this SceneTrackObject.cs
Could you help me with this?


Fix wrong indentation error and get rid of PEP8 warnings in helpers.py

There was wrong indentation error raising in line 587 https://github.com/mitsuhiko/flask/blob/master/flask/helpers.py#L587

Also fixed some PEP8 warnings

continued in #1702


Request to add Jinvoo Multiswitch fingerprint to Multiswitch-Child driver

Hello Mariano, please add a fingerprint for Jinvoo smart socket (multiswitch).
https://www.amazon.com/Jinvoo-Individual-switches-SmartThings-Certified/dp/B0B4W76NX6/ref=sr_1_2?crid=5BMT2S4SUOSP&keywords=jinvoo+smart+zigbee&qid=1668537607&sprefix=jinvoo+smart+zigbe%2Caps%2C261&sr=8-2
In this device the 3 ports are controllable, 2 outlets and the USB port. They work just fine in HomeAssistant but I'd rather have them configured in Smartthings.
Device data taken from IDE:
application: 43
endpointId: 01
manufacturer: _TZ3000_wc2uoeah
model: TS011F
zigbeeNodeType: ROUTER
Raw Description	01 0104 010A 01 07 0000 0003 0004 0005 0006 E000 E001 02 0019 000A
Please let me know if any further information is required.

Hi,
Are the 3 switches controlled independently or only 2?
I need to know if it has 2 endpoints or 3 endpoints and if they are consecutive

Hello, thank you for your quick reply.
All 3 switches are controlled independently, the 2 outlets and the USB port. I am almost 100% sure that the endpoints of the 2 outlets are consecutive, one being 01 and the other one 02. A few weeks ago I set them up with a child virtual switch in the IDE. The USB is the one I never got it working with a child device in Smartthings IDE.
On the other hand, HA detects the 3 endpoints and controls them.

Hi
Added to this driver version
───────────────────────────────────────────────────
Driver Id    540ae948-6fcc-4137-809c-875c3e186071
Name         Zigbee Multi Switch and Child Mc
Version      2022-11-15T19:59:17.536797195
───────────────────────────────────────────────────

id: "_TZ3000_wc2uoeah/TS011F"
deviceLabel: Jinvoo MultiPlug
manufacturer: _TZ3000_wc2uoeah
model: TS011F
deviceProfileName: three-outlet

I can confirm that the device is now fully controlable with the Multi Switch and Child driver. Thank you so much for your quick reply to my request.


Add changelog for 2018.06.01

LGTM. I'm missing one important feature of this release that is "Added support for YANG notifications".


BUILD.bazel for drake_ros_core

Here's a first pass adding BUILD.bazel files for drake_ros_core. I'm opening it for feedback. I only added the C++ libraries for now.
@IanTheEngineer @EricCousineau-TRI Please take a look.
test_pub_sub does not pass. It passes using CMake and a local ROS 2 workspace, so maybe the out-of-date ROS 2 archive has an issue. If so,  #71 might resolve it.

This change is

drake_ros_core/WORKSPACE line 45 at r4 (raw file):

    name = "drake",
    urls = [x.format(DRAKE_COMMIT) for x in [
        "https://github.com/RobotLocomotion/drake/archive/{}.tar.gz",

nit When fetching source code from a github tag (as opposed to git sha), the following URL pattern is guaranteed (by github) to maintain a consistent sha256sum forevermore:
https://github.com/{repository}/archive/refs/tags/{release_tag}.tar.gz
When you use /archive/ URLs as here currently, the sha256sum will occasionally randomly change out from under you and your build (and your own releases) will nosedive if you don't have any dependency mirroring already set up.
If you don't expect to every switch away from using tags, it's probably worth using the tags-specific URL here.
Details:
https://github.com/bazel-contrib/SIG-rules-authors/issues/11#issuecomment-1029861300


It's me again !

Hi again,
This time i'm not coming back with an issue it more of a question to which i could not find the answer.
I have not managed to implement GPU usage instead of CPU i downloaded the onnx runtime gpu and still cant get it to work.
Have you done any experiments of this sort in the past ? Have you got it to work with videos ? Thanks !

@StefanCiobanu1989 sorry, didn't try it.


Nuvola does not recognise the current song

Nuvola does not recognise the current song. It shows in the sidebar only (null). So neither the lyrics plugin nor the desktop notifications are working.
I installed the Version 5.1 of the Plugin and Version 3.1.0 of Nuvola via the Arch User Repository.

Hello @lonlazer. Thanks for taking the time to report this issue. I can confirm it.
@SteVwonder, could you take care of it? Thanks!

I wonder if there is still someone taking care of updating this service/app.
Can someone give us some information about it?
@fenryxo @SteVwonder

Hello @das-keyboard. This script is currently unmaintained as the maintainer @SteVwonder seems to have lost interest in it. I might take over it next month if there is any spare time.

I've adopted this abandoned script and released version 5.2 with fixes.
-- Jiri Janousek, Nuvola Player developer • My work on Nuvola Player and user support are funded by Nuvola Patrons. :heart: Make a donation to keep the project going. Thank you.


loading model issue in web cam detection true.

Error in loading the saved optimizer

Even I faced the same.
'provided weight shape ' + str(w.shape))

ValueError: Optimizer weight shape (8,) not compatible with provided weight shape (64,)

i am getting the same error :
" warnings.warn('Error in loading the saved optimizer '
[ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.CPP (887) open VIDEOIO(V4L2:/dev/video1): can't open camera by index"

Error in loading the saved optimizer
Try this-
emotion_classifier = load_model(emotion_model_path, compile = False)

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
itofarina, @gauthamzz, @sam-potter, @umibana, @SebastianElvis, @AdamManuel-dev, @janusdotai, @liqudefi, @AugustinVignet, @seanyang0813, @kas512, @max-berman, @0x-maker, @RafaelC457ro, @SteversIO, @cadu0xcarbon, @monishwarmc, @Seranged, @guotie, @crkmythical


parrot-devtools: regeneratorRuntime is not defined

DevTools throws a ReferenceError for regeneratorRuntime not defined.
Possible fix is to add the @babel/plugin-transform-runtime plugin to .babelrc

Or remve babel...

Looks like this might be able to be closed out. Has anybody verified that it's fixed?


Wrong error message for configuration parser (copy/paste issue)

modules/Configuration.py routine 'get' have a typo in error message for the maximum limit.
Instead of:
            if upper_limit and float(value) > float(upper_limit):
                print "ERROR: [%s]-%s's value: '%s' is above the maximum limit: %s" % \
                      (category, option, value, lower_limit)
                exit(1)

Need to have:
            if upper_limit and float(value) > float(upper_limit):
                print "ERROR: [%s]-%s's value: '%s' is above the maximum limit: %s" % \
                      (category, option, value, upper_limit)
                exit(1)

Thanks, would you like to make a PR for that? (You can use the web interface and just edit the file to make a PR.)


Bknight regex migration

Extension of initial PR.
This pull request primarily involves changes to the pyfixest package, specifically the feols_.py and dev_utils.py files. The changes are aimed at improving code quality and readability, as well as introducing a new utility function to extract variable levels.
Code quality and readability improvements:

pyfixest/estimation/feols_.py: Removed the import statement for the re module as it is no longer used directly in this file.
pyfixest/estimation/feols_.py: Reformatted the ValueError messages in the ritest and plot_ritest methods to improve readability. [1] [2]

New utility function and its usage:

pyfixest/utils/dev_utils.py: Added a new utility function _extract_variable_level to extract variable and level from a given string. This function uses regular expressions to match patterns and extract the required information. If the patterns are not found, a ValueError is raised.
pyfixest/estimation/feols_.py: Replaced the regular expression matching and extraction logic in the fixef method with a call to the new _extract_variable_level function. This change simplifies the code and improves readability.
tests/test_predict_resid_fixef.py: Added a new test case test_extract_variable_level to verify the correct extraction of lists, floats, and integers by the _extract_variable_level function.

Other changes:

pyfixest/estimation/feols_.py: Added the _extract_variable_level function to the import statements from pyfixest.utils.dev_utils.
tests/test_predict_resid_fixef.py: Imported the _extract_variable_level function for use in the test case.

@all-contributors please add @b-knight for code


README instructions missing brew install xcodegen

README instructions missing brew install xcodegen

For a clean macOS, the Usage section on the README, step 4. will fail on make with the following error:


Stevedia storage reserve

Fixed set reserved storage error message

Docs Build status updates of commit 6eb7681:
:clock10: Full build: the average full build time is 16 min(s) 29 sec(s), this is based on the last 15 build(s) for this repository.

Docs Build status updates of commit 6eb7681:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/dism/DISM.md
:white_check_mark:Succeeded

docset/windows/dism/Get-WindowsReservedStorageState.md
:white_check_mark:Succeeded

docset/windows/dism/Set-WindowsReservedStorageState.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[chart/redis-ha][BUG] Update to Redis 7.0

Describe the bug
(marking as bug as the release fixes CVEs)
Redis 7.0 was released: https://github.com/redis/redis/blob/7.0/00-RELEASENOTES
It includes the following security fixes:

(CVE-2022-24736) An attacker attempting to load a specially crafted Lua script
can cause NULL pointer dereference which will result with a crash of the
redis-server process. This issue affects all versions of Redis.
[reported by Aviv Yahav].
(CVE-2022-24735) By exploiting weaknesses in the Lua script execution
environment, an attacker with access to Redis can inject Lua code that will
execute with the (potentially higher) privileges of another Redis user.
[reported by Aviv Yahav].

This still definitely should be done.


Transform version to exclude V and v, and force epoch to deal with version inconsistencies.

Duplicate of and closes #1943. Redone to help Jenkins out.

aww yiss!


Documentation updatates

As mentioned in #53 I'd like to revisit some of the documentation and add more information that may not be obvious to new users or folks not entirely in the loop of blazor things Feedback is welcome!

@AngelMunoz thanks for the contribute first.
Some concern for the DOM document, I think it is too complex. Before I just want to explain the Fun Blazor Core, the DSL. Other stuff, like html.inject, adaptive, reactive, elmish are advanced features and very opionated, someone likes and someone hates.
And currently, the template like fun-blazor are just using regular csharp style, not using any of the advanced features. So it may freak people out. I would recommend to move your explanation for those advanced features to related section, and maybe add some doc ref in the DOM doc.

The reason I went all in with the DOM document is because I feel it is a natural progression from someone's code for example:

Start writing html and handle a few things here and there
Start adding control flow/multiple items
Start handling state or look for state management solutions

I think the Technical "Core" of the Fun.Blazor project is indeed a small layer on top of blazor, but I think as a "Framework" these concepts in the DOM document are "Core" the framework at user level.
If users are able to understand these few pieces and how they match, then they can start figuring out the rest.
While there are advanced use cases for them, I don't think they are by default advanced.
I wanted to reserve the "Advanced" area for things like Blazor Interop (like the document I moved there from the DOM), JavaScript Interop, AutoInteractive Rendering mode (the client, server plus service sharing) and other things thar are not kind of the "day to day" things everything else it can have its own section but I don't think they should be categorized as "advanced" at all.
Thoughts there ^?
Another thinking I have is that: Too few information I think it also hurts because it just raises questions about the missing pieces.

Other stuff, like html.inject, adaptive, reactive, elmish are advanced features and very opionated, someone likes and someone hates.

I agree that they may be opinionated but shouldn't the framework kind of enforce a little bit how it wants to be used?
I think adaptive data is the one you'd like to push as the default right?
The other solutions I tried to write them a little bit more of "it is an option"

I moved the dynamic content to the section "Interactive Nodes" as it is a similar wording used by the microsoft docs to distinguish between content that reacts to user input

@AngelMunoz

I think the Technical "Core" of the Fun.Blazor project is indeed a small layer on top of blazor, but I think as a "Framework" these concepts in the DOM document are "Core" the framework at user level.

At the begining, I actually put all the opinionated stuff at first and push adaptiview and hook, at some point I changed my preference when I use Fun.Blazor for my own projects like my blog site (I only use SSR + htmx now). So for myself, my opinion is not stable.
And framework is too big for me to position Fun.Blazor, so at some point of time, I re-organized the docs and put DSL as the most important one, and other stuff as advanced toolsets. Because I do not want to fight the blazor official way, that is also the reason I updated the templates to use the component style and use blazor's default features as much as possible.
But maybe you are right, because maybe for many fsharp developers, they do not care how official blazor works, they just want to use familiar fsharp sytax to compose some dom together and hook up some dynamic data, and that is it. So maybe we should provide templates in more fsharp style and more opionionated way.

And framework is too big for me to position Fun.Blazor

I think when adaptiviews/html.inject/hooks and other features specific to Fun.Blazor are used they're more than just "libraries" or "tools" in my personal opinion using them all together really takes Fun.Blazor at a Framework level just like a Giraffe is positioned in ASP.NET, sure they are technically libraries that build on tip of existing frameworks but they add that extra glue/ease of use that make it its own thing.

Because I do not want to fight the blazor official way,

I think this is a very strong point for Fun.Blazor and it should keep being Blazor friendly in all aspects possible. because F# users "may not need this until they do" but when they do it is extremely good to have it around.
I think your last point has value, and I agree, most of the time F# developers just want to get things done so, having an F# friendly/oriented guide more than "how the official blazor way works" provides more value than not having it or having it buried in other places in the documentation

Thanks for the hard work, I will merge it now.


Windows Fullscreen Optimizations seems to be disabled whenever dxvk is used

I rely on Windows Fullscreen Optimizations to be able to use applications that draw overlays over games without borderless fullscreen support, but whenever I use dxvk on these games this feature seems to be disabled. The games enter exclusive fullscreen mode and drawing overlays as well as toast notifications are hindered from being displayed.
I've searched for a complete day on this but nothing useful came up, what I'd like to do is to keep Windows Fullscreen Optimizations turned on, or rather force enabling it, and turning it off at will from the compatibility tab whenever it's not needed while at the same time use dxvk.
I could be wrong in this assumption, as in Windows Fullscreen Optimizations may be still turned on, but something else is causing this same behavior, the problem is I have no idea where to track this down to its root.
Software information
The games that I tried are Grand Theft Auto IV: The Complete Edition and Sherlock Holmes: The Devil's Daughter, the first uses DirectX 9 and the later uses DirectX 11.
System information

GPU: GTX 1070
Driver: 466.27 Game Ready
OS: Windows 10 v1903
DXVK version: 1.9 and master 11bbc07e (from workflow build)

Apitrace file(s)
The trace file would be useless in this case because it involves replacing d3d9.dll and dxgi.dll, hence the issue is not triggered. If it's absolutely necessary I can post it.
Log files

d3d9.log:

GTAIV_d3d9.log
info:  Game: GTAIV.exe
info:  DXVK: v1.9
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    dxgi.emulateUMA = True
info:    d3d9.apitraceMode = True
info:    d3d9.dpiAware = True
info:    d3d9.evictManagedOnUnlock = False
info:    d3d9.shaderModel = 3
info:    dxgi.nvapiHack = False
info:    d3d9.customVendorId = 10DE
info:    dxgi.customVendorId = 10DE
info:    d3d9.maxFrameLatency = 1
info:    d3d11.apitraceMode = True
info:    dxgi.maxFrameLatency = 1
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info:  NVIDIA GeForce GTX 1070:
info:    Driver: 466.27.0
info:    Vulkan: 1.2.168
info:    Memory Heap[0]:
info:      Size: 8088 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 8170 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 214 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  Process set as DPI aware
info:  Device properties:
info:    Device name:     : NVIDIA GeForce GTX 1070
info:    Driver version   : 466.27.0
info:  Enabled device extensions:
info:    VK_EXT_4444_formats
info:    VK_EXT_conservative_rasterization
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state
info:    VK_EXT_full_screen_exclusive
info:    VK_EXT_host_query_reset
info:    VK_EXT_memory_priority
info:    VK_EXT_robustness2
info:    VK_EXT_shader_demote_to_helper_invocation
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_create_renderpass2
info:    VK_KHR_depth_stencil_resolve
info:    VK_KHR_draw_indirect_count
info:    VK_KHR_driver_properties
info:    VK_KHR_image_format_list
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_float_controls
info:    VK_KHR_swapchain
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 0
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 0
info:    logicOp                                : 0
info:    multiDrawIndirect                      : 0
info:    drawIndirectFirstInstance              : 0
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 1
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 1
info:    fragmentStoresAndAtomics               : 0
info:    shaderImageGatherExtended              : 0
info:    shaderStorageImageExtendedFormats      : 0
info:    shaderStorageImageReadWithoutFormat    : 0
info:    shaderStorageImageWriteWithoutFormat   : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 0
info:    shaderInt64                            : 0
info:    variableMultisampleRate                : 0
info:  VK_EXT_4444_formats
info:    formatA4R4G4B4                         : 1
info:    formatA4B4G4R4                         : 1
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_extended_dynamic_state
info:    extendedDynamicState                   : 1
info:  VK_EXT_host_query_reset
info:    hostQueryReset                         : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 0
info:    robustImageAccess2                     : 0
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_demote_to_helper_invocation
info:    shaderDemoteToHelperInvocation         : 1
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 0
info:    geometryStreams                        : 0
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:  DXVK: Read 365 valid state cache entries
info:  DXVK: Using 5 compiler threads
info:  D3D9DeviceEx::ResetSwapChain:
info:    Requested Presentation Parameters
info:      - Width:              1920
info:      - Height:             1080
info:      - Format:             D3D9Format::A8R8G8B8
info:      - Auto Depth Stencil: false
info:                  ^ Format: D3D9Format::D24S8
info:      - Windowed:           false
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  1920x1061
info:    Image count:  3
info:    Exclusive FS: 0
info:  Setting display mode: 1920x1080@0
warn:  D3D9DeviceEx::QueryInterface: Unknown interface query
warn:  db6f6ddb-ac77-4e88-8253-819df9bbf140
warn:  D3D9DeviceEx::QueryInterface: Unknown interface query
warn:  9b7e4c0f-342c-4106-a19f-4f2704f689f0
warn:  ConvertFormat: Unknown format encountered:<PHONE_NUMBER>
info:  Game: GTAIV.exe
info:  DXVK: v1.9
info:  Found config file: dxvk.conf
info:  Found built-in config:
info:  Effective configuration:
info:    dxgi.emulateUMA = True
info:    d3d9.apitraceMode = True
info:    d3d9.dpiAware = True
info:    d3d9.evictManagedOnUnlock = False
info:    d3d9.shaderModel = 3
info:    dxgi.nvapiHack = False
info:    d3d9.customVendorId = 10DE
info:    dxgi.customVendorId = 10DE
info:    d3d9.maxFrameLatency = 1
info:    d3d11.apitraceMode = True
info:    dxgi.maxFrameLatency = 1
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info:  NVIDIA GeForce GTX 1070:
info:    Driver: 466.27.0
info:    Vulkan: 1.2.168
info:    Memory Heap[0]:
info:      Size: 8088 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 8170 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 214 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  Process set as DPI aware
info:  D3D9DeviceEx::ResetSwapChain:
info:    Requested Presentation Parameters
info:      - Width:              1920
info:      - Height:             1080
info:      - Format:             D3D9Format::A8R8G8B8
info:      - Auto Depth Stencil: false
info:                  ^ Format: D3D9Format::D24S8
info:      - Windowed:           false
info:  Setting display mode: 1920x1080@60
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  1920x1080
info:    Image count:  3
info:    Exclusive FS: 0

d3d11.log:
N/A
dxgi.log:
N/A

I think the Nvidia driver (deliberately?) avoids FSO with Vulkan fullscreen, even when selecting borderless in native Vulkan applications. AMD does the same (in a bugged way, of course), so this very likely not within DXVK's scope.

DXVK deliberately enables exclusive fullscreen on Windows as far as I know.

FSO does not support Vulkan applications. We already enable the exclusive fullscreen hint to ask the driver to make presentation fast if possible, but we don't have control over Windows features like this that are limited to DirectX.

Oh I didn't know that, this definitely explains the issue. Thanks everyone.
Is there an option/setting to allow borderless fullscreen ? I know it won't solve the issue I'm facing, just a question out of curiosity.

When I set RDR2 or Strange Brigade Vulkan to borderless on Windows 10 21H1 + Nvidia, there is still tearing and Windows audio volume OSD isn't visible when pressing the corresponding keyboard buttons. So I think there is no "borderless" available at all with Vulkan on Windows.

You're right, just tried it and yeah the borderless fullscreen on this game seems "broken" when using Vulkan.
I was using DirectX 12 and totally forgot that it has native Vulkan integration.
Thanks again for your time.


How do process a scanpy cell-by-gene matrix?

Can you share any scripts that you have to convert an arbitrary scRNA-seq cell-by-gene matrix into the format your model inputs?
Thanks

Here's an example script (please refer to https://gist.github.com/xie186/332eff13dcac50f101f91494402b4bd1#file-csv2mex-r for more details).
library(Matrix)

# generate single-cell RNA seq data
count <- read.csv(input_matrix, header=T, row.names = 1)
gbm <- t(count)

# save sparse matrix
sparse.gbm <- Matrix(gbm , sparse = T )
writeMM(obj = sparse.gbm, file="matrix.mtx")

# save genes and cells names
write(x = rownames(gbm), file = "genes.txt")
write(x = colnames(gbm), file = "barcodes.tsv")


Suggestion: Difference between Character and NPC Sheets

Actually the NPC Sheets for rivals and Nemesis are the same as the charactersheet - which is ok. But the Rivals and the bosses have no EP, Obligation etc.
I suggest to creat a new Sheet called "Rival/Nemesis" where there are only the critical injuries under the biography

Thinking that a condensed sheet for the character, sort of following the adversary card layout?

Added a new actor sheet for Adversaries.  This can be changed by clicking the sheet link in the top of an actor and selecting ffg.AdversarySheetFFG.  This is remove the items requested from the sheet display.  In addition it can be shared with players as it will hide everything but the picture, name and species.
GM View:

Player view:


[DO NOT MERGE] weird split behaviour

added testcases describing current behaviour and comments on
python behaviour.
the spilt functions are pretty broken imo.
any ideas on fixing, or desired behaviour @stevedonovan ?

Coverage remained the same at 84.979% when pulling 1ce00c1f53c0ee1df7c0caf73de6f030916fd477 on splits into 2e8d5232e7e8b80a52b73b98b83dd12044b11d6f on master.


Made new updates to Speed Spend 2

Updates made in this PR are:

Monsters page ( Create and Use functionality )
Competion page (Still  In Progress)

and is an update to #59
huge Kudos to @friedger

a mistake was made so the corrected so heres the Corrected PR #61


NSG gets created in Network Resource Group with no choice of creating in AKS resource group

Is your feature request related to a problem? Please describe.
We just began using the code change from #328 and it broke behavior we had been relying on. We had been specifying the vnet_resource_group_name, vnet_name, and subnet_names, but were not specifying nsg_name and wanted it created in the AKS recource group and not in our vnet_resource group. It doesn't look like there is now a way for us to specify where the creation of the NSG takes place.
Describe the solution you'd like
We would like to see an option to create the NSG into the AKS resource group.
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@stturc, after internal investigation and discussion it was identified that all the network resources should be grouped together, which was not the case with the NSG that was being created when user provided vnet_resource_group_name. Hence the change in PR #328.
As this is the expected behavior, no further changes are expected. If you prefer to create the NSG in AKS resource group, I recommend you fork the repo and make the change here: https://github.com/sassoftware/viya4-iac-azure/blob/main/main.tf#L66
and specify resource_group_name = local.aks_rg.name.


User Defined Type formatting can cause memory consumption issue

Bicep version
run bicep --version via the Bicep CLI, az bicep version via the AZ CLI or via VS code by navigating to the extensions tab and searching for Bicep
Bicep Version 0.22.6
VsCode version 1.83.1
.NET version 7.0.12
Describe the bug
Adding property value of [string[]]? can cause the .Net runtime to consume all memory on the PC until VsCode is closed. Removing the out brackets will not resolve the memory leak
To Reproduce
Steps to reproduce the behavior:
I tried to find the specific part of the template causing the issue but could only narrow it down to this section
type securityRulesValues = {
  name: string
  properties: {
    @description('Required. The network traffic is allowed or denied.')
    access: 'Allow' | 'Deny'
    @description('A description for this rule. Restricted to 140 chars.')
    @maxLength(140)
    description: string?
    @description('The destination address prefixes. CIDR or destination IP ranges.')
    destinationAddressPrefixes: string[]?
    @description(
      'The destination port or range. Integer or range between 0 and 65535. Asterisk \'*\' can also be used to match all ports.'
    )
    destinationPortRange: string?
    @description(
      'The destination ports or ranges. Integer or range between 0 and 65535. Asterisk \'*\' can also be used to match all ports.'
    )
    destinationPortRanges: string[]?
    @description(
      'Required. The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.'
    )
    direction: 'Inbound' | 'Outbound'
    @description(
      'The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.'
    )
    priority: int
    @description('Required. Network protocol this rule applies to.')
    protocol: '*' | 'Ah' | 'Esp' | 'Icmp' | 'Tcp' | 'Udp'
    @description(
      'The CIDR or source IP range. Asterisk \'*\' can also be used to match all source IPs. Default tags such as \'VirtualNetwork\', \'AzureLoadBalancer\' and \'Internet\' can also be used. If this is an ingress rule, specifies where network traffic originates from.'
    )
    sourceAddressPrefix: string?
    @description('The CIDR or source IP ranges.')
    sourceAddressPrefixes: string[]?
    @description(
      'The source port or range. Integer or range between 0 and 65535. Asterisk \'*\' can also be used to match all ports.'
    )
    sourcePortRange: string?
    @description(
      'The source ports or ranges. Integer or range between 0 and 65535. Asterisk \'*\' can also be used to match all ports.'
    )
    sourcePortRanges: string[]?
  }
}[]

type networkSecurityGroupValues = {
  name: string
  @description(
    'Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.'
  )
  @minValue(0)
  @maxValue(365)
  diagnosticLogsRetentionInDays: int?
  @description('Optional. Resource ID of the diagnostic log analytics workspace.')
  diagnosticWorkspaceId: string?
  @description(
    'Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.'
  )
  diagnosticEventHubAuthorizationRuleId: string?
  @description(
    'Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category.'
  )
  diagnosticEventHubName: string?
  @description('Security Rules for ')
  securityRules: securityRulesValues
  @description('Specify the type of lock, if required.')
  lock: '' | 'CanNotDelete' | 'ReadOnly'
}[]

@description('Configuration for Network Security Groups')
param networkSecurityGroups networkSecurityGroupValues //array

add a bracket [] to the value for sourcePortRanges, or any other string[]? in the securityRulesValues type the .NET runtime will start to consume memory.
I was able to confirm this on 2 different computers
Additional context
Add any other context about the problem here.

I was able to replicate the memory issue, and it seems to be caused by a bug in the parser that is triggered by an incomplete tuple type expression. After typing the starting [ token inside a type expression, the parser seems to get stuck in an infinite loop triggered by: https://github.com/Azure/bicep/blob/48a96c19b418a29347d7ffc6e802a89a5f8285de/src/Bicep.Core/Parsing/BaseParser.cs#L1223-L1224


Problem with music command

How i fix this?

reset youtube api token or generate one if u havent yet


feat(wasm): add wasm filter for TCP connection listener

Signed-off-by: Allen Leigh<EMAIL_ADDRESS>
Description:
TBD
Issue #2506

Affected area:

Functional Area

New Functionality
[ ]

Documentation
[ ]

Install
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Ingress
[ ]

Egress
[ ]

Networking
[ ]

Observability
[ ]

SMI Policy
[ ]

Sidecar Injection
[ ]

Security
[ ]

Upgrade
[ ]

Tests
[ ]

CI System
[ ]

Demo
[ ]

Performance
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?

Is this a breaking change?

Codecov Report

Merging #3735 (8d403ff) into main (0322387) will increase coverage by 1.89%.
The diff coverage is 51.48%.

@@            Coverage Diff             @@
##             main    #3735      +/-   ##
==========================================
+ Coverage   67.65%   69.55%   +1.89%
==========================================
  Files         181      185       +4
  Lines        8772     9003     +231
==========================================
+ Hits         5935     6262     +327
+ Misses       2804     2692     -112
- Partials       33       49      +16

Flag
Coverage Δ

unittests
69.55% <51.48%> (+1.89%)
:arrow_up:

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

Impacted Files
Coverage Δ

cmd/cli/mesh_upgrade.go
70.83% <ø> (+25.00%)
:arrow_up:

cmd/osm-controller/log_handler.go
77.77% <0.00%> (-6.23%)
:arrow_down:

cmd/osm-controller/osm-controller.go
13.07% <0.00%> (-0.45%)
:arrow_down:

pkg/catalog/egress.go
83.89% <0.00%> (-3.72%)
:arrow_down:

pkg/catalog/inbound_traffic_policies.go
78.81% <0.00%> (-4.23%)
:arrow_down:

pkg/catalog/traffictarget.go
88.46% <0.00%> (ø)

pkg/constants/constants.go
0.00% <ø> (ø)

pkg/endpoint/mock_endpoint_provider_generated.go
0.00% <ø> (ø)

pkg/endpoint/types.go
100.00% <ø> (ø)

pkg/envoy/lds/wasm.go
58.44% <0.00%> (-37.31%)
:arrow_down:

... and 45 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 038f093...8d403ff. Read the comment docs.


Add media library support

First off, great repo here! It's been super helpful for the community.
I learned recently that Gatsby can't jam with absolute paths, and the CMS media library can only deal in absolute paths, so the best approach for now is to not use the Sharp plugin.
You can see this update in action here: https://confident-tesla-98159e.netlify.com/
Images are at least as clear as before, and all appears the same across breakpoints.
This PR does the following:

References frontmatter images as strings instead of Sharp nodes
Moves all images to static/img
Updates image paths in markdown files
Adds hidden path field to product page

Thanks for the PR. I appreciate the work you and the team have put into Netlify CMS. It seems like there are new features every week!
I'll go ahead and merge this PR, and keep an eye out for a resolution to this issue.

I was getting ready to do the exacy opposite PR before i realised the issues with netlify CMS relative paths 🤕
Has there been any new developments on being able to use the Sharp plugin with netlify CMS?

@leptest here are a few related issues that touch on the problems discussed in today's call:

https://github.com/netlify/netlify-cms/issues/325
https://github.com/netlify/netlify-cms/issues/1321

Ah thanks!  Seems a tricky one.
Once I've finished up this current project I'll try dig into a bit deeper and see where help is needed.

Not sure if this is the right place for this, but I came up with a workaround to generate different size images in the build process. The shell script is here as imagemagick.sh https://github.com/sheadscott/gatsby-starter-netlify-cms


Look up Administrator by SID on Windows

The Windows Administrator user may be renamed, but it is a special account
so we can find it by SID.
Fixes #52
Signed-off-by: Bryan McLellan<EMAIL_ADDRESS>

Any chance of this getting merged soon?  We've pretty much had to halt our conversion from our old Chef server to Opsworks/Chef Automate due to this.

For anyone looking into this, the tests are failing on master. I'm currently poking at them now to see if I can get things running; once I do we can rebase this on top and merge.

Any updates?

After rebasing on #54, supported-win*-14 and supported-win*-13 pass locally for me.

  ✔  setup-001: converge previous stable version
     ✔  Command INTERVAL=2 chef-client -z -c /tmp/kitchen/test-client.rb -j /tmp/kitchen/test-stable-attrs.json exit_status should eq 0
  ✔  test-001: upgrade by converging the compiled recipe artifact
     ✔  Command INTERVAL=2 chef-client -z -c /tmp/kitchen/test-client.rb -j /tmp/kitchen/test-current-attrs.json exit_status should eq 0
  ✔  setup-002: reset the automate ping counter
     ✔  http GET on http://localhost:9292/organizations/ubuntu1604/reset-pings status should cmp == 200
     ✔  http GET on http://localhost:9292/organizations/ubuntu1604/reset-pings body should cmp == "0"
  ✔  setup-003: sleep to let the liveness agent send some pings
     ✔  Command sleep 30 exit_status should eq 0
  ∅  test-002: verify that the pings count has increased (1 failed)
     ∅  http GET on http://localhost:9292/organizations/ubuntu1604/pings body should not cmp == "0"

     expected it not to be == "0"
          got: 0

     (compared using `cmp` matcher)

I see a lot of this, where we run the liveness agent, then reset the count, wait, and expect there to have been some pings. But looking at the logs on the VM, the liveness agent is sleeping for 1800s, which is the default.
While we do set INTERVAL=2 when running the chef-client, we're ultimately running the liveness agent as a service, so that environment variable isn't going to stick. So those tests must have been broken for a while?

the test-002 failure appears to be in places where INTERVAL=2 isn't passed through the init service, here's a somewhat intrusive fix: https://github.com/chef/automate-liveness-agent/pull/55

there's a lot of test suites. running them all effectively without system resources causing problems is super time consuming.
passed:
supported-ubuntu-*
supported-win-2016-*
supported-win-2016-std-12 took a second run
supported-sles-*
supported-solaris-*
supported-solaris-113 is hanging but supported-solaris-113-12 is passing. Might be a Chef 14 thing.
It'll take days to get through the rest of these.


OpenGL - depth clear issue in directional shadow atlas

Godot version
4.2.dev 5ee983188de97ae027f9b9c1443438063f708a7e
System information
Windows - OpenGL
Issue description
I may have introduced this in the work I'm doing right now but just in case this is a more serious issue I don't want to loose track of it. Don't have time to investigate it right now.
In LightStorage::update_directional_shadow_atlas the code:
glDepthMask(GL_TRUE);
glBindFramebuffer(GL_FRAMEBUFFER, directional_shadow.fbo);
RasterizerGLES3::clear_depth(1.0);
glClear(GL_DEPTH_BUFFER_BIT);

Results in:
ERROR: GL ERROR: Source: OpenGL Type: Undefined behavior  ID: 131222  Severity: Medium
Message: Program undefined behavior warning:
The current GL state uses a sampler (0) that has depth comparisons enabled,
with a texture object (1018) with a depth format,
by a shader that samples it with a non-shadow sampler.
Using this state to sample would result in undefined behavior

(edited for readability)
Steps to reproduce
Create a project using the compatibility renderer with a directional light, and turn it on.
Minimal reproduction project
n/a

Hello,
Hope people don't mind that I try to investigate this. Currently working on a school project where I need to contribute to an open source project.

Hope people don't mind that I try to investigate this. Currently working on a school project where I need to contribute to an open source project.

Feel free to open a pull request for this 🙂

Hello, I cannot seem to replicate this issue. Is this using the 3D directional light? Are you able to replicate this on a new empty project?

after updating from 4.1 to 4.2-stable I started to experiment this issue every time I open my project:
  drivers/gles3/rasterizer_gles3.cpp:176 - GL ERROR: Source: OpenGL	Type: Undefined behavior	ID: 131222	Severity: Medium	Message: Program undefined behavior warning: The current GL state uses a sampler (0) that has depth comparisons enabled, with a texture object (1020) with a depth format, by a shader that samples it with a non-shadow sampler. Using this state to sample would result in undefined behavior
I have a 2D project and I don't use directional light anywhere..

I attached a MRP
test.zip

I get this exact error on my system. First time I've touched Godot in a little while, but it completely prevents me from using the OpenGL renderer on my system.

Create a new project with "Compatibility" renderer.
Click button to add a Node2D to the current scene.
Click "Ctrl+S" to save scene

OR

Create a new project with "Compatibility" renderer.
Mouse over any of the files in the FileSystemDock to generate the info/preview popup.

In each case, the popup that appears will have zero content and then the entire Godot process (editor & popups) stop responding.
Tested with 4.2.1 stable and 4.3.0-dev.5 (mono releases)