Empty JSON data after server error

Hello,
I migrated from Calidog Certstream today and so far your tool works pretty much seamlessly as a replacement.
Still there is a bug I want to report, since my websocket-client hung up after around 15min due to this:
certstream-server-1  | 2023/12/08 13:57:00 ct-watcher.go:340: Processed 110000 entries | Queue length: 0
certstream-server-1  | E1208 13:57:02.711256       1 fetcher.go:292] https://sabre2024h1.ct.sectigo.com: GetRawEntries() failed: Get "https://sabre2024h1.ct.sectigo.com/ct/v1/get-entries?end=6778843&start=6778744": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
certstream-server-1  | 2023/12/08 13:57:06 ct-watcher.go:340: Processed 111000 entries | Queue length: 8

Which was happend shortly before my client quit due to:
certstream-server-1  | 2023/12/08 13:57:12 server.go:162: Stopping websocket for '<IP_ADDRESS>:53078' - /domains-only
certstream-server-1  | 2023/12/08 13:57:12 client.go:85: Disconnecting client <IP_ADDRESS>:53078!
watchdog-1           | Traceback (most recent call last):
watchdog-1           |   File "/app/watch.py", line 41, in <module>
watchdog-1           |     asyncio.get_event_loop().run_until_complete(main(args))
watchdog-1           |   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 653, in run_until_completewatchdog-1           |     return future.result()
watchdog-1           |            ^^^^^^^^^^^^^^^
watchdog-1           |   File "/app/watch.py", line 29, in main
watchdog-1           |     for domain in data["data"]:
watchdog-1           | TypeError: 'NoneType' object is not iterable

Not sure if there is a causal relationship between those two, either way, I'm now checking if the received data is None.

Hi, thanks for bringing this to my attention.
This issue is weird. For now I am only able to see the correlation but not the causality. The first error indicates that one of the CT  logs is no longer available. This happens every now and then. New CT logs appear, old ones get shut down, sometimes there's maintenance.
Even if the server read incomplete data from a CT log, it parses the data to an "entry":
https://github.com/d-Rickyy-b/certstream-server-go/blob/db684ca63313c352def2f0fabb399fcff43b70cc/internal/certificatetransparency/ct-watcher.go#L302-L308
This entry is then converted to json and afterwards sent to the clients.
The resulting json should always contain the keys. The only case where this could in theory go wrong is here if subType is not within the given cases (which from the current codebase is not possible):
https://github.com/d-Rickyy-b/certstream-server-go/blob/1b14625be6a5200fb8867dbd758fad9fd4cdad16/internal/web/broadcastmanager.go#L80-L94
I'll add some error handling for this case, even though I don't think it's causing your issue. Can you please monitor if that happens regularly for you?

Hi there, did this issue happen to you again? I still can't make any sense of it. From the code I can't see any way that the server sends out empty messages. Maybe I can find it with more details.

I appreciate your help. You could try logging the output from the websocket on the python side. I don't know your python code, so it's hard for me to tell where to add that. But if some variable is None, it would be cool to know what exactly arrived at the websocket at that time.
Apart from that there are no debug switches for the server.

Hi, I noticed same problem. If it helps, I am attaching data. There is missing "all_domains".
{'data': {'cert_index': 421882148, 'cert_link': 'https://oak.ct.letsencrypt.org/2024h1/ct/v1/get-entries?start=421882148&end=421882148', 'leaf_cert': {'extensions': {'authorityInfoAccess': 'URI:http://pki.goog/repo/certs/gts1p5.der, URI:http://ocsp.pki.goog/s/gts1p5/ArOLpvMvk8o', 'authorityKeyIdentifier': 'keyid:d5:fc:9e:0d:df:1e:ca:dd:08:97:97:6e:2b:c5:5f:c5:2b:f5:ec:b8', 'basicConstraints': 'CA:FALSE', 'keyUsage': 'Digital Signature', 'subjectAltName': 'IP Address:<IP_ADDRESS>', 'subjectKeyIdentifier': 'keyid:ee:6f:d9:cd:4e:93:68:e6:30:32:72:c8:14:5d:cd:c0:c6:3d:0c:42'}, 'fingerprint': '05:69:F3:0F:9B:31:D9:50:28:4B:43:1E:F3:57:B0:24:D3:2F:0F:5F', 'sha1': '05:69:F3:0F:9B:31:D9:50:28:4B:43:1E:F3:57:B0:24:D3:2F:0F:5F', 'sha256': 'F1:98:CF:6F:F7:14:D9:A9:D9:DC:B4:42:67:E0:B4:27:55:B4:87:01:66:A3:28:D4:98:B8:65:5D:75:D1:96:73', 'not_after':<PHONE_NUMBER>, 'not_before':<PHONE_NUMBER>, 'serial_number': '3A167C4F54C74FCB11ED86B82282E7DB', 'signature_algorithm': 'sha256, rsa', 'subject': {'C': None, 'CN': '', 'L': None, 'O': None, 'OU': None, 'ST': None, 'aggregated': '/CN=', 'email_address': None}, 'issuer': {'C': 'US', 'CN': 'GTS CA 1P5', 'L': None, 'O': 'Google Trust Services LLC', 'OU': None, 'ST': None, 'aggregated': '/C=US/CN=GTS CA 1P5/O=Google Trust Services LLC', 'email_address': None}, 'is_ca': False}, 'seen':<PHONE_NUMBER>.917, 'source': {'name': "Let's Encrypt 'Oak2024H1' log", 'url': 'https://oak.ct.letsencrypt.org/2024h1'}, 'update_type': 'PrecertLogEntry'}, 'message_type': 'certificate_update'}

If it helps, I am attaching data. There is missing "all_domains".

Yes! This indeed helps.
https://github.com/d-Rickyy-b/certstream-server-go/blob/9f52357ace7f2bc0b2aa40fddca0d3e05ce4809c/internal/certstream/models.go#L107
I'm using omitempty which simply skips this field if it is empty. That could lead to some error, because the field will not be included in the json. The question is: why is the field empty in the first place?
This needs some more testing and verification, but the all_domains is taken from the certificate-transparency library's "DNSNames" field:
https://github.com/d-Rickyy-b/certstream-server-go/blob/9f52357ace7f2bc0b2aa40fddca0d3e05ce4809c/internal/certificatetransparency/ct-parser.go#L111
In your provided example I can only see
'subjectAltName': 'IP Address:<IP_ADDRESS>'
which is obviously not a DNS name but an IP address, which is why it's not included in the cert.DNSNames and hence not in the all_domains field. I'll try to come up with a fix.

For debugging - the certificate got also logged on crt.sh:
https://crt.sh/?id=11728740156

Perhaps a silly question, but what will happens if I am using endpoint /domains-only and from transparency log I get data without domain name - just like I sent before.  I assume the message will be empty, so it will not be iterable... or am I wrong?

Perhaps a silly question

Nah, it's never silly when you don't know how a project's internals work.

what will happens if I am using endpoint /domains-only and from transparency log I get data without domain name - just like I sent before. I assume the message will be empty, so it will not be iterable... or am I wrong?

What should happen is this:
{
    "data": [],
    "message_type": "dns_entries"
}

Up until this point I thought that zero values for slices are just an empty slice. But that's not true. Zero values of slices are in fact nil. See https://go.dev/tour/moretypes/12.
To make 100% sure that this was the issue, I threw some code into the go playground to reproduce the issue: https://go.dev/play/p/wHgpHW-L7sT. And voilà, the result is:
{
    "data": null,
    "message_type": "dns_entries"
}

So it only depends on how a slice was declared/initialized. https://go.dev/play/p/9iuAxCWhfuA
var s1 []string   // variable is only declared but not initialized, s1 is nil
s2 := []string{}  // variable is initialized to an empty string slice

Looking at this now, it seems so obvious. I'll implement a fix for this. Thank you @cipisek9!

I'm glad that I could help :)


Add a "Bulk Insert" task to ClickHouse subplugin

Feature description
Similar to Snowflake or BigQuery, add an Upload task for ClickHouse data warehouse

Acc. to best practices, we can add https://clickhouse.com/docs/en/cloud/bestpractices/bulk-inserts
However, additionally, we may add a CickHouseCLI task to allow loading data from files e.g.:

https://clickhouse.com/docs/en/integrations/data-ingestion/insert-local-files
https://clickhouse.com/docs/en/integrations/s3
and more.


Example of square() wrong

Actual Behaviour
The second example of square shows wrong. It's fourth argument control the height.
Expected Behaviour
The argument should control the top-left corner.
Steps to reproduce it
Default code and edited code both return wrong shapes.
Screenshots of the issue

Would you like to work on the issue?
I am not good at js, sorry.

Yes, that seems an issue. @whklhh I will look into it!

@montoyamoraga I think the if check for length of arguments is creating this issue.

This has already been fixed. It is not in the latest release 1.0.0 but will be included in the next one which should solve this on the website as well.

Okay @limzykenneth .Thanks!


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-29-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4628

Questions ?
Please refer to the Backport tool documentation


How to setting ADVANCED.CONFIG in MAC? [JIRA: RCS-388]

I read the Fast-track in RIAK-CS and new an ADVANCED.CONFIG in riak-cs/etc.
But it always error. The error is below :
2017-03-20 20:05:08.182 [critical] <0.336.0>@riak_kv_app:start:107 storage_backend riak_cs_kv_multi_backend is non-loadable.
2017-03-20 20:05:08.182 [error] <0.335.0> CRASH REPORT Process <0.335.0> with 0 neighbours exited with reason: {invalid_storage_backend,{riak_kv_app,start,[normal,[]]}} in application_master:init/4 line 133
ADVANCED.CONFIG is like this:
[
{riak_kv, [
{add_paths, ["/MYHOME/riak-cs-2.1.1/lib/riak_cs-2.1.1/ebin"]},
{storage_backend, riak_cs_kv_multi_backend},
{multi_backend_prefix_list, [{<<"0b:">>, be_blocks}]},
{multi_backend_default, be_default},
{multi_backend, [
{be_default, riak_kv_eleveldb_backend, [
{total_leveldb_mem_percent, 30},
{data_root, "/MYHOME/riak-2.2.1/data/leveldb"}
]},
{be_blocks, riak_kv_bitcask_backend, [
{data_root, "/MYHOME/riak-2.2.1/data/bitcask"}
]}
]}
]}
].
Can any one help me?
Thank you!

i have the same problem too!! can any on help???


Added initvars support to post_init_post_parse

Change Summary
Currently only __post_init__ has initvars support which is lacking on __post_init_post_parse__, that's seams inconsistent considering the use case of both methods.
My PR only add this functionality along with it's test case.
Checklist

[X] Unit tests for the changes exist
[X] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.rst file added describing change
(see changes/README.md for details)

Is there an application you have in mind where you would benefit from having access to the initvars in __post_init_post_parse__? I would think that you typically would not need access to the initvars after parsing, and the __post_init_post_parse__ would just be used to do something with the parsed values.
If that is typical, it seems like requiring the initvars be accepted as arguments to the __post_init_post_parse__ is more likely to pollute the class definition than be useful (it would typically have unused variables, in particular). But I think this makes sense as a capability if there is a practical application?

@dmontagu IMHO, I think this behaviour is befitting of pydantic's pre-v0.27 behaviour, on which __post_init__ would only run after validation and you would still have access to InitVars. Considering changes after v0.27 - on which __post_init_post_parse__ was introduced to reestablish a hook for after a Dataclass' initialization and pydantic's validation - I'd argue that adding support for InitVars in __post_init_post_parse__ follows naturally.
Nevertheless, I do agree that this is a breaking change for people already using __post_init_post_parse__ and that it would be a hassle adding unused arguments to it if you only want to use InitVars in  __post_init__.
With that in mind, I propose the introduction of a flag in pydantic's Config to enable __post_init_post_parse__ InitVars support. What do you think?

A valid use case would be to make some data transformations that depend on the data type and the InitVars. Currently, you can do that on post_init, but you would have to manually check the type before making the operations/transformations using the InitVars. This is not optimal, since you would have to manually check something that pydantic will check anyway.
If it were possible to access InitVars on _post_init_post_parse, this manual check would not be required.
It seems fair to me that if there is a need for post_init to receive arguments in order to make some operation/transformation on the data before validation, then post_init_post_parse would also need to receive them for the same purpose.

I personally don’t have a very strong opinion here as I generally preferBaseModel over dataclasses (pydantic or otherwise).
That said, I would find the change a lot more compelling if I saw a realistic-feeling example where I felt like there was a real benefit to having the initvars in the __post_init_post_parse__. The test in this pull request, which admittedly does test the function is working as intended, doesn’t really convey usefulness to me. More broadly, off the top of my head I can’t think of anything you’d want to do with the initvars in the __post_init_post_parse__ that wouldn’t be better handled by a validator.
It wouldn’t take much to convince me (please share the use case if you have one!), but so far it just feels very abstract; I’m not sure it’s worth changing if no one is going to use it anyway.

A valid use case would be to make some data transformations that depend on the data type and the InitVars.

This makes sense to me in theory, but still feels very abstract. Do you have a real example? That might shut me up 😅

I definitely don't think the Config option would be a good idea, switches should be avoided and only be added if there's no other solution possible, here it's simple just to ignore init vars if you don't want to use them.
Regarding the feature: I'm in the same boat as @dmontagu, one decent concrete example and I'll accept this.

Here is what an example of a use case would look like if I had to implement it on the current version of pydantic:
import typing as T
from pathlib import Path
from dataclasses import InitVar

from pydantic import ValidationError, validator
from pydantic.dataclasses import dataclass

@dataclass
class Archive:
    path: T.Union[Path, str]
    base_path: InitVar[T.Optional[T.Union[Path, str]]] = None

    @validator("path")
    def validate_path(cls, v: T.Any) -> Path:
        return Path(v)

    def __post_init__(self, base_path):
        if isinstance(self.path, Path) or isinstance(self.path, str):
            base_path = Path(base_path)
            self.path = base_path.joinpath(self.path)
        else:
            raise ValidationError(
                f"unsupported type for path component: {type(self.path)}"
            )

post_init = Archive("test.pdf", base_path="/usr/local")
print(post_init)

I would have to manually validate the type of the property before doing the necessary operation...
If the PR was accepted, the code would be the following:
import typing as T
from pathlib import Path
from dataclasses import InitVar

from pydantic import validator
from pydantic.dataclasses import dataclass

@dataclass
class ArchivePostParse:
    path: T.Union[Path, str]
    base_path: InitVar[T.Optional[T.Union[Path, str]]] = None

    @validator("path")
    def validate_path(cls, v: T.Any) -> Path:
        return Path(v)

    def __post_init_post_parse__(self, base_path):
        base_path = Path(base_path)
        self.path = base_path.joinpath(self.path)

post_init_post_parse = ArchivePostParse("test.pdf", base_path="/usr/local")
print(post_init_post_parse)

@Raphael-C-Almeida Your example has completely convinced me -- I now fully believe this should be supported in 1.0.
I hadn't actually seen InitVar used before; your example makes it much clearer how they would be used, and also why you would want to use them with the parsed results.
I'm going to add this example as a test to make it clear why this is useful.

dmontagu samuelcolvin Considering Raphael-C-Almeida 's example (a good one by the way), I think adding validation to InitVars should also be added into pydantic. This would render extra validations for InitVars in post_init_post_parse unnecessary.

@HeavenVolkoff I think that would involve a relatively large refactor of pydantic.dataclasses._process_class since:

You'd have to use one model to perform the parsing of all data (including the InitVars), and a separate model as the __pydantic_model__ underlying the dataclass (since you presumably wouldn't want the InitVar-fields to be fields on the underlying model).

This would also likely add an ~2x overhead to parsing for models with InitVars.

You'd have to write something to read the fields off the object a new way to read the fields off the model, since that is currently being done by dataclasses.fields.

I read through the dataclasses module, and it looks like the process of determining which fields are InitVar fields is pretty hairy, and involves a lot of private APIs. (But maybe there is a public API for reading these off the dataclass?)

You may want to be able to annotate the InitVar type, but not parse it before it is passed to __post_init_post_parse__ (e.g. if it is not a type pydantic knows how to parse, which requires a config setting or will cause errors). I think supporting both ways would be problematic for a variety of reasons (too many levers), but given the potential limitations it would impose, it might be better to just leave it unparsed.

I don't think this is an unreasonable request, but this seems like a rather niche use case, could require a substantial amount of effort, and I'd guess the result would be substantially more fragile than the current implementation.
I'd review a PR for it, but either way it should probably be separate from this one.

@dmontagu I agree, this is a more complex request and you raised some valid points. I'll do a more in depth research on this matter to see if I can come up with a valid implementation to solve this in pydantic then open a new PR.

great example, makes lots of sense, I've accepted the change.
Regarding validating InitVars, I think it's unnecessarily and as @dmontagu says, lot's of work.
If you really wanted to validate InitVars, you could build another model/dataclass of those attributes, validate the data then pass that to your main model.


File not found error

Hello! Thank you for all your work on this plugin.
I have installed the plugin, but I keep getting this error if I try to save an image as a webp, open a webp image, or inspect the plugin through Photoshop.

I have updated and restarted my photoshop to the newest CC license. I am on a mac version 10.13.6, I ran through the troubleshooting tips, which included trying different file locations, running the permissions command, and restarting my computer, but that didn't fix the error. My coworkers were able to load it fine, so I am sure it is just user error, but I am at a loss of how to move forward.

Resolved!! For some reason the WebPShop_0_3_0_Mac_x64 version didn't want to work, but when I used WebPShop_0_2_1_Mac_x64 it worked just fine.

Resolved!! For some reason the WebPShop_0_3_0_Mac_x64 version didn't want to work, but when I used WebPShop_0_2_1_Mac_x64 it worked just fine.

Thank you for the detailed report and for posting a workaround. I suggest comparing the plugin, Photoshop and MacOS versions and installation directories with your coworkers to find a potential cause.
Unfortunately I cannot reproduce the issue.

I just wanted to comment here in case anyone runs into this again. On my old Macbook Pro retina laptop running Mojave 10.14.2, I also got this same error in Photoshop 2020 and 2021. Using the same WebPShop_0_2_1_Mac_x64 release as @janaib, it now works fine. New plug-in version apparently doesn't always play nice with old macOS. Might be hardware related as well. 🤷🏻♂

I just wanted to comment here in case anyone runs into this again. On my old Macbook Pro retina laptop running Mojave 10.14.2, I also got this same error in Photoshop 2020 and 2021. Using the same WebPShop_0_2_1_Mac_x64 release as @janaib, it now works fine. New plug-in version apparently doesn't always play nice with old macOS. Might be hardware related as well. 🤷🏻♂

Thanks @MrMerkin , same here. With a 2011 27" iMac and 10.13.6 only works the WebPShop_0_2_1_Mac_x64 release. At least it's working. Thanks!


adding GitLab CAF Module

Adding GitLab terraform provider project creation resource extension to CAF.
Verified the module by creating couple of new projects by following the below steps;
export environment=demo
export GITLAB_TOKEN=<token created at gitlab.com / or gitlab server>
# run the following command if you're using gitlab server
export GITLAB_BASE_URL=<url of the gitlab server>

rover -lz /tf/caf/public/landingzones/caf_launchpad -launchpad -var-folder /tf/caf/configuration/${environment}/level0/launchpad -parallelism 30 -level level0 -env demo -a apply

rover -lz /tf/modules/examples/ -var-folder /tf/modules/examples/devops/providers/gitlab/new_project/  -level level1 -env demo -a apply

After it finish running (it may take couple of minutes) you'll see couple of projects in your gitlab instance;

PS : I used the following configuration;
gitlab_projects = {

  test_project  = {
    name        = "test_project_2"
    description = "updated test project description"
    visibility  = "private"
  }

  demo_project  = {
    name        = "test_project_3"
    description = "test project description"
    visibility  = "private"
  }

}

decided to move gitlab caf module to aztfmod/terraform-addons-caf repo
PR for that is merged (https://github.com/aztfmod/terraform-addons-caf/pull/1)


Update aws-java-sdk-bundle to 1.12.376

Updates com.amazonaws:aws-java-sdk-bundle from 1.12.370 to 1.12.376.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #2458.


[Bug]: the hydrate-mismatch link seems not right

Summary

this will be redirected to https://react.dev/reference/react-dom/client/hydrateRoot#hydrating-server-rendered-html, which seems not right
Page
https://react.dev/errors/418
Details
No response

this will be redirected to react.dev/reference/react-dom/client/hydrateRoot#hydrating-server-rendered-html, which seems not right

Seems right to me. Where should it redirect to instead?

I think it supposed to be some hydration-mismatch related thing, not about how to use hydrateRoot

There is a section ("Pitfall!") right in there talking about causes

Yeah this is correct


About Page Links

Tearcell/Itch.IO HTML5 version of game
When you try to follow the hyperlinks in the About page, rather than opening that page, it appends the URL to the current URL.

@PickyBurrito49  fixed this issue


ChainedManyToManyField don't work with filter_horizontal/filter_vertical

ChainedManyToManyField works excellent in grappelli, but doesn't work if you apply filter_horizontal/filter_vertical on field where you use ChainedManyToManyField

Can you try using the master branch? This may have been fixed in #148.

I am using django 1.10 and the filter_horizontal/filter_vertical does not work

I made a little change to solve this problem, in this fork:
https://github.com/jorgecorrea/django-smart-selects
I do not made a pull request because I think that is not the best solution.

@jorgecorrea If you don't mind, make a PR and I'll see if I can clean it up from there.

Fixed with #183.


Update LICENSE & Blueprint

[x] Update License to 2019

[x] Update blueprint with Object.freeze that works with ember eslint

@rwjblue can we merge this, please?


Time estimate to run.

Hi, first thanks to open source the paper! I recently got interested in "matching algorithms" and
run into this interesting paper.
So I try to replicate the paper and run the sample as suggested. But it takes really long to run on my local mac(> 2.5 Hrs).
You had referenced that "Here, we have around 500 users and recommended to trim around 50. This takes 1 hours to run."
What's your benchmark for hardware for running this experiment?
Thanks!

Hi @Franceshe, I also use my Mac with touchbar first gen (15") to run the problem. I will look up for specifications tomorrow.

@Franceshe Oh boy, it takes a while for "tomorrow". So the hardware is Mac Touchbar 15" with  2.7 GHz Quad-Core Intel Core i7. Memory 16 GB.
I also added an example of mindmatch_cluster.py where we divide abstracts into clusters before performing mindmatching. That takes much shorter time to run.

@Franceshe Oh boy, it takes a while for "tomorrow". So the hardware is Mac Touchbar 15" with 2.7 GHz Quad-Core Intel Core i7. Memory 16 GB.
I also added an example of mindmatch_cluster.py where we divide abstracts into clusters before performing mindmatching. That takes much shorter time to run.

Yeah, it took a while but it is worthwhile lol.
Thanks, I'll take try the example later and see how it goes :)

Awesome! Sorry that it took so long! I wrote my dissertation and that took forever, lol. I made a little trick where we do spectral clustering before running the mind-matching where you can run the following script.
python mindmatch_cluster.py data/mindmatch_example.csv --n_match=6 --n_trim=50 --n_clusters=4

Awesome! Sorry that it took so long! I wrote my dissertation and that took forever, lol. I made a little trick where we do spectral clustering before running the mind-matching where you can run the following script.
python mindmatch_cluster.py data/mindmatch_example.csv --n_match=6 --n_trim=50 --n_clusters=4

Looks like Covid is getting serious at Bangkok, Thailand.
And looks like you had done so many interesting things in NLP and machine learning. Love your work, please take care hh.

Take care too! I will keep you update if I got the algorithm to scale in a better way.


Remove "Guidance" from terms of use.

Avoid legal questions around combining terms and guidance.
While the terms of use are user friendly, and give a good overview of what you can and can’t do, they are terms and not guidance.
Where guidance is needed, the service is already doing this in context. If we do need an overview, it probably shouldn't be bundled with the terms.
Slack message for further context.
This undoes #641 which I think was merged too early.

Merged because Paul is out of the office today.


Priority is too low on Basilisk

Seems we should gracefully handle situations like that even I think it's more issue which should be handled by wallet?
Is there something user can do in this?
bXn2WtSvE61qcDCJBuepdaSoy2HxpyBb8UE2hWvgZQiZ9hFnr
https://basilisk.subscan.io/account/bXn2WtSvE61qcDCJBuepdaSoy2HxpyBb8UE2hWvgZQiZ9hFnr

This is issue that you made same tx twice


Fix all the unit tests

This PR modifies all the unit tests with regards to the feature.

@MatkovIvan those are functional tests, not unit. And I'm guessing we will need another task for that 😩

Fixes for functional tests are in other PRs: #923 #921


DDT-828: Slimming DCSA-Core part 1

This PR attempts to improve DCSA-Core by:

Reduce the visibility of some implementation details to reduce the number of public classes. (This scan was solely done on a class level - there are still methods could do with a reduced visibility.)  This has caused some classes to get moved as a consequence.
Add / Improve javadoc for some of the features (primary annotations based features were done in this run)

This looks good to me - think it is a good idea for @pimg and/or @douradofrazer to give it a look also ;-)

done ;)


Is this project still active in development?

Yes, sure! We are currently focused on Web and Android versions of QuickPose.


fixed dynamic imports example link in concepts.md

Description
Updated concepts.md: fixed link to manual code splitting (dynamic imports) example
Changes/Tasks

[x] Changed documentation
[ ] Changed code

Motivation and Context

Screenshots (if appropriate):

Types of changes

[ ] Refactoring/add tests (refactoring or adding test which isn't a fix or add a feature)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My change requires a change to the documentation.

[x] I have updated the documentation accordingly.

[ ] My changes have tests around them

Info: master branch now points to 5.x.x and the v6 branch to 6.0.0-beta. You may need to close and reopen your PR to the v6 branch.

Reopen to v6 when you get a chance! 😄


remove as_slice dependency

Did the core trait cover the as slice use? I remember it did not do it before?

as_slice was introduced because array impls (including AsRef<[T]>) were limited by 32. Similar situation was with GenericArray.
As now all arrays are generic it's time to forget about as_slice.

Ah perfect, thanks for fixing!


Fix wide range color crash #11

by making sure the color component values are within the 0.0 -> 1.0 interval
Created a PR out of @purpleblues’s suggestion https://github.com/maxkonovalov/MKRingProgressView/issues/11#issuecomment-264623982

@MariusCiocanel this is great, thanks!


Custom sorting is not working

Hi!
Thank you for you import-sort tool, it's very useful.
I'm using VS Code plugin and have a trouble with sort customization.
I've added configuration into package.json:
    "importSort": {
        ".js, .jsx, .es6, .es": {
            "parser": "babylon",
            "style": "module"
        }
    }

But when I try to save my JS-file it works as before:
import { Text, TouchableOpacity, View } from 'react-native';

import React from 'react';
import styled from 'styled-components/native';
import { withNavigation } from 'react-navigation';

I believe plugin is not reading package.json config during his work. Any ideas how to fix that?

Hi @sergeyzwezdin
please try again with the new major version 4. Currently there is no error checking regarding parsing of the configuration and import-sort will fall back to its default configuration.

Thank you!


Increasing UI font size results in settings sidebar text being cropped

Lapce Version
0.2.5
System information
Ubuntu 22.04
Describe the bug
When UI font size is increased to e.g. 18, the text in the sidebar of settings tab appears cropped.
Additional information

It looks like the width of the sidebar is not scaled up with UI font size and text wrapping is not enabled as well.

This also happens if the font family differs:
OS: Windows 11
Arch: x86_x64
Font

I have a same problem

This is fixed in master

I've just tried with v0.3.0 and the issue is still there, the only difference is that now you need a larger font size to trigger it. Previously 18 was enough, now 18 fits fine, but e.g. 22 leads to cropping:


Dependency annotations?

Would you consider a pull request to add dependency annotations? I see that you're using ngInject, but dependency annotations would be nice for people who do not wish to add another tool to their build process.

Certainly.
—
Sent from Mailbox
On Mon, Jan 19, 2015 at 9:19 AM, Sean Walsh<EMAIL_ADDRESS>wrote:

Would you consider a pull request to add dependency annotations? I see that you're using ngInject, but dependency annotations would be nice for people who do not wish to add another tool to their build process.
Reply to this email directly or view it on GitHub:
https://github.com/geddski/overmind/issues/19


error in display content or resources as dual

below image discribes the issue

i want to work on this and solve it

@AravindAkuthota, please go ahead and remove it. There are many duplicate entries, so make sure to remove all of them.

the issue is resolved


📝 How to use offline installation

This PR is an improvement in the documentation to describe how to use the offline installation. This is a second step of the issue #17 after tested it successfully from the main branch.

@rmarting Thanks!


GPU training

Hello, thank you for your contribution! As a beginner, I would like to ask whether the GPU is not used in the training process?

No, this repo is CPU-only, as with the environments (MuJoCo) and sizes of the networks, the overhead of transferring data from CPU <-> GPU is significant compared to the speedup of running networks on GPU.


VsIG-View-1

Don't look at Your files. I have commented them just to run program (I'll revert all of this)


Use an Azure OpenAI Endpoint

We should use the Azure OpenAI endpoint instead of the OpenAI API endpoint  as the Azure service has been assessed by CCCS for PB data.
Link to Services in scope on Canada Protected B documentation from MS: https://learn.microsoft.com/en-us/azure/compliance/offerings/offering-canada-protected-b#services-in-scope
List of in scope services: https://www.microsoft.com/licensing/terms/product/PrivacyandSecurityTerms/all

Because the Action will have access to the secrets in the repo this introduces the risk that Protected/Sensitive information will be sent to an un-assessed service.
I would say this is a required feature change before we start to use this service on any repo that has access to Secrets that may be considered sensitive. Which with how we use organizational secrets in Github is every repo in the cds-snc organization.

This is considered complete work with this PR #3.


Plugins

Make the Minerva bot ecosystem modular so functionality can easily be expandable by "adding" new plugins that can be used.

Need to use a promise pattern: https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html
to allow our function to execute a promise and then return another promise.


[BUG]Typescript HTTP Hello World example is missing configuration file

Affected project(s)

[X] documentation
[X] examples
[ ] wasmCloud host
[ ] wasmCloud CLI (wash)
[ ] wasmCloud dashboard UI (washboard)
[ ] capability providers
[ ] provider bindgen
[ ] control interface client
[ ] other / not sure

Describe the bug
In the Wasmcloud HTTP Hello World for Typescript, the doc says to use wash new actor to scaffold the project starting from the GitHub Wasmcloud Typescript example folder.
The command fails, as project-generate.toml file is missing. The file exists for the other langages examples.
Steps to reproduce

Run command
wash new actor --git wasmcloud/wasmcloud --subfolder examples/typescript/actors/http-hello-world hello

See the error trace:
$ wash new actor --git wasmcloud/wasmcloud --subfolder examples/typescript/actors/http-hello-world hello
🔧   Cloning template from repo wasmcloud/wasmcloud subfolder examples/typescript/actors/http-hello-world...
🔧   Using template subfolder examples/typescript/actors/http-hello-world...

Failed to generate project

Caused by:
    0: Invalid template folder: Required configuration file `project-generate.toml` is missing.
    1: ⛔   File not found within template

Expected behavior
The project is created, as with Rust or TinyGo
Environment

OS: MacOs
Shell: zsh
wasmcloud Version: wash 0.25.0

Screenshots / Logs / Additional context
No response

@LostInBrittany thank you so much for filing this issue and then, fixing it! You actually saved me from some pain of hitting this exact problem in #1399 too ❤


Gramhagen/vw wrapper

Description
new wrapper for vowpal wabbit to support common interface for model instantiation, fit, and predict methods. this is a stop-gap solution until the vw python bindings (and sklearn interface) can be cleanly installed in a conda env for use in the notebooks here.
the unittests do not require vw to be installed, but for this class to work for real vw must be installed on the operating system it is running on, and on the path for the python process calling this (i.e. commands such as 'vw -f test.model -d train.dat' should work)
Related Issues
#513
Checklist:

[X] My code follows the code style of this project, as detailed in our contribution guidelines.
[X] I have added tests.
[X] I have updated the documentation accordingly.

blarg, I don't know how those got there, I assumed it was from merging staging

closing this in favor of clean pr


Add lua_getuserdatadtor

Some userdata objects may need to support manual destruction in addition to automatic GC. For example, files, threads, GPU resources and objects with large external allocations.
With Lua, a finalizer can be generically called by invoking the __gc metamethod manually, but this is currently not possible with tagged userdata in Luau because it's not possible to query the destructor associated with an userdata. While it is possible to workaround this by duplicating the destructor table locally on client side (*), it's more convenient to deduplicate the data and get the destructor using the API instead.
(*) Note: a separate destructor table for each VM may be required if the VMs use different set of tags.
Implementation notes:

I first considered adding a typedef for lua_Destructor but unfortunately there are two kinds of destructors, one with and one without the lua_State* argument, so I decided against it at this point. Maybe it should be added later if the destructor API is unified (by dropping the Lua state pointer argument?).

For some reason the conformance test produced warning "qualifier applied to function type has no meaning; ignored" on VS2017 (possibly because the test framework does not like function pointers for some reason?). I silenced this by pulling out the test expressions from those CHECKs.

Hi! Would it be possible to either accept or reject this pull request, please? I'm currently using a modified version of Luau with this change, and I'd prefer not having to maintain an incompatible version in the long run. It's not the end of the world if this is rejected (I can replicate the destructor table on the client side with some extra work), but at the same time I cannot think of any reason why this couldn't be in the official API... I'm happy to answer any questions.

Not really sure what the need for this is, calling 'destructor' multiple times on one object doesn't sound like a great idea.
I guess it's not a real destructor and might be like an fclose for a FILE, so it's not an UB from the host side (although calling fclose twice is also an UB and some mark has to be placed behind), it raises question why doesn't the userdata just have a separate function to free the resource and correctly mark it as empty.


Is it possible to add id's in order to use anchors on the Headings?

I've installed this to add some Rich text editor functionality, and can easily add headings etc, but can't add an id onto them to use them as internal anchor points when linking to the page. For example, a Table of Contents component.
Is this possible?

Currently no. But I might be able to whip something together that would allow for this.

No worries. I managed to programmatically add id's on the FE. Though it would still be a good feature in the CMS.

@dasmikko is it also related to a premium plugin, isn't it?
We could find a similar plugin from the community, cause this idea is pretty cool @T-Gwynbleidd.


Kibana Dashboard from Example cannot be loaded into Kibana 4

The dashboard you provided for Kibana is explicitly for Kibana 3 and there is no migration tool provided by Kibana to move it and you can't load it into Kibana 4. Looks like it needs to be recreated from scratch. I'm going to take a swing at some of it if I have time this week but I've never used Kibana so I'm not sure I'll have much to contribute but let's see.

Ok. Thanks. Have a go and let me know how you get on.

I have an updated one to submit. It's two json files.
Alerta-Kibana4.zip

Thanks. See #3


Explain multiple line support better

It seems like the limited information about multi-line support in the readme causes wishful thinking to kick in and make people believe that the feature is more complicated than it really is.
Hopefully this should reduce that!

Thanks.


Export plots as SVG

This was a common user request at a recent workshop

I'm running into some issues with exporting to SVG. The SVG will display just fine in a browser, but appears empty in an image viewer. Exporting to PNG works fine. Perhaps exporting to PNG is okay for now?

I think he wants to fiddle w the images in something like adobe illustrator, so I'm guessing png is less than ideal.


Feature Request.

I'd like to maybe see a feature where you can optionally set a sound effect to signify the start or end of PVP.
Perhaps also include an optional Message., with the option to set if it's a chat message, title, toast, tooltip.

@ver24436 good idea, i'll be bringing those features and a plugin revamp :)


Please document how to add comments to Spark SQL code

I searched for a few minutes and kept landing here, but it's the wrong content for what I really need.
I need to know how to add a comment to Spark SQL. I think the answer is use the -- characters, but I can't find it in Databricks docs.
We need a page that has SEO optimization for adding comments to Spark SQL in Azure Databricks.
Thanks, Jason

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

ID: 0d0dba07-2a19-2838-41f4-fb3091d5eb6e
Version Independent ID: 0d0dba07-2a19-2838-41f4-fb3091d5eb6e
Content: Document data with markdown comments - Azure Databricks
Content Source: databricks/data/markdown-data-comments.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@JasonWHowell
Thanks for your feedback! We will investigate and update as appropriate.

@kateglee-db
Could you please review add comments on this, update as appropriate.

Thanks for providing feedback that helps improve our documentation. We've created an internal work item (DOC-11892) to address your feedback. The timeline for resolution varies based on resourcing.
#please-close


Download from highlightjs.org/download fails if select all languages

Download from highlightjs.org/download fails if select all languages
Selecting all languages will lead into an error during download on my browser (Edge and Chrome)
Browser consol shows error 502 - Bad Gateway
Sample Code or Instructions to Reproduce

https://highlightjs.org/download
check Select all languages
click Download

Result in ZIP: highlight.zip

Closing as a duplicate of https://github.com/highlightjs/highlightjs.org/issues/15.


[DRAFT] Sagemaker integration

This still needs some fixing because there are some TRI-specific stuff in launch_sagemaker_train.py
It works if you run python sagemaker_train/launch_sagemaker_train.py --user sedrick.keh --cfg-path sagemaker_train/cfg_sample.yaml --build. For easy testing, I edited params.py to accept openlm_mix_tri_s3 in my local code (not pushed) but aside from that it works without any other changes

Edited the file to remove TRI mentions. Now the region, ARN, and s3 path can be supplied through command line or env variable

made some changes that should fix the issues with config here: https://github.com/sedrick-keh-tri/open_lm/pull/1. I think if you merge that PR into your branch, it should update this PR, and we should be good to merge.


integration tests and infra changes needed to run

this needs some cleanup, but it could be the base for our integration tests going forwards, so I'd like to get some comments on the infrastructure changes.
added the test to make test-integration target

new output is this:
docker run --rm -ti --net=host -v /home/travis/build/MHBauer/service-catalog:/go/src/github.com/kubernetes-incubator/service-catalog -v /home/travis/build/MHBauer/service-catalog/.pkg:/go/pkg scbuildimage test/integration.sh
+++ [0216 04:15:29] Checking etcd is on PATH
/usr/local/bin/etcd
+++ [0216 04:15:29] Starting etcd instance
etcd --advertise-client-urls http://<IP_ADDRESS>:2379 --data-dir /tmp/tmp.oycmdUYseO --listen-client-urls http://<IP_ADDRESS>:2379 --debug > "/dev/null" 2>/dev/null
Waiting for etcd to come up.
+++ [0216 04:15:29] On try 1, etcd: : http://localhost:2379
{"action":"set","node":{"key":"/_test","value":"","modifiedIndex":4,"createdIndex":4}}
+++ [0216 04:15:29] Running integration test cases
=== RUN   TestRunServer
--- PASS: TestRunServer (0.00s)
=== RUN   TestRunSecureServer
E0216 04:15:33.550694      83 roundtrip_test.go:178] Waiting for : "https://localhost:8888"
E0216 04:15:33.652149      83 roundtrip_test.go:178] Waiting for : "https://localhost:8888"
E0216 04:15:33.752802      83 roundtrip_test.go:178] Waiting for : "https://localhost:8888"
E0216 04:15:33.853257      83 roundtrip_test.go:178] Waiting for : "https://localhost:8888"
[restful] 2017/02/16 04:15:33 log.go:30: [restful/swagger] listing is available at https://<IP_ADDRESS>:8888/swaggerapi/
[restful] 2017/02/16 04:15:33 log.go:30: [restful/swagger] https://<IP_ADDRESS>:8888/swaggerui/ is mapped to folder /swagger-ui/
E0216 04:15:33.953767      83 roundtrip_test.go:178] Waiting for : "https://localhost:8888"
E0216 04:15:33.987200      83 roundtrip_test.go:203] http get response code : 200
E0216 04:15:33.994891      83 roundtrip_test.go:203] http get response code : 200
E0216 04:15:34.000411      83 roundtrip_test.go:203] http get response code : 200
E0216 04:15:34.006341      83 roundtrip_test.go:203] http get response code : 200
--- PASS: TestRunSecureServer (0.48s)
	roundtrip_test.go:133: servicecatalog.k8s.io/v1alpha1
	roundtrip_test.go:138: &{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 5 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[]}} <nil>
	roundtrip_test.go:141: &{{ } {/apis/servicecatalog.k8s.io/v1alpha1/brokers 5} [{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 5 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[]}}]} <nil>
	roundtrip_test.go:144: &{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 5 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[]}} <nil>
	roundtrip_test.go:152: &{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 5 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[{Ready True  }]}}
	roundtrip_test.go:154: updated broker, status should not be different &{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 6 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[]}} <nil>
	roundtrip_test.go:156: updated broker, status should not be different &{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 6 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[]}} <nil>
	roundtrip_test.go:159: updated broker status, status should be different &{{ } {      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] [] } {   } {[]}} Operation cannot be fulfilled on brokers "test-broker": the object has been modified; please apply your changes to the latest version and try again
	roundtrip_test.go:161: updated broker status, status should be different &{{ } {test-broker   /apis/servicecatalog.k8s.io/v1alpha1/brokerstest-broker 8fbcad35-f3fe-11e6-af2d-42010a0a0808 6 0 2017-02-16 04:15:34 +0000 UTC <nil> <nil> map[] map[] [] [] } {broker needs a url   } {[]}} <nil>
	roundtrip_test.go:166: updated broker status, status should be different &{{ } {      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] [] } {   } {[]}} brokers "test-broker" not found
PASS
ok  	github.com/kubernetes-incubator/service-catalog/test/integration	0.560s

which just proves that the client and the server are talking.

This is about the minimal-est and sanest I think I can get this for now without going and hacking too much at the guts of everything.
We're going to need to go back and look at the implementation of Validate and Update and make sure things actually work.
This should serve as a template for everyone to start working in parallel.

I am mostly LGTM on this and most of my own feedback is non-blocking. You're close to my LGTM. I just want to see feedback from others resolved first. This looks really good.

@krancour @kibbles-n-bytes @pmorie @duglin I think basic comments are addressed. If we want to make bigger decisions, we can call a meeting or merge with Monday's agenda.

From my perspective, nothing blocking. Other comments from others look to be addressed. LGTM

Merging, good job and thanks for doing this. We can whittle and bikeshed in follow ups if necessary.


bridge dataset actions

Hi, I noticed you relabel the action labels using real traj rather than the original ones for bridge v2 dataset. Is there any specific reason?

Yes, in the past I've found this action relabeling strategy combined with evaluating using blocking control results in better performance.
During data collection the robot does not always achieve the action that was commanded, and whether it overshoots or undershoots depends on how fast the end effector is currently moving. This means the policy needs to look at a history of multiple observations to determine the best action. However we can make the learning problem simpler by using the actual change in position of the end effector as the action. Then, during evaluation, we can force the the robot to always achieve the commanded action using a blocking controller (see the flag in the bridge data evaluation script in this repo). Though this strategy comes at the cost of making the robot's motion much less fluid. For the most fluid motion, you'd want to use the original actions and evaluate with non-blocking control (though in principle your policy will need to see a history of frames to fully fit the data in this case).


could not get values from Json

My product is returning below like JSONs.
Unable to parse the JSON using JSONPATH. Please help.

Input:
{"result":[{"LGE":{"avg_cpu":26.0,"crash_count":0,"crash_count_percent":0.0,"http_errors":1,"http_errors_percent":100.0,"avg_mem":3.0,"affected_users":0,"affected_users_percent":0.0,"avg_session_length":4000,"avg_spin_time":-1,"avg_frame_rate":0.0,"avg_start_time":916,"spin_session_percent":0.0,"active_users":0,"sessions":1,"avg_battery":80.0,"counter":0,"http_errors_time":[["time_unit","count"],["2015-12-28 00:00:00",1]],"latency":[["time_unit","count"],["2015-12-28 00:00:00",45366]],"crashes":[["time_unit","count"],["2015-12-28 00:00:00",0]],"device":"LGE","deviceKey":0,"httpErrorsCount":null,"latencyCount":null,"crashCount":null}}],"per_page":10,"page":1,"total_records":1}
How to get values like avg_battery, etc?

You can get avg_battery with this query:
$.result[0].LGE.avg_battery
You can get total_records with this query:
$.total_records

Thanks, getting the values :)
On Mon, Feb 15, 2016 at 9:34 PM, transparentech<EMAIL_ADDRESS>wrote:

You can get avg_battery with this query:
$.result[0].LGE.avg_battery
You can get total_records with this query:
$.total_records
—
Reply to this email directly or view it on GitHub
https://github.com/jayway/JsonPath/issues/179#issuecomment-184272451.

Thanks. The above Queries are working fine.

To tell -! Tree. -_+2.
,
TX..the . L
Thanks wear


Login using /api/login

Hello,
I want to use your bundle to create a secure API for my iOS app but I don't understand how to get the token using the URL. I configured the bundle as you said but now I don't know what to do...
Can you help me ?
Thanks
PS: I think you are french but I'm not sure

Hi,
Yes we are french :) But as the issue might be interesting to other people let's continue in english.
The workflow is described here https://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/index.md#usage.
But to sum up the first thing you need to do is obtain a token by sending the user credentials from your iOS app to your symfony2 application.
If you followed the method described in the documentation, just send them through a POST request to the /api/login_check uri. Just like you would do with a classic HTML form.
If the authentication is successful, you'll obtain a reusable token.
Let me know if you still have the problem.

Hi,
I think my config isn't good because I get a "no route found" when I call /api/login_check in my navigator

Try the sandbox : https://github.com/slashfan/LexikJWTAuthenticationBundleSandbox
Everything is configured and working, and there's a sample application to demonstrate usage with a javascript client (angularjs).

Hi, did you manage to manage to make it work ?

Hello,
I followed all the steps, I even used the same code as the sandbox and my /api/login_check uri give me that error:

Unable to find the controller for path "/api/login_check". Maybe you forgot to add the matching route in your routing configuration?

I don't know what is the problem...
Can you help me please ?

It's for sure too late for you, but it may help other people.
This error is caused because you are trying to access to "/api/login_check" with a GET request, but only POST requests are allowed.

You need to make sure that you are sending a POST request with HEADER 'content-type': 'application/json' and the data must be in JSON


TensorNetwork converter fails if the circuit has classical registers

If the pytket.Circuit has any classical register, when calling TensorNetwork on it, we get the following error:
Traceback (most recent call last):
  File "/home/aborgna/src/check-circ-eq/check_eq.py", line 112, in <module>
    run(MAX_QUBITS, results)
  File "/home/aborgna/src/check-circ-eq/check_eq.py", line 75, in run
    is_eq = test_equivalence(new_circ, old_circ)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aborgna/src/check-circ-eq/check_eq.py", line 30, in test_equivalence
    ket_net = TensorNetwork(ket_circ)
              ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aborgna/src/check-circ-eq/venv/lib/python3.11/site-packages/pytket/extensions/cutensornet/tensor_network_convert.py", line 87, in __init__
    self._output_index_to_qubit = {
                                  ^
  File "/home/aborgna/src/check-circ-eq/venv/lib/python3.11/site-packages/pytket/extensions/cutensornet/tensor_network_convert.py", line 88, in <dictcomp>
    oi: qname_to_q[qname] for oi, qname in self._graph.output_names.items()
        ~~~~~~~~~~^^^^^^^
KeyError: 'c[0]'

This error occurs even if there are no operations acting on the classical registers. The issue seems to be that  self._graph.output_names includes all wires, not only quantum ones.

This issue was found by Agustin Borgna.

My suggestion is that we check for classical registers at the beginning of the conversion and, if we find any, raise a UserError with a message saying something like "Classical registers are not supported. Please remove all classical registers from your circuit."

Closing this issue because it refers to the old (soon to be deprecated API). The new API GeneralState will be full-featured (*) once https://github.com/CQCL/pytket-cutensornet/pull/165 is merged.
The GeneralState API does not support classical operations (note that StructedState does). The error it outputs is much more informative than the above, though.


Video demo for SignalServer

For showing off!

Want to start kicking around times to lay down this vid?

This idea came up around the conversation of giving live demos/webinars to users and how it'd be helpful to have one recorded for anybody wanting a peek at SignalServer. I was just gonna throw something together. We should coordinate on documentation in general (#250) though, who is responsible for that? Me, you, probably not @kellyhaydon? @dericed?

Yes, re: #250  I'll take that up

Re: the video, do you have a favorite tool for recording?

Great! I'll follow up in that thread. For video, I usually just use Quicktime's screen recording feature.


UnboundLocalError: local variable 'proposal_order_forward' referenced before assignment

Here's an error I haven't seen before:
======================================================================
FAIL: Doctest: perses.samplers.samplers.SAMSSampler
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/_test/lib/python2.7/doctest.py", line 2226, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for perses.samplers.samplers.SAMSSampler
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 831, in SAMSSampler
----------------------------------------------------------------------
File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 877, in perses.samplers.samplers.SAMSSampler
Failed example:
    sams_sampler.run()
Exception raised:
    Traceback (most recent call last):
      File "/home/travis/miniconda/envs/_test/lib/python2.7/doctest.py", line 1315, in __run
        compileflags, 1) in test.globs
      File "<doctest perses.samplers.samplers.SAMSSampler[13]>", line 1, in <module>
        sams_sampler.run()
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 969, in run
        self.update()
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 953, in update
        self.update_sampler()
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 921, in update_sampler
        self.sampler.update()
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 796, in update
        self.update_state()
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/samplers/samplers.py", line 735, in update_state
        geometry_logp_reverse = self.geometry_engine.logp_reverse(topology_proposal, geometry_new_positions, geometry_old_positions, self.sampler.thermodynamic_state.beta)
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/rjmc/geometry.py", line 138, in logp_reverse
        logp_proposal, _ = self._logp_propose(top_proposal, old_coordinates, beta, new_positions=new_coordinates, direction='reverse')
      File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/perses-0.1-py2.7.egg/perses/rjmc/geometry.py", line 318, in _logp_propose
        logging.log(logging.DEBUG, "Proposal order time: %f s | Proposal order forward: %f s | Growth system generation: %f s | Total torsion scan time %f s | Total energy computation time %f s | Position set time %f s| Total time %f s" % (proposal_order_time, proposal_order_forward, growth_system_time , self._torsion_coordinate_time, self._energy_time, self._position_set_time, total_time))
    UnboundLocalError: local variable 'proposal_order_forward' referenced before assignment

Fixed in #186


Allow to use .babelrc along with auto injecting Nuxt setup (recently broken)

Is your feature request related to a problem? Please describe.
I use a mono repo for frontend (with Nuxt) and backend. Both my frontend and backend use Babel to compile. I want to reuse .babelrc for both frontend and backend, in particular for common setup of Babel plugins such as @babel/proposal-decorators or module-resolver.
I only want Nuxt to inject its @nuxt/babel-preset-app on top of .babelrc so that, for instance, client code compiles to { ie: 9 }.
This used to work just fine in Nuxt 2.11:
export default {
	build: {
		babel: {
			babelrc: true,
			presets({ isServer }) {
				const targets = isServer ? { node: 'current' } : { ie: 11 }
				return [[require.resolve('@nuxt/babel-preset-app'), { targets }]]
			},

After I upgraded to Nuxt 2.14, this setup broke with:
 ERROR  in ./.nuxt/client.js

Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: .presets must be an array, or undefined
    at assertArray (/xxx/node_modules/@babel/core/lib/config/validation/option-assertions.js:150:11)

I've read the new documentation and updated my setup to:
	build: {
		babel: {
			babelrc: true,
			presets(_env, [preset, options]) {
				return [[preset, options]]
			},

which didn't make any difference.
I traced the problem to this recent PR: #7297 and in particular these lines:
https://github.com/nuxt/nuxt.js/blob/baf94d31f300b3fdeae1da12af7e944016fe99b3/packages/webpack/src/config/base.js#L106-L108
Describe the solution you'd like
I'm not sure what would be the best. It could be an additional option like config.build.babelrc = "merge" (or config.build.babel.babelrc = "merge"), which would restore the old behaviour.
Describe alternatives you've considered
At the moment, I can't come up with any.
Additional context
I don't really think my scenario is an edge case. I think using the same repo for frontend and backend is a fairly popular setup. Using babel for backend is not yet very popular, however it's a trend in Typescript community, it's even suggested by Microsoft itself: https://www.typescriptlang.org/docs/handbook/babel-with-typescript.html
The new logic of config.build.babel.babelrc = true is basically useless because it will generate the same build for client & server, which no one needs. I understand that you had reasons for this change, however please also consider reasons for the old behaviour as well.

FWIW, I ended up with converting my .babelrc to babel.config.js, and doing this in nuxt.config.ts:
import babelrc from '../../babel.config'

const config: NuxtConfig = {
  build: {
    babel: {
      // can't use babelrc: true, see https://github.com/nuxt/nuxt.js/issues/8268
      plugins() {
        // Must be a function. Simply doing plugins: babelrc.plugins leads to this error:
        // Maximum call stack size exceeded (While processing<EMAIL_ADDRESS>(While processing<EMAIL_ADDRESS>...
        return babelrc.plugins
      },
    },

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. I'm closing this issue as it's marked as a Nuxt 2 related enhancement and it's not a critical issue.
That doesn't mean it might not be relevant for Nuxt 3. If it is, please feel free to open a new issue (or just comment, and I can reopen it). 🙏
Thank you for your understanding and for your contribution to Nuxt! 🎉


Trailers functionality. Just minor changes

forgot to add package details in package.json. Now it's safe

Also added the trailers to #meta. Please review the code and test it.


Error install v0.1.2

Trying to install del latest version I get:
><EMAIL_ADDRESS>postinstall /Users/carlos.villuendas/Developer/atoms/re-autocompleted/node_modules/component-playground
> npm run build-lib

><EMAIL_ADDRESS>build-lib /Users/carlos.villuendas/Developer/atoms/re-autocompleted/node_modules/component-playground
> npm run clean-lib && babel --stage 0 src -d lib

><EMAIL_ADDRESS>clean-lib /Users/carlos.villuendas/Developer/atoms/re-autocompleted/node_modules/component-playground
> rimraf lib

src doesn't exist

npm ERR! Darwin 14.5.0
npm ERR! argv "/Users/carlos.villuendas/.nvm/versions/node/v4.0.0/bin/node" "/Users/carlos.villuendas/.nvm/versions/node/v4.0.0/bin/npm" "run" "build-lib"
npm ERR! node v4.0.0
npm ERR! npm  v3.3.5
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build-lib: `npm run clean-lib && babel --stage 0 src -d lib`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-lib script 'npm run clean-lib && babel --stage 0 src -d lib'.
npm ERR! This is most likely a problem with the component-playground package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run clean-lib && babel --stage 0 src -d lib
npm ERR! You can get their info via:
npm ERR!     npm owner ls component-playground
npm ERR! There is likely additional logging output above.

I'm getting something very similar with 1.0.0

This is fixed


Release Google.Cloud.ArtifactRegistry.V1Beta2 version 2.0.0-beta05

Changes in this release:
New features

Add IServiceCollection extension methods for client registration where an IServiceProvider is required. (commit 022fab2)

Created release for Google.Cloud.ArtifactRegistry.V1Beta2-2.0.0-beta05


variable names with spaces corrupt program state

actually, more related to size > 8

Probably related to strcpy

Related to strcpy copying more characters than initially allowed buffer size. Replaced by strncpy in ARM mbed.


DistributionNotFound: No distributions at all found for Werkzeug==0.11.3 (from -r /tmp/tmp.YadJ1nkN9L/letsencrypt-auto-requirements.txt (line 177))

peep: (3, 0, 0)
python: '2.6.6 (r266:84292, Jul 23 2015, 15:22:56) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]'
pip: '1.4.1'
Command line:  ['/tmp/tmp.YadJ1nkN9L/peep.py', 'install', '-r', '/tmp/tmp.YadJ1nkN9L/letsencrypt-auto-requirements.txt']
Traceback (most recent call last):
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 958, in
exit(main())
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 930, in main
return commandsargv[1]
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 862, in peep_install
for path in req_paths))
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 862, in
for path in req_paths))
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 839, in downloaded_reqs_from_path
_parse_requirements(path, finder)]
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 420, in init
self.class = self._class()
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 699, in _class
if self._actual_hash() not in self._expected_hashes():
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 329, in memoizer
self._cache[func.name] = func(self)
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 655, in _actual_hash
return hash_of_file(join(self._temp_path, self._downloaded_filename()))
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 329, in memoizer
self._cache[func.name] = func(self)
File "/tmp/tmp.YadJ1nkN9L/peep.py", line 608, in _downloaded_filename
link = self._link() or self._finder.find_requirement(self._req, upgrade=False)
File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/pip/index.py", line 265, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
DistributionNotFound: No distributions at all found for Werkzeug==0.11.3 (from -r /tmp/tmp.YadJ1nkN9L/letsencrypt-auto-requirements.txt (line 177))

the above info. comes from cloud host , centOS 6.7,x64

Hi :-)
This isn't an issue with peep, but an error returned by pip:
DistributionNotFound: No distributions at all found for Werkzeug==0.11.3 (from -r /tmp/tmp.YadJ1nkN9L/letsencrypt-auto-requirements.txt (line 177))
Unfortunately peep hasn't handled that error well, and as such mistakenly displayed the message asking you to file a ticket. #118 has fixed peep so it doesn't mislead, however we're waiting on letsencrypt/letsencrypt#2486 to update letsencrypt-auto to use this fixed version of peep.
I'd try running letsencrypt-auto again, and failing that try checking if pip works on its own on that box.

I'm trying to nudge us to get Let's Encrypt 0.4.1 out the door soon. :-)

resolved by upgrade python from 2.6 to 2.7, 8=)


Fix scanner for Unicode point escape with curly braces

Right curly braces "}" was unconditionally parsed as the same token if there is a Unicode escape string before it. For example, in the following JS code:
if(foo){foo=\u03b5}else bar()
"\u03b5}" was parsed as a single token. In this pull request, my code checks if there is already a left curly brace "{" in this token (and if this token contains Unicode escape string) before appending "}".

Can you add a test for var \u{0043}}}}; as well? I think the current PR probably doesn't handle it.

OK. I'll find a spare time and do it.

@dimvar It works for var \u{0043}}}} now.

Looks good. Can you squash the commits into one? Then we can merge this.


Remove command: odo project

What type of PR is this:
/kind bug

What does this PR do / why we need it:
This PR removes odo project command.
Which issue(s) this PR fixes:

Fixes #
PR acceptance criteria:

[] Unit test

[x] Integration test

[x] Documentation

How to test changes / Special notes to the reviewer:
I've simply delete pkg/odo/cli/project/* directory, and searched & replaced all instances of odo project <action> with odo <action> project.

/approve

/override ci/prow/v4.10-integration-e2e
Tests pass on IBM cloud


Implement DivikResult

The task is to implement DivikResult class corresponding 1:1 with its MATLAB counterpart (if possible).
@Sand3r-  - you are the man to consult MATLAB interfaces with.
@Sebaxp95  - in case of any trouble, feel free to ask

 Implement DivikResult

Closed as 029796f


Report active markups even when selection is collapsed

This makes markupsInSelection report active markups even when the selection is collapsed.
If you run the demo, you can see why this is helpful:

mark some words bold
move the cursor in and out of the bold region
observe that the toolbar button for "Bold" correctly shows active state when you're inside the bold region. Prior to this change, the toolbar button would only show active state if you highlighted one or more characters inside a bold region.

This is excellent, thank you!


Prettier badges

Update with modern and consistently looking badges :sunglasses:

Sorry, I am totally ok with existed badges.
@RX14 @hugoabonizio @tbrand can you give us your 👍or 👎

Nah, luddites

Flat badges are not modern (not future), it just not defaults ;)


REPL console does not start

On a fresh install of Julia, Atom, and Juno following the installation instructions, the REPL console in Juno never gets past the "Press Enter to start Julia" prompt. The progress bar indicates activity, but the REPL is completely unresponsive.
Windows 10
Julia 1.0.0 (installed as administrator into C:\Program Files)
Atom 1.29.0 (installed as administrator)
uber-juno 0.2.0
Julia-client 0.7.3 (boot mode cycler)
language-Julia 0.16.0
If I switch the console to legacy, it does eventually launch but with some UndefVarErrors.

What happens if you call using Atom in a REPL outside of Juno? Are you sure you're on the latest versions of Atom.jl, Juno.jl and all related packages?

using Atom in a separate terminal results in "Package Atom not found in current path" error.  Checking the status showed that I had no installed packages at all.  .julia didn't even have the environments,  packages, and registries  folders.

Is there a log file or something I could be looking at to try to diagnose the problem?

It works after I updated to Julia-client 0.7.5 and language-Julia 0.17.0.

I have the same issue. I was using Julia version 0.6.4, but yesterday the REPL console in Juno stopped working. It shows the message "Press Enter to start Julia", but nothing happens. I already did a clean uninstallation and I try to install the versions 0.7 and them 1.0, but it still doesn't work.


Add Italian Javascript course

What does this PR do?
Add resource
For resources
Description
Add Italian Javascript video course
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ x] Read our contributing guidelines.
[ x] Search for duplicates.
[ x] Include author(s) and platform where appropriate.
[ x] Put lists in alphabetical order, correct spacing.
[ x] Add needed indications (PDF, access notes, under construction).
[ x] Used an informative name for this pull request.

Follow-up

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

For youtube, we prefer "playlist" links and the name of the producer/creator. https://github.com/EbookFoundation/free-programming-books/blob/master/CONTRIBUTING.md#platforms-and-access-notes

For youtube, we prefer "playlist" links and the name of the producer/creator. https://github.com/EbookFoundation/free-programming-books/blob/master/CONTRIBUTING.md#platforms-and-access-notes

Your link is broken

welcome back @mcicolella !


Expose retry timeout configuration

Hi here. Good library.
I would like to keep my client connection forever as long as I want but with the ability to cancel.
Cancelling is not a problem, but it seems configuring the retry option is not baked into the code. Can this be done?
Currently I do not even know what the max retry backoff is so I'm in the dark on that one. It seems like the only way is to enclose the conn.Connect() inside a loop, but that doesn't feel right because it's already handling the timing inside.

Hi there and thank you for raising this issue!
Just to make sure I understand, what you're looking for is more control over the backoff strategy. Currently you can configure the client to keep reconnecting indefinitely:
client := sse.Client{
    MaxRetries: -1, // -1 is interpreted as unbounded reconnection attempt count
}
conn := client.NewConnection(...) // use the client as normal

What you indeed cannot do is for example change the backoff algorithm or set a maximum backoff. As of now, the behavior of the backoff is the following:

the backoff period grows exponentially
the maximum backoff is 60 seconds
the maximum duration that backoff can be attempted is 15 minutes – that is, after 15 minutes, the client will stop the reconnection attempts

The client also respects any retry fields sent by the server. Does your use case also require overriding this behavior? To what other parameters would you need access?
Let me know if I've grasped the problem at hand correctly!

@tmaxmax Thanks for the response. You understood my question.
Now, looking at the  documentation, specifically this line
https://github.com/tmaxmax/go-sse/blob/4d09371fe868fffe25d67f41891bd4e243790621/client.go#L46
Does it mean after a graceful disconnect, the next reconnect will revert back to 0?
One other thing that I also initially forgot to include was cancellation/shutdown of the client.
I want to have something like this:
connectfn := func(){
    err := client.Connect()
    if err != nil {
        switch e := err.(type) {
            case <whatErrorGoesHereToSignalIntentionalCancellation> :
                disconnectedSignal <- true
            default:
                log.Errorf("Connection failed. Reconnecting in %v", retryWait)
                time.Sleep(retryWait)
                reconnectSignal <- true
        }
    }else{
        log.Log("Connected")
    }
}
go connectfn()
for {
    select {
        case shutdownSignal: // received from external service controller, CTRL+C, process manager, SIGTERM, etc
            // what to do here to tell the client to disconnect?
            client.Disconnect() ??
        case disconnectedSignal:
            // do some cleanup
            return
        case reconnectSignal:
            go connectfn()
    }
}

Does it mean after a graceful disconnect, the next reconnect will revert back to 0?

That means not that MaxRetries itself will be set to 0, but the internal retries counter. For example, if MaxRetries is 5, 4 attempts were made to reconnect and the last is successful, then, on an another eventual network issue, if the retries counter would not be reset, then the client would attempt only one time to reconnect, as MaxRetries is 5 and in total 5 retries were made. With the current behaviour the client attempts at most MaxRetries times for each connection loss, not in total. In other words, MaxRetries means "how many attempts can I make until I reconnect successfully", not "how many attempts can I make across the total lifespan of the Connection object".

One other thing that I also initially forgot to include was cancellation/shutdown of the client.

You can use the request context to signal shutdown/cancellation:
ctx, cancel := context.WithCancel(context.Background()) // or signal.NotifyContext(...) etc.
defer cancel()

req, _ := http.NewRequestWithContext(ctx, http.MethodGet, "https://example.com/sse", http.NoBody)
conn := client.NewConnection(req)

// configure the connection

go func() {
    err := conn.Connect()
    // Handle error here.
    // On cancellation this will be the error of the request context (in this code ctx.Err())
}

for {
    select {
    case shutdownSignal:
        cancel() // This will close the connection
    }
}

Regarding your initial problem, it seems like you would need access to more configuration of the backoff. Would something like:
type Client struct {
    // ...the other fields

    // Backoff is a function which creates a Backoff object
    // to be used by connections. This configures the backoff behavior,
    // refer to the cenkalti/backoff documentation for a reference of the
    // config options.
    //
    // The backoff is reset after each reconnection, and `retry` fields sent
    // from the server change the initial backoff interval, in line with
    // browser behavior.
    //
    // Each call to this function should return a new object. Otherwise
    // when multiple connections are used they will share the same backoff
    // configuration and bugs will emerge.
    Backoff func() backoff.Backoff
}

Would be used like:
client := sse.Client{
    Backoff: func() backoff.Backoff {
        return backoff.NewExponentialBackOff(
            backoff.WithInitialInterval(time.Second * 3),
            backoff.WithMultiplier(2),
            backoff.WithMaxElapsedTime(0), // unbounded
        )
    }
}
req, _ := /* build HTTP request */
// This Connection object will retry to re-establish connection to the server forever,
// start with a delay of 3 seconds which is doubled on each subsequent attempt.
conn := client.NewConnection(req)

Everything looks great so far.
You are actually right that I would need access to the backoff settings because I want a constant retry wait period due to the time-sensitive  nature of my service.

Are you on a tight deadline with this? I will take a little longer to implement the changes because I'd like to explore some alternative API possibilities besides what I've come up with above and maybe even removing the dependency on the external backoff library.
If you need this ASAP here's what you could do: make a fork of the library and change this code with the following:
func (c *Client) newBackoff(ctx context.Context) (b backoff.BackOff, setRetry func(time.Duration)) {
	base := backoff.NewConstantBackOff(c.DefaultReconnectionTime)
	b = backoff.WithContext(base, ctx)
	if c.MaxRetries >= 0 {
		rb := backoff.WithMaxRetries(b, uint64(c.MaxRetries))
		return rb, func(d time.Duration) {
			base.Interval = d
			rb.Reset()
		}
	}
	return b, func(d time.Duration) {
		base.Interval = d
		b.Reset()
	}
}

This will give you a backoff with constant retry period of client.DefaultReconnectionTime duration. You could use your own fork in your code until the next release.
Would this work for you as a temporary solution?

I tried this solution (https://github.com/SharkFourSix/go-sse) but did not succeed because go won't let me import the forked repo due to package declarations being broken. For a temporary solution, using the "replace" trick doesn't look like a good idea either. And yes, I sort of needed it sooner. But no pressure. I could look for alternatives. Although, simply exposing an option to disable the backoff with a no-op adapter could also work :smiley:
Btw, I know this is unrelated but I just came across this just now

because go won't let me import the forked repo due to package declarations being broken

Oh, yeah... totally forgot about that. I apologize. I've taken a short break and a new solution occurred to me. I've pushed a branch with the fix (constant-backoff) which you should be able to use instead of the latest release. Something like:
$ go get github.com/tmaxmax/go-sse@constant-backoff

If somehow this also doesn't work, there would be one more thing possible... You could set MaxRetries to 1, the DefaultReconnectionTime to whatever you wish the backoff period to be, and then execute Connect in a loop:
client := sse.Client{
    MaxRetries: 1,
    DefaultReconnectionTime: 2 * time.Second
}
req, _ := http.NewRequestWithContext(ctx, ...)
conn := client.NewConnection(req)

// setup your message listeners

for !errors.Is(conn.Connect(), ctx.Err()) {
    // We don't have to do anything here.
    // The connection is retried one single time after two seconds.
    // If that retry fails, the request error is returned, and given that
    // it is not the context error the connection will be reattempted.
    // This is effectively a constant backoff retry strategy.
}

// if this point is reached then the context was cancelled

Regarding that vulnerability, gopkg.in/yaml is a transitive dependency of a test dependency (testify) of go-sse. It is not used in the library code, neither in the server, nor in the client. I should update the dependencies, but there's nothing to worry about for library users.
Please let me know if any of these two ideas solves your issue!


Update Blog Post - CLJS Test Setup

What's Up?
The approach outlined in the post will not work for a Webpack configuration.  To get that to work, one has to:

Set :auto-bundle :webpack in test.headless.cljs.edn
Update the test-file used in run-js-environment to main_bundle.js

Without this, we get "import syntax warnings"

Update the console and how we actually fetch the starting DOM const util = require("util");
 const jsdom = require ('jsdom');

 const args = process.argv.slice(2)
 const url = args[1];

 // setup JSDOM options
 const {JSDOM, VirtualConsole} = jsdom;

 const virtualConsole = new VirtualConsole();

 const options = {
   resources: "usable",
   runScripts: "dangerously",
   pretendToBeVisual: true,
   // see https://github.com/jsdom/jsdom#virtual-consoles
   virtualConsole: virtualConsole,
 };

 jsdom.JSDOM.fromURL(url, options).then(function (dom) {
   // @todo https://github.com/jsdom/jsdom/issues/2524
   dom.window.TextEncoder = util.TextEncoder;
   dom.window.TextDecoder = util.TextDecoder;
   dom.serialize();
 });

Test setup script(defn run-js-test-environment
 [{:keys [_output-log-file open-url]}]
 (println "Setup JS Env")
 (let [js-env    "test/test_environment.js"
       command   ["node" js-env open-url]
       result    (apply shell/sh command)]

   (if (zero? (:exit result))
     (println "Running tests: " (pr-str command))
     (do
       (println "Failed to run JS tests: " result)
       (System/exit 0)))

   (when-not (string/blank? (:err result))
     (println "Error: " (:err result))
     (System/exit 0))

   result))

In general though, I think breaking down this blog post into a few would be helpful.  It's a bigger topic.  Additionally, we could just create a tool that does all the configuration we require.

No longer using JSDOM.  We opt for chrome browser.  JSDOM was creating all sorts of issues.


[MS Teams] Status for MS Teams integration? How to activate the preview?

Hey,
i am looking forward to working with AdaptiveCards, particularly in the combination MS Bot Framework + MS Teams.
It says the feature is currently in preview:
https://docs.microsoft.com/en-us/adaptive-cards/resources/partners
How do i activate said preview? Can you share a current estimate on when MS Teams support will be officially available?
Thanks!

@khouzam, if you have a moment to comment on this, it would me much appreciated!

I've activated developer preview in Teams, but cards won't render. Do I need to active anything else?
Thanks.

@serialoverflow - sorry for the delay. Dev preview should be available in the next few weeks. Please check-in here for more information
https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards/cards-reference
@alex030293 - Once it's available for dev preview, you'll be able to use them.

Closing as this is now available in production :) Thanks for your interest, please keep the feedback coming!


fix(fhir): set date property when requesting a versioned FHIR resource

The effectiveTime of the version document will be used in ISO8601 format to represent the publication date.
See this page for more info:
http://hl7.org/fhir/codesystem-definitions.html#CodeSystem.date
Fixes https://snowowl.atlassian.net/browse/SO-5563

Codecov Report
Base: 64.23% // Head: 64.24% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (77ac84c) compared to base (830f966).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##                8.x    #1085      +/-   ##
============================================
+ Coverage     64.23%   64.24%   +0.01%
- Complexity    12467    12471       +4
============================================
  Files          1734     1734
  Lines         58217    58221       +4
  Branches       5372     5373       +1
============================================
+ Hits          37396    37405       +9
+ Misses        18506    18503       -3
+ Partials       2315     2313       -2

Impacted Files
Coverage Δ

...tional/snowowl/core/internal/ResourceDocument.java
94.50% <ø> (ø)

...l/fhir/core/request/FhirResourceSearchRequest.java
76.96% <100.00%> (+0.46%)
:arrow_up:

...national/index/revision/BaseRevisionBranching.java
89.47% <0.00%> (-1.17%)
:arrow_down:

.../snomed/core/ecl/SnomedEclRefinementEvaluator.java
85.27% <0.00%> (+0.25%)
:arrow_up:

...nternational/snowowl/core/events/util/Promise.java
75.00% <0.00%> (+1.78%)
:arrow_up:

...onal/snowowl/snomed/core/tree/TerminologyTree.java
87.23% <0.00%> (+2.12%)
:arrow_up:

...onal/snowowl/fhir/core/model/MetadataResource.java
90.21% <0.00%> (+2.17%)
:arrow_up:

...national/snowowl/core/locks/OperationLockInfo.java
46.66% <0.00%> (+3.33%)
:arrow_up:

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

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


[proposal] Add Support for DIDCommv2 Mediation

Background
The DIDComm v2 Specification was approved by DIF a few months ago. While Veramo already has support for much of this version of the spec, it currently lacks support for the "mediation" concept, which can be especially useful for bringing DIDComm to end-user agents, which may not be always online or expose http endpoints
This issue represents the work required to implement and demonstrate the DIDComm Messaging Routing Protocol as well as the Mediator Coordination Protocol.
Requirements

[ ] - create a Veramo plugin that allows Veramo agents to act as DIDComm Mediators

Plugin should be a MessageHandler that attempts to handle messages after they've been processed by DIDCommMessageHandler

Plugin should expose some functionality to allow agent to "request mediation", update DIDDocument with Mediator info if mediation granted, and save info (on Mediator-side) required to eventually forward messages to requester (the Mediator Coordination Protocol)

For this implementation, we can assume that the recipient will eventually send an http request to the mediator to check for messages

[ ] - update didcomm plugin to support mediation via forward messages https://github.com/uport-project/veramo/blob/next/packages/did-comm/src/didcomm.ts#L536

Must support any number of "forward message" wrappers required. Should demonstrate sending a DIDComm message that passes through at least 2 mediators.

Likely requires changes to packDIDCommMessage and sendDIDCommMessage.

[ ] - Demonstrate functionality in a browser-based Veramo agent using did:ethr to specify mediator, set up relationship with Mediator, and poll mediator (via http request) to receive messages.

This can be added in a branch of https://github.com/veramolabs/agent-explorer/

Testing
Extensive testing will be needed to cover both the process of sending a message to a recipient via a mediator, as well as the process of setting up the mediation relationship.

Agent 1 (DID1) is able to successfully "request mediation" from Mediator Agent, and update their DIDDocument to indicate routing DID
Agent 2 is able to pack a message for DID1, wrap that message in a forward message, and send it to the Mediator Agent.
Agent 1 is able to receive their held messages from Mediator Agent. These messages should be handled by Agent 1's DIDCommMessageHandler

As many failure cases as reasonable should also be added.
While not a strict limit, implementers should aim for a code-diff-coverage of ~75%
Constraints

Minimal new dependencies: Packages in this repository are often installed together so dependencies must be reused between them when possible. No new dependencies should be introduced if this can be avoided.

Resources
https://didcomm.org/book/v2/routing
https://didcomm.org/mediator-coordination/2.0/

@codynhat I thought I had updated the description to mention the Pickup protocol, but yes you are correct that is what should be used for the recipient to pick up their messages.
If you were to apply on the Gitcoin bounty, I would approve you to work on it. None of the other applicants so far convinced me that they could do the work correctly/effectively, but since you've already done some work in our codebase (and in DIDComm specifically) I know you could do it.

create a Veramo plugin that allows Veramo agents to act as DIDComm Mediators

@nickreynolds I have a question about this part. What is the best practice for a plugin that needs to store some state? Should the @veramo/data-store plugin be used and can it store arbitrary data? Or will the @veramo/data-store plugin need to be updated to know about the entities that this new mediation plugin uses?

create a Veramo plugin that allows Veramo agents to act as DIDComm Mediators

@nickreynolds I have a question about this part. What is the best practice for a plugin that needs to store some state? Should the @veramo/data-store plugin be used and can it store arbitrary data? Or will the @veramo/data-store plugin need to be updated to know about the entities that this new mediation plugin uses?

@codynhat  Can I ask what kind of new data entities you think you'll need to add? I was thinking that this could possibly be handled by just using the metadata on a Message

Looking through the Mediator Coordination protocol, it looks like the mediator will need a way to store which DIDs it has granted mediation for, as well as a keylist for each of those DIDs.
For the Pickup protocol, the mediator needs to store a queue of messages that haven't been picked up and a live_delivery flag for each DID it is the mediator of.

I was thinking that this could possibly be handled by just using the metadata on a Message

All of this state can be inferred from messages, so I think it could all be done with metadata. Are there examples of querying metadata on Message?

@nickreynolds Taking a closer look, it appears that message metadata cannot be queried in DataStoreORM https://veramo.io/docs/api/core.tmessagecolumns
Should a column be added for metadata?

@codynhat
ok, so it seems like both issues could be addressed by extending existing entities in data-store (e.g. adding keyList, live_delivery fields to  Identifier and pickedUp flag to Message), right? (although maybe it's slightly more complex than that).
My opinion is that those would likely be acceptable modifications to make in data-store, to avoid having to create a new data source, but I'd want to get @mirceanis or @simonas-notcat opinion. The Identifier entity could probably use a slight update anyways, as there's still no super obvious way of separating identities owned by this agent from those the agent simply knows about.
I think that since this is probably the easiest solution (compared to creating a new database), you could probably move forward this way and you wouldn't be wasting too much time even if we have to refactor later?
You're sure you could manage the queue without creating a new table, as long as you can modify Message, yes?

Also, I was reviewing the Mediator-Coordinator spec while I was trying to answer you, and I'm actually a bit confused on the purpose of the keyList. Do you understand why it's used? Why not just use the keys specified in the recipient's DID Document?

@nickreynolds

ok, so it seems like both issues could be addressed by extending existing entities in data-store (e.g. adding keyList, live_delivery fields to  Identifier and pickedUp flag to Message), right? (although maybe it's slightly more complex than that).

I think this makes sense since most of the state is about an Identifier.

You're sure you could manage the queue without creating a new table, as long as you can modify Message, yes?

I don't think this can be done by just storing a forward message that is received by the mediator. The next field in the body would be the main parameter that is filtered on, which is not in the entity columns. Another possibility could be to save a new Message for each forward received, with the raw field as the raw JWE to send and some of the other fields (id, to, createdAt) saved to be able to produce a Status message.

Also, I was reviewing the Mediator-Coordinator spec while I was trying to answer you, and I'm actually a bit confused on the purpose of the keyList. Do you understand why it's used? Why not just use the keys specified in the recipient's DID Document?

From my understanding, the keylist is a way to store additional hops privately, only telling the mediator about the hops and not having them in the public DID Document.

the keylist is a way to store additional hops privately

ah, I see. Tbh, I don't think this first implementation necessarily needs to support these optional extra hops. Similarly, I don't think we need to support live_delivery at this time (we don't yet have support for a transport that live delivery would require, anyways)

Another possibility could be to save a new Message for each forward received

I think this makes sense, assuming you mean the JWEs that are in attachments of the forward message. What if you saved a new message for each combination of keyAgreement keys in recipient's DIDDoc and JWE in attachments? Then a recipient could pickup once for each encryption key they own? So they could download the message to all their devices? Maybe this is overkill or I'm missing something though.
Either way, I think it's fine for you to add anything to entities (or create new entities) that you need to support these protocols. These are basically core DIDComm protocols, so it makes sense to include them in our core data model.

Sounds good. And yea, it makes sense to save one for each key. The Pickup protocol takes a recipient_key as an input to allow a user to get all the messages for a specific key they have, like a specific device.


[Feature][Docker] update dinky docker image for v1.0.0-rc1

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description

the docker version installation image of dinky has been updated a year ago，I think it is very necessary for docker users to experience the features of the new version
Use case
No response
Related issues
no
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

http://www.dinky.org.cn/docs/next/deploy_guide/docker_deploy

dinkydocker, not ylyue/dinky.

I made a mistake，It has indeed updated the v1.0 image，very thankful


FoodList: Support Add/Edit/Disable/Delete

Primary Goal

[ ] Add Food Entry

auto generate secondary key (code) next in sequence; realized e.g. by filling in 'auto' in the UI which is then replaced during the transaction when hitting the OK button of the dialog
future work: satisfy creation of mandatory dependants (density factor) --> e.g. provide a separate dialog to populate these

Open Questions

The meta-model (schema) has arrows pointing from (say) entity A to entity B, representing table relations mapped by secondary keys. Where the direction of arrows is indicating A directly depends on B (via a column in A that is member of a secondary key in in B. It would be useful to extend the schema with a flag, to indicate for each arrow whether it is bijective or not. We then could easily generate a rule checker that tests bijectivity on the entire data model. The open question here is, how to model conditional bijectivity. (like e.g. we have alias entries in the food table, which don't require a density factor, whereas other entries do)
How to implement a Enable/Disable feature for Food or generally any entity?

Action that operates on the code column toggling a ! prefix. (cons: breaks relations)
As an alternative introduce a table that holds secondary keys of entries that are marked for deletion or marked disabled.

Event though some Food Facet/Descriptors may be defined, we still don't need to make them available during an interview. This can be done by means of defining Facet/Descriptors Pathways for specific food classifications.

Food cloning implemented. Generic deletion of entities implemented also.