Activating Real Debrid Account in Mrknow URLResolver Asks Me to Load URLresolver from TVA

Kodi & OS

Kodi version: Jarvis 16.1
OS version: Windows 7

Addon / Wtyczka

[ x] Mrknow URLResolver
Version / Wersja: 2<IP_ADDRESS>

Issue / Zgłoszenie

[ x] Other / Inne

Description / Opis
In Settings when trying to Authorize Real-Debrid in Universal Resolvers section I'm prompted to install URLResolver from TVA.  Guessing this is an issue since the name change to Mrknow URLResolver?  Just thought you should be aware.

OK, I will check this error today.


How to perform grid search for hyper parameter tunning?

💡 Your Question
I'm using VinBigdata Chest X-ray images for anomaly detection (object detection) with 14 classes.
Train - 3515 images
Valid - 879 images
Total - 4394 images
(P.S: The original dataset has 15k images. I did not use the remaining because it belongs to no findings class where there are no bboxes)
I trained the yolo_nas_m model with the below parameters i was able to get an<EMAIL_ADDRESS>score of 0.31 after training for 200 epochs.
I trained the YOLOv8 with default parameters for just 20 epochs the<EMAIL_ADDRESS>i got is 0.291.
train_data.dataset.transforms

train_params = {
    "silent_mode":True,
    "average_best_models":True,
    "warmup_mode": "LinearBatchLRWarmup",
    "warmup_initial_lr": 1e-5,
    "lr_warmup_steps":1000,
    "lr_warmup_epochs": 3,
    "initial_lr": 1e-3,
    "lr_mode": "CosineLRScheduler",
    "cosine_final_lr_ratio": 0.1,
    "optimizer": "AdamW",
    "optimizer_params": {"weight_decay": 0.00001},
    "zero_weight_decay_on_bias_and_bn": True,
    "batch_accumulate":1,
    "ema": True,
    "ema_params": {"decay": 0.997, "decay_type": "threshold"},
    "max_epochs": 500,
    "mixed_precision": True,
    "loss": PPYoloELoss(
        use_static_assigner=False,
        num_classes=len(dataset_params['classes'])
    ),
    "valid_metrics_list": [
        DetectionMetrics_050(
            score_thres=0.05,
            top_k_predictions=100,
            calc_best_score_thresholds= True,
            num_cls=len(dataset_params['classes']),
            normalize_targets=True,
            post_prediction_callback=PPYoloEPostPredictionCallback(
                score_threshold=0.05,
                nms_top_k=512,
                max_predictions=50,
                nms_threshold=0.7,
            )
        )
    ],
   "metric_to_watch"<EMAIL_ADDRESS>    "greater_metric_to_watch_is_better": True
}

Is there anything wrong with my train parameters @BloodAxe ?
Can i do Grid Search to get the best model parameters? if yes, then how?
Versions
No response

Currently we don't provide end-to-end grid search feature.
You should do it manually:
for lr in [1e-5, 1e-4, 1e-3]:
  train_params = {..., initial_lr=lr}
  trainer = Trainer(...)
  trainer.train(..., train_params=train_params)

Or via Hydra:
python train.py -m --config-name YOUR_RECIPE.YAML training_hyperparams.initial_lr=1e-3,1e-4,1e-5

I trained the yolo_nas_m model with the below parameters i was able to get an<EMAIL_ADDRESS>score of 0.31 after training for 200 epochs.
I trained the YOLOv8 with default parameters for just 20 epochs the<EMAIL_ADDRESS>i got is 0.291.

Have you used same LR in both cases? Could be an explanation.


LoadError: windows/error

Unable to compile the windows cookbook in a recipe which depends on it.
System: win2012r2-x86_64
Chef client version: 12.5.0.current.0 (64-bit)
Error:
LoadError
-------------
cannot load such file -- windows/error

Cause: https://github.com/chef-cookbooks/windows/blob/master/libraries/windows_privileged.rb#L24
Repro:
# Clone this repository and cd to it
git clone https://github.com/adamedx/winbox
cd winbox

# Use Berkshelf to download all cookbook dependencies:
berks vendor cookbooks

# Run `chef-client` in local mode to configure the workstation!
chef-client -z --color -o 'winbox'

It looks like windows/* comes from the windows-pr gem, which is being removed from Chef.

Confirmed, I ran into this problem as well.   I simply went into C:\opscode\Chef\embedded\bin, and then a gem install windows-pr and that fixed the problem.   Thank you mcquin for finding this.

Sorry to comment on a closed issue, but does this mean this cookbook isn't compatible with Chef 12.5.1 until the commit referenced above goes in a cookbook release?

@jfbibeau It looks like version 1.38.2 of this cookbook is released on Supermarket. The fix is included in 1.38.2, so if you update your windows cookbook dependency it should work with Chef 12.5+.

@mcquin Of course, sorry I missed that. 1.38.2 fixed the issue. Cheers.

still an issue with windows 1.44.3

what version of the chef client @JackChance ?

12.6.0
Sent from my Verizon 4G LTE smartphone
-------- Original message --------
From: Matt Wrock<EMAIL_ADDRESS>Date: 8/17/16 14:57 (GMT-08:00)
To: chef-cookbooks/windows<EMAIL_ADDRESS>Cc: JackChance<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [chef-cookbooks/windows] LoadError: windows/error (#276)
what version of the chef client @JackChancehttps://github.com/JackChance ?

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/chef-cookbooks/windows/issues/276#issuecomment-240561928, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHTUQ7d0oqWRLJE-t6A6RS3iC3HhY59qks5qg4PCgaJpZM4F6ezi.

Sorry, let me add more details. I'm bootstrapping from OEL 6.5 to win2012r2.
OEL 6.5 bootstrapper has ChefDK 0.13.21 which includes chef-client 12.9.41
win2012r2 bootstrappee has chef-client 12.6.0.
Bootstrap succeeds in registering to chef server and installing client, fails when it attempts to include windows/errors. Attempted to chef gem install windows-pr also errors out, with well over a hundred errors..
make "DESTDIR="
compiling win32/api.c
win32/api.c:2:21: error: windows.h: No such file or directory
win32/api.c:33: error: expected specifier-qualifier-list before ‘HANDLE’
win32/api.c: In function ‘api_free’:
win32/api.c:40: error: ‘Win32API’ has no member named ‘library’
win32/api.c:41: error: ‘Win32API’ has no member named ‘library’
win32/api.c: At top level:
win32/api.c:58: error: expected ‘)’ before ‘dwError’
win32/api.c: In function ‘callback_init’:
win32/api.c:189: error: ‘LPARAM’ undeclared (first use in this function)
win32/api.c:189: error: (Each undeclared identifier is reported only once
win32/api.c:189: error: for each function it appears in.)
win32/api.c:189: error: expected ‘)’ before ‘find_callback’
win32/api.c: In function ‘api_init’:
win32/api.c:236: error: ‘HMODULE’ undeclared (first use in this function)
win32/api.c:236: error: expected ‘;’ before ‘hLibrary’
win32/api.c:237: error: ‘FARPROC’ undeclared (first use in this function)
win32/api.c:237: error: expected ‘;’ before ‘fProc’
win32/api.c:273: error: ‘hLibrary’ undeclared (first use in this function)
win32/api.c:283: error: ‘Win32API’ has no member named ‘library’
win32/api.c:290: error: ‘fProc’ undeclared (first use in this function)
win32/api.c:333: error: ‘Win32API’ has no member named ‘function’
win32/api.c:341: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:344: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:347: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:350: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:353: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:356: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:370: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:376: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:379: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:382: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:385: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:388: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c: In function ‘func_init’:
win32/api.c:459: error: ‘Win32API’ has no member named ‘function’
win32/api.c:459: error: ‘FARPROC’ undeclared (first use in this function)
win32/api.c:459: error: expected ‘;’ before ‘rb_num2long_inline’
win32/api.c:467: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:470: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:473: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:476: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:479: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:482: error: ‘Win32API’ has no member named ‘prototype’
win32/api.c:496: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:502: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:505: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:508: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:511: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c:514: error: ‘Win32API’ has no member named ‘return_type’
win32/api.c: At top level:
win32/api.c:531: error: expected specifier-qualifier-list before ‘DWORD’
win32/api.c:535: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘CallbackFunction’
...
win32/api.c:712: error: ‘CallbackFunction9_8’ undeclared here (not in a function)
win32/api.c:712: error: ‘CallbackFunction9_9’ undeclared here (not in a function)
...

chef gem install win32-api gives the same errors

Can you try with a later chef-client on the node?

Same error on the following clients
12.9.41
12.13.30
12.13.37


Assign owners to chores

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
My wife and I have our chores divided up in such a way that for each chore, either I am the owner, she is the owner, or we share ownership. I would like to have separate calendars or dashboards in Home Assistant for both of us to track our individual chore responsibilities. However, Chore Helper does not currently provide a way to do this.
Describe the solution you'd like
I'd propose adding an optional field called "Owners" to the chore sensor type, which would take a list of chore owners. This field could then be used when filtering lists of chores to create separate calendars or dashboards for each person.
Describe alternatives you've considered
I don't believe there is currently any feature of Chore Helper that could be used to accomplish this.
Additional context
If this feature idea is approved, I'd be willing to work on implementing it.

+1 for this feature please

Great idea, thank you for the request! I agree this should be a feature. It's in the plans, but knowing people want it helps me prioritize it.

fantastic, this is exactly what I am searching. I try to replicate an app callesd „flatastic“. It is developed with lots of other stuff for households (grocery, money, etc) but one side is the „chores“ page.
Here you can create different tasks with a predefined owner. If the task is assigned to more than one, each time the task is completed the owner changes.
Another interesting thing is, when completing the task (checkbox), to specify who has completed.
The reason for this is the scoring system inside. For example if A completes the task which was assigned to B, A gets a point for completing the task i stead of B (its all about motivation ;-)

@DerBauch78, I'm also hoping to eventually have a HA dashboard like you are describing. I hadn't heard of Flatastic before, but their "Chores" page looks pretty similar to what I was envisioning! I'd even thought about a similar points system for motivation. 🙂
I'm not sure if @bmcclure plans to eventually build a dashboard like that or not in ha-chore-helper, but even if not, the "Owners" feature described in this issue should at least enable a similar dashboard to be built on top of it.

+1 for that feature.
Also, related to that, it could be nice to keep track of who executed the "last completed" task..

I am searching for option like this in HA for years now. I would really appreciate this feature.
I did something similar by creating person, date, chore and complete button entities for each chore, but it was extra messy and too much work to add/modify chores, so I just trashed everything :)


Raise typeerror if trim called with null or undefined

The spec calls for trim to raise typeerror if its this value is given as null or undefined.

Fixed for the other string prototype functions as well in commit 361b6ca99727ff48295eaecc0a9eb9f456e9264d.


Shops stop selling their items at a certain point

Sounds like they might stop selling the last item, based on the bug descriptions? Could also be an off-by-one error in the flags for each shop entry. Need to investigate.

From Lemming:
also hit a bug where hilde wont sell me a troll beard
3465314959:C7A6Mf
oh another one same seed, got a message for 6 gold and 2 healing potions from cheetaur that I think was meant to just be 2 healing potions


Add Kaikas wallet support

Depends on https://github.com/snapshot-labs/lock/pull/54

Reopened to https://github.com/snapshot-labs/snapshot/pull/2644 to enable preview deployments and branch updates.


Fix String.substring() deprecation warnings

Fix these warnings:
Warning: 'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.
Warning: 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto' operator.
Personally I don't think this looks like an improvement, but it's what https://github.com/apple/swift/commit/fc0cf33bdc3cdf02513cb058f086603ad5c1fdcb implements.
I think a lot of people are going to reimplement substring(from:) and substring(to:) in their own extensions.

@swift-ci please test

Looks reasonable to fix the compiler warnings - what do you think @phausler ?

The conversion looks fine but I wonder if we should perhaps test the build directory with a ü in the path or something like that. But that might just be an existing bug that we should address separately.

@swift-ci please test and merge


ng serve with aot paused at 20% of building

I'm using beta19-3 and I run my webapp with "ng serve --aot --prod" but the compilation stop at this step :  20% building modules 89/89 modules 0 active
Without any errors and I just have this module in my project: https://github.com/swimlane/angular2-data-table/tree/master/release
Does it due to this 3th party lib error durning ngc
thanks

I find error when running ng build --aot ..... you can close this issue ASAP but still not understand why I don't have same error when running "ng serve"
in my code I had:
    @HostBinding() get setSome(){
        console.log('binding')
        return true;
    }

Yes I know this code is not correct but I expect from cli to get me error... it freezed at 20% ....
thanks

Maybe you don't have installed all used packages.


Set Timezone

Properly set timezone for mysql container

@winfried-van-loon what about rest of containers ? cause it's can be a problem for all of the containers. eg. queues. mssql, php-fpm. Is it the only one way to set timezone for all of them, one by one ? I can make a one commit for it, if it is the best idea to fix timezone problem in laradock.
Best! 👍


Invoke-Build 2.12.1 and replaced "bin" with "env_add_path" (explained)

Minor change - updated version to the latest stable 2.12.1
Major change - replaced installation of "bin" shims with "env_add_path".
Invoke-Build is designed to be installed either together with a project
(NuGet does this) or in the path (scoop may do this as proposed).
Here is the analysis of why the approach with shims does not work well for
Invoke-Build:

invoke-build.ps1

PowerShell help is not available, the help file Invoke-Build-Help.xml
is not together with the shim. And even if it were help would not work
because the shim parameters do not match.
The original script Invoke-Build.ps1 provides the special dot-sourced
mode. The shim invokes the original script as & $path. Thus, this mode
is not available. And even if it were Invoke-Build would not set the
correct start location because its immediate caller is the shim, so the
location is the shim directory.

invoke-build.cmd

Redundant because Invoke-Build package comes with its own helper
ib.cmd, specifically crafted.
Potential issue 339.

invoke-builds.ps1

Presumably should work fine but PowerShell help is also not available.

invoke-builds.cmd

Very difficult to use, if possible. Invoke-Builds.ps1 is designed for
calls from PowerShell because it accepts a rather complex hashtable of
parameters, fine to compose in a PowerShell script, difficult in CMD.

With the proposed change scoop installs Invoke-Build ideally. It is immediately
ready to use in the path and easy to uninstall with its path removed (tested).

I'm completely fine with doing it this way

Thanks!

Thank you for accepting this change.
I am about to recommend scoop for Invoke-Build installs "officially". Just one improvement is needed for the manifest, the reliable "checkver". I will PR after some research and tests.


⚠ Bofrost.be has degraded performance

In 261c6cd, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 950 ms

Resolved: Bofrost.be performance has improved in 927116b after 13 minutes.


Add support for S3 custom endpoint with kaniko

/kind feature
Currently fairing does not support custom S3 providers (like minio) with kaniko. There is a PR in kaniko https://github.com/GoogleContainerTools/kaniko/pull/698 that adds support for custom S3 endpoints.  It would be great if fairing will support this feature.

If minio-context exists as a context builder, it is likely to replace the S3 custom endpoint. I will upload my class as a pull request.


Fixed data storing for AVG Pooling with PostOps on avx2

Openvino PR:

https://github.com/openvinotoolkit/openvino/pull/9325

@egorshul Please fix commit message. That one is not appropriate.

@dmitry-gorokhov The commit message is fixed.


[Extension] First project not visible

I followed the Show&Tell instructions and installed the extension. I just added my first project: open the sidekick via bookmarklet, click the share button, go to that page, click "ok" to add to extension and click "ok" to open extensions.
First observation: the project I just added is not there.
Second observation: I pasted the share url to add the project again and it says the project has already been added.
See

:tada: This issue has been resolved in version 3.23.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


WIP GHA local mode

The design of this feature no longer requires the same amount of integration, now only a (couple of ?) environment variables should do the trick, so another PR could be opened in that sense when/if the target PR in sccache itself is merged.


LanceDB Blog on Colpali

Hi team,
I found this read by Ayush Chaurasia [LanceDB] very helpful, where he discusses how they are efficiently handling late interaction with LanceDB.
I recommend to kindly add this as well in readme section.
https://blog.lancedb.com/late-interaction-efficient-multi-modal-retrievers-need-more-than-just-a-vector-index/
P.S. https://www.linkedin.com/posts/ayushchaurasia_late-interaction-efficient-multi-modal-activity-7242162522974273538-xLGp?utm_source=share&utm_medium=member_desktop
Thanks.

Thanks @Jaykumaran for the recommendation, I've just updated the community section as suggested 👋🏼


Error installing Capsule on Kind cluster: connection refused when trying to retrieve Capsule configuration

Bug description
There is an error when installing the Capsule on a fresh Kind cluster (version 1.24.1) using the command
kubectl apply -f https://raw.githubusercontent.com/clastix/capsule/master/config/install.yaml.

The controller log shows a panic message stating that the Capsule configuration (named "capsule-default") cannot be retrieved due to a conversion webhook failure, caused by a connection refused error when trying to connect to the address "https://capsule-webhook-service.capsule-system.svc:443/convert?timeout=30s". The default CapsuleConfiguration resource was created, but it appears to be missing certain overrides and may not be properly configured.
$ k get capsuleconfigurations.capsule.clastix.io  capsule-default -o yaml
apiVersion: capsule.clastix.io/v1beta2
kind: CapsuleConfiguration
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"capsule.clastix.io/v1beta2","kind":"CapsuleConfiguration","metadata":{"annotations":{},"name":"capsule-default"},"spec":{"enableTLSReconciler":true,"forceTenantPrefix":false,"protectedNamespaceRegex":"","userGroups":["capsule.clastix.io"]}}
  creationTimestamp: "2023-01-03T15:58:45Z"
  generation: 1
  name: capsule-default
  resourceVersion: "1164"
  uid: f3ead9af-4cb8-4e04-b494-f1a0fb76c145
spec:
  enableTLSReconciler: true
  forceTenantPrefix: false
  overrides:
    TLSSecretName: capsule-tls
    mutatingWebhookConfigurationName: capsule-mutating-webhook-configuration
    validatingWebhookConfigurationName: capsule-validating-webhook-configuration
  protectedNamespaceRegex: ""
  userGroups:
  - capsule.clastix.io

How to reproduce
Steps to reproduce the behavior:

Create a kind cluster:

$ kind create cluster --image kindest/node:v1.24.1 --wait 5m --name capsule

Apply the install manifest from the documentation:

$ kubectl apply -f https://raw.githubusercontent.com/clastix/capsule/master/config/install.yaml

Expected behavior
The expected behavior for this bug is for the Capsule to be successfully installed on the Kind cluster without any errors or issues. This includes the creation and proper configuration of the default CapsuleConfiguration resource, as well as the successful execution of any necessary webhooks. The installation process should complete without any panics or connection issues.
Logs
2023-01-03T16:01:30.291Z	INFO	setup	Capsule Version v0.1.3 eba072c
2023-01-03T16:01:30.291Z	INFO	setup	Build from: https://github.com/clastix/capsule
2023-01-03T16:01:30.291Z	INFO	setup	Build date: 2022-12-02T14:34:21
2023-01-03T16:01:30.291Z	INFO	setup	Go Version: go1.18.8
2023-01-03T16:01:30.291Z	INFO	setup	Go OS/Arch: linux/amd64
2023-01-03T16:01:30.546Z	INFO	controller-runtime.metrics	metrics server is starting to listen	{"addr": ":8080"}
panic: Cannot retrieve Capsule configuration with name capsule-default: conversion webhook for capsule.clastix.io/v1beta2, Kind=CapsuleConfiguration failed: Post "https://capsule-webhook-service.capsule-system.svc:443/convert?timeout=30s": dial tcp <IP_ADDRESS>:443: connect: connection refused

goroutine 1 [running]:
github.com/clastix/capsule/pkg/configuration.NewCapsuleConfiguration.func1()
	/workspace/pkg/configuration/client.go:41 +0x1f9
github.com/clastix/capsule/pkg/configuration.capsuleConfiguration.EnableTLSConfiguration({0x1815e48?})
	/workspace/pkg/configuration/client.go:82 +0x22
main.main()
	/workspace/main.go:145 +0xa11

Additional context

Capsule version:  v0.1.3
Kubernetes version: v1.24.1

It appears that the issue is related to the controller not being able to retrieve the TLS configuration when installing the Capsule using the manifest file. It seems that the secrets necessary for the TLS configuration are being created, but they are empty, which is causing the controller to fail when it attempts to retrieve the TLS certificates.
Alternatively, if installing the Capsule using the Helm chart has been successful, it may be helpful to use the Helm chart as the primary method for installing the Capsule, as it includes a post-job that generates the TLS configuration data and helps to ensure that the controller can retrieve it successfully.

Hi @smileisak
Thanks for the interest in the project.
We are right now in the process of introducing a new API Version. We have verified all of our changes (also with our e2e testing) against the Helm installation.
We recommend Installation by Helm Chart. Can you try if that works for you?
I will take a look after we have done the new release, what the problem is with the install.yaml :)

The problem here is that the single YAML manifest (install.yaml) is taken directly from the main branch which is addressing several changes and enhancements.
The image referenced in that manifest (v0.1.3) is not aware of the changes requested and addressed in the CRD that is evolving on that branch, thus, Capsule tries to request a conversion from CapsuleConfiguration v1beta2 to v1alpha1, and the CapsuleConfiguration is required at startup time to start the Operator with the required settings.
I would suggest @smileisak install from the single YAML manifest using a permalink referenced to a version such as the v0.1.3 or by using the Helm chart which is versioned properly and way much more tested.

I'll check if in the documentation we're referring to the single YAML manifest and, in case of direct master permalink, I'll let point it to a stable version.

Updating the documentation to include this information could be helpful for others who may encounter this issue in the future. It may also be helpful to consider adding this annotation to the manifest file by default, to ensure that the required certificates are always generated and the webhook functions properly when installing Capsule using the manifest file.

With the latest changes that are going to be released with v0.2.0, and the related promotion of CapsuleConfiguration to v1beta2, the issue is no anymore showing.


AttributeError: module 'keras.backend' has no attribute 'is_tensor'

Generating SAM seg:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 488, in run_predict
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1431, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1109, in call_function
prediction = await anyio.to_thread.run_sync(
File "/usr/local/lib/python3.10/dist-packages/anyio/to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 807, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/dist-packages/gradio/utils.py", line 706, in wrapper
response = f(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/content/drive/MyDrive/Colab Notebooks/EditAnything-main/EditAnything-main/annotator/util.py", line 86, in wrapper
result = func(self, *args, **kwargs)
File "/content/drive/MyDrive/Colab Notebooks/EditAnything-main/EditAnything-main/editany_lora.py", line 743, in process
control = einops.rearrange(control, "b h w c -> b c h w").clone()
File "/usr/local/lib/python3.10/dist-packages/einops/einops.py", line 424, in rearrange
return reduce(tensor, pattern, reduction='rearrange', **axes_lengths)
File "/usr/local/lib/python3.10/dist-packages/einops/einops.py", line 368, in reduce
return recipe.apply(tensor)
File "/usr/local/lib/python3.10/dist-packages/einops/einops.py", line 203, in apply
backend = get_backend(tensor)
File "/usr/local/lib/python3.10/dist-packages/einops/_backends.py", line 49, in get_backend
if backend.is_appropriate_type(tensor):
File "/usr/local/lib/python3.10/dist-packages/einops/_backends.py", line 513, in is_appropriate_type
return self.K.is_tensor(tensor) and self.K.is_keras_tensor(tensor)
AttributeError: module 'keras.backend' has no attribute 'is_tensor'

Can you please show how to reproduce this error? Thanks.


[Improvement] Add params to Challenge

At the moment, Challenge only contains the auth scheme name and realm. To provide authentication other than Basic, this is not enough. For instance, for Digest auth, there are various parameters which have to be parsed and processed.
I suggest to improve the Challenge class so that it contains not only auth scheme name and realm, but also a list of auth parameters, so that implementors don't have to parse WWW-Authenticate again and can use okhttp's Challenge instead, which would reduce redundancy. Logically, it sounds reasonable for me that a HTTP framework prepares authentication challenges in a way that they're already usable by authenticators.
For a suggested layout of Challenge, please have a look at this HttpUtils.AuthScheme. It contains the auth scheme name, parsed unnamed parameters and parsed named parameters.
For a suggested parsing algorithm of WWW-Authenticate that generates such parameterized challenge instances, please see HttpUtils.parseWwwAuthenticate and its tests. It handles challenges without parameters, with RFC-compliant parameters (param=value), and with unnamed parameters (like used in Negotiate).

Is this for digest authentication? Consider using this project:
https://github.com/rburgst/okhttp-digest
At the moment we have no specific plans to offer digest authentication in OkHttp itself.

It's not only for Digest authentication, but for any authentication that requires parameters (i.e. any except Basic auth). I have already done a working Basic/Digest implementation (without strange imported code from Apache HttpClient). I just think

it's unnecessary overhead to parse WWW-Authenticate headers multiple times (one time in Challenge, and then the authenticator/authentication interceptor has to parse everything again),
and that it be in the scope of an HTTP framework to parse and prepare the authentication headers for its authenticators (especially because every authenticator would have to implement the same redundant parsing code itself, as it's a HTTP thing).

However, it seems that you have another opinion, which is absolutely OK. Thanks for your great (and free) work.

Cool! Maybe the thing I’m missing is that OkHttp doesn’t attempt to implement authentication for arbitrary servers. We assume that callers know if they need basic vs. digest, whereas dav4android doesn’t make that assumption.
Wanna submit the enhancements?

Yes, the dav4android methods are designed to be independent of the actual authentication method.
To implement my suggestion, I'd

enhance Challenge to also store unnamed and named parameters so that authenticators can use response.challanges() to get all required information without parsing headers itself;
change the List<Challenge> parseChallenges(Headers responseHeaders, String challengeHeader) method so that it extracts name and parameters from challengeHeader.

I also agree that Challenge class should have a set of parameters (not only scheme and realm).

Seems that as of v3.8 this hasn't been implemented. Should the milestone be updated or am I missing something?


Need Information on how we sync information on APIM product which deployed different data centers

Description:
Please include information on how we can sync the throttling policies and deployment data in two different data centers or multi regions.
Suggested Labels:
Type/Docs
Type/Improvement
Severity/Critical
Priority/High

This is a bit of an advanced topic. So we have covered this from a library article. You could refer to this document https://wso2.com/library/article/deploying-wso2-api-manager-in-a-multi-dc-environment/ for this information


provisioning error "The resource 'Private Network' is in use."

In local testing of #34, I ran into this error (which has not cropped up in integration tests).  My configuration (terraform.tfvars) is identical to the ones used in the integration tests, although my account has different entitlements than the Terraform testing account.
I'm logging this issue expected that it will come up again, perhaps this is triggered by a race condition.
null_resource.apply_esx_network_config[1] (remote-exec): Successfully created vSwitch  vSwitch1
null_resource.apply_esx_network_config[1] (remote-exec): Successfully created PortGroup  VM Private Net 1
null_resource.apply_esx_network_config[1] (remote-exec): Successfully created PortGroup  Management
null_resource.apply_esx_network_config[1] (remote-exec): Successfully created PortGroup  vMotion
null_resource.apply_esx_network_config[1] (remote-exec): Successfully created PortGroup  vSAN
null_resource.apply_esx_network_config[1] (remote-exec): Successfully created PortGroup  VM Public Net 1
null_resource.apply_esx_network_config[1] (remote-exec): Trying to connect to ESX Host . . .
null_resource.apply_esx_network_config[1] (remote-exec): Connected to ESX Host !
null_resource.apply_esx_network_config[1] (remote-exec): Removing vNic: vmk0
null_resource.apply_esx_network_config[1] (remote-exec): Removing Port Group: VM Network
null_resource.apply_esx_network_config[1] (remote-exec): Removing Port Group: Private Network
null_resource.apply_esx_network_config[1] (remote-exec): Traceback (most recent call last):
null_resource.apply_esx_network_config[1] (remote-exec):   File "/root/bootstrap/esx_host_networking.py", line 474, in <module>
null_resource.apply_esx_network_config[1] (remote-exec):     main()
null_resource.apply_esx_network_config[1] (remote-exec):   File "/root/bootstrap/esx_host_networking.py", line 369, in main
null_resource.apply_esx_network_config[1] (remote-exec):     host_network_system.RemovePortGroup(pgroup[23:])
null_resource.apply_esx_network_config[1] (remote-exec):   File "/usr/local/lib/python3.6/dist-packages/pyVmomi/VmomiSupport.py", line 706, in <lambda>
null_resource.apply_esx_network_config[1] (remote-exec):     self.f(*(self.args + (obj,) + args), **kwargs)
null_resource.apply_esx_network_config[1] (remote-exec):   File "/usr/local/lib/python3.6/dist-packages/pyVmomi/VmomiSupport.py", line 512, in _InvokeMethod
null_resource.apply_esx_network_config[1] (remote-exec):     return self._stub.InvokeMethod(self, info, args)
null_resource.apply_esx_network_config[1] (remote-exec):   File "/usr/local/lib/python3.6/dist-packages/pyVmomi/SoapAdapter.py", line 1397, in InvokeMethod
null_resource.apply_esx_network_config[1] (remote-exec):     raise obj # pylint: disable-msg=E0702
null_resource.apply_esx_network_config[1] (remote-exec): pyVmomi.VmomiSupport.ResourceInUse: (vim.fault.ResourceInUse) {
null_resource.apply_esx_network_config[1] (remote-exec):    dynamicType = <unset>,
null_resource.apply_esx_network_config[1] (remote-exec):    dynamicProperty = (vmodl.DynamicProperty) [],
null_resource.apply_esx_network_config[1] (remote-exec):    msg = "The resource 'Private Network' is in use.",
null_resource.apply_esx_network_config[1] (remote-exec):    faultCause = <unset>,
null_resource.apply_esx_network_config[1] (remote-exec):    faultMessage = (vmodl.LocalizableMessage) [],
null_resource.apply_esx_network_config[1] (remote-exec):    type = vim.host.PortGroup,
null_resource.apply_esx_network_config[1] (remote-exec):    name = 'Private Network'
null_resource.apply_esx_network_config[1] (remote-exec): }

I changed the EM account to match the one used by the Terraform testing and this error no longer occurred. 🤔
My terraform.tfvars settings were the same (aside from organization_id, and auth_token).

Thanks for your previous interest in this project.
I'm closing all open issues to deprecate and archive this project.
See #65 for more details.


fix: clarify how to create multiple box shadows (Issue: #35534)

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #35534
Made the required changes asked by @erictleung to resolve issue #35534 . I have tested the changes locally and its working.

Thanks for your suggestion @ojeytonwilliams . I have commited the changes you suggested.

@BA1RY Thank you for your contribution to the page! :+1:
We're happy to accept these changes, and look forward to future contributions. :memo:

@ojeytonwilliams I sent you a DM on Gitter.


UnsafeCallOnNullableType is not working

Expected Behavior
By enabling UnsafeCallOnNullableType I expect that !! will be not allowed.
Observed Behavior
!! is still allowed in code, even properly is optional.
Steps to Reproduce
exact code from the documentation
  fun foo(str: String?) {     println(str!!.length)   }
Context

Your Environment

Version of detekt used: 1.21.0
Version of Gradle used (if applicable): 8.0.2
Operating System and version: Windows 11

Hi @alexcibotari I think you are running the detekt w/o type resolution(i.e., plain ./gradlew detekt). While UnsafeCallOnNullableType requires type resolution. Can you add your gradle setup for the detekt?

Can you please provide example of it

Can you please provide example how exactly should I run it.

You should be fine by invoking detektMain instead of detekt
More on this: https://detekt.dev/docs/gettingstarted/type-resolution/#enabling-on-a-jvm-project

This issue is waiting for authors feedback since 30 days. Please comment providing the requested feedback or this issue will be closed in 7 days.


0.4.0 Allow specifying serialization per input, output, callbacks

Refactors the code to make it more readable and maintainable by splitting code generation and information extraction. This allows more granular testing (will add more tests after this PR) and ability to extend the functionality. In the future it will also allow strict typing with Promises such that it won't be possible to construct chain of callbacks with incompatible types.
Breaking changes
Init method
Previously, when someone wants to have a method that accepts arguments and initializes the entire contract that would need to decorate the impl section like this:
#[near_bindgen(init => my_impl_method)]
impl MyContract {
  pub fn my_impl_method(arg0: SomeType) -> Self {
  }
  pub fn regular_method(&self, arg0: SomeOtherType) {
  }
}

when this feature was used every other non-init method would assume that the contract is initialized and would panic if it wasn't. If the feature is not used every method would assume that contracts implements Default trait and will call if it finds out the contract was not initialized before.
This approach had the following disadvantages:

We did not allow multiple initialization methods;
It was not possible to allow both default initialization and initialization using init methods;
An addition of a single init method will modify the behavior (generated code) of non-init methods. Image Alice implementing a smart contract with methods M1, M2, ... . Imagine, later Bob decides to add an initializer method I1, when he does it the wrapping code generated for M1,M2, ... will change to not use Default trait overturning the expectations that Alice had when she was implementing her methods;
Nit. Duplication of the method name, my_impl_method had to be written twice.

The new syntax is the following:
#[near_bindgen]
impl MyContract {
  #[init]
  pub fn my_impl_method1(arg0: SomeType) -> Self {
  }
  #[init]
  pub fn my_impl_method2(arg0: SomeType1, arg1: SomeType2) -> Self {
  }
  pub fn regular_method(&self, arg0: SomeOtherType) {
  }
}

It allows multiple init methods, but it still requires the contract to implement the Default trait. If contract developer wants to prohibit default initialization and have the old behavior when the contract panics if it was not initialized they can implement Default trait like this:
impl Default for MyContract {
  fn default() -> Self {
    panic!("This contract prohibits default initialization")
  }
}

Note, that for most Rust contracts it is safe to auto-derive this trait: #[derive(Default)].
Callbacks
Previously when a method expects an information passed as a callback it needs to decorate itself like this specifying which arguments should be read from the callback rather than env::input():
#[near_bindgen]
impl MyContract {
   #[callback_args(arg0, arg2)]
   pub fn subscribed_to_callback(&self, arg0: A, arg1: B, arg2: C) {
   }
}

If it unknown what is the number of the callback arguments then one can use the following syntax to get them all if they are of the same type:
#[near_bindgen]
impl MyContract {
   #[callback_args_vec(arg1)]
   pub fn subscribed_to_callback(&self, arg0: A, arg1: Vec<B>, arg2: C) {
   }
}

This had the following disadvantages:

We cannot have multiple different ways to access the callback arguments (for instance have both callback_args and callback_args_vec);
Nit. Duplication of argument names.

The new format is the following:
#[near_bindgen]
impl MyContract {
   pub fn subscribed_to_callback(&self, arg0: A, #[callback_vec] arg1: Vec<B>, #[callback]  arg2: C, arg3: D, #[callback] arg4: E) {
   }
}

Also, in addition one can use the same signature for the traits that describe the external contracts:
trait SomeExternalContract {
  fn method_we_call_with_callback(&self, &self, arg0: A, #[callback_vec] arg1: Vec<B>, #[callback]  arg2: C, arg3: D, #[callback] arg4: E);
}

New features
Flexible serialization
Previously all contract API was serialized with JSON which had the following issues:

JSON consumed too much gas. Some smart contracts would have 80% of their gas spent only on parsing JSON, even making some of the contract unfeasible because they would exceed the maximum gas limit, e.g. Eth bridge;
JSON does not allow any Rust type;
Binary blobs are difficult with JSON. E.g. if someone want to pass a binary blob they would need to base64 it;
JSON is a lot of code that needs to be compiled into a contract.

The alternative to JSON that does not have the above disadvantages is binary serialization, e.g. Borsh. Unfortunately binary serialization (not just Borsh) has the following disadvantages:

It is not self-descriptive;
Unlike JSON it is not a well-known format natively supported by many frameworks and languages.

Therefore we want to allow specifying various serializations in a single contract.
Now each contract method can has a different serialization/deserialization format for the following component independenty:

All input args can have a different format (note, input args should all have the same format within a given contract method);
Callback args can have different formats;
Result of the method can have a different format.
E.g.:

#[near_bindgen]
impl MyContract {
  #[init]
  pub fn f1(#[serializer(borsh)] arg0: SomeType) -> Self {
  }

  #[result_serializer(borsh)]
  pub fn f2(#[serializer(json)] arg0: SomeType1, #[serializer(json)] arg1: SomeType2) -> Something{
  }

  #[result_serializer(borsh)]
  pub fn f3(&self, #[callback] #[serializer(borsh)] callback0: A, #[callback] #[serializer(json)]
 callback1: B, #[serializer(borsh)] arg0: C, #[serializer(borsh)] arg1: D, callback2: E) ->  F {
  }
}

If serializer is not specified it is assumed to be JSON.
TODO:

[x] Update examples to use the new syntax.
[x] Update documentation in this repo

After new version is published:

[ ] Update https://github.com/nearprotocol/workshop

Next PR:

[ ] Add metadata function that returns JS schema for nearlib.

Super cool.
Is it possible to specify #[serializer(borsh)] for entire method or for entire impl?

Super cool.
Is it possible to specify #[serializer(borsh)] for entire method or for entire impl?

This is not the case yet. Currently one needs to specify this attribute on each individual argument, and where JSON is chosen by default when nothing is specified. We can add this functionality later, currently it is a nice to have but not a requirement for EthDenver.

@evgenykuzyakov Please review. I have fixed examples, docs and tested cross contract calls with Borsh.

Actually. Going to approve to unblock the current version. But ideally we should have a flag that makes Default disabled.
If you don't want to address issues mentioned above, just create TODOs

@evgenykuzyakov  Thank you. I have tried to rationalize the change in the description (I have updated it since your last message).


Refactor application places

[x] tests and linter show no problems (npm t)
[ ] tests are added/updated for bug fixes and new features
[x] code is properly formatted (npm run fmt)
[ ] description of changes is added in CHANGELOG.md
[x] update .d.ts typings

Landed in https://github.com/metarhia/impress/commit/e60413728252e3ea1c7478764a3485bfa139aee0, https://github.com/metarhia/impress/commit/a70596bb3493f28e9e05c7851b2134ac1dde7917, https://github.com/metarhia/impress/commit/3422523465952b59944de26a6b2f51c665c59022, and https://github.com/metarhia/impress/commit/989612cb2a9e02bf07ff1d7bb3885e883bfbaa09


move react and react-dom to peerDependencies

Having react and react-dom in the dependencies breaks apps because of multiple versions of react. I ran into this because i used hooks. Moving them to peerDependencies solves this issue.

I ran into this issue as well and came to the same conclusion as @jaapbakker88.


Not returning json when Content-Type Header is application/fhir+json

curl -v  -H " application/fhir+json; charset=utf-8" http://spark.kufu.no/fhir/CapabilityStatement
returns xml - is this expected?

its actually a html table - closing the issue - I was able to get json output using
curl -v  -H " application/fhir+json; charset=utf-8" http://spark.kufu.no/fhir/Patient/237/_history/1?_format=json

Btw, your curl statement is not setting the Accept header, it should be like this:
curl -v -H "Accept: application/fhir+json; charset=utf-8" http://spark.kufu.no/fhir/CapabilityStatement


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes.

Bicep or Terraform?
Terraform
Module Classification?
Pattern Module
Module Name
avm-ptn-ai-platform-baseline
Module Details
The AVM-PTN-AIPlatform module aims to provide a secure and scalable environment for deploying AI applications on Azure. This module will encompass all essential components required for building, managing, and observing AI solutions, including a machine learning workspace, observability tools, and necessary data management services. By integrating with Microsoft Entra ID for secure identity management and utilizing private endpoints for services like Key Vault and Blob Storage, the module ensures secure communication and data access.

The architecture includes a virtual network with dedicated subnets for different functionalities, such as a jump box subnet and private endpoint subnet, with secure remote access provided through Azure Bastion. Managed AI services within the Azure AI Hub connect to managed online endpoints, compute instances, and serverless services, offering a scalable solution for AI project management. Additionally, the module integrates Azure Storage Account, Azure Key Vault, and Azure Container Registry for comprehensive data management, while Azure Monitor and Application Insights provide real-time monitoring and observability of AI applications and resources.
Overall, the AVM-PTN-AIPlatform module offers a robust pattern for deploying AI applications on Azure, leveraging Azure’s extensive suite of services and features to provide a comprehensive environment for AI development. By ensuring enhanced security through private endpoints and managed identities, and by providing scalable and efficient management tools, this module facilitates the seamless deployment and operation of AI solutions at scale.
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username (handle)
Nepomuceno
(Optional) Secondary Module Owner's GitHub Username (handle)
shanepeckham
PS: Changed the name to align with #1150

Tagging @cecheta for reference

Thank you for the proposal @Nepomuceno, considering PMNFR2, how are you planning to implement the Azure AI Studio Hub, using azurerm_machine_learning_workspace or in the form of a resource module which afaik doesn't exist yet?

azurerm_machine_learning_workspace it is being implemented ar
https://github.com/Azure/terraform-azurerm-avm-res-machinelearningservices-workspace/

Hi @Nepomuceno
Thanks for requesting/proposing to be an AVM module owner!
We just want to confirm you agree to the below pages that define what module ownership means:

Team Definitions & RACI
Shared Specification (Bicep & Terraform)
Module Support

Any questions or clarifications needed, let us know!
If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team
#RR

I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

Hi @Nepomuceno
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
Before starting development, please ensure ALL the following requirements are met.
Please use the following values explicitly as provided in the module index page:

For your module:

ModuleName - for naming your module
TelemetryIdPrefix - for your module's telemetry

For your module's repository:

Repo name and folder path are defined in RepoURL
Create GitHub teams for module owners and contributors and grant them permissions as outlined here.
Grant permissions for the AVM core team and PG teams on your GitHub repo as described here.

Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. 👍
You can now start the development of this module! ✅ Happy coding! 🎉
Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR, once available. 🙏
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

@prjelesi This needed to be renamed for business resons to terraform-azurerm-avm-ptn-ai-reference-implementation https://github.com/Azure/terraform-azurerm-avm-ptn-ai-reference-implementation

We are abandoning this for now and moving with a different motion might come back in few months but would ask to reopen the issue them.

We are abandoning this for now and moving with a different motion might come back in few months but would ask to reopen the issue them.

Closing this proposal for now based on the above


Make an EventStream active based on a SimpleObjectProperty's bean value

How do I make an EventStream active only when an ObjectProperty's bean matches a specific value? (In this case, the ObjectProperty holds an Enum.) As of right now, a stream is always active unless suspended when an Observable is true. What's the best way to reverse this (an EventStream is active only when an ObjectProperty holds a specific value)?
enum State {
    UNFINISHED,
    CONNECTED,
    ROOT
}
SimpleObjectProperty<State> state = new SimpleObjectProperty(State.UNFINISHED)

I want to create 3 EventStreams, each of which are only active when 'state' holds a specific value:

Stream A is only active when state's bean == State.UNFINISHED
Stream B is only active when state's bean == State.CONNECTED
Stream C is only active when state's bean == State.ROOT

EventStream<T> stream = ...;

EventStream<T> streamA = stream.suppressWhen(Bindings.notEqual(state, State.UNFINISHED));
EventStream<T> streamB = stream.suppressWhen(Bindings.notEqual(state, State.CONNECTED));
EventStream<T> streamC = stream.suppressWhen(Bindings.notEqual(state, State.ROOT));

Excellent! Thank you sir!


Should note that ApiController attribute might need compatibility setting

The ApiController attribute might not work unless the services.SetCompatibilityVersion(CompatibilityVersion.Version_2_1) is set in startup - see https://github.com/aspnet/Mvc/issues/7546

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

ID: b391017f-25e1-d5e1-c4f7-020408ade7b5
Version Independent ID: 263a7b64-2e42-bbfc-c1d3-61680438e1e4
Content: Build web APIs with ASP.NET Core
Content Source: aspnetcore/web-api/index.md
Product: aspnet-core
GitHub Login: @scottaddie
Microsoft Alias: scaddie

Asp.Net Core 2.1, ApiController works without compability setting perfect


Update CI build status image in README

A minor drive-by commit, forces CI indicator on the main page to point only to master builds. Otherwise failing C canI make wrong first impression.
Before:

After:

Current coverage is 65.48% (diff: 100%)

Merging #78 into master will not change coverage

@@             master        #78   diff @@
==========================================
  Files            45         45
  Lines          2529       2529
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1656       1656
  Misses          698        698
  Partials        175        175

Powered by Codecov. Last update 320cb47...0628e05

Thanks @bzz  LGTM.


VirusTotal and And Windows defender is detecting binaries as virus why ?

Hi @coolb0y
I really have no clue, I checked on another PC i have, with windows defender and there is no threat found. On Virus Total I got 6 of 56 systems showing a trojan warning. I do not know why, I assume because the tool searches for files. This is a requirement to find the files to convert.
In case you doubt my intention I recommend to either check the code and compile the software yourself or to not use it. I ensure you I put not a trojan inside the tool. However, I used some open source libraries which I did not check.
Best Sascha


added timeout to Jenkins test stages

added timeout to Jenkins test stages
fixed bug in kubernetes/test.sh

@dmitsh,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Update to subscriptions / elm 0.17

Are there any plans to port this to elm 0.17 using subscriptions? That would be great!

Unfortunately, Evan revoked my whitelist access so I wouldn't be able to publish to elm-package. That's discouraged me from updating this library. If there's tremendous interest in a bootleg package, I can investigate (but I have some other Elm stuff higher on my todo list).
Related: #7

Socketio is different from websockets. So I think there is a place for elm-socketio. I guess we could leave this ticket open and see if there is any demand.


Guide: Plex setup

hotfix for plex issues connected with Homarr dashboard
Guide: Plex setup

I'm not sure where this is supposed to fit on the page. I am pretty sure the way you did it wouldn't create any new webpage.
But it raises the following question: @manuel-rw do you think we could have some kind of community-guides page where we kind of throw all the user-made guides ?
It Could be beneficial to promote people making videos about homarr or guides like these
Anyways thanks for your submission @Venezia1337 , we'll read it and find a place to fit it that would be make sense as part of homarr's documentation

Separate page or FAQ page I'd say

@Venezia1337 This is getting a bit stale, would you mind moving it to somewhere else as per @manuel-rw comment ?

Closing because not updated


Pass hash argument to mutating methods

Since multiple threads may share an instance of GELF::Notifier,
the @hash payload should be passed around to each mutating method
as an argument instead of being an instance variable.

:+1: Thank you for the patch! I'll need to check back with the team about whether everyone still needs to sign the CLA, but will gladly merge this once that has been cleared up.


Design/Implementation Comments

I went through and wrote (or tried to) a dummy version of our Deposit API with what is on master. I know there are issues that tackle some of the elements I raise here, but probably not for all of them. If these issues are solved in pending PRs great!
Endpoints implemented:

post/get/put draft,
publish draft,
get published records

I have NOT tried the 2nd use case: be an application developer that configures the created API. Nevertheless I listed some issues related to that.

Resource().create and other methods are missing *args, **kwargs and/or other parameter (see later). This was mentioned by Lars.

As an API creator I need to provide a Config separately
--> little strange
--> little confusing bc now there will be the library's Config class and the application's
Config class
--> For the Deposit API, with 5 endpoints, I had to create 6 classes. With 2 classes per action endpoint...

(2nd use case) To be able to configure the Deposit API by creating another Config class, Resource should check somewhere for my configured class  TODO: Resource should check global config to override the used ResourceConfig
This is the hook to let others configure this API, right?

create() method must return a serializable object : must be indicated

Would be nice if create() method defaulted to 201 status code (nice-to-have)

We should just follow the body,status,headers return of Flask view if my memory serves. I need to double-check that.

Naming: For post, I need to implement "create" method... why not have to implement 'post_item', get_list... methods? i.e. verbs that match the HTTP verbs with _item or _list appended

deserialization is magic from the API creation point of view:

"Where do parameters to create/read... come from?" I ask myself as a developer
adding <id> in the route and in the read(self, id) method just works... until it doesn't

id is a built-in python method that we should not override
With item_route = "/records/<id>/draft", def update(self, id, data) breaks (should be reverse)
With item_route = "/records/<data>/draft", def update(self, id, data) breaks  because of name clash

default to json is a little bit magic

DepositResource is created once only as opposed to the MethodView approach. Little wrinkle there.

if an HTTP verb corresponding method (read, create....) is not defined, accessing the endpoint should return 405. It doesn't do that for update for instance, because load_request is attempted first which may result in 400 even if the method is not defined at all. try-except must be done twice and checked to solve this. We can't rely on pre-running the method because it may have side-effects.

Error order should be 404 if no route at all (first), then 405 if route but no method, then 400 if bad request. I think in this precedence order.

Being able to attach actions to same resource would be much better UX than what we have. As mentioned we need 2 classes per 1 action endpoint.

thinking about using decorators but it might get messy too:

@action(route="", parser="...")
def actionA(self, *Args, **kwargs)
    pass

having to define init to pass configuration is heavy

class DepositActionResource(SingletonResource):
    default_config = ResourceConfig

seems lighter

list_route for SingletonResource is confusing and in fact an item-level action such as publish is not possible right now

Why is CollectionResource different than Resource? Could we combine both into 1?
Unimplemented route should return appropriate HTTP code anyway

collections.py L40 search is missing request_context -> goes back to the discussion
about deserialization

if the deserializer for an Accept MIMEtype is not defined, we get data of value None rather than a 415 HttpException

decorators on MethodView apply to all view methods, so we don't want that if
possible (and it is possible: flask-restful does it)

We talked about pagination, error cases, Etags and even sign posting when it comes to building the Response. Rate limiting is another scenario not to forget.

these are the tests I've been playing with: https://github.com/inveniosoftware/flask-resources/pull/27

Answering in-line... Mostly with issues or PR links. Also shortening the question/point made, the full one is in the issue description anyway.

Resource().create and other methods are missing *args, **kwargs and/or other parameter (see later). This was mentioned by Lars.

Fixed in https://github.com/inveniosoftware/flask-resources/pull/26

As an API creator I need to provide a Config separately

Opened https://github.com/inveniosoftware/flask-resources/issues/33

create() method must return a serializable object : must be indicated

Since this only affects "Deposit/Draft", "Record" and "Tombstone" objects
(may be others), which are Invenio specific the SerialiableMixin was moved
to invenio-resources. Opened issue https://github.com/inveniosoftware/invenio-resources/issues/9
In addition, the SerialiableMixin is not implemented by any default class of Flask-Resources
nor (needed), which led to the thought that it did not belong there.

Would be nice if create() method defaulted to 201 status code (nice-to-have)

Opened https://github.com/inveniosoftware/flask-resources/issues/34

We should just follow the body,status,headers return of Flask view if my memory serves. I need to double-check that.

This is already the case. See here.
Or do you mean do a simple return and let the view handle the make_response?

Naming: For post, I need to implement "create" method... why not have to implement 'post_item', get_list... methods?...

I sort of disagree on this point, because it breaks the whole
point of having a Resource. If we are gonna have duplicated names,
it is not worth to do the implementation of the ResourceView... IMHO.
Let's put it in the agenda for next discussions.

deserialization is magic from the API creation point of view:

Yes. Namings are not the best. There is also object in some places which is a reserved word too.
Needs refactoring. Opened https://github.com/inveniosoftware/flask-resources/issues/35

DepositResource is created once only as opposed to the MethodView approach. Little wrinkle there.

If I understand this correctly, it is actually what we want to achieve.
To have it centralized, independently of how it is represented (CollectionView, SingletonView, etc.)

if an HTTP verb corresponding method (read, create....) is not defined...

Opened https://github.com/inveniosoftware/flask-resources/issues/36

Error order should be 404 if no route at all (first), then 405 if route but no method, ...

Opened https://github.com/inveniosoftware/flask-resources/issues/36

Being able to attach actions to same resource would be much better UX...

Opened https://github.com/inveniosoftware/flask-resources/issues/37

having to define init to pass configuration is heavy

Related to: https://github.com/inveniosoftware/flask-resources/issues/33

list_route for SingletonResource is confusing and in fact an item-level action such as publish is not possible right now

Why is CollectionResource different than Resource? ...

IMO, Resource != CollectionResource != SingletonResource. They are different
in representation. Someone might want an item representation without the list
view part.

collections.py L40 search is missing request_context -> goes back to the discussion
about deserialization

Fixed in https://github.com/inveniosoftware/flask-resources/pull/31

if the deserializer for an Accept MIMEtype is not defined, we get data of value None rather than a 415 HttpException

This is because right now content-type is hardcoded... https://github.com/inveniosoftware/flask-resources/blob/master/flask_resources/content_negotiation.py#L93
Should be treated at https://github.com/inveniosoftware/flask-resources/issues/14

decorators on MethodView apply to all view methods, so we don't want that if
possible (and it is possible: flask-restful does it)

Don't we? Some decorators are applied to every single one of the methods...
It is true that there are some issues with the current approach (see more in comment
in https://github.com/inveniosoftware/flask-resources/pull/26)

We talked about pagination, error cases, Etags and even sign posting when it comes to building the Response. Rate limiting is another scenario not to forget.

True, should it be a discussion point? Although most of this will come into invenio-resources

Most of these have been addressed. New issues will be opened for any outstanding ones.


fix(sqli): clarify the return type

The injected payload results in a non-string result from em.getConnection().execute(query), causing a 500 response being sent to the client.
relates-to #244

@derevnjuk Please take a look


Remove unused timespans from log

Feature request
After a successful commit the application should ask to cleanup empty timespans from the committed timespans inside the current time-charging session.
before:
14.11.2022 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

08:00
ABC-1 foo
08:15
08:30
08:45
09:00
09:15
ABC-2 bar
09:30

after:
14.11.2022 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

08:00
ABC-1 foo
08:15
09:15
ABC-2 bar
09:30

Hi @deeaitsch84,
Thank you for your feedback. I am currently rewriting the parser. When finished this will allow me to easily to the cleanup task as you suggested. I would prefer to keep a line break between 08:15 and 09:15 to highlight the break. What do you think?

Hi,
this would be fine for me.
Thanks
Dennis


Gatsby example broken

Hello,
I have cloned the Gatsby example and when running gatsby develop it would say

Error: Cannot find module 'core-js/modules/es6.array.filter'

I solved the issue by doing npm install --save core-js
Should it be added to package.json ?

I'm closing for https://github.com/gatsbyjs/gatsby/issues/7862.


cmd/gofmt: inconsistent whitespace after map value type

Consider the following:
var _ = map[string]func() bool{
	"Func": func() bool {
		return false
	},
}

On one line it's go fmt'd as func() bool{ and as func() bool { on the other line. Note the space between bool and {.
In the previous case, this is the syntax for a map literal, while the latter is a function declaration.
Perhaps we should always output a space after a type expression (e.g., func() bool or chan bool) that contains a space?

CC @griesemer

Is this new at tip or has this behavior been present in Go 1.18 and earlier?

I believe this has been the behavior since forever.
Given that Go1.19 is going to cause lots of code churn anyways (due to godoc formatting). This might be the best time to fix all the little go fmt bugs.

Personally I like it better how it is now.
The change would increase consistency in a textual sense by making the two strings the same (func() bool {) but syntactically it's less consistent since how map (and slice, array, ...) literals are formatted depends on the spelling of the type.
With the way it is today, when one's eyes see the space (or not) it's an immediate clue about whether you're reading, for example, a map literal or a function literal. And that is a tiny boon to readability.


programmatically changing annotations

Prerequisites

v4.15.1
I hope so
Found some related issues but most of them had problems with the drawing-function itself.

Description
I want to load annotation from a DB or something similar into the cornerstone Tools and be able to edit them afterwards.
I already hooked into the events for saving meta-information about the single annotations.
Is that even possible, i looked through the store and the tools but couldn't even find the store for the annotations.
What am i missing?

You probably want to be looking at the ToolStateManager. You can get it by calling:
var el = document.getElementById('CornerstoneElement');
var stateManager = cornerstoneTools.getElementToolStateManager(el);

By default you'll be using the imageIdSpecificStateManager.
https://github.com/cornerstonejs/cornerstoneTools/blob/master/src/stateManagement/imageIdSpecificStateManager.js

Thanks for the answer. Got it worked out. Not sure if this is the best solution.
To SET for example ArrowAnnotations:
cornerstoneTools.clearToolState(this.element, 'ArrowAnnotator'); MeasurementArray.forEach((measurementData) => {     cornerstoneTools.addToolState(element, 'ArrowAnnotator', measurementData); });
To GET for example ArrowAnnotations:
const toolStateManager = cornerstoneTools.getElementToolStateManager(element); const toolState = toolStateManager.get(element, 'ArrowAnnotator'); const measurementData = toolState.data;

As a matter of fact, I have already posted an answer on StackOverflow that addresses this issue:
https://stackoverflow.com/a/73204850/2371987
In this answer, I explain how to use the clearToolState function to remove all states from the state manager corresponding to the name and element of that tool. I also provide some references and additional information that you may find helpful. If you have any further questions or concerns, please do not hesitate to ask.

i wanted to load annotation from code , below is my sample   const annotation = {
invalidated: false, // Whether the annotation data has been invalidated by e.g., moving its handles
highlighted: true, // Whether the annotation is highlighted by mouse over
isVisible: true,
annotationUID: "fffeed7b-7816-4d1a-8f51-18202b9f26b1", // The UID of the annotation
metadata: {
viewPlaneNormal:  [-0.06155037366661628, -0.02036620071150582, -0.9978961716381513] as [number, number, number],// The view plane normal of the camera
viewUp: [-0.023753562942147255, -0.9994787573814392, 0.021863622590899467] as [number, number, number], // The view up vector of the camera
FrameOfReferenceUID: "<IP_ADDRESS>.1<IP_ADDRESS>.4557795277953746265012973942050562024810235", // viewport's FrameOfReferenceUID the annotation has been drawn on
referencedImageId:"wadouri:https://orthanc:orthanc@mr-orthanc.shift-playgrounds.com:8081/instances/38b569cb-22c256f7-07f6e197-08363fab-4ec72194/file", // The image ID the annotation has been drawn on (if applicable)
toolName: "Length", // The tool name
},
data: {
handles: {
points: [[-100.56742742147189, -49.25666634824417, 66.16763968193578],[18.712716732979494, 3.2646742334327037, 57.73850862932346]]  as [number, number, number][], // The handles points in world coordinates (probe tool = 1 handle = 1 x,y,z point)
},
cachedStats: {
"imageId:wadouri:https://orthanc:orthanc@mr-orthanc.shift-playgrounds.com:8081/instances/38b569cb-22c256f7-07f6e197-08363fab-4ec72194/file": {
"length":<PHONE_NUMBER>3626444,
"unit": "mm"
}
}, // Stored Statistics for the annotation
},
}      cornerstoneTools.annotation.state.addAnnotation(annotation, imageSegment);
const toolGroup = ToolGroupManager.createToolGroup(this.toolGroupId);
toolGroup.addTool(ZoomTool.toolName);
toolGroup.addTool(PanTool.toolName);
toolGroup.addTool(StackScrollMouseWheelTool.toolName , { loop: true });
toolGroup.addTool(ArrowAnnotateTool.toolName);
toolGroup.addTool(StackScrollTool.toolName, { loop: true })
toolGroup.addTool(LengthTool.toolName, { loop: true })
toolGroup.setToolActive(StackScrollMouseWheelTool.toolName);
toolGroup.setToolActive(StackScrollTool.toolName, { bindings: [ { mouseButton: MouseBindings.Primary } ] });

await toolGroup.addViewport('RESULT-PREVIEW-STACK', resultPreviewStackCornerstone3DRenderingEngine);

const viewport = <Types.IStackViewport>(await renderingEngine.getViewport(resultPreviewStackRenderingEngineId));
await viewport.setStack( seriesInstanceUrls, liverLesionSliceIndex );
await viewport.render(); annotation not displaying on the image segement. kindly provide me the sample to draw length annotation from code

@manimarangit try doing viewport.render() after adding the new annotations.
Here is a working example demonstrating saving / restoring annotations:

clone this repo into your local machine, do yarn install
add the following code to the file package/tools/example/annotationToolModes/index.ts after viewport.render() on line 145:

  let annotations: cornerstoneTools.Types.Annotation[];

  const clearAnnotationButton = document.createElement('button');
  clearAnnotationButton.textContent = 'Save current annotations & clear';
  clearAnnotationButton.onclick = () => {
    annotations = cornerstoneTools.annotation.state.getAllAnnotations();
    cornerstoneTools.annotation.state.removeAllAnnotations();
    viewport.render();
  };

  const restoreAnnotationButton = document.createElement('button');
  restoreAnnotationButton.textContent = 'Restore saved annotations';
  restoreAnnotationButton.onclick = () => {
    cornerstoneTools.annotation.state.removeAllAnnotations();
    annotations.forEach((annotation) =>
      cornerstoneTools.annotation.state.addAnnotation(
        annotation,
        annotation.annotationUID
      )
    );
    viewport.render();
  };

  content.appendChild(clearAnnotationButton);
  content.appendChild(restoreAnnotationButton);

Run the example with command yarn run example annotationToolModes


Support for # comments?

It seems lines that start with # are not treated as comments. Can you add support for this?

Yes. It could be an alternative to ;.


Paper link

Hi, the paper is still under review. We will release the preprint version soon.

The issue is resolved and closed.


TS-4448 Remove superfluous \n in Debug() statements

Debug() will check for this anyways, so for consistency, we should remove these since it sets a better precedence going forward.

+1


”Urziceni” is listed in the drop-down menu

Description:
"Urziceni" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Urziceni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Urziceni, SATU MARE".


add authorization list

Add support for authorization list in configuration.yaml.
Example:
ocpp:
  default_authorization_status : 'Invalid'
  authorization_list:
    - id_tag : '123456789'
      name:  'accepted tag'
      authorization_states: 'Accepted'
    - id_tag : '987654321'
      name: 'expired tag'
      authorization_status: 'Expired'
    - id_tag : '987654321'
      name: 'blocked tag'
      authorization_status: 'Blocked'

still needs some more test coverage.

* is it worth adding the parentId to the configuration.yaml list?

That might be useful to group tags, for instance different tags that belong to the same person. Should be easy to add.

* is it worth defining anything other than accepted in the configuration.yaml as the default is either invalid (or could be blocked) and expired requires timing logic (eg tag authorised for 1h use)?

I just made it flexible enough to support all allowed responses. A charger could display a message with the reason that tag is not accepted.  As I understand it, providing an expiration time is mainly used for a localAuthList. We probably want to set LocalAuthListEnabled=False and handle authorization in home assistant.


⚠ PrivateHD has degraded performance

In 9f35926, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 3028 ms

Resolved: PrivateHD performance has improved in 1e93ee7.


Support Swift Package Manager

SwiftEntryKit supports Carthage and CocoaPods. It could be useful to support SwiftPM as well.

Pending SwiftPM support of system libraries (UIKit).

Hi, I'm resurrecting this thread. Sorry if isn't expected. What are the dependencies needed to support SPM?  is in scope? do you need help for this? thank you 😄


Operations between columns

Sorry if this feature is already implemented, but I can't figure out how to do it. It is possilbe to perform operations between columns or obtain derived columns as in Pandas?
df['new_column'] = df['old_column] *2
df['sum_column'] = df['A']+df['B']

What I did so far for the first operation is using .map and .addColum
const m = df['old_column'].map((x)=>2*x).values
df.addColumn({"column":"new_column", "values": m, inplace: true})

How could I do the sum between columns?

You can call the math functions directly on a column. For example to add column A and B, you can do the following:
df[“A”].add(df[“B”])
See: https://danfo.jsdata.org/api-reference/series#binary-operator-functions


Quotes in type name cause issue (MySQL)

When I try to add a SET column to a MySQL database, db-migrate chokes
exports.up = function(db, callback) {
  async.series([
    db.addColumn.bind(db, 'offer', 'sale_type', {type: 'SET("WineryDirect","CS")'}),
    db.addColumn.bind(db, 'offer_manifest', 'cogs', type.FLOAT)
  ], callback());
};

Result:
[SQL] ALTER TABLE `offer` ADD COLUMN `sale_type` SET("WINERYDIRECT","CS")
[ERROR] TypeError: Cannot read property 'type' of undefined
    at Class.Base.extend.mapDataType (/usr/local/lib/node_modules/db-migrate/lib/driver/mysql.js:16:16)
    at Class.prototype.(anonymous function) [as mapDataType] (/usr/local/lib/node_modules/db-migrate/lib/class.js:36:24)
    at Class.Base.extend.createColumnDef (/usr/local/lib/node_modules/db-migrate/lib/driver/mysql.js:51:18)
    at Class.Base.extend.addColumn (/usr/local/lib/node_modules/db-migrate/lib/driver/mysql.js:178:20)
    at /Users/ben/projects/undergroundcellar/db/node_modules/async/lib/async.js:689:13
    at iterate (/Users/ben/projects/undergroundcellar/db/node_modules/async/lib/async.js:265:13)
    at process._tickCallback (node.js:355:11)

when this is done with a regular SQL command it works fine:
exports.up = function(db, callback) {
  async.series([
    db.runSql.bind(db, 'ALTER TABLE `offer` ADD COLUMN `sale_type` SET("WineryDirect", "CS")'),
    db.addColumn.bind(db, 'offer_manifest', 'cogs', type.FLOAT)
  ], callback());
};

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26345063-quotes-in-type-name-cause-issue-mysql?utm_campaign=plugin&utm_content=tracker%2F73887&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F73887&utm_medium=issues&utm_source=github).

@bherila The problem has nothing to do with SQL or your custom type.
The problem is the last part of your migration, which is invalid:
db.addColumn.bind(db, 'offer_manifest', 'cogs', type.FLOAT)

First of all, there is currently no type.float and the second failure is. You always need to supply an object. You have just directly passed type.FLOAT, but actually exepected is: { type: type.DECIMAL }. The chosen type decimal is just an example here, you can use just any type either defined in the current mapping of datatypes or custom specified like you did already for SET("WineryDirect","CS").

See also
https://github.com/db-migrate/node-db-migrate#generic-datatypes

To note, many drivers support some more types. Like MySQL do, it will have  a separate documentation soon, which outlines these differences. However a nonexistent type is just "not supported", but you should be  able to use it anyway. Maybe you need to escape the quoting a bit to get it work (like you have to do when you use the enum type of MySQL)

If you have any other questions, just ask and we will see if we can help you.

Thank you @wzrdtales !
I will try to find some time to contribute extra content/examples to the readme.md so that others won't run into this too :+1:

One other question actually:

First of all, there is currently no type.float and the second failure is. You always need to supply an object.

I had found a function which attempts to "normalize" the type in the event that something is supplied that doesn't have a type member. I guess that shouldn't be taken advantage of?

Yes you're right, this slipped my mind. The normalize function does parse the options argument to be a type option if you supply a string. You have supplied type.FLOAT which is undefined, so this condition wasn't called either. So yes you can either define a string, existing datatype or object.


HWKINVENT-78 Remove version from ResourceType

This is a preparation for the upcoming Inventory 0.1.0.Alpha3

@jmazzitelli could you please review?


deps: updates wazero to 1.0.0-rc.2

This updates wazero to 1.0.0-rc.2 which notably to mosn:

is the final release candidate before 1.0 next Friday.
improves instantiation performance (startup time)

Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
$ go test -run='^$' -tags wasmer -bench '^Benchmark_.*' ./test/integrate/proxywasm -count=6 > old.txt
$ go test -run='^$' -tags wasmer -bench '^Benchmark_.*' ./test/integrate/proxywasm -count=6 > new.txt
benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: mosn.io/mosn/test/integrate/proxywasm
                       │   old.txt   │              new.txt              │
                       │   sec/op    │   sec/op     vs base              │
_BaseCase-12             62.26µ ± 0%   62.16µ ± 2%       ~ (p=0.699 n=6)
_ProxyWasmV1_wasmer-12   84.92µ ± 4%   86.13µ ± 2%       ~ (p=0.132 n=6)
_ProxyWasmV1_wazero-12   76.44µ ± 2%   74.53µ ± 2%  -2.50% (p=0.004 n=6)
geomean                  73.94µ        73.62µ       -0.43%

Good job @mathetake in getting 2.5% execution improvement within a single release candidate!

this is out of date as latest is 1.2.0

this is out of date as latest is 1.2.0

@codefromthecrypt
Will you update this PR or open a new one?

@spacewander I can update this after https://github.com/mosn/proxy-wasm-go-host/pull/38 merges. thanks for the reminder.

@spacewander ready


Expose 449(RetryWith) configuration

This issue is to describe the different options to control the SDK 449 retry policies.
// This is an example of the 429(Throttle) options being exposed.
public class CosmosClientOptions
{
...
     public int? MaxRetryAttemptsOnRateLimitedRequests { get; set; }
     public TimeSpan? MaxRetryWaitTimeOnRateLimitedRequests { get; set; }
....
}

Two different options to expose control to the 449 retry policy
1.  Disable RetryWith policy
The RetryWith exception usually points to a conflict with Writes on trying to update the same item concurrently. The application should be changed to avoid these exceptions. Having a simple off switch gives the users the ability to easily monitor if a request hit a RetryWith exception.
public class CosmosClientOptions
{
...
     public bool? DisableRetryAttemptsOnRetryWithRequests { get; set; }
....
}

2.  Configure retry count
There is currently 3 internal properties already for controlling the RetryWith logic. These fields could be made public. This would allow user to control the retry policy.
https://github.com/Azure/azure-cosmos-dotnet-v3/blob/919bb3b4e7012b22850446890f2d95ea594866ab/Microsoft.Azure.Cosmos/src/CosmosClientOptions.cs#L589
public class CosmosClientOptions
{
...
        public int? InitialRetryForRetryWithMilliseconds { get; set; }
        public int? MaximumRetryForRetryWithMilliseconds { get; set; }
        public int? RandomSaltForRetryWithMilliseconds { get; set; }
....
}

Recommendation is option 1
Option 1 to allow users to disable the retry attempts on the RetryWith exceptions. This gives the users the ability to add there own custom retry logic on top of the SDK which they can customize and monitor.
Please respond with any comments, questions, and/or concerns.

The question I would ask myself as a user if I see these settings is: Why am I getting 449s? Is it ok? Should I change my usage pattern to reduce/remove them? Do they happen only based on my usage (like 429s) so I'm completely responsible about them or can they happen due to some service/backend condition unrelated to my usage?
Anytime a configuration is available, a user would ask in which scenarios and why should they touch it. Do I need to worry about it?
I still think 449s are a bit obscure in terms of what they truly mean, we don't have any service docs (except one that says they are retriable) that fully explain why could I get it?
Starting with the user scenario and explaining why would a user want to tinker/disable it, then it might help understand which API design is better. Should it be simple or complex? If complex, what is the explanation we can give so a user knows which values to use without shooting themselves in the foot? If we cannot explain that, then it means it's overly complex.

I updated the description with more information about what the issue and explaining why user needs to control it.


Documentation missing for ProcessStartInfo.RedirectStandardOutput

This issue is created in reference to my corefx issue here and SO issue here, which did not receive an answer in days. I then decided to experiment on my own. A copy is given below.
I'm not sure if the dotnet team has access to the docs here, but since it applies to .NET Core as well, it could be updated to clarify my use case below and potentially mention the 64k buffer size.
QUESTION
I am writing an application to manage processes and handle failovers. This program is written in C# for .NET Core and will run on Ubuntu Server 16.04 x64.
I have this code to create processes and track them, with exit events and such
ProcessStartInfo psi = new ProcessStartInfo
{
    WorkingDirectory = "/home/xyzserver/someprocess",
    FileName = "mono",
    Arguments = "someprocess.exe",
    RedirectStandardOutput = true
};

_proc = Process.Start(psi);
_proc.EnableRaisingEvents = true;
_proc.Exited += ProcOnExited;

I understand from the docs here that calls to Console.WriteLine will block if the _proc.StandardOutput stream is full. I want to prevent this behavior and dispose all the output from the managed application, since it will also write to a physical log on its own.
In addition, I would like to avoid storing any of the output in any unused stream buffers since they will never be used. A preferred solution will not UseShellExecute.
I have considered adding these 2 lines in the hope that any received data will be disposed, but am unsure about correctness.
_proc.OutputDataReceived += (sender, eventArgs) => {};
_proc.BeginOutputReadLine();

SOLUTION
I manually ran the test on .NET Core using 3 programs:
1. An HTTP server to track the *TextOutputter* program.
2. A TextOutputter program that prints 1000 characters and makes an HTTP request every second.
3. a ProgramRunner that runs one instance of TextOutputter.

Without the 2 lines, the buffer fills upto 64k and stalls. With the 2 lines, there is no stalling.

HI @shravan2x,
Yes, we do have access to MSDN docs, but we're concentrating our efforts on making the fixes on docs, since ultimately that will be our final destination.
@Priya91 are you the owner of ProcessStartInfo.RedirectStandardOutput? If so, can you help with this question? We can update the docs to make sure they cover cross-platform scenarios as well, but I wanna make sure we give the right guidance.
/cc @karelz


change in docs

The typography web page has a typo.
I believe:

Archor
should be
Anchor
I don't think I can edit the actual doc pages-maybe I'm wrong.

You are wrong indeed.
https://github.com/milligram/milligram.github.io/blob/master/typography.html#L115
;)

Hello @BoDonkey. Thanks for the info!


Graphical Improvements for the RAM, customizability Improvements for the ROM

So, now we have got a RAM component.
Great huh?
Well, not quite. The ram is certainly powerful, but I feel like it's significantly lacking graphically. I was kind of hoping the RAM would have the same appearance as the rom, making both elements interchangable, and relatable. This would also mean RAM would give a programmer some form of visual feedback to it's state, instead of a "core dump", which is hardly user friendly. I think that a RAM component should allow the user to see it's data directly on a table, like it's seen on the ROM. better yet, it would allow users to directly edit RAM for debugging.
While on the topic of ROMs, the ROM could also see an overhaul. Seeing how the RAM can have it's address and data bit width customized, why not the ROM? Both components should be considered equals, as they both serve equal purposes, storing data for latter use.

The RAM cannot have the same UI as the current ROM because the amount of memory the RAM supports is huge. Having said that, yes I think it is high time that the ROM gets an overhaul now. It was implemented as a solution to build the SAP-1 but now we are way past that!
@jbox144 what do you think of the DMA access pin discussed in #118 ? I think that is a solution that will meet everyone's requirements. Then we can simply create any module we need using the DMA pin and plug it on the RAM as needed. I also thing it is fairly easy to implement once we get the design right.

The RAM cannot have the same UI as the current ROM because the amount of memory the RAM supports is huge. Having said that, yes I think it is high time that the ROM gets an overhaul now. It was implemented as a solution to build the SAP-1 but now we are way past that!
@jbox144 what do you think of the DMA access pin discussed in #118 ? I think that is a solution that will meet everyone's requirements. Then we can simply create any module we need using the DMA pin and plug it on the RAM as needed. I also thing it is fairly easy to implement once we get the design right.

I like the solution, and I also think the RAM deserves it's own DMA pin too. Like I said, both components deserve equal attention.


npm start no longer auto-reloads prettyscribe.js on localhost:8080

The iterative dev loop with npm start is no long updating or reloading dist/prettyscribe.js. It does compile prettyscribe.js though, and webpack claims the file is emited, but I'm not sure where it's emitted too. localhost:8080 doesn't reload, and a manual reload of the page loads the old version of prettyscribe.js.
Here's some output;
`$ npm start

<EMAIL_ADDRESS>start /Users/smardan/Documents/GitHub/PrettyScribe2
webpack-dev-server

 [webpack-dev-server] Project is running at:
 [webpack-dev-server] Loopback: http://localhost:8080/
 [webpack-dev-server] On Your Network (IPv4): http://<IP_ADDRESS>:8080/
 [webpack-dev-server] On Your Network (IPv6): http://[fe80::1]:8080/
 [webpack-dev-server] Content not from webpack is served from '/Users/smardan/Documents/GitHub/PrettyScribe2' directory
(node:28375) [DEP_WEBPACK_DEPRECATION_ARRAY_TO_SET] DeprecationWarning: Compilation.modules was changed from Array to Set (using Array method 'reduce' is deprecated)
(node:28375) [DEP_WEBPACK_MODULE_ERRORS] DeprecationWarning: Module.errors was removed (use getErrors instead)
asset prettyscribe.js 3.24 MiB [emitted] (name: main)
runtime modules 26.3 KiB 13 modules
modules by path ./node_modules/ 823 KiB
modules by path ./node_modules/webpack-dev-server/client/ 51.8 KiB 12 modules
modules by path ./node_modules/webpack/hot/.js 4.3 KiB 4 modules
modules by path ./node_modules/html-entities/lib/.js 81.3 KiB 4 modules
modules by path ./node_modules/url/ 37.4 KiB 3 modules
modules by path ./node_modules/querystring/.js 4.51 KiB 3 modules
./node_modules/jszip/dist/jszip.min.js 93.5 KiB [built] [code generated]
./node_modules/ansi-html-community/index.js 4.16 KiB [built] [code generated]
./node_modules/events/events.js 14.5 KiB [built] [code generated]
./node_modules/lodash/lodash.js 531 KiB [built] [code generated]
modules by path ./src/.ts 274 KiB 12 modules
webpack 5.55.0 compiled successfully in 3808 ms
Noticeasset prettyscribe.js 3.24 MiB [emitted] (name: main)` above.  However, dist/prettyscribe.js is not updated.
I can manually update dist/prettyscribe.js by manually running npm run build after each edit:
`
$ npm run build

<EMAIL_ADDRESS>build /Users/smardan/Documents/GitHub/PrettyScribe2
webpack

(node:28815) [DEP_WEBPACK_DEPRECATION_ARRAY_TO_SET] DeprecationWarning: Compilation.modules was changed from Array to Set (using Array method 'reduce' is deprecated)
(node:28815) [DEP_WEBPACK_MODULE_ERRORS] DeprecationWarning: Module.errors was removed (use getErrors instead)
asset prettyscribe.js 2.6 MiB [emitted] (name: main)
runtime modules 1.25 KiB 6 modules
modules by path ./src/*.ts 274 KiB 12 modules
modules by path ./node_modules/ 625 KiB
./node_modules/jszip/dist/jszip.min.js 93.5 KiB [built] [code generated]
./node_modules/lodash/lodash.js 531 KiB [built] [code generated]
webpack 5.55.0 compiled successfully in 3808 ms
`
`
Any idea what's up?

No.  I've been trying to fix the reload.  It's been broken since I updated webpack.

Rolled webpack back to v4 until I can figure out how to properly configure v5 dev-server.


.bashrc file is not persistent in SMSL environment

I'd like to use the Heroku CLI for pushing code to a Heroku git repository. I've installed the CLI on my SMSL instance (I wrote a post about how to do this, here: https://austinlasseter.medium.com/installing-the-heroku-cli-on-aws-sagemaker-studio-lab-6e53aaff1374).
Whenever I open a new SMSL session, I need to add heroku to $PATH each time, as follows.
echo "export PATH=\$PATH:~/heroku/bin" >> ~/.bashrc
source ~/.bashrc

On a typical Linux instance, it's not necessary to do this repeatedly. Is there a way to ensure that my .bashrc will be persistent in SMSL? Thanks.

@austinlasseter Thank you for writing the nice blog to connect Heroku! We can use /home/studio-lab-user/.bashrc instead ~/.bashrc. I confirmed that the modification to /home/studio-lab-user/.bashrc is preserved after shutting down the instance.

Thanks, this solved it.


Two minor glitches within a57a1809 (Add variables mapping for gfs)

Dear Daniel,
within a57a1809, I've added two comments about minor glitches within model_variables_mapping.yml and unified_forecast_variables.py. Hope this helps.
With kind regards,
Andreas.

@amotl  thanks for your hint. I will finish the processeing of KNMI_HARMONIe weather model. Afterwards I will start to work with PR to move more and more to a first working version


don't pass user-agent as a symbol

Allows the gem to work on Rails 2.3.0. Needs tested on Ruby 1.9, since I can't get it compiled on my system for some reason. Resolves #3.

Thank you!


Bug: updating record data in hook automatically commits to the database

I was writing a hook for my app to assign users with a default avatar.
onRecordsListRequest((e) => {
    e.records = e.records.map((user) => {
        if (!user.get("avatar")) user.set("avatar", "https://api.dicebear.com/6.x/pixel-art/svg?seed=" +
            user.get("username") +
            "&background=%23fff&radius=50")

        return user
    });
}, "users");

But I noticed this updates the database value even though I'm doing nothing related to database here. Updating the records in a hook should only update the response object instead of committing to the database.

The changes are not "committed" or persisted in the database.
What you are practically doing is overwritting the users list response, but this same list/search API is used by the Admin UI, aka. you are just seeing the above change in the Admin UI.
If you want to ignore the change for the Admin UI, you can check whether there is an admin authenticated - see https://pocketbase.io/docs/js-routing/#retrieving-the-current-auth-state.
In your case that could look something like:
onRecordsListRequest((e) => {
    const admin = e.httpContext.get("admin");

    e.records = e.records.map((user) => {
        if (!user.get("avatar") && !admin) {
            user.set("avatar", "https://api.dicebear.com/6.x/pixel-art/svg?seed=" +
                user.get("username") +
                "&background=%23fff&radius=50")
        }

        return user
    });
}, "users");

Also if avatar in the above is a file field I'd advice against doing the above, because you are the new value type technically will be different compared to the original field value. The better approach in my opinion would be to have the default avatar set client-side.


Update TcpConnection.php

SSL 3 is dead, killed by the POODLE attack
see https://blog.qualys.com/ssllabs/2014/10/15/ssl-3-is-dead-killed-by-the-poodle-attack

Thank you for your pull request.
STREAM_CRYPTO_METHOD_TLSv1_0_SERVER STREAM_CRYPTO_METHOD_TLSv1_1_SERVER STREAM_CRYPTO_METHOD_TLSv1_2_SERVER  only support by php >=5.6 but workerman requires php >= 5.3.3 that may cause problems in many projects.
And I found the value
STREAM_CRYPTO_METHOD_SSLv2_SERVER | STREAM_CRYPTO_METHOD_SSLv23_SERVER
is equal to
STREAM_CRYPTO_METHOD_SSLv2_SERVER | STREAM_CRYPTO_METHOD_SSLv23_SERVER  | STREAM_CRYPTO_METHOD_TLSv1_0_SERVER | STREAM_CRYPTO_METHOD_TLSv1_1_SERVER | STREAM_CRYPTO_METHOD_TLSv1_2_SERVER  for php >=5.6.
So I will use STREAM_CRYPTO_METHOD_SSLv2_SERVER | STREAM_CRYPTO_METHOD_SSLv23_SERVER as default crypto_type.

We can use http://php.net/manual/en/function.version-compare.php