Cross-Attention with key_padding_mask

Maybe I missed it, but I didn’t see any code using flash-enabled cross attention with key_padding_mask analogous to FlashAttention in flash_attn/flash_attention.py. Is there any reason this is the case? I have a working implementation (with the same structure as FlashAttention) and would be happy to submit a pull request if there's interest. Thanks for the great work!

I think we have some of that here. If you have sth easier to use, would love to see it.
In general for the best performance, one should remove all the padding tokens at the very beginning, pass through all the layers, and then add back the padding tokens so as to avoid wasting computation. We do that in our BERT implementation.


[1382] Ignore further education courses from Publish API

Context
https://trello.com/c/kNelYLke/1382-m-store-level-in-courses
Changes proposed in this pull request

Add another guard clause to TeacherTrainingApi::ImportCourse#call to prevent it from importing further education courses

 [S] Store level in courses


refacotr: HiLink typescriptTestGlobal to Function

As discussed here, change HiLink of typescriptTestGlobal from Keyword to Function

Thanks!


refactor: refactor the directory organization of procedure

Which issue does this PR close?
Closes #
Rationale for this change
We have developed multiple Procedures to manage the state machine and retry process, but they are defined under the same procedure package. In order to avoid constant conflicts, we have adopted unreasonable naming methods. Now do a refactoring and disassemble them. Divide into multiple packages, and adjust the naming of constants.
What changes are included in this PR?

Split procedures to multiple packages.
Rename constants.

Are there any user-facing changes?
None.
How does this change test
Passing exists unit tests.

Codecov Report

Merging #138 (41b0b2e) into main (494e15e) will decrease coverage by 4.59%.
The diff coverage is 35.13%.

@@            Coverage Diff             @@
##             main     #138      +/-   ##
==========================================
- Coverage   39.07%   34.49%   -4.59%
==========================================
  Files          33       19      -14
  Lines        4217     2363    -1854
==========================================
- Hits         1648      815     -833
+ Misses       2317     1459     -858
+ Partials      252       89     -163

Impacted Files
Coverage Δ

server/cluster/cluster.go
0.00% <0.00%> (ø)

server/cluster/table_manager.go
0.00% <0.00%> (ø)

server/cluster/types.go
0.00% <0.00%> (ø)

server/storage/types.go
70.10% <86.66%> (-0.45%)
:arrow_down:

server/coordinator/factory.go

.../coordinator/procedure/create_table_common_util.go

...dml/createpartitiontable/create_partition_table.go

...ure/dml/droppartitiontable/drop_partition_table.go

.../coordinator/procedure/dml/droptable/drop_table.go

...coordinator/procedure/operation/scatter/scatter.go

... and 7 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Abbreviate partition as par.
Abbreviate request as req.
Abbreviate response as resp.

https://www.allacronyms.com/partition/abbreviated
part is more prefer than par


Add parameter to publish source to az and az ps

[x] az CLI: https://github.com/Azure/azure-cli/pull/27847
[x] powershell Az: https://github.com/Azure/azure-powershell/pull/23317

[heart]         PuiChee (PC) Chan reacted to your message:

From: Stephen Weatherford (MSFT) @.>
Sent: Thursday, December 21, 2023 7:11:56 PM
To: Azure/bicep @.>
Cc: Author @.***>
Subject: Re: [Azure/bicep] Add parameter to publish source to az and az ps (Issue #11435)
Closed #11435https://github.com/Azure/bicep/issues/11435 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/bicep/issues/11435 or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACCMPRGJKZFWTUSE7BB5ZL3YKSCX3BFKMF2HI4TJMJ2XIZLTS2BKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJLJONZXKZNENZQW2ZNLORUHEZLBMRPXI6LQMWBKK5TBNR2WLKRSGE2TMNZQGEYDINVENZQW2ZNJNBQXGX3MMFRGK3ECUV3GC3DVMWVDEOBXHE4DKOJQGQ32I3TBNVS2S2DBONPWYYLCMVWIFJLWMFWHKZNKGMYDENZWG44TKOBSURXGC3LFVFUGC427NRQWEZLMQKSXMYLMOVS2I5DSOVS2I3TBNVS2453BORRWQX3BMN2GS5TJOR42Y43VMJVGKY3UL52HS4DFUVEXG43VMWTHI33QNFRXHFMCUR2HS4DFVJZGK4DPONUXI33SPGSXMYLMOVS2SMRWGM2TAMZSGUYIFJDUPFYGLJLJONZXKZNFOZQWY5LFVIYTQMZSGA2TGNZQGGBKI5DZOBS2K3DBMJSWZJLWMFWHKZNKGIYTKNRXGAYTANBWQKSHI6LQMWSWYYLCMVWKK5TBNR2WLKRSHA3TSOBVHEYDIN4CUR2HS4DFUVWGCYTFNSSXMYLMOVS2UMZQGI3TMNZZGU4DFJ3UOJUWOZ3FOKTGG3DPONSWI.
You are receiving this email because you authored the thread.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


ValueError from converstation.py, line 100, need more than 3 values to unpack

Never used github, so sorry if this is in the wrong place for this or format.
Seems that chatterbot is creating converstation files that contain an empty line at the end, which converstation.py tries to read. My fix was just to check the line is not empty:
        # Continue only if the file contains lines
        if lines:
            previous_statement = None
            for line in lines:
                if line:
                    user, date, text = line

Thank you, I've made the change.

Wow, that was a quick response! Happy to help.


Added docker compose example for AgentQnA deployment on AMD ROCm

Type of change

Added docker compose example for AgentQnA deployment on AMD ROCm (TGI service is in use).
Added CI tests for Docker compose AgentQnA deploymen example on AMD ROCm systems

Tests
Go to GenAIExamples/AgentQnA/tests and run test_compose_on_rocm.sh bash script (./test_compose_on_rocm.sh).

please squash your fixup commits

@dcmiddle

please squash your fixup commits

Is it necessary? If I understand write all commits will be squashed after merge.

@dcmiddle

please squash your fixup commits

Is it necessary? If I understand write all commits will be squashed after merge.

Yes please.
The goal is to arrive at a commit message that explains why a change was made. When the commit history is littered with fixup comments it makes it harder for people to understand the code using tools like git blame.

@dcmiddle

please squash your fixup commits

Is it necessary? If I understand write all commits will be squashed after merge.

Yes please. The goal is to arrive at a commit message that explains why a change was made. When the commit history is littered with fixup comments it makes it harder for people to understand the code using tools like git blame.

@dcmiddle  Done, I've squash all changes into one commit.


PDF export loses gradient

Not sure if this an actual bug or a "feature". When I export a view to PDF, any gradient that I have applied to the appearance of elements is lost.

Sorry, this is a limitation of the SVG and PDF export code. We use some third-party code for this and it has some limitations.
We mention this in several places in the User Guide:

Note - gradients will not show when a diagram is exported in SVG image format.


Need to mirror image "docker.io/jackmmzhou/self-signed:v1"

hwameistor-webhook uses image "docker.io/jackmmzhou/self-signed:v1" which needs to be mirrored to other repositories for better access:
error:
Failed to pull image "jackmmzhou/self-signed:v1": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/jackmmzhou/self-signed:v1": failed to copy: httpReadSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/jackmmzhou/self-signed/manifests/sha256:c1f6eea3c47ed1fdc560530235d2abcf3e27d17664ff7a8b18e9641ff3032982: 429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

This image is required for self-signed. Later, we will push the image to ghcr.io/hwameistor registry.

fixed in https://github.com/hwameistor/hwameistor/pull/137


feat(coreapp): lock version of Chrome to 59 (tag 6-chrome-59)

dpkg of Chrome 60 was in fact Chrome 61, locking to closest available version

 Docker apiaryio/coreapp:6 image - lock chrome version

@abtris reverted to non-lfs approach.. when merged, this will create a tag apiaryio/coreapp:6-chrome-59 (with node 6.11.4)


Document STS credential refresh functionality

Describe the issue
NASA EOSDIS' Earthdata Cloud platform store data in S3 but has requirements that limit access via usage of the AWS Secure Token Service. There is a use case where our users require long term access to S3 buckets but are limited by the 1 hour token expiration we employ.
Large scale processing of large amounts of data are complicated by the need for credential management.
We discovered that there is an undocumented feature of the of boto core credentials.py that allow users to automatically refresh their credentials. Namely,
create_from_metadata
Which can be used to autorefresh credentials without user intervention once set up. Such a use case is demonstrated here
Auto refresh tokens for S3 access
NASA EOSDIS are reluctant to promote this solution since it relies on code that is undocumented and may be subject to deprecation without notice. If this feature was documented we would be able to promote it as a viable solution to the above use case.
Links
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html

Hi @littleidiot40 thanks for reaching out. We don't recommend relying on undocumented behavior as we can't guarantee long-term support of this functionality. But this issue does seem to overlap with a couple of others in the boto3 repository: https://github.com/boto/boto3/issues/443 and https://github.com/boto/boto3/issues/2345.
We brought this up recently for team discussion and the current thinking is that feature requests involving credentials should be considered at the cross-SDK level rather than by an individual SDK team. And we should also check with the IAM team to see if anything is planned on the service side related to this.
Some further review is needed in order to determine next steps and escalation but I recommend referring to those issues for updates going forward. And you can always consider opening a case through AWS Support for more direct assistance.


origin is undefined in Microsoft Edge

The origin property seems to be undefined in Microsoft Edge. This results in e.preventDefault() not being fired when appropriate.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12236493/

Oh no, this is not good. A similar workaround like in
https://github.com/angular/angular.js/pull/16031 when origin isn't
available might make a lot of sense. Thanks!
On Mon, Sep 18, 2017 at 8:28 AM Sean Genabe<EMAIL_ADDRESS>wrote:

The origin property seems to be undefined in Microsoft Edge.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12236493/
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/choojs/nanohref/issues/7, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWler_ythCtw3XZJF9p5U6WG3dsX8s3ks5sjg2EgaJpZM4PaecK
.


[CLI]: Missing importer. WandbParquetImporter does not exist

Describe the bug

I want to export my private runs from the public W&B cloud to a self-hosted wandb server.
Unfortunately, the importer for moving experiments between wandb instances named WandbParquetImporter described in https://docs.wandb.ai/guides/track/public-api-guide#import-data-from-another-wb-instance does not exist in versions > 0.15.6.
The issue is easy to reproduce. Using a code snippet from the official documentation will fail, because WandbParquetImporter does not exist:
from wandb.apis.importers import WandbParquetImporter

importer = WandbParquetImporter(
    src_base_url="https://api.wandb.ai",
    src_api_key="your-api-key-here",
    dst_base_url="https://example-target.wandb.io",
    dst_api_key="target-environment-api-key-here",
)

I was able to successfully import the experiments by reverting to 0.15.6.
Why was this feature reverted?
Additional Files
No response
Environment
WandB version: > 0.15.6
OS:
Python version:
Versions of relevant libraries:
Additional Context
No response

Hi @pete-machine! Thank you for bringing this up, trying to reproduce this behavior on my side!

Hi @pete-machine! Could you run the script for me one more time and send me the full error you are seeing in your console?

Sydney Hollingsworth commented:
Auto-assigned

Sydney Hollingsworth commented:
This ticket has gone stale, please follow up or close.

Yes. It is simply WandbParquetImporter that does not exist anymore. So you can actually reproduce the import error with just a single line. Note: The wandb version is important. The script will work for version 0.15.6 and break in >0.15.6.
This code snippet:
import wandb
print(f"Wandb version: {wandb.__version__}")
from wandb.apis.importers import WandbParquetImporter

Will return this import error message:
Wandb version: 0.15.9
Traceback (most recent call last):
  File "/home/mldev/micromamba/envs/instinct/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/mldev/micromamba/envs/instinct/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/__main__.py", line 39, in <module>
    cli.main()
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main
    run()
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file
    runpy.run_path(target, run_name="__main__")
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
    exec(code, run_globals)
  File "/home/mldev/instinct/scripts/scratch.py", line 3, in <module>
    from wandb.apis.importers import WandbParquetImporter
ImportError: cannot import name 'WandbParquetImporter' from 'wandb.apis.importers' (/home/mldev/micromamba/envs/instinct/lib/python3.10/site-packages/wandb/apis/importers/__init__.py)

Hi pete! Thank you for sending it over. I've been able to repo this on my side and have reported this concern to our engineers.

WandB Internal User commented:
pete-machine commented:
Yes. It is simply WandbParquetImporter that does not exist anymore. So you can actually reproduce the import error with just a single line. Note: The wandb version is important. The script will work for version 0.15.6 and break in >0.15.6.
This code snippet:
import wandb
print(f"Wandb version: {wandb.__version__}")
from wandb.apis.importers import WandbParquetImporter

Will return this import error message:
Wandb version: 0.15.9
Traceback (most recent call last):
  File "/home/mldev/micromamba/envs/instinct/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/mldev/micromamba/envs/instinct/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/__main__.py", line 39, in <module>
    cli.main()
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main
    run()
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file
    runpy.run_path(target, run_name="__main__")
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/home/mldev/.vscode-server/extensions/ms-python.python-2023.14.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
    exec(code, run_globals)
  File "/home/mldev/instinct/scripts/scratch.py", line 3, in <module>
    from wandb.apis.importers import WandbParquetImporter
ImportError: cannot import name 'WandbParquetImporter' from 'wandb.apis.importers' (/home/mldev/micromamba/envs/instinct/lib/python3.10/site-packages/wandb/apis/importers/__init__.py)

Any updates on this issue?  What importer should be used in newer versions of wandb?

Hi @geke-mir, no updates as of yet unfortunately.

When checking out 0.15.6, this importer works (for smaller runs, it crashes on larger runs, still debugging), but my main concern is if this is a valid way to transfer data.  Does WandB still support this tool?

Checked internally, and this is the answer that I found. Importer was reverted in 0.15.7 because of it introduced an issue where images would not show up until the end of the run.
We’ll support this again in a future release (probably Nov).  For now, users who want to use the importer can temporarily downgrade to 0.15.6 or use a different env for importing.

We are closing this issue due to inactivity. If you feel that it merits additional review, please provide a reproduction and add a comment explaining why. Thank you.


Update Manifests on 10th March, 2022

Signed-off-by: Anish Asthana<EMAIL_ADDRESS>

/lgtm


Inconsistent behaviour between direct and indirect calls

As I understand it, the proper way to write a smart contract under the proposed change is the following:

If the function is called from an Ethereum account, then msg.sender won't work, and the sending address must be retrieved through _msgSender().
If the function is called from another contract, then msg.sender will work, but _msgSender() won't.

If that's correct, I don't think we can go with that model, because we can't expect smart contract authors to know or to restrict how their functions will be called.
What's worse, I don't think a smart contract can detect if it's being called from an account or from another contract, so we will have an unexpected behaviour 50% of the time. If it can be detected however, then that logic should be implemented in _msgSender() so it does behave as a drop-in remplacement for msg.sender.

Hello @davux , thanks for your contribution, I think this could be solved in the following way, what do you think:
function _msgSender() internal virtual returns (address sender) {
bytes memory bytesRelayHub;
(,bytesRelayHub) = trustedForwarder.call(abi.encodeWithSignature("getRelayHub()"));
    if (msg.sender == abi.decode(bytesRelayHub, (address))){ //sender is RelayHub then return origin sender
        bytes memory bytesSender;
        (,bytesSender) = trustedForwarder.call(abi.encodeWithSignature("getMsgSender()"));

        return abi.decode(bytesSender, (address));
    } else { //sender is not RelayHub, so it is another smart contract
        return msg.sender;
    }
}

this method would be implemented in the contract from which other contracts would inherit

I haven't tested the code, but the approach sounds good. The goal is for _msgSender() to act as a wrapper in all cases.

Can you please share an update so we can know the current status? I'm seeing commit bb81990d3 which seems related to this issue, but there's no reference to this issue.

Hello @davux. We tested the change, so this should work now. Yes, bb81990 is related to this issue


Merge @bentley/imodeljs-native 3.4.5 into imodel02

@calebmshafer is something screwed up with the mapping between github PR and ADO build?
I created this PR seconds ago.
https://dev.azure.com/bentleycs/iModelTechnologies/_build/results?buildId=1624385&view=results

@pmconne looking into it. The builds shouldn't have triggered at all.


feat: ion-virtual-scroll support auto size

Feature Request
Ionic version:

[x] 5.x
Describe the Feature Request

Sometimes, the height of each item in the virtual scroll is not consistent, so I cannot provide approxItemHeight property, I hope it supports automatic size. Similar features have been implemented in angular cdk.
https://stackblitz.com/edit/cdk-virtual-scroll-simple-autosize?file=app%2Fapp.component.html
Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

Thanks for the feature request. With upcoming major releases of Ionic Framework, we are going to be transitioning users to Angular's CDK Virtual Scroller. As a result, we have a freeze on new features to ion-virtual-scroll.


Error handling during token refresh

Describe the bug
If the IdP responds with an error during refresh_token(), a JSONDecodeError is raised rather than an HTTP or Authlib specific exception.
During the recent Auth0 outage, their endpoints were responding with a 502 error with a response body that was not JSON. This cause some outage in some of our systems which were designed to gracefully recover from server errors.
Error Stacks
Traceback (most recent call last):
  ...
  File "Build\Lib\site-packages\authlib\client\oauth2_session.py", line 105, in request
  File "Build\Lib\site-packages\requests\sessions.py", line 519, in request
  File "Build\Lib\site-packages\requests\sessions.py", line 462, in prepare_request
  File "Build\Lib\site-packages\requests\models.py", line 317, in prepare
  File "Build\Lib\site-packages\requests\models.py", line 548, in prepare_auth
  File "Build\Lib\site-packages\authlib\client\oauth2_session.py", line 26, in __call__
  File "Build\Lib\site-packages\authlib\oauth2\client_auth.py", line 101, in ensure_refresh_token
  File "Build\Lib\site-packages\authlib\oauth2\client.py", line 222, in refresh_token
  File "Build\Lib\site-packages\authlib\oauth2\client.py", line 233, in _refresh_token
  File "Build\Lib\site-packages\requests\models.py", line 897, in json
  File "D:\obj\windows-release\37win32_Release\msi_python\zip_win32\__init__.py", line 348, in loads
  File "D:\obj\windows-release\37win32_Release\msi_python\zip_win32\decoder.py", line 337, in decode
  File "D:\obj\windows-release\37win32_Release\msi_python\zip_win32\decoder.py", line 355, in raw_decode
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

To Reproduce
Given an expired JWT and valid refresh token, arrange to have an IdP return a 5xx error with a non-JSON response body. Observe that a JSONDecodeError is raised.
Expected behavior
During refresh_token() (or any other request), if the response arrives with an invalid status code the AuthlibHTTPError should be raised.
Environment:

Python Version: 3.8.8
Authlib Version: 0.15.2

Additional context
I originally opened a very similar ticket as #281 in the context of an invalid refresh token that was ignoring a 4xx error from the server. It was rejected and I implemented error handling in a hook as a workaround, though I don't necessarily agree that Authlib should be ignoring the response status code in that case.
In this case, I feel quite strongly that Authlib should not be leaking errors from the underlying HTTP or JSON implementation.
I am happy to provide a PR to improve this behaviour and I'm open to suggestions about what specific errors should be raised under various circumstances. I feel there should be error handling for both HTTP and network errors.

File "Build\Lib\site-packages\authlib\client\oauth2_session.py", line 26, in __call__

It seems you are using the wrong Authlib version. In Authlib Version: 0.15.2, there is no authlib.client module. Please update to Authlib v0.15.3.


[0.5] Treat undefined selection the same as null in $generateNodesFromHtml

This is a breaking change, so we'll need to go to 0.5.
Previously, we treated undefined differently than null here for backwards compat. undefined would end up just returning an empty string, which is super confusing. Now, leaving off the selection argument completely will return the entire contents of the editor converted to HTML.

No objections, but what about selection?: RangeSelection | NodeSelection | GridSelection | null = null? It's odd to see a function handling undefined in Lexical

We could - in Typescript an optional param is the same as the union of that params type with "undefined", so what you're suggesting there is practically the same. Also optional params can't be followed by required params, so we'd have to reorder the function params. Maybe that's fine since we're making a breaking change anyway?

No objections, but what about selection?: RangeSelection | NodeSelection | GridSelection | null = null? It's odd to see a function handling undefined in Lexical

We could - in Typescript an optional param is the same as the union of that params type with "undefined", so what you're suggesting there is practically the same. Also optional params can't be followed by required params, so we'd have to reorder the function params. Maybe that's fine since we're making a breaking change anyway?

nvm, I forgot this is an internal function, so re-ordering doesn't matter too much.


Preloading *-image-set fails

We've implemented the *-image-set for a website but the QueryLoader tries to preload these images incorrect.
Our html looks a bit like this:
<div style="
  background-image: url(media/1.jpg);
  background-image: -webkit-image-set( url(media/1.jpg) 1x<EMAIL_ADDRESS>2x );
">

This piece of HTML results into the GET requests for
http://domain.com/-webkit-image-set(http://domain.com/media/1.jpg%201x
<EMAIL_ADDRESS>
It appears the QueryLoader doesn't interpret the *-image-set and therefore simply tries to create an url for the whole string.

Thanks for letting me know. I will take a look shortly.

Already opened in #118. Will reference this issue as extra information, but will close this issue.


cppguide: New Drake-specific rules for comments

Derived from Jeremy's branch:
https://github.com/RobotLocomotion/drake/pull/13461#issuecomment-638131688
To preview:
https://rawcdn.githack.com/EricCousineau-TRI/styleguide/feature-cpp-docstring/cppguide.html#Doxygen
~https://htmlpreview.github.io/?https://github.com/EricCousineau-TRI/styleguide/blob/feature-cpp-docstring/cppguide.html
(rawgit is down, and htmlpreview sometimes doesn't preview the ToC :/)~
Example automatic linting tool in this PR:
https://github.com/RobotLocomotion/drake/pull/13461
Example of this tool applied to all of Drake:
https://github.com/RobotLocomotion/drake/pull/13491

This change is

Example of this tool applied to all of Drake: RobotLocomotion/drake#13491

At first glance, the sample only appears to apply the /// => /** change.  This proposal contains more substantial changes than just that one, e.g. "compress first and last line adjacent to the marker" and "use /* */ (not //) for private function specifications", etc.
I don't need the tool to autofix (or even report on) those changes yet, but in order to assess the proposal itself we do need to have one fully-worked example of all of the new rules applied to a few files of varying original style, e.g., one in geometry, one in solvers, one in framework.  Then we can review those few files carefully, to make sure we like the outcome of these new rules.

... have one fully-worked example of all of the new rules ...

To be clear, I am not going to begin review of this document until a fully-worked example (or few) are posted.

Here's a minor attempt to reformat private docstrings:
https://github.com/RobotLocomotion/drake/pull/13491/commits/73294d888d9a19c3f5c9030a560b8a30aa517430
It prolly won't ever be automated (unless clang can give us some good tokens, or someone wants to learn cpplints code structure), but the tool could have something like --try-private-docs that people then have to cherry-pick.

Looks promising! I saw a few that looked like they could be improved:
/*
Gets Python type for a C++ vector that is not registered using
PYBIND11_MAKE_OPAQUE. */

and
/* Decrements reference count. See `py::handle::dec_ref()` for more details.
 */

Sweet! Yeah, there's some more tuning necessary.
Also, that commit isn't actually aligned to what's spec'd out here, so my statement above was a bold-faced lie :P
Will fix in another week or so...


Add section for JavaScript

We should add a section on JavaScript style guide, like file and function naming conventions.
Some ideas:

[ ] file naming
[ ] function and variable naming
[ ] dependencies
[ ] when to move components into StoryBook
[ ] where to put styling
[ ] when / how to consult DHI design
[ ] version preferences for key packages / frameworks? (React, Mapbox GL, Plotly, ...?)

Please edit the above to what you think is important. @JeroenDerks

We have a section, which needs extension. Will tackle this separately.


Bug: order-by=file is compiler-dependent

See https://github.com/DaanDeMeyer/doctest/runs/216609947.
Even more weird is that the output not only differs from the rest of the compilers but the output also differs between cl and clang-cl as well.

I'll take a look as soon as possible but it could take 1-2 days... sorry.

I noticed now that its not only the clang-cl builds which fail but also some cl builds: windows-2019-cl. If this was only a clang-cl problem I would have pointed you to check if this is the reason but if it happens with cl as well I'm clueless for now...

When using clang-cl, __FILE__ expands to ..\\examples\\all_features/header.h for header.h and ..\\examples\\all_features\\main.cpp for all .cpp files.
When using clang++ (on Windows), __FILE__ expands to ../examples/all_features/header.h for header.h and ../examples/all_features/main.cpp for all .cpp files.
When using cl, __FILE__ expands to C:\\Users\\daan\\projects\\doctest\\examples\\all_features\\header.h for header.h and ..\\examples\\all_features\\main.cpp for all .cpp files.
So basically, we're going to have to do some sort of path normalization if we want reliable results from FileOrderComparator.

Gosh... such "exciting" software engineering problems!
This issue is related to path normalization (on which I gave up on...): https://github.com/onqtam/doctest/issues/45
one thing we could do is to use either a new hidden flag or no_path_in_filenames and something like skipPathFromFilename() so the output gets stable across compilers at least for testing doctest itself, and we could log a separate issue for fixing this properly later.
One of the pros of not normalizing paths (and using something like skipPathFromFilename()) is that we don't need to allocate memory for the filename strings - doctest just uses a const char* pointing to the memory in the binary with the constant.

one more detail: the reason only filter_2 fails is because it is one of the rare tests which aren't for the specific .cpp file - as it can be seen here only that test can span multiple sources/headers (doesn't specify the --source=file=<...> option).

Is it an option to change the default order_by value and just document the problem?
This feels like an edge case without a clean solution (at least until we can think of something) so I'd rather just avoid it from occurring for now.

indeed I think changing the order to "name" or "suite" will do the trick!
And we should rename this issue to reflect the actual problem.

Should I change it just for the test or the default value? I think changing the default value is "the right thing to do" as the current behaviour is broken but users might be relying on the default order so it would be a breaking change.
I think changing the order just for the test is the safest thing for now. I'll also add documentation to the order-by option that it's compiler dependent.

yes, changing it for the test only should be the safest thing to do.

We could still keep this open, since the bug is still present..?

Of course, my bad.

Ok this is horrible, but it solved our problem. Putting this here for others with simular problems.
We are compiling using cmake + clang + ninja on windows.
in the cmake file we declare include folders with:
target_include_directories(target PUBLIC "/proj/include/")
In our project, when we include a .hpp file from a .cpp file doctest get:
/proj/include/file.hpp
but if we include a .hpp from another .hpp it results in:
/proj/include\file.hpp
As we put tests in file.hpp, and include from .cpp and .hpp files those tests will run twice.
Our solution to this was to rewrite the path in the test_case constructor:
        m_type        = type;                         // line 4255 in doctest.h
        m_template_id = template_id;        // line 4256 in doctest.h

        for (size_t i = 0; i < m_file.size(); i++)
        {
            if (m_file[i] == '\\')
            {
                m_file[i] = '/';
            }
        }

@maidenone I don't understand how your problem is related to this issue. Please provide a minimal reproducible example to clarify.

Unless we get more input on this I suggest we close since the issue is documented in the reference.


Feature request for fields

Hey there, thanks for your advance and great package.
Can u add these please:
native field for date and datetime pickers
native, searchable fields to select box
default value for Toggle field

hey
native is understandable for devs, but it will be confusing for the end users. they wont get the different between them.
you can create any custom field, and use the current date time picker as starting point
the select is already have a searchable:
or I did'nt get your request.

also how "native and searchable will looks like?"

the default value (for all) planned to be added on v4 or you can PR it if you like :)

Gotcha, Thanks.
We can close this issue.


Ultimately auto-logged Life Log

Issues with existing services(if exists)

Users need to work applications. (pinch, scroll and input a text into forms.)
It seems an interface problem, so it may easily be resolved by deleting any input forms.

merit

Users don't need to work applications.
All users have to do is just to watch auto-logged life logs.
Users can watch not only logged data but the Next Actions that make users better.

calculate the next actions from other users' data.

tech details
track the following data

personal data

age, sex, hobby and so on by tracking user's SNS account

location

sphere of everyday life

lifetime cycle

work time, rest time and so on

get from wearable devices

standing and sitting time
waking up and going to bed

external data

weather
economical data

even "EMOL" app (which logs the user's daily emotion) has simple input forms,
so it may be important to think where we get the user's personal data from.
They can be conversations, user input and so on.

Recently I found some Apps achieving this issue.
e.g. [LifeCycle https://apps.apple.com/us/app/life-cycle-track-your-time/id1064955217]
But Desktop App may be better because Live2D agent can communicate with user if necessary.


How to get detectNet() to accept bgr8 format images?

I have a model trained with BGR images (separate to the Jetson code), and jetson inference detectNet() accepts RGB images. I need to convert the RGB images taken by the Capture / image load script into BGR format before passing them to the model.
When I try to convert the colour.
img = input.Capture()
bgr_img = jetson.utils.cudaAllocMapped(width=img.width, height=img.height, format='bgr8')
jetson.utils.cudaConvertColor(rgb_img, bgr_img)
objects_detected = net.Detect(bgr_img)

This correctly switched the R and the B:
(Pdb) bgr_img[0]
(52, 66, 83)
(Pdb) rgb_img[0]
(83, 66, 52)

But detectNet does not allow bgr8 format.
[TRT]    detectNet::Detect() -- unsupported image format (bgr8)
[TRT]                           supported formats are:
[TRT]                              * rgb8
[TRT]                              * rgba8
[TRT]                              * rgb32f
[TRT]                              * rgba32f
*** Exception: jetson.inference -- detectNet.Detect() encountered an error classifying the image

The work-around is to export / import from Numpy:
img = input.Capture()
img_np = jetson.utils.cudaToNumpy(img, img.width, img.height, img.channels)
img_np_new = img_np[...,::-1].copy()
new_img = jetson.utils.cudaFromNumpy(img_np_new)
objects_detected = net.Detect(new_img, overlay=overlay)

But this takes long (an additional 62ms per image)!
How can I trick the detectNet.Detect() to allow me to pass bgr8 format (which is really rgb8)?

@dusty-nv your feedback would be greatly appreciated!

Adding pixel by pixel manipulation takes too long (> 10 seconds)
def convert_rgb_to_bgr(cuda_img):
    for y in range(cuda_img.height):
        for x in range(cuda_img.width):
            cuda_img[y,x] = cuda_img[y,x][::-1] # RGB <=> BGR conversion
    return cuda_img

@leenremm you can try changing the lower-level source to detectNet.cpp here:
https://github.com/dusty-nv/jetson-inference/blob/9b66fbf38dcd0e81f37eb3748db3df0a221b4fa7/c/detectNet.cpp#L689
You would probably need to do this anyways to update the pre/post-processing to reflect what your model expects.
Also, if you change the cpp source code, run this to rebuild/reinstall:
cd /path/to/jetson-inference/build
cmake ../
make
sudo make install

Thanks @dusty-nv. I'll give that a go.

That is an elegant fix, thanks @dusty-nv
Final solution was to add:
  if (format == IMAGE_BGR8)
  {
    format = IMAGE_RGB8;
  }

Just before:
	if( !imageFormatIsRGB(format) )
	{
		LogError(LOG_TRT "detectNet::Detect() -- unsupported image format (%s)\n", imageFormatToStr(format));
		LogError(LOG_TRT "                       supported formats are:\n");
		LogError(LOG_TRT "                          * rgb8\n");
		LogError(LOG_TRT "                          * rgba8\n");
		LogError(LOG_TRT "                          * rgb32f\n");
		LogError(LOG_TRT "                          * rgba32f\n");

		return -1;
	}

In detectNet.cpp

Note: It's a hack for the specific use case I was facing. Not a suggested fix / feature.


[Error] Failed to find VClient018 interface.

CSGO updated 10 min ago, and Osiris told me the error message when i inject the dll. I m not sure if the update cause this error.

i have verified the integrity of CSGO files, but the error still occur.

yes,fix this problem

It happens when the game updates wait for @danielkrupinski to fix this

same error on onetap dll, this is error info:
----------- INFO ----------
Layer: 1.
Caused: Can't find offset. Signature: 55 8B EC 83 E4 F8 83 EC 70 6A 58.
so i think the reason is the change ofsignature when CSGO updates (maybe).

found the problem making a pull request now @danielkrupinski

its been changed back to client.dll

@yaelahrip im making a pull rn

@DoomFishWasTaken ah yu did it alr. thx.

Fixed

Fixed

can you give the fixed one?


Dev dependencies out of date

There is a more recent major version of should available, we should test if everything still works with the new version and if not update the dependency
https://david-dm.org/RJacksonm1/node-dota2#info=devDependencies&view=table

Who caaaaaaaaaaaaaares

But... Muh shiny green badges D:

Op 5 jan. 2016 om 16:30 heeft Rob Jackson<EMAIL_ADDRESS>het volgende geschreven:
Who caaaaaaaaaaaaaares
—
Reply to this email directly or view it on GitHub.

Stuff isn't exploding and people aren't complaining, so I assume we are gucci?

Yeah, should be ok.


Support for outlets

Does this custom plugin support subspace smart outlets if so is there a example configuration.yaml?

In the readme: Outlets (HPKA315CWB) work with on/off on both outputs. Single outlet (HPPA51CWB and HPPA11AWBA023) models handled correctly.
If your outlet is not supported, it can be added by following instructions in the readme

I have a HPKA315CWB
light:

platform: hubspace
username:
password:
debug: true
friendlynames:

'Outlet1'
'Outlet2'

In Home Assistant I'm seeing the following error message.
Logger: homeassistant.components.light
Source: custom_components/hubspace/light.py:100
Integration: Light (documentation, issues)
First occurred: 7:01:20 AM (1 occurrences)
Last logged: 7:01:20 AM
Error while setting up hubspace platform for light
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/hubspace/light.py", line 100, in setup_platform
_LOGGER.debug("Switch on Model " + model )
TypeError: can only concatenate str (not "NoneType") to str

Looks like you fixed it. You just pass the friendly name of the device itself, not what you named each outlet. It will automatically make an freindlyname_outlet_1 and freindlyname_outlet_2 entity

I updated my yaml
#HubSpace Config
light:

platform: hubspace
username:
password:
debug: true
friendlynames:

‘Garage_Outlet'

But still get this error
Logger: homeassistant.components.light
Source: custom_components/hubspace/light.py:100
Integration: Light (documentation, issues)
First occurred: 7:46:20 AM (1 occurrences)
Last logged: 7:46:20 AM
Error while setting up hubspace platform for light
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/hubspace/light.py", line 100, in setup_platform
_LOGGER.debug("Switch on Model " + model )
TypeError: can only concatenate str (not "NoneType") to str
On Oct 29, 2022, at 7:35 AM, jdeath @.***> wrote:
Looks like you fixed it. You just pass the friendly name of the device itself, not what you named each outlet. It will automatically make an freindlyname_outlet_1 and freindlyname_outlet_2 entity
—
Reply to this email directly, view it on GitHubhttps://github.com/jdeath/Hubspace-Homeassistant/issues/11#issuecomment-1295810139, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOCK2JID5UPISTAISFVFKN3WFUDW7ANCNFSM6AAAAAARRRSSZI.
You are receiving this because you modified the open/close state.Message ID: @.***>

yaml looks ok. Try this.
edit \homeassistant\config\custom_components\hubspace.py
There will be a function  def getChildId(self,deviceName):
remove all the # in front of each line to get extra debugging
Also in your homeassistant configuration.yaml, we need to enable more debuggin. You may have a logger: entry, so just make it look like below
logger:
  default: error
  logs:
    custom_components.hubspace: debug

Now the logs should give us more information.

2022-10-29 08:17:40.855 DEBUG (SyncWorker_3) [custom_components.hubspace.hubspace] token 38160983-b375-4f15-a792-53cf24ce49ee
2022-10-29 08:17:41.121 DEBUG (SyncWorker_3) [custom_components.hubspace.hubspace] ############ Dumping all info 1 0f 2 #########
2022-10-29 08:17:41.124 DEBUG (SyncWorker_3) [custom_components.hubspace.hubspace] [
{
"children": [
"04cdf279-c22f-4270-b342-5b48432948ef",
"d33bd19a-081c-4663-b599-0f4848dbda2c"
],
"createdTimestampMs": 0,
"friendlyName": "Home",
"id": "477b13df-b2a3-4890-82ab-39522ec7eaa0",
"locale": "en_US",
"typeId": "metadevice.home",
"updatedTimestampMs": 0,
"version": 1
},
{
"children": [
"d33bd19a-081c-4663-b599-0f4848dbda2c"
],
"createdTimestampMs": 0,
"friendlyDescription": "",
"friendlyName": "Garage",
"id": "04cdf279-c22f-4270-b342-5b48432948ef",
"image": "wallpaper07.jpg",
"locale": "en_US",
"tag": "",
"typeId": "metadevice.room",
"updatedTimestampMs": 0,
"version": 1
},
{
"children": [],
"createdTimestampMs": 0,
"description": {
"createdTimestampMs":<PHONE_NUMBER>217,
"defaultImage": "smart-outlet",
"descriptions": [],
"device": {
"defaultName": "Outlet",
"deviceClass": "power-outlet",
"manufacturerName": "Commercial Electric",
"model": "HPKA315CWB",
"profileId": "4e732283-f51f-4711-8f96-5a44a747fb55",
"type": "device"
},
"functions": [
{
"createdTimestampMs":<PHONE_NUMBER>546,
"functionClass": "toggle",
"functionInstance": "outlet-2",
"id": "4f79ab66-9b6a-4176-bb28-10723a04227b",
"schedulable": true,
"type": "category",
"updatedTimestampMs":<PHONE_NUMBER>546,
"values": [
{
"createdTimestampMs":<PHONE_NUMBER>635,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>665,
"id": "9d973bfb-2df8-4da0-b64c-982e0f42d5b3",
"key": "3",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>665,
"value": "1"
}
],
"id": "a353e336-b57f-4862-80a0-1d01900230ff",
"name": "on",
"range": {},
"updatedTimestampMs":<PHONE_NUMBER>635
},
{
"createdTimestampMs":<PHONE_NUMBER>576,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>610,
"id": "d8393f15-748a-48c0-9fe8-02155b7c783a",
"key": "3",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>610,
"value": "0"
}
],
"id": "7891f4ce-bd19-4db8-90be-41b3b9d71239",
"name": "off",
"range": {},
"updatedTimestampMs":<PHONE_NUMBER>576
}
]
},
{
"createdTimestampMs":<PHONE_NUMBER>238,
"functionClass": "power",
"id": "a08ee642-7240-4330-9530-a4d20c30e629",
"schedulable": true,
"type": "category",
"updatedTimestampMs":<PHONE_NUMBER>238,
"values": [
{
"createdTimestampMs":<PHONE_NUMBER>344,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>376,
"id": "b5b659a1-c6ab-45a9-b508-9ef06b8df3f6",
"key": "1",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>376,
"value": "1"
}
],
"id": "979cc7c0-ab01-4f7a-96ec-506b3369e465",
"name": "on",
"range": {},
"updatedTimestampMs":<PHONE_NUMBER>344
},
{
"createdTimestampMs":<PHONE_NUMBER>283,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>316,
"id": "5f244ce7-6634-4d95-9eab-7b5e1979558c",
"key": "1",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>316,
"value": "0"
}
],
"id": "b0710ece-6a06-46c6-b0b7-2fbb49766a59",
"name": "off",
"range": {},
"updatedTimestampMs":<PHONE_NUMBER>283
}
]
},
{
"createdTimestampMs":<PHONE_NUMBER>777,
"functionClass": "timer",
"functionInstance": "outlet-2",
"id": "79462cf1-22e9-4862-8103-6972c32b8f22",
"schedulable": false,
"type": "numeric",
"updatedTimestampMs":<PHONE_NUMBER>777,
"values": [
{
"createdTimestampMs":<PHONE_NUMBER>806,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>834,
"id": "ad5f6f46-0ef1-47d2-967b-2f78fdb466c5",
"key": "51",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>834
}
],
"id": "fa6680b7-195e-4156-b0fa-934e0321df3e",
"name": "timer-2",
"range": {
"max": 1440,
"min": 0,
"step": 1
},
"updatedTimestampMs":<PHONE_NUMBER>806
}
]
},
{
"createdTimestampMs":<PHONE_NUMBER>691,
"functionClass": "timer",
"functionInstance": "outlet-1",
"id": "109fb87d-4757-4dc5-838f-775d8d9efb5e",
"schedulable": false,
"type": "numeric",
"updatedTimestampMs":<PHONE_NUMBER>691,
"values": [
{
"createdTimestampMs":<PHONE_NUMBER>721,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>751,
"id": "8ae861c0-5ad1-42b8-8f68-e2c04a8d2f25",
"key": "50",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>751
}
],
"id": "00fbc0f9-5946-4ad7-bc66-8027de8a9eda",
"name": "timer-1",
"range": {
"max": 1440,
"min": 0,
"step": 1
},
"updatedTimestampMs":<PHONE_NUMBER>721
}
]
},
{
"createdTimestampMs":<PHONE_NUMBER>403,
"functionClass": "toggle",
"functionInstance": "outlet-1",
"id": "debc966f-370e-4259-a3fb-4263254cdf50",
"schedulable": true,
"type": "category",
"updatedTimestampMs":<PHONE_NUMBER>403,
"values": [
{
"createdTimestampMs":<PHONE_NUMBER>433,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>465,
"id": "30bb33e4-f341-4f45-b214-20200002087f",
"key": "2",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>465,
"value": "0"
}
],
"id": "0d62b185-f230-4885-a625-1400541362dd",
"name": "off",
"range": {},
"updatedTimestampMs":<PHONE_NUMBER>433
},
{
"createdTimestampMs":<PHONE_NUMBER>491,
"deviceValues": [
{
"createdTimestampMs":<PHONE_NUMBER>521,
"id": "ff87fcba-667e-4f50-8742-b1aa3cefdd0c",
"key": "2",
"type": "attribute",
"updatedTimestampMs":<PHONE_NUMBER>521,
"value": "1"
}
],
"id": "9b4e0cce-d9a7-4e9a-8c57-7165357dbf3e",
"name": "on",
"range": {},
"updatedTimestampMs":<PHONE_NUMBER>491
}
]
}
],
"hints": [],
"id": "9b7a738a-0e6d-4f64-a8bb-a97e273f2447",
"updatedTimestampMs":<PHONE_NUMBER>217,
"version": 1
},
"deviceId": "864ce0e2e6fe29b6",
"friendlyDescription": "",
"friendlyName": "WestOutlet",
"id": "d33bd19a-081c-4663-b599-0f4848dbda2c",
"image": "",
"locale": "en_US",
"state": {
"metadeviceId": "d33bd19a-081c-4663-b599-0f4848dbda2c",
"values": [
{
"functionClass": "toggle",
"functionInstance": "outlet-2",
"lastUpdateTime":<PHONE_NUMBER>872,
"value": "off"
},
{
"functionClass": "power",
"lastUpdateTime":<PHONE_NUMBER>009,
"value": "off"
},
{
"functionClass": "timer",
"functionInstance": "outlet-2",
"lastUpdateTime":<PHONE_NUMBER>823,
"value": 0
},
{
"functionClass": "timer",
"functionInstance": "outlet-1",
"lastUpdateTime":<PHONE_NUMBER>770,
"value": 0
},
{
"functionClass": "toggle",
"functionInstance": "outlet-1",
"lastUpdateTime":<PHONE_NUMBER>389,
"value": "off"
},
{
"functionClass": "wifi-ssid",
"lastUpdateTime":<PHONE_NUMBER>701,
"value": "Cosgrove's Castle"
},
{
"functionClass": "wifi-rssi",
"lastUpdateTime":<PHONE_NUMBER>750,
"value": -48
},
{
"functionClass": "wifi-steady-state",
"lastUpdateTime":<PHONE_NUMBER>813,
"value": "connected"
},
{
"functionClass": "wifi-setup-state",
"lastUpdateTime":<PHONE_NUMBER>859,
"value": "connected"
},
{
"functionClass": "wifi-mac-address",
"lastUpdateTime": 0,
"value": "e0e2e6fe29b4"
},
{
"functionClass": "geo-coordinates",
"functionInstance": "system-device-location",
"lastUpdateTime":<PHONE_NUMBER>148,
"value": {
"geo-coordinates": {
"latitude": "42.89865112304688",
"longitude": "-84.35823059082031"
}
}
},
{
"functionClass": "scheduler-flags",
"lastUpdateTime":<PHONE_NUMBER>921,
"value": 0
},
{
"functionClass": "available",
"lastUpdateTime":<PHONE_NUMBER>975,
"value": true
},
{
"functionClass": "visible",
"lastUpdateTime":<PHONE_NUMBER>975,
"value": true
},
{
"functionClass": "direct",
"lastUpdateTime":<PHONE_NUMBER>975,
"value": true
},
{
"functionClass": "ble-mac-address",
"lastUpdateTime": 0,
"value": "e0e2e6fe29b6"
}
]
},
"tag": "",
"typeId": "metadevice.device",
"updatedTimestampMs": 0,
"version": 1
}
]
2022-10-29 08:17:41.124 DEBUG (SyncWorker_3) [custom_components.hubspace.hubspace] ############ End Dump #########
2022-10-29 08:17:41.130 DEBUG (SyncWorker_3) [custom_components.hubspace.hubspace] No model found
2022-10-29 08:17:41.362 ERROR (MainThread) [homeassistant.components.light] Error while setting up hubspace platform for light
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/hubspace/light.py", line 100, in setup_platform
_LOGGER.debug("Switch on Model " + model )
TypeError: can only concatenate str (not "NoneType") to str
On Oct 29, 2022, at 8:03 AM, jdeath @.***> wrote:
yaml looks ok. Try this.
edit \homeassistant\config\custom_components\hubspace.py
There will be a function def getChildId(self,deviceName):
remove all the # in front of each line to get extra debugging
Also in your homeassistant configuration.yaml, we need to enable more debuggin. You may have a logger: entry, so just make it look like below
logger:
default: error
logs:
custom_components.hubspace: debug
Now the logs should give us more information.
—
Reply to this email directly, view it on GitHubhttps://github.com/jdeath/Hubspace-Homeassistant/issues/11#issuecomment-1295816102, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOCK2JLEK3WG47I7HMF7TNDWFUHBZANCNFSM6AAAAAARRRSSZI.
You are receiving this because you modified the open/close state.Message ID: @.***>

Your freindlyname is: WestOutlet
try that. Is that not what it is named in the app?

Yep - that fixed it sir!  So I need to update the name of the outlet in the app and update the configuration.yaml to match that name.  I was using "Garage" as the friendlyname in the yaml because that was the room I had created in the app.

Yes, they need to match. You can use the roomname instead of freindlyname, but again must match exactly. Someone added that capability, but I cannot help if it doesnt work
roomnames:
      - 'BoysRoom' (the name of your room as shown in the app)


Update changelog

Updating for potential release today.

/check-enforcer override

API change check
API changes are not detected in this pull request.


asking for better sqlite support

sqlite has not "INSERT ..... ON DUPLICATE KEY UPDATE"
but has simply "REPLACE INTO" or "INSERT OR REPLACE INTO", ...
https://www.sqlite.org/lang_insert.html
thanks

v1.8.0


macros/recording actions

One thing that may be interesting is the ability to record actions and see the advanced script printout of what was done during the recording - similar to how VBA/macros work in Excel. This may make it easier to write more advanced scripting clauses - by seeing what is generated by the system.

This is a brilliant suggestion, and something I had actually been toying with a while ago. It would certainly increase the adoption of scripting, making it a lot easier to get started.

Exactly. There are many scenarios where I presume using advanced scripting will be a lot faster but just may not know the proper coding syntax. This feature would definitely help the adoption of advanced scripting. One other thought is that advanced scripting could be recorded within the 'Show History' (either supplementing or replacing the existing show history). The existing Show History is good for brevity but the advanced scripting version would be good for the other reasons described.

Will be available in Tabular Editor 3.

Yes! Can't wait! Too bad I already know the advanced scripting quite well now :)


CVE-2024-33663 with python-jose requirement vulnerability

Summary
This is a critical severity security issue opened here.
Details
Latest version of openwebui is using python-jose 3.3.0
PoC
look at requirements.txt or pyproject.toml
Impact
Security scans are blocking it

I'm pretty sure it's not being used anywhere in the codebase. Confirmation wanted here!

it's here: https://github.com/search?q=repo%3Aopen-webui%2Fopen-webui python-jose&type=code

Yes it's in the requirements, but I believe it's not being used. Confirmation wanted here.


PKCE support for public SMART client authorization code flow

Is your feature request related to a problem? Please describe it.
Our OAuth2 Vender only supports public application Authorization Code flow with PKCE support, which could help mitigate the threat of having the authorization code intercepted.
So in order for us to test SMART on FHIR EHR Launch with Public Client, would love to have PKCE option from inferno
Describe the solution you'd like to see implemented
We created a similar issue for the smart-on-fhir/client-js. Which included a forked version of the client-js that we currently use internally.
The implementation of the PKCE flow is standard based on the spec
Describe alternatives you've considered
We currently can only test EHR Launch using a Confidential Client

I think this is worth adding.
We'd have to think a little bit about how it aligns with the SMART Spec from a conformance perspective though.  I'm pretty sure that an authorization server that only supports the PKCE method for public clients is not conformant to the public-client SMART Core Capability.  We'd have to be clear about that somehow.  I'm curious what other people think.

Thanks @abjonnes for the reply, this is a good question, I feel like PKCE is a blur area for public-client. The definition of public-client capability sounds like be able to use authorization code flow to retrieve tokens without client secret (reading from the launch framework).
Consider PKCE as a more secure way of doing authorization code flow, it potentially fall into or at least not far away from the definition.
Might be PKCE is relatively new I could not find much word in SMART discussing it. Would be good to have HL7 consider adding (optional) PKCE into the definition. Would love to hear others' thoughts.

Found this thread a year and a half later, looks to me like PKCE is now required.  Is there any chance support for PKCE has been added already or that this enhancement request will get some more attention?
"All SMART apps SHALL support Proof Key for Code Exchange (PKCE). PKCE is a standardized, cross-platform technique for clients to mitigate the threat of authorization code interception or injection. PKCE is described in IETF RFC 7636. SMART servers SHALL support the S256 code_challenge_method and SHALL NOT support the plain method."
http://www.hl7.org/fhir/smart-app-launch/app-launch.html#considerations-for-pkce-support


Reduce touch icon to 8 colours and optimize

Cuts it to about 1/8th it's former size. Visually hardly any difference.

The circle of the new icon looks a bit jagged. How does it look when displayed in a browser tab? Thanks!

Actually there is a slight difference but I don't know if it's a problem.

@Pierstoval thanks, but I wanted to see the icon in the browser tab at the mini-size the user will see. Here it is the comparison (top, current icon; bottom, new proposal):

I'd say that the new proposal is noticeable worse at small sizes :disappointed:

I've made a 32 color version - it's about 80% bigger, but still about 1/5 of the size of the original image.

Thank you @rjmunro.


getdual in conic interface to Mosek throws BoundsError

Here is an example of the error I get when I call getdual:
ERROR: LoadError: BoundsError: attempt to access 2-element Array{Array{Float64,1},1}:
 [0.0666205723355703,0.04302634696803116,-0.25810960668167754,0.027788215544164746,-0.16669795651893662,1.0000000011590489]
 [0.027774525875638566,0.09856627300800122,-0.16665690730809762,0.3497921239111226,-0.5914322621022672,1.0000000021142892]
  at index [3]
 in getdual at /Users/chris/.julia/v0.4/Mosek/src/MosekConicInterface.jl:526

Unfortunately, I don't understand what's going on here at line 526:
Float64[if     m.conslack[i] == 0 y[i]
            elseif m.conslack[i] >  0 snx[m.conslack[i]]
            else                      bars[-m.conslack[i]][m.barconij[i]]
            end
            for i in 1:m.numcon ]

Could you provide an example script that reproduces this error ?

Here is a script (I can produce more if it is helpful):
c = [0.0,0.0,1.0,0.0,0.0,0.0,0.0]
b = [0.0,10.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0]

I = [1,12,1,21,1,2,3,7,8,10,13,16,17,19,22,2,4,7,16,2,5,7,16,2,6,10,19]
J = [1,1,2,2,3,4,4,4,4,4,4,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7]
V = [-1.0,-1.0,-1.0,-1.0,1.0,1.0,-1.0,-0.44999999999999996,0.45,-0.4500000000000001,0.,-0.44999999999999996,0.45,-0.4500000000000001,0.,1.0,-1.0,-0.9000000000000001,-0.9000000000000001,1.0,-1.0,-0.22500000000000003,-0.22500000000000003,1.0,-1.0,-0.22500000000000003,-0.22500000000000003]
A = sparse(I, J, V, length(b), length(c))

cone_con = [(:Zero,1:1),(:NonNeg,2:2),(:NonNeg,3:6),(:SDP,7:12),(:Zero,13:15),(:SDP,16:21),(:Zero,22:24)]
cone_var = [(:Free,1:7)]

using MathProgBase, Mosek

m = MathProgBase.ConicModel(MosekSolver())
MathProgBase.loadproblem!(m, c, A, b, cone_con, cone_var)
MathProgBase.optimize!(m)

@show MathProgBase.status(m)
@show MathProgBase.getsolution(m)
@show MathProgBase.getdual(m)

Here is the output I get:
julia> MathProgBase.optimize!(m)
Computer
  Platform               : MACOSX/64-X86

Problem
  Name                   :
  Objective sense        : min
  Type                   : CONIC (conic optimization problem)
  Constraints            : 24
  Cones                  : 0
  Scalar variables       : 7
  Matrix variables       : 2
  Integer variables      : 0

Optimizer started.
Conic interior-point optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Total number of eliminations : 1
Eliminator terminated.
Eliminator - tries                  : 1                 time                   : 0.00
Eliminator - elim's                 : 1
Lin. dep.  - tries                  : 1                 time                   : 0.00
Lin. dep.  - number                 : 0
Presolve terminated. Time: 0.00
Optimizer  - threads                : 8
Optimizer  - solved problem         : the primal
Optimizer  - Constraints            : 13
Optimizer  - Cones                  : 0
Optimizer  - Scalar variables       : 8                 conic                  : 0
Optimizer  - Semi-definite variables: 2                 scalarized             : 12
Factor     - setup time             : 0.00              dense det. time        : 0.00
Factor     - ML order time          : 0.00              GP order time          : 0.00
Factor     - nonzeros before factor : 59                after factor           : 63
Factor     - dense dim.             : 0                 flops                  : 1.01e+03
ITE PFEAS    DFEAS    GFEAS    PRSTATUS   POBJ              DOBJ              MU       TIME
0   5.0e+00  1.0e+00  1.0e+00  0.00e+00   0.000000000e+00   0.000000000e+00   1.0e+00  0.00
1   1.3e+00  2.6e-01  2.6e-01  -1.45e-01  7.446299248e-01   1.133476135e+00   2.6e-01  0.00
2   1.8e-01  3.6e-02  3.6e-02  5.79e-01   1.297888733e+00   1.369246549e+00   3.6e-02  0.00
3   2.4e-02  4.7e-03  4.7e-03  8.91e-01   9.564969913e-01   9.704884077e-01   4.7e-03  0.00
4   3.4e-03  6.8e-04  6.8e-04  8.77e-01   8.651595034e-01   8.677722067e-01   6.8e-04  0.00
5   2.7e-04  5.4e-05  5.4e-05  9.69e-01   8.507793221e-01   8.509928746e-01   5.4e-05  0.00
6   1.6e-05  3.3e-06  3.3e-06  9.97e-01   8.496036890e-01   8.496167452e-01   3.3e-06  0.00
7   9.2e-07  1.8e-07  1.8e-07  1.00e+00   8.495321450e-01   8.495328766e-01   1.8e-07  0.00
8   8.8e-09  1.8e-09  1.8e-09  1.00e+00   8.495279655e-01   8.495279725e-01   1.8e-09  0.00
Interior-point optimizer terminated. Time: 0.00.

Optimizer terminated. Time: 0.02
0

julia> @show MathProgBase.status(m)
MathProgBase.status(m) = :Optimal
:Optimal

julia> @show MathProgBase.getsolution(m)
MathProgBase.getsolution(m) = [0.2581288811960397,0.591399084272713,0.8495279654687528,2.965654193424076,3.779037063878916,3.49217819844456e-7,3.255308073884936]
7-element Array{Float64,1}:
 0.258129
 0.591399
 0.849528
 2.96565
 3.77904
 3.49218e-7
 3.25531

julia> @show MathProgBase.getdual(m)
ERROR: BoundsError: attempt to access 2-element Array{Array{Float64,1},1}:
 [0.06662544466703094,0.04302513616541794,-0.25811904947274705,0.027784617540638323,-0.16668717064440128,0.9999999997848541]
 [0.027780822124551928,0.09858424790224177,-0.1666757940939465,0.3498404168267607,-0.5914730859020215,0.9999999999546839]
  at index [3]
 in getdual at /Users/chris/.julia/v0.4/Mosek/src/MosekConicInterface.jl:526

for comparison, here is the output I get from SCS solver:
julia> MathProgBase.optimize!(m)
----------------------------------------------------------------------------
	SCS v1.1.8 - Splitting Conic Solver
	(c) Brendan O'Donoghue, Stanford University, 2012-2015
----------------------------------------------------------------------------
Lin-sys: sparse-direct, nnz in A = 25
eps = 1.00e-04, alpha = 1.80, max_iters = 20000, normalize = 1, scale = 5.00
Variables n = 7, constraints m = 24
Cones:	primal zero / dual free vars: 7
	linear vars: 5
	sd vars: 12, sd blks: 2
Setup time: 1.91e-03s
----------------------------------------------------------------------------
 Iter | pri res | dua res | rel gap | pri obj | dua obj | kap/tau | time (s)
----------------------------------------------------------------------------
     0|      inf       inf       nan      -inf       inf       inf  5.12e-04
   100| 4.04e-04  2.37e-02  3.95e-03  9.03e-01  9.14e-01  0.00e+00  1.16e-03
   200| 3.17e-04  1.62e-02  4.02e-03  8.83e-01  8.94e-01  0.00e+00  1.79e-03
   300| 2.56e-04  1.19e-02  3.48e-03  8.72e-01  8.81e-01  0.00e+00  2.41e-03
   400| 2.10e-04  9.02e-03  3.00e-03  8.64e-01  8.73e-01  0.00e+00  3.03e-03
   500| 1.74e-04  7.04e-03  2.57e-03  8.60e-01  8.67e-01  0.00e+00  3.65e-03
   600| 1.45e-04  5.59e-03  2.19e-03  8.57e-01  8.63e-01  0.00e+00  4.27e-03
   700| 1.21e-04  4.49e-03  1.86e-03  8.54e-01  8.59e-01  0.00e+00  4.89e-03
   800| 1.01e-04  3.64e-03  1.58e-03  8.53e-01  8.57e-01  0.00e+00  5.51e-03
   900| 8.46e-05  2.97e-03  1.34e-03  8.52e-01  8.56e-01  0.00e+00  6.12e-03
  1000| 7.09e-05  2.44e-03  1.13e-03  8.51e-01  8.54e-01  0.00e+00  6.74e-03
  1100| 5.94e-05  2.01e-03  9.58e-04  8.51e-01  8.53e-01  0.00e+00  7.36e-03
  1200| 4.98e-05  1.66e-03  8.07e-04  8.50e-01  8.53e-01  0.00e+00  7.98e-03
  1300| 4.17e-05  1.37e-03  6.80e-04  8.50e-01  8.52e-01  0.00e+00  8.59e-03
  1400| 3.50e-05  1.14e-03  5.72e-04  8.50e-01  8.52e-01  0.00e+00  9.21e-03
  1500| 2.93e-05  9.47e-04  4.80e-04  8.50e-01  8.51e-01  0.00e+00  9.82e-03
  1600| 2.45e-05  7.88e-04  4.03e-04  8.50e-01  8.51e-01  0.00e+00  1.05e-02
  1700| 2.05e-05  6.56e-04  3.39e-04  8.50e-01  8.51e-01  0.00e+00  1.11e-02
  1800| 1.72e-05  5.47e-04  2.84e-04  8.50e-01  8.50e-01  0.00e+00  1.17e-02
  1900| 1.44e-05  4.56e-04  2.38e-04  8.50e-01  8.50e-01  0.00e+00  1.23e-02
  2000| 1.20e-05  3.80e-04  2.00e-04  8.50e-01  8.50e-01  0.00e+00  1.29e-02
  2100| 1.01e-05  3.17e-04  1.67e-04  8.50e-01  8.50e-01  0.00e+00  1.35e-02
  2200| 8.44e-06  2.65e-04  1.40e-04  8.50e-01  8.50e-01  0.00e+00  1.41e-02
  2300| 7.06e-06  2.21e-04  1.17e-04  8.50e-01  8.50e-01  0.00e+00  1.48e-02
  2400| 5.91e-06  1.85e-04  9.81e-05  8.50e-01  8.50e-01  0.00e+00  1.54e-02
  2500| 4.94e-06  1.54e-04  8.21e-05  8.50e-01  8.50e-01  0.00e+00  1.60e-02
  2600| 4.13e-06  1.29e-04  6.87e-05  8.50e-01  8.50e-01  0.00e+00  1.66e-02
  2700| 3.46e-06  1.08e-04  5.75e-05  8.50e-01  8.50e-01  0.00e+00  1.72e-02
  2760| 3.11e-06  9.69e-05  5.17e-05  8.50e-01  8.50e-01  0.00e+00  1.75e-02
----------------------------------------------------------------------------
Status: Solved
Timing: Solve time: 1.76e-02s
	Lin-sys: nnz in L factor: 61, avg solve time: 3.53e-07s
	Cones: avg projection time: 5.11e-06s
----------------------------------------------------------------------------
Error metrics:
dist(s, K) = 2.2132e-09, dist(y, K*) = 9.3131e-10, s'y/m = -9.7499e-11
|Ax + s - b|_2 / (1 + |b|_2) = 3.1057e-06
|A'y + c|_2 / (1 + |c|_2) = 9.6854e-05
|c'x + b'y| / (1 + |c'x| + |b'y|) = 5.1706e-05
----------------------------------------------------------------------------
c'x = 0.8495, -b'y = 0.8497
============================================================================
0.8495352484237209

julia> @show MathProgBase.status(m)
MathProgBase.status(m) = :Optimal
:Optimal

julia> @show MathProgBase.getsolution(m)
MathProgBase.getsolution(m) = [0.2585352976879626,0.5909978259665712,0.8495352484237209,2.950007731763664,3.7708023318365167,4.2743511306364275e-8,3.27920973115259]
7-element Array{Float64,1}:
 0.258535
 0.590998
 0.849535
 2.95001
 3.7708
 4.27435e-8
 3.27921

julia> @show MathProgBase.getdual(m)
MathProgBase.getdual(m) = [-0.9999999998163523,0.08493642159298997,0.0,0.0,0.06370292305356898,0.0,0.06683902395033697,0.060756649730726565,-0.3656175766611347,0.02761388683088022,-0.23500428789197625,0.9999862689712925,0.0,0.0,0.0,0.027613898433779184,0.06944341154397124,-0.23500438167958973,0.34927248091608026,-0.8357844423855383,0.9999866469605179,0.0,0.0,0.0]
24-element Array{Float64,1}:
 -1.0
  0.0849364
  0.0
  0.0
  0.0637029
  0.0
  0.066839
  0.0607566
 -0.365618
  0.0276139
  ⋮
  0.0276139
  0.0694434
 -0.235004
  0.349272
 -0.835784
  0.999987
  0.0
  0.0
  0.0

Below is a second example where Mosek getdual fails. For this one, SCS getdual also fails (I will submit an issue to them):
c = [0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0]
b = [10.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0]

I = [1,2,10,11,13,16,19,20,22,25,1,3,10,11,13,16,19,20,22,25,1,4,10,11,13,16,19,20,22,25,1,5,10,19,1,6,10,11,13,16,19,20,22,25,1,7,10,11,13,16,19,20,22,25,8,15,9,24]
J = [1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,8,8]
V = [1.0,1.0,-0.44999999999999996,0.45000000000000007,-0.4500000000000001,5.551115123125783e-17,-0.44999999999999996,0.45000000000000007,-0.4500000000000001,5.551115123125783e-17,1.0,1.0,-0.7681980515339464,0.31819805153394654,-0.13180194846605373,5.551115123125783e-17,-0.7681980515339464,0.31819805153394654,-0.13180194846605373,5.551115123125783e-17,1.0,1.0,-0.9000000000000001,1.102182119232618e-16,-1.3497838043956718e-32,1.232595164407831e-32,-0.9000000000000001,1.102182119232618e-16,-1.3497838043956718e-32,1.232595164407831e-32,1.0,1.0,-0.22500000000000003,-0.22500000000000003,1.0,1.0,-0.11250000000000003,0.1125,-0.11249999999999999,-1.3877787807814457e-17,-0.11250000000000003,0.1125,-0.11249999999999999,-1.3877787807814457e-17,1.0,1.0,-8.436148777472949e-34,1.3777276490407724e-17,-0.22500000000000003,-1.5407439555097887e-33,-8.436148777472949e-34,1.3777276490407724e-17,-0.22500000000000003,-1.5407439555097887e-33,1.0,-1.0,1.0,-1.0]
A = sparse(I, J, V, length(b), length(c))

cone_con = [(:NonNeg,[1]),(:NonPos,[2,3,4,5,6,7,8,9]),(:SDP,10:15),(:Zero,16:18),(:SDP,19:24),(:Zero,25:27)]
cone_var = [(:NonNeg,[1,2,3,4,5,6,7,8])]

using MathProgBase, Mosek

m = MathProgBase.ConicModel(MosekSolver())
MathProgBase.loadproblem!(m, c, A, b, cone_con, cone_var)
MathProgBase.optimize!(m)

@show MathProgBase.status(m)
@show MathProgBase.getsolution(m)
@show MathProgBase.getdual(m)

another even smaller problem on which both Mosek and SCS fail with getdual:
c = [-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-1.0]
b = [10.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]

I = [1,2,8,9,10,11,1,3,8,9,10,11,1,4,8,9,10,11,1,5,8,1,6,8,9,10,11,1,7,8,9,10,11,8,10]
J = [1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,7,7]
V = [1.0,1.0,-0.44999999999999996,0.45000000000000007,-0.4500000000000001,0.0,1.0,1.0,-0.7681980515339464,0.31819805153394654,-0.13180194846605373,0.0,1.0,1.0,-0.9000000000000001,0.0,0.0,0.0,1.0,1.0,-0.22500000000000003,1.0,1.0,-0.11250000000000003,0.1125,-0.11249999999999999,0.0,1.0,1.0,0.0,0.0,-0.22500000000000003,0.0,1.0,1.0]
A = sparse(I, J, V, length(b), length(c))

cone_con = [(:NonNeg,[1]),(:NonPos,[2,3,4,5,6,7]),(:SDP,8:10),(:Zero,11:11)]
cone_var = [(:NonNeg,[1,2,3,4,5,6]),(:Free,[7])]

using MathProgBase, Mosek

m = MathProgBase.ConicModel(MosekSolver())
MathProgBase.loadproblem!(m, c, A, b, cone_con, cone_var)
MathProgBase.optimize!(m)

@show MathProgBase.status(m)
@show MathProgBase.getsolution(m)
@show MathProgBase.getdual(m)

@ulfworsoe, any idea what might be causing this crash when accessing duals for SDPs?

I can see you already figured it out. Works in the HEAD revision, so I'll close this.


Apache ignite doc is not good!

Who wrote it ? have you tested it ? Does your sample code work ? Can you actually write documentation ?

Please describe the problems in more detail: which sample code is broken and why.

you tell me :
How to set TimeZone in SQL data ?
How do Java clients connect to an ignite cluster ?
Why doesn't SQL create a cache with so many configurable parameters ?
...........................

@ptupitsyn

@IgGusev could you please have a look?

The doc is indeed so so. For example the piece on cache templates has no XML example for the concrete cache instances.
One thing I found missing is a "real" (cache-specific, not spring-beans.xsd) XML schema for config.xml.  It seems I am forced to restart the cache every time I change it just to see if my config is good. For simple stuff, ex: "how do I configure 2 caches with different names". Is it 2 beans, 2 properties cacheConfiguration...?


Override CaseInsensitiveDict copy() function

ev.copy() was returning a dict() instead of CaseInsensitiveDict(). This PR overrides the CaseInsensitiveDict copy() to return CaseInsensitiveDict copy of dictionary.
During QA, we were running into a KeyError at LogEvent class

Motivation
Bug introduced here: https://github.com/DataDog/integrations-core/commit/cc324e83c2fedad3267f70ced9f09ef935ce51cf#diff-a18bcd3c932b0065b2de91257049764bR182

/azp run

/azp run

Build not passing. Need to fix issue related to https://github.com/pypa/setuptools_scm/issues/442 first.

Merging. Failing tests are unrelated.


Add support for Python 3.12

We should also A/B compare GUI performance.
While making changes, we should knock out https://github.com/vkottler/conntextual/issues/39 as well.

Noting that I'm attempting to use the beta release for aiohttp https://github.com/aio-libs/aiohttp/issues/7675.

This got merged: https://github.com/vkottler/conntextual/pull/41.


Can't play playlist from Spotify that contains more than 100 tracks

Please tick all applicable boxes.

[x] I am using Python 3.5 or higher (run python --version on the command line)
[x] I have followed the official guides to install the bot for my system
[x] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[x] The latest master version (1.9.8_1)
[ ] The latest review version

What type of issue are you creating?

[x] Bug
[ ] Feature request
[ ] Question

Description of issue
Can't play playlist from Spotify that contains more than 100 tracks.

This is a known issue and a PR has been made to address it

Should've been fixed by #1690.


Stat Compactor

Currently I am manually running some code to pull the stats from GitHub. It doesn't work perfectly, the rules need tweaking, and it needs to be automated.
This issue is just to document that it is being done, and the process to achieve it.

For reference: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events

For reference: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events

This is now falling under Guild Scriviner - but will be tracked here

This is now falling under Guild Scriviner - but will be tracked here

This has been completed - at least the basic working version


BUG - @sap-ux/ui5-application-inquirer wrong parameter being passed

Description
Calling prompt with capCdsInfo results in incorrect behaviour.
When calling prompt()  the wrong arguments are being assigned when internally calling getPrompts()
await exports.getPrompts(promptOptions, isCli, capCdsInfo);

should be :
await exports.getPrompts(promptOptions, capCdsInfo, isYUI);

But also the function :
async function prompt(
    adapter: InquirerAdapter,
    promptOptions?: UI5ApplicationPromptOptions,
    isCli = true,
    capCdsInfo?: CdsUi5PluginInfo
): Promise<UI5ApplicationAnswers>

Should be redefined as :
async function prompt(
    adapter: InquirerAdapter,
    promptOptions?: UI5ApplicationPromptOptions,
    capCdsInfo?: CdsUi5PluginInfo,
    isYUI  = false
): Promise<UI5ApplicationAnswers>

Steps to Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected results
Actual results
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:

[ ] Mac OS
[ ] Windows
[ ] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

Fixed closing


problems with angular 1.5

hello, there seems to be a problem with angular 1.5
WorkerService.setAngularUrl('https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min.js');
causes

Script error.

as far as I can tell this happens with every version after 1.4.7

Do you have an example?
I was not able to reproduce the problem.
Previous versions had problems with angular 1.4.7+. Angular requires some methods and attributes. The angular-workers includes now an additional attribute to prevent some problems. Although the version of the module has not changed, maybe you need to download again the files.


Feature request: Upload from clipboard

There currently isn't a way to upload an image or file from the clipboard in iamb.
One way I could see this implemented is if :upload without any arguments could instead pull from the clipboard
Thanks

This was implemented in #36 and will be included in the next release.


New NCG: Convert from HTML to markdown

See master story #1839
Input: HTML as produced by Adobe from NCG 2021 PDFs
Output: One markdown file containing all the content of one input PDF
Languages: Focus on English but try out the other languages too
Acceptance Criteria

[ ] Chapter headings and topic headings have prefixes to make them recognized by our split content script (so it needs to look just like https://github.com/PeaceGeeksSociety/content/blob/master/topics/mb/WinnipegIntroductionForNewcomers/2021-10-04/MB_NewcomerGuide_Corrected_English.txt
[ ] Try the tools out on other languages and look for issues, particularly AR
[ ] Topic headings also have an ID line, most likely we're doing this manually, since we have to review topics one by one anyway and it is not a lot of work.
[ ] Duplicate URLS: Remove the latter URL in each case, try using stateful turndown rule or just a simple regular expression search and replace
[ ] Find any other issues in the output that need to be fixed

When this is done:

[ ] Give it to Alysha for editing in EN
[ ] Then it goes for translation to UK
[ ] In parallel, edit all other languages to match EN. Which languages: Start with Farsi, assess where we're at, then try remaining languages that exist in app - save Spanish for last.
[ ] Anything else?
[ ] Automatic processing for inclusion in the app

Issues discovered in the output file in markdown format:

[ ] URLs are messed up a bit: Instead of [title](link) we have [title](link)[link without http](link)
[ ] Toll free numbers are also weird: [Toll free: 1 800 XXX XXXX](link)[link without http](link)

Handy dancy regexes:
\[[^\[\]]*\]\(#bookmark\d+\) page \d+

[abc] match a, b or c
[abc]+ matches a, b, c, aa, bb, cc, abc, cab
[abc]* mathces everything that [abc]+, but also ''

is one or more,  * is zero or more

(abc) matches abc, and abc becomes $1
(abc) *(def) matches "abc     def" with def becoming group $2
JS has a library re for regular expressions https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

[([^[]]*)] (([^() ])) ([[^[] ]] *(\2))+
foo baz qux *** => foo bar


Bump fog-openstack to 0.1.24

Due to error in fog-openstack 0.1.23 (see more here https://github.com/fog/fog-openstack/issues/356)

Thanks for the PR, @aibondarenko
We have a story in our backlog to update the fog-openstack versions in the CPI and in the validator: https://www.pivotaltracker.com/story/show/155399803
We won't get to it this week, though. I'd expect us to do this next week.

Done with 2322d24810f68595e06d15d44690ab3382a04834
We had to do some follow-ups, e.g. include mime-types as direct dependency with 489a9f1737b943288eb8bf8e3975a883219bfbe6
Thanks for the PR!


:sparkles: Partitionset reconciliation

Summary
This PR implements a reconciliation mechanism so that shard partitions can be automatically created based on specified dimensions and selector.
Design document
Related issue(s)
Follows #2469
Fixes #2334

/retest

/retest

@sttts @p0lyn0mial I have implemented the changes we discussed:

using the dimension values for Partition names (still using name generator taking care of overflows)
removed the labels with the dimensions (as the information is now made visible by the name)
using a selector in PartitionSet rather than matchExpressions only (some collision check was needed)

/retest

@sttts @p0lyn0mial as discussed:

I removed the check when matchLabels and dimensions overlap.
I have added openapi/CEL validation for label selector.

/retest

/retest

/retest

/retest

/retest

/retest

#2665
/retest

@fgiloux I'd also put the new controller into a new directory i.e. topology/partitionset/ I think atm it is under topology/

@fgiloux I'd also put the new controller into a new directory i.e. topology/partitionset/ I think atm it is under topology/

I can do that. It is currently the only controller in topology

/retest

/retest

/lgtm
thanks!

/approve


Recruit technical writer(s) to write new tutorials

One of the key objectives of the new design is to make it much easier for beginners to understand how to install and create packages.
To facilitate this, we'd like to create two new tutorials to compliment the content already available at packaging.python.org.
The first tutorial would be a step-by-step guide for installing your first Python package.  It should describe what packages are, how they work, and best practices for installation and management.  The language should be friendly and simple, and no prior knowledge of packaging or Python development should be assumed.
The second would be a step-by-step guide for packaging and uploading your first Python package - here we can assume that the reader is more experienced, though the instructions should still be clear and concise.
Each tutorial should provide basic instructions and frequently link back to the full package reference for more detailed information.  It is also very important that the tutorial remains consistent with this resource.
To assist in this task, we're looking for a technical writer, group of writers or developers who can work with us to write the tutorials.  Ideally, we'd like to get a first version of the tutorials up within the next month, so that we can include them in our usability testing sessions (see #717).
Writers will be formally credited on the credits page of the new PyPI when it is released.
If this is something you are interested in please do not comment below - instead, contact Nicole Harris at n.harris [at] kabucreative.com
If you have ideas on what you'd like to see in the tutorials, or examples of great tutorials we can look to for inspiration, please do comment below!

I would like to work on this

We've had lots of great writers volunteer to help us, so I'm going to go ahead and close this issue.  Thanks to everyone who spread the word.

Did this turn into https://github.com/pypa/python-packaging-user-guide/tree/master/source/tutorials ? Thanks!

I want to contribute the documentation of the tutorial in this project.  Can I contribute in any way according to contributing guidelines? I have previous experience in blog/article writing for the python modules.


CI: add a cargo deny job

windows-* crates: https://github.com/nagisa/rust_libloading/pull/136
quick-xml: https://github.com/Smithay/wayland-rs/pull/674
memoffset/nix: https://github.com/Smithay/wayland-rs/pull/658


arcpy-optional

Maybe nothing but helperservices in agol not there for arcpy-optional, and osx is having issues building without it.

Thanks, I'll check it out.

related to issue #82
Merging.


Statsd incorrect unit

What did you do?
When I configure statsd provider for tracing and I trace an HTTP request which is known to last approximately 1 second.
What did you expect to see?
On my statsd receiver:
traefik.service.request.duration:1055.487|ms
traefik.entrypoint.request.duration:1058.461|ms

See statsd spec https://github.com/b/statsd_spec#timers explains that the timers are milliseconds.
What did you see instead?
traefik.service.request.duration:1.055487|ms
traefik.entrypoint.request.duration:1.058461|ms

Output of traefik version: (What version of Traefik are you using?)
Version:      2.0.1
Codename:     montdor
Go version:   go1.13.1
Built:        2019-09-26T16:20:36Z
OS/Arch:      windows/amd64

Additional infos
It seems that there was issues with go-kit/kit which is used to handle metrics, see https://github.com/go-kit/kit/issues/608 and https://github.com/go-kit/kit/pull/610

Can you please share your statsd provider's configuration?
Thank you

Sure! Nothing fancy
metrics:
  statsD:
    address: <IP_ADDRESS>:8125
    pushInterval: 5s

Closed by #6054.


Switch to custom Python image and run tests with pytest

Fails for the same reason as before, so nothing new there. Still not sure why.

Reason for pytest switch: https://nose.readthedocs.io/en/latest/#note-to-users.


chore: release main

:robot: I have created a release beep boop
0.13.0
0.13.0 (2024-06-23)
Features

Add amqp instrumentation (#412) (3fdd440)
switch chart to use amqp (#409) (0a25924)

0.11.0
0.11.0 (2024-06-23)
Features

switch chart to use amqp (#409) (0a25924)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

0.13.0
:sunflower:


Components tree horizontal scroll

Version
5.3.3
Browser and OS info
Chrome 78, MacOS 10.14.6
Steps to reproduce
When components tree is very deep, it goes out of the components tree window https://screencast.com/t/sa4QQz6RtKc1 without horizontal scroll
What is expected?
To have horizontal scroll
What is actually happening?
No horizontal scroll, no way to see deep components

I have the same

v6 has the same issue


Add generateWebsiteScreenshot Function Python

Implemented generateWebsiteScreenshot Function
appwrite/appwrite#1929

@siddhantdixit I see, yeah, let's try to fix this problem before merging.

@siddhantdixit  You can take a look at this link to suppress the print statements for the duration of the cloud convert call
https://stackoverflow.com/a/8391735

@siddhantdixit closing this PR for now. Please feel free to reopen it when you're ready to start working on it once again.


Rename 'label' and 'tag' to 'name' in from_name/lookup/delete methods

Closes CLI-284
The external interface uses some mixed terminology for the "name of things":

The .from_name/.lookup/.name methods on most Modal object uses "label"
These methods on Function and Cls use "tag"

It's confusing to have so many synonyms, and in the case of "tag" it's conflicted with the deployment tag concept (this has led a few users astray).
This PR standardizes everything on "name", aligning with the .from_name terminology.
I expect that nearly all user code will invoke these parameters with positional argument syntax. I've used the new renamed_parameter to issue runtime deprecation warnings in case anyone was using keyword arguments but don't expect we need anything more than that.
Changelog

Standardized terminology in .from_name/.lookup/.delete methods to use name= consistently where label= and tag= were used interchangeably before.

Note that we still use tag internally in a bunch of places; I'm leaving that alone for now.


Branded Scalar types

We recently ran into a bug where we had two different scalar types DogId: string and PersonId: string. In one place in the codebase we accidentally passed dog.id instead of dog.owner_id. It'd have been great if this had generated a type error.
A nice solution would allow us to have tagged/branded types (see e.g. https://medium.com/better-programming/nominal-typescript-eee36e9432d2).
This would transform
scalar DogId
scalar PersonId

type Dog {
   id: DogId!
   owner_id: PersonId!
}

type Person {
   id: PersonId!
}

into
type DogId = any & { private __type: 'DogId' }
type PersonId = any & { private __type: 'PersonId' }
type Person = { id: PersonId }
type Dog = { id: DogId, owner_id: PersonId }

A tentative (not scalable solution) is for us to configure these types in the custom scalar map, but we'd need to do that for every type.
A proposed config would look like
useBrandedScalarTypes: bool

I'm new to this codebase so I'm not sure what the lift / process for accepting this FR would be.

Hi @marisbest2
This seems like a very specific use-case, and I don't think we can address that.
You can use scalars configuration to set the scalars types to anything. You can even use external files/identifiers if you need to.

@dotansimha I'm not sure I agree that this is a very specific use case. I'm currently going through the process of adding type brands to our ids in order to prevent 'wrong id type' bugs. graphql-code-generator does allows this as you point out, but it would be nice to have a config option to make this common pattern less manually intensive, particularly if there are many different possible types.
For more justification why this is usually a good idea, take this function for example:
function getDog(id: string): Dog {
...
}

It would allow both of these calls at compile time:
getDog(dog.id); // okay!
getDog(person.id); // runtime error :(

However, with type branded ids you would instead have this function signature:
function getDog(id: DogId): Dog {
...
}

getDog(dog.id); // okay!
getDog(person.id); // compile error :)

In this case, its pretty trivial to see the error of passing a person id to this function, but in a non trivial code base where ids are passed around, it gets a bit easier to fat finger such an error.

Just found https://github.com/dotansimha/graphql-code-generator/issues/3049 and I think I might prefer that as a solution over this, to at least give more granular control

It looks like #3049 also suggests using autogenerated branded ids.

This, or some kind of inflector that could make branded ids based on a pattern would be INCREDIBLE for this workflow.

Our pipeline has our schema generated from Python/Graphene -> schema.graphql -> typescript. A solution that requires maintaining a separate .d.ts (or any other file) is the same lift as a solution that requires us maintaining a scalar map in config.


Background image not showing

I really love this theme but I can't use it because of this problem. I've been having this issue since the theme was released but it looks like no one else is having this problem. I hope you can help me fix it.

Are you on the latest version? In that case you can use the Theme Modifier  plugin to enable the background picture in Details view. By default it's disabled by choice in the theme.

Oh my god, thank you so much!


quickstart should fail/abort when out hitting github API limit

RIght now, undesired behavior is observed when the user has run the quickstart enough times to run out of github API requests (60/hour).
Test/detect/handle this situation better

When hitting the limit you'll see something like this.

**** Setting Up Environment ****
using default ZITI_HOME: /home/ubuntu/.ziti/quickstart/openziti-controller
ZITI HOME SET TO: /home/ubuntu/.ziti/quickstart/openziti-controller
jq: error (at <stdin>:0): Cannot iterate over null (null)
ZITI_BINARIES_VERSION: null
Downloading https://github.com/openziti/ziti/releases/download/null/ to /home/ubuntu/.ziti/quickstart/openziti-controller/ziti-bin/
UNZIPPING /home/ubuntu/.ziti/quickstart/openziti-controller/ziti-bin/ into: /home/ubuntu/.ziti/quickstart/openziti-controller/ziti-bin/ziti-null
tar: /home/ubuntu/.ziti/quickstart/openziti-controller/ziti-bin/: Cannot read: Is a directory

notice all the 'null'

done


Installation

Good afternoon, I really need audacity for my MacBook air m1! How do I install your version via HomeBrew?

When entering the brew install audacity-m1 command, it throws the sha256 mismatch error

Hmm, that is strange. I don't even have a checksum defined for audacity-m1. Could you please post your output from your terminal?
Thanks for your attention in this formula.

Okay. I'll send tomorrow! Tell me, I just have to enter the command brew install audacity-m1

If you have this Tap tapped, then yes. But I guess it would be better to use
brew install myzhang1029/myzhang1029/audacity-m1

I'll try tomorrow, thank you! It's just that I record songs through audacity, and now launching through rozetta causes a big delay

Error: audacity-m1: SHA256 mismatch
Expected: beebd47ee4ef49a3d69183b1b3142e2b8c28fe68d6bc37bf8ff8a6f3cde56584
Actual: 92bcf5b68bb67fdc102373b96fd8177cb49320b0b290d89714aa71b5486f3fed
File: /Users/anufrievmaksimanatolevic/Library/Caches/Homebrew/downloads/342cd7a1372a2b64069bf711f50a8c3f219b57c351ad00e967956..
To retry an incomplete download, remove the file above.

Sorry for waiting

Thanks. That is my problem. There was a change in gas-preprocessor and the checksum changed.

What do we do?

Could you please try again and see if there are more problems?

I'm at work right now, I'll try it tonight

No worries.
And I forgot to mention, since the app installation script does not link the result to /Applications, you may want to run
ln -s /opt/homebrew/opt/audacity-m1/Audacity.app ~/Applications

after installation in order to find the app in Launchpad.

Good! Thank you

Error: audacity-m1: SHA256 mismatch
Expected: no_check
Actual: a146844a7d2f07cc11a0acbf14f7a75e0bf9e3ab80ab83af240027e211f52841
File: /Users/anufrievmaksimanatolevic/Library/Caches/Homebrew/downloads/c4b882aba8b0cdcb6450fd4dd61b416e225a02a326ad42b8ce76dcaf03399497--audacity-applesilicon-arm64-macos.tar.gz
To retry an incomplete download, remove the file above.

up

I have pushed the fix but I'll do a local reinstall before further bothering you. Sorry...

ok) thanks, bro

Ok I suppose it should work now. I apologize for making some edits that were not well tested.

No problem, I'll try tomorrow


TEP-0107: Propagated Parameters Migration

TEP-0107: Propagating Parameters proposed propagating Parameters in embedded specifications without mutations. This feature was released in v0.36.0 gated behind the alpha feature flag.
This issue tracks the removal of that feature flag and promotion to Beta - targeting release v0.40.0.

[x] https://github.com/tektoncd/pipeline/issues/5141
[x] https://github.com/tektoncd/pipeline/issues/5140
[x] https://github.com/tektoncd/pipeline/issues/5588
[x] https://github.com/tektoncd/pipeline/pull/5540

Completed in https://github.com/tektoncd/pipeline/pull/5540 - Thank you @chitrangpatel!


fix: footer sizing

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #55
Test URLs:

Before: https://main--danaher-ls-aem--hlxsites.hlx.page/
After: https://fix-footer-sizing--danaher-ls-aem--hlxsites.hlx.page/

Can you make it little smaller. The height of the footer is still bigger then original.


Feature/[ENG-1953] admin app update registration schemas

Purpose
ENG-1953:
Adding a Management Command to the Admin App to migrate Registration Schemas/Schemablocks on demand
Changes
Added the new management command and updated the schema-related functions in migrations.py to better support non-migration callers.
Also made a change in website/projects/metadata/schemas.py to read schema files on-demand instead of only when the server is loaded. Without this change, the Admin App needed to be restarted before running the command in order to pick up any local changes to schemas since the last restart.
QA Notes

Does this change require a data migration? If so, what data will we migrate? no
What is the level of risk?

Any permissions code touched? no
Is this an additive or subtractive change, other? additive

How can QA verify? (Through UI, API, AdminApp or AdminAdminApp?) AdminApp

If verifying through API, what's the new version? Please include the endpoints in PR notes or Dev docs.

What features or workflows might this change impact?
How will this impact performance?
-->

Documentation

Side Effects

Ticket
https://openscience.atlassian.net/browse/ENG-1953

changes incorporated into https://github.com/CenterForOpenScience/osf.io/pull/9649


Add DateOnlyExtensions and add unit tests for the calculations

[x] Add new DateOnlyExtensions.cs class in the HQ.Abstractions project root
[ ] Implement the methods below (You may need to add a new Period enum value for Week)
[ ] Update the GenerateWeeklyProjectStatusReport method to use the new extension methods
[ ] Add unit tests to HQ.Tests project that validate the calculations

[ ] Week period
[ ] Month period
[ ] Quarter period
[ ] Year period

For example, I would expect the following to be true based on recent changes to the week calculations when generating PSRs:
var today = new DateOnly(2024, 6, 12);
var weekStart = today.GetPeriodStartDate(Period.Week);
var weekEnd = today.GetPeriodStartDate(Period.Week);

// The following should be true and validated in a test, week should calculate Saturday - Friday
weekStart == new DateOnly(2024, 6, 8)
weekEnd == new DateOnly(2024, 6, 14)

public static DateOnly GetPeriodStartDate(this DateOnly forDate, Period period)
{
  // switch on period
}

public static DateOnly GetPeriodEndDate(this DateOnly forDate, Period period)
{
  // switch on period
}

https://xunit.net/docs/getting-started/netcore/cmdline
We may be able to use [InlineData] to pass our date/expected start/expected end values to ease the use. We should have a couple test cases per period that test:

If forDate is on the start of the period
If forDate is somewhere in the middle of the period
If forDate is on the end of the period

https://nodatime.org/


TN-2408, TN-2409 force qnr association re-eval

Extend /timeline?purge=all to also remove and therefore force re-eval of QNR->QB associations.
Do the same on a consent deletion.

Hello @pbugni! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file portal/views/user.py:

Line 945:80: E501 line too long (81 > 79 characters)


change pointless plain text converters to be incorperated into the sequelize call

updated but having issues with mySQL working on it now


Update AbstractPluginContainer from core:invalid

Located in: core:invalid
Part of: plugin
This is part of the upgrade process for Sponge and is likely involving some work and investigation.
Advice and tips include:

Sometimes things are just a simple method name change
Might be a new class or field
Understanding what the original intention of the target code had
Analyzing whether the functionality achieved by the target class/mixin still exists
Understanding the new functionality in the new Minecraft version that requires rewriting for the functionality
The SpongeAPI usage could very well have gone missing out the window if functionality was deemed unnecessary for release

Removed in https://github.com/SpongePowered/Sponge/commit/b239fa374a818c0104641ec98488012f615c9925

Removed in https://github.com/SpongePowered/Sponge/commit/b239fa374a818c0104641ec98488012f615c9925