Implementation of Observe-Composite

Hello everyone!
I want to participate in the implementation of Observe-Composite functionality.
I'm working on prototype of this functionality and I have a problem:
In COAP module there is org.eclipse.californium.core.server.ServerMessageDeliverer.deliverRequest() method. This method gets Resource according to UriPath passed in request.
Then method checkForObserveOption() addeds ObserveRelation relation to the exchange. This is necessary to correlate observe client responses with server observe request.
But for the Observe-Composite should be passed multiple paths in payload. I could set LwM2mPath.ROOTPATH as target and paths in payload like it's done in CoapRequestBuilder.visit(ReadCompositeRequest request), but in that case in method ServerMessageDeliverer.deliverRequest() I will get RootResource and checkForObserveOption() will not pass, because RootResource is not observable.
Am I doing this in wrong way, or implementation of COAP may be incomplete?
Thank you in advance for your answer.

AFAIK, this is not implemented in Californium. It may be possible to replace the ServerMessageDeliverer with implementation, which can deal with that. If you're interested to implement such an alternative ServerMessageDeliverer, let me know, if some changes (e.g. removing the final in checkForObserveOption) are required to do so.

I want to participate in the implementation of Observe-Composite functionality.

Good to know. :+1:
I didn't look deeply at the LWM2M Observe-Composite feature. By the past OMA didn't really get the spirit of CoAP Observe (rfc7641), I hope this new observe feature will not be a new nest of issues :sweat_smile:.
Anyway, If I understand you correctly you want to make the root resource of LWM2M client observable ?
If I'm correct, just edit : org.eclipse.leshan.client.californium.RootResource constructor :
    public RootResource(RegistrationEngine registrationEngine, CaliforniumEndpointsManager endpointsManager,
            BootstrapHandler bootstrapHandler, CoapServer coapServer, LwM2mRootEnabler rootEnabler,
            LwM2mNodeEncoder encoder, LwM2mNodeDecoder decoder) {
        super("", registrationEngine, endpointsManager);
        this.bootstrapHandler = bootstrapHandler;
        setVisible(false);
        // ---- add the line above ----
        setObservable(true);
        // ----------------------------
        this.coapServer = coapServer;
        this.rootEnabler = rootEnabler;
        this.encoder = encoder;
        this.decoder = decoder;
    }

HTH

Thank you a lot :) The solution setObservable(true) allows me to go one step further. I hope we can set observable flag on client root.

LwM2M TS?
Californium?
RFC7641?

Do you have a link to the LwM2M TS part, which maps that "Observe-Composite" to RFC7641??

I don't know if RFC7641 allow to observe root. (I don't remember anything which forbid it but I didn't look at this for a while).
About californium, I guess nothing prevent this but we will see. @boaks do you know anything about this ?
About LWM2M, I understand that "Observe-Composite" is an observe on root but not crystal clear to me.
Here is the LWM2M v1.1 spec about this (the one we currently try to implement):

<EMAIL_ADDRESS><EMAIL_ADDRESS>Reporting Interface

Here is the LWM2M v1.2 spec which could help to better understand, in §transport there is an example with query params which targets root :

<EMAIL_ADDRESS><EMAIL_ADDRESS>Reporting Interface

@boaks, if Observe-Composite targets / does it means that we could have only 1 Observe-Composite at a time ?
I will maybe ask more clarification about this feature to OMA :thinking: .

FMPOV, RFC7641 doesn't mention that,  mainly because there is no difference in the root or other resources. What seem to be special in LwM2M is the relation of the payload of resource and their child resources and the expectations resulting out of that. Until now,  I considered that to be limited to the way, "changes are detected". Hope that is still true.

Some hints:
Though the composite-operation seems to depend on the payload of the read-request, that may cause additional changes in order to separate multiple of such observer-requests. My feeling is, that multiple observer may cause some implementation incompatibilities, if the implementations are not aware of that.
core-mailing-list

if Observe-Composite targets / does it means that we could have only 1 Observe-Composite at a time ?

For Californium, that seems to be somehow "in between" :-). Using different tokens should enable to have multiple observes. Calling "changed(ObserveRelationFilter)" then hopefully works, to filter the intended relations of such a change. But I'm not that sure.
My concern in the comment above is more,  that usually lwm2m-clients are not Californium based, so it may get important, how other implementations deal with that.

I opened an issue to talk about _"1 Observe-Composite at a time" _ : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/528
There is also a discussion about Active Cancel Observe-Composite where I didn't get some OMA choices : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/481
@boaks, I don't know if you notice by Observe-Composite is using FETCH (and not GET), I don't know if californium support this correctly ?

I don't know if you notice by Observe-Composite is using FETCH (and not GET)

AFAIK, GET should not come with payload (at least in a strict interpretation, see FETCH .)

I don't know if californium support this correctly ?

I just added the codepoints on a request. I don't use it, therefore I don't know, if the "support" is correct.

@MichalWadowskiOrange, if there are other feature/issue that Orange is working on, please let us know.  (Even if there is not so much commitment, this is just to be sure we will not start to work on same thing)

Hi,
For now Orange will focus mainly on verifying the already implemented LWM2M 1.1 functionality and on the Observe-Composite implementation. After the holidays we also intend to start some work on the NIDD transport for Lora and 3GPP - as it seams that no body is working on it currently. For the remaining LWM2M 1.1 topics please let us know were you could use some more manpower and we'll do our best to help. Our main goal is to speed up the Leshan 2.0 release as much as possible - so we'll do our best to not disturb the ongoing works unless our help is welcome.

@Przem83 let continue this discussion at #1049 and keep this issue for Observe-Composite.

I have a question: In interface ObservationListener on Observe-Composite event should we call newObservation() and onResponse() multiple times (as many as items are in response), or rather should we create ObservationComposite type and create newObservation() onResponse() equivalents?

I have a question: In interface ObservationListener on Observe-Composite event should we call newObservation() and onResponse() multiple times (as many as items are in response)

I guess this is maybe not a good idea. I'm afraid that some users want to get all the data at same time to be able to process it all together. :thinking:

or rather should we create CompositeObservation type and create newObservation() onResponse() equivalents?

This could be a solution but I guess there is a lot of code where you will need to handle those 2 type of Observation.
Maybe we should consider to have a hierarchy of class :
interface or abstract class  :Observation
SingleObservation  extends Observation with a LwM2mPath getPath() method
CompositeObservation extends Observation with a List<String>  getPaths() method
Which could help to reuse some existing code :thinking:
And so having something like this :
public interface ObservationListener {

///...

    void newObservation(Observation observation, Registration registration);
    void cancelled(Observation observation);
    void onResponse(SingleObservation observation, Registration registration, ObserveResponse response);
    void onResponse(CompositeObservation observation, Registration registration, ObserveCompositeResponse response);
    void onError(Observation observation, Registration registration, Exception error);
}

This is just an idea, I didn't dig this too much.
Do not hesitate to share code even if this is not finished.

At client side all the listener class hierarchy ( ObjectsListener, ObjectListener, ResourceListener) will maybe need to be modified too :thinking:  ?
I'm currently look at "Add Resource Instance level support to Observe"(#1041) and I will need to modified it too.

I'm probing your proposition of SingleObservation/CompositeObservation/Observation, and I encounter another issue: in ObservationService interface we have Set<Observation> getObservations(Registration registration);
Should we split this declaration into getSingleObservations()/getCompositeObservations() or left getObservations() as is? The second option may end up in casting result into SingleObservation/CompositeObservation if we want to access path/paths.
Or maybe should we make the Observation path size agnostic I mean there will be always list of paths?

Do not hesitate to share code even if this is not finished.

We organized our work in the fork: https://github.com/Przem83/leshan and implementation of Observe-Composite is in dev_observe_composite branch. Of course implementation is only the proof of concept :smile:

My idea about introducing an Observation hierarchy was to avoid to multiply method.
So I would go for the second. About casting result, we can either live with it or do pretty much as we do with LwM2mResource hierarchy.
Anyway, if you find any argument which makes you feel that first way is better share it because I have no strong opinion for now.

I'm want to announce that I just implemented observe-compose functionality (in repository that I mentioned earlier) :smile:. It needs a lot of code cleaning and the Redis integration is not implemented yet, but you can check the solution in general.

:+1:  I could probably look at this next week.

Do directly linked but I just pushed a PR about Observe Resource Instance (#1054)

@MichalWadowskiOrange, I looked a little bit at your code.
===> https://github.com/eclipse/leshan/compare/847fb113bbbb7f3e382f6357aa2709d68f592d01...741b5c26f5443c9beff8be80d3f447db95950378
I just made a high level review to look at the direction your take and so here my first remarks:
1) I would keep the name ObserveResponse (vs renaming to SingleObserveResponse because we are nearer to the LWM2M specification wording. (Observe-Request/Response and  ObserveComposite-Request/Response)
2) About this part of the code
https://github.com/eclipse/leshan/blob/741b5c26f5443c9beff8be80d3f447db95950378/leshan-client-cf/src/main/java/org/eclipse/leshan/client/californium/RootResource.java#L137-L143
I'm not sure but I don't think this is the right approach. Because I feel we should see Observe-Composite as an only one observe relation. This would be more the CoAP spirit and the LWM2M specification says :

If any of the conditions attached to one or more resources under observation meets the notification criteria a notify will be generated by the LwM2M client, which will include the value for each of the resources listed in the "Observe-Composite" operation. Hence, the resources that have not met the notify condition will still be included in the notification message.

To implement this is that way, you probably need to create a custom ObserveRelationFilter (see ObjectResource and ResourceObserveFilter as example from #1054) which will select the relation if one resource which changed is in the ObserveCompositeRequest payload. (The issue here is that we will probably need to reparse the payload each time but maybe we can use store the list of path in Request.setUserContext(Map<String, String>))
@boaks, do you think I have the right approach or I missed something ? (or maybe you think that @MichalWadowskiOrange way is OK too?)

Thanks for the review :smile:
Fortunately I can remove the whole code you mentioned without any impact for the functionality. It's residue of times when I was developing this solution.
According to SingleObserveResponse - I wanted to unify the naming to be similar to SingleObservation/CompositeObservation. But I agree that we should keep the naming convention as close to specification as possible :smile:

I just want to note that the code is ready for review.
BTW, should I create separate issue for Cancel Observe-Composite operation?

I just want to note that the code is ready for review.

I think the next step is to provide PR(s) for this code (or maybe you want to experiment Cancel Observer-composite first)
To make easier review and get better feedback. I strongly encourage to try to do several small PRs or at least to several commits.
Personally,
1.)  I always start by trying to implement my design idea. Just to be sure It's doable and trying to find issue that I didn't anticipate.
2.) Then once I have a clear idea about what I need to do, I try to separate my code in small consistent commits. (this also the step where I clean my code)
2.1) Generally there was several small commits about refactoring which prepare the ground for real new features.
2.2) Then I add the feature itself (separating client and server code)
2.3) Then I add some integration tests
2.4) when needed I add demo code. (optional)
You could look at #1054, to have an example, in this PR I push all commit on same PR but you can do more PR if needed (maybe easier to review)
(We don't use merge so PR must not contains merged commit, you should use rebase instead)
Some examples of commit/PRs :

Add SingleObservations/CompositeObservation classes. (Not that I would keep Observation name instead of AbstractObservation, it sounds contradictory with my previous comment but I was just talking about request/response :sweat_smile:  any not a big deal and we can discuss about that in the first PR)
Add CompositeObserve-Request/Response classes.
Add Composite Observe feature at server side.
Add Composite Observe feature at client side.
Add integration tests.

(This is just example and maybe you can find better or more suitable to you,  the idea is to separate small consistent modifications)
Hoping you approve the approach. :grimacing:

BTW, should I create separate issue and branch/PR for Cancel Observe-Composite operation?

Yes this should be done in other PRs.

My conclusion from splitting the functionality into separated pull requests:
Its easy to discuss every separate piece. It's probably easier to code reveiw, because changes are smaller.
But it's very hard to maintain. Splitting work into pieces needs a lot of work, and after changes in one PR it also needs a lot of work to propagate changes into another PRs. The same situation if we need to synchronize with master.
I think, creating multiple commits in on PRs is better solution :)
Btw. I'm going to holidays :), so I can't participate in project for three weeks. I hope these pull requests will be final :)

@Michal-Wadowski Enjoy good Holidays :wink:

I will start to (re)review your PRs and integrate it in a observe-composite branch.
If I found issue, I will fix it directly (and let a comment on each PR for each modification I will do)
Once this will be done, I will let you "validate" the branch (if wanted) before to integrate it in master.

Branch can be reviewed at https://github.com/eclipse/leshan/pull/1083.

But it's very hard to maintain.

I agree there is a more extra cost to work like this.
But in this particular case I feel there are some issues which could explain this was more painful than it could be :

you have some formatting issue (this generates a lot of conflict)
first time you work and the project and the feature chosen was not so easy and pretty much impacting.
this work contains some refactoring/renaming which changes the code a lot.
you separate work on several commits/PR but you push all of them pretty much at the same time.

My advice :
Configuring tooling correctly to avoid this formatting issue is very important. (captain obvious :grin:)
If you want to do some code improvement, this is OK and very welcomed but  prefer to make it in separate PRs/task or just open an issue.
In a general way to not hesitate to do more commit than needed as merging commits (even if there are not consecutive) is often easier than splitting.
This is for big/complex feature only :
Doing a kind of draft to experiment the feature (crappy code) and see if this is doable and how this should be done. (This is what you done)
Then sharing the idea (or the crappy code) to see if this is the right direction. (as you do)
Once it's OK,  it's time for cleaning and pushing the code :
Splitting the code helps a lot for peer review but this is also a good time to you to review you own code, rethink about it and see if all changes you propose make sense.  (this will also make  easier to review your own code) As this stage some time I rewrite the code from scratch keeping the general idea.
For this step, you should probably not push all PRs at the same time, but push first step, then review, then fix PR, then work on the next cleaning.
HTH
Anyway, I hope that was not a too unpleasant experience, and thx for your work and patience, it is really appreciated :pray: !
Just to let you know, I will be out of office at the end of day, I'm back begin of September.

Thank you for cleaning the code in PR #1083 and make one more similar to the currently written code :smile:
According to my issues with the code style - I tried to use IntelliJ to do whole the work, but I think it will be much easier to just use Eclipse to polish final code next time.

Last jenkins job failed because of a test failure:
[INFO] Running org.eclipse.leshan.integration.tests.observe.ObserveCompositeTest
[ERROR] Tests run: 8, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 6.281 s <<< FAILURE! - in org.eclipse.leshan.integration.tests.observe.ObserveCompositeTest
[ERROR] org.eclipse.leshan.integration.tests.observe.ObserveCompositeTest.can_composite_observe_on_multiple_resources  Time elapsed: 0.018 s  <<< FAILURE!
java.lang.AssertionError: expected:<LwM2mSingleResource [id=14, value=+02, type=STRING]> but was:<LwM2mSingleResource [id=14, value=Z, type=STRING]>
	at org.eclipse.leshan.integration.tests.observe.ObserveCompositeTest.can_composite_observe_on_multiple_resources(ObserveCompositeTest.java:200)

I'm working on a fix.

No, I have no opinion about what should be done yet (except timestamped values). If I find one I will note here.

I created a dedicated issue for timestamped values feature : see https://github.com/eclipse/leshan/issues/1089.
I think we can close this one now ?

If I find one I will note here.

Please create a new issue instead.
@Michal-Wadowski let me know if you are working or plan to work on something else.

Yes, I think we can close this issue. For now I'm going to work on #1046


Update README.md with new code-reduction passes

I have also made an attempt to group/classify them to add clarity.

Trailing space removed, and pushed into master as   0bd8300fc2
I also documented the  common uniform load removal in CHANGES, in the subsquent commit


add cluster monitoring for table alicloud_cs_kubernetes_cluster

Is your feature request related to a problem? Please describe.
7.2 Ensure CloudMonitor is set to Enabled on Kubernetes Engine Clusters (Automated)
Describe the solution you'd like
Describe alternatives you've considered
Additional context
https://api.alibabacloud.com/?spm=5176.14113079.top-nav.19.c4fa7815F269Iq#/?product=CS&version=2015-12-15&api=DescribeClusterDetail&tab=DEMO&lang=GO
DescribeClusterNodes
DescribeMonitoringAgentStatuses

Need to discuss that DescribeClusterNodes should have a new table or not.

will be two different table - cluster_node and monitor_host


Move function selector on code tab

@joaquim-verges is this what you had in mind? code looks good to me


Potential NSFW content was detected in one or more images

I want to make a video where the king and the forest, but writes that the prohibited content, I also tried with other words, other seeds, all without success, out of 200 pictures will be black.
How to fix, remove these restrictions, I can’t make more than one video normally

You can remove the safety checker by providing safety_checker=None when instantiating the pipeline from_pretrained.
from stable_diffusion_videos import StableDiffusionWalkPipeline

from diffusers.models import AutoencoderKL
from diffusers.schedulers import LMSDiscreteScheduler
import torch

pipe = StableDiffusionWalkPipeline.from_pretrained(
    'runwayml/stable-diffusion-v1-5',
    vae=AutoencoderKL.from_pretrained(f"stabilityai/sd-vae-ft-ema"),
    torch_dtype=torch.float16,
    revision="fp16",
    safety_checker=None,
    scheduler=LMSDiscreteScheduler(
        beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear"
    )
).to("cuda")

@nateraw Is there a way to do negative prompts or something so that we could avoid NSFW completely, instead of disabling the checker?

Ha you know I haven't tried it, but it looks like its possible already in the pipeline __call__ fn. Would just need to be surfaced up to pipeline.walk.

closing this since its not an issue. @xtagon I just made a new issue (#114) to discuss your feature request.


Mod support

Add support for mods: IronChest and MetalChests

I'll see if sponge api allow me to access the modded chests inventory easily. If it does, I should be able to add that.
In the meantime, you will have to use vanilla chests and trapped chests


Additinal CONTAINS_STRING option for characteristic filter

Description
In https://github.com/SciCatProject/backend/pull/680 we propose a filter option for partially matching strings and here we added the corresponding frontend modifications.
Motivation
imagine you'd have the following metadata for a dataset
"scientificMetadata": {
        "localContact": "John Doe",
        "experimentalists": [
                "John Doe",
                "Max Mustermann"
         ]

now we would like to filter all datasts where John participated in the measurement (or was local contact respectivly). So far this type of query was not possible using the options offered when clicking add condition  in the search box as there was only an option to exactly match complete strings and no option for partial string matching or matching strings in lists.
Changes:

Tests included/Docs Updated?

[ ] Included for each change/fix?
[ ] Passing? (Merge will not be approved unless this is checked)
[ ] Docs updated?
[ ] New packages used/requires npm install?
[ ] Toggle added for new features?
[x] Requires update of SciCat backend API?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.1%) to 73.5%

Files with Coverage Reduction
New Missed Lines
%

src/app/datasets/dataset-detail/dataset-detail.component.ts
1
80.37%

src/app/jobs/jobs-dashboard/jobs-dashboard.component.ts
4
58.44%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
3582

Relevant Lines:
4473

💛  - Coveralls

rebase onto current HEAD and created a fresh pull request #1342


Still UTDs on modular accounts

There is another issue than the bug at https://github.com/vector-im/riot-ios/issues/2805 where we saw unexpected tokens update within the sync token sent by the server.
UTDs come from only one user with a single device.

Waiting for sender logs to analyse.


Python 3.11 support

I see python 3.11+ is not supported at present python = ">=3.8.1,<=3.11.
Is there some know issue or it is just not tested?
How to enable support for python 3.11+?

@adityaguru149 Python 3.12 is still in a beta preview

@kacperlukawski I think with the current setup of the poetry config file you also won't get the patch releases of 3.11 though. So you'll get a conflict if you have say 3.11.1 installed. Changing it to <3.12 should do it?

@TuanaCelik You're absolutely right. Thanks for noticing that! I'll be changed soon.


starting a larch server on windows

I am trying get Athena and friends to start a larch server if one is not already running.  On linux, this works by invoking larch_server start as a system call early on in the instance of the Demeter program. This, as intended, starts a new server if one is not running.  I then give it a few seconds to get started, then I am off to the races.
On Windows, things don't work.
This works:
c:\>python C:\Python27\bin\larch -rc
Serving Larch at port 4966
Registered Functions:
  chdir, cwd, exit, get_data, get_messages, larch, len_messages, ls, wx_update

This doesn't:
c:\>python C:\Python27\bin\larch_server start
Traceback (most recent call last):
  File "C:\Python27\bin\larch_server", line 88, in <module>
    start_server(port=port, quiet=options.quiet)
  File "C:\Python27\bin\larch_server", line 32, in start_server
    return subprocess.Popen([exe, '-r', '-p', '%d' % port])
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application

Am I naive expecting larch_server to work on Windows?  If so, how is this intended to be done on Windows?
Thanks!

Hmmm, not sure!     I'll try to figure this out, but it may take a couple of days to get to it.

In larch_server, the call to subprocess.Popen treats C:\Python27\bin\larch as an executable.
Changing this line (and the similar change at line 30) to
return subprocess.Popen(['python', exe, '-r', '-p', '%d' % port])

fixes the problem.
I'll do some testing and submit a PR this afternoon.


Sparkling Water won't start when using PrintGCDetails java options

Sparkling Water stays in TENTATIVE then goes to ERROR state after 7 mins when PrintGCDetails is specified in the java options.

This is happening because in the job monitor we do a grep -vi tail and the word Details contains tail preventing it from finding the port of the running Sparkling Water instance.

The issue has been resolved so closing it.


Run asan tests on Debian Bullseye

This is a completely blind attempt at a mitigation for  #1893.

Fantastic. That was a good hunch! 👍

@seven1m I pushed a new version with an extended commit message (the code itself is unchanged). I think the best action for now would be to merge this change so the CI stops with these false negatives, we can keep the related issue to actually fix the underlying issue (or just wait a few days until Debian pushes some updates)


PHP: add _getChannel to the Call object so that the interceptor can access it

The purpose of this PR is making the Interceptor access the $channel object(It can't before this PR). By doing so we can delay where Grpc\Call object is created via Interceptor.
For example,  if we pass an ExtensionChannel for creating the call, it will create an EmptyCall, which saves all information needed for creating a Grpc\Call. Then inside interceptor,
$continuation returns this EmptyCall with channel information get by _getChannel, we can do any preprocess and postprocess here.
This change has none influence on the current user because checking type Grpc\Channel is still there. Only when it is not Grpc\Channel, it will check the type one more time. But since the program will throw the exception for the current user, it doesn’t deliver latency to the user.
An example of using it(manage channel pool) is in the PR
https://github.com/ZhouyihaiDing/grpc/pull/20

Close this PR because #15749 can do the same purpose in a more straight way.


[Slider] Prop to flip direction of values in vertical orientation

Feature request
Overview
This is feature request concerning the Slider Primitive
When the current slider is in vertical orientation, value = 0 is at the bottom of the slider, while value = max is at the top.
It would be great to have an option of switch the direction, so that value = 0 is at the top of the slider and value = max is at the bottom.
There is currently a prop on Slider.Root to switch the direction on the slider if it is horizontal, (dir = rtl or ltr), it would be useful to have the same but for vertical!
Who does this impact? Who is this for?
I'm asking because I need it. My app has an array of cards, and a slider that focuses each card as it moves down. However, because the direction of the slider is the way it is, I need to do some Math to make the position of the thumb align to the card that is focuses. I'll link a prototype below. The relevant slider code starts on line 35
https://replit.com/join/ofcqsnrbeg-cyberspaceline
I think, however, it would be useful for anyone who would like a vertical slider. It's just a little extra confusing to the use the value output of the slider when it's backwards!
Additional context
Thank you for all your hard work I appreciate it :D

Hey @cyberspaceline, that's a pretty uncommon UI!
Whilst I can see how having an option like this would be useful to you, I cannot find any prior art for this natively. We looked at this when we implemented support for vertical orientation, and native ones always go from bottom to top.
In a way the UI you have is almost like a scrollbar.
I will keep this open as a potential enhancement, but I can't promise we will do it as I think that's pretty uncommon.

Also forgot to mention, but the way you are using the controlled API currently to reverse the value is great IMO! :clap:

Hey @cyberspaceline,
I was too curious to take a look at what it would take as I had a feeling it would be pretty simple to support.
Turns out that was the case, I opened a PR for it: #1695
You can see the result in this story: https://601857eb614bae0021c9b9dd-dydyxifjgt.chromatic.com/?path=/story/components-slider--inversions


Unfortunately v1.7.1 doesn't work on iphone / ipad safari

I used my iphone to browse clipboardjs.com and played with the demos, unfortunately it doesn't work. Nothing is copied / cut.

Experiences the same thing with iOS on iPad. Any plans, that this will be included in this library?

Personally I have no issues with this in iOS 10.3.3 Safari browser. Could it be your implementation?


hps_accel/blocks.h: New header file.

Documents some building blocks for an initial accelerator architecture.

This is now ready for review.


Beamformer: Selection of orientation that optimizes output power.

I am sitting with @wmvanvliet and @ckiefer0 and we noticed that there are two points in the beamformer code where we compute the optimal orientation pick_ori='max-power' and that those two snippets do not give the same weights if copied into the same place.
Specifically, the optimal orientation gets computed differently based on whether weight_norm='unit-noise-gain' or weight_norm=None.
@wmvanvliet looked deeper into it and saw that the orientation is not recovered very well for the no weight normalization version.
The difference between the versions is whether the orientation gets picked before the computation of the weights (weight_norm='unit-noise-gain') or after (weight_norm=None).
We are still evaluating the issue, although it looks like the unit-noise-gain case is the right solution. We suggest to refactor the code such that both branches reach the same orientation optimization code.
Code references:
weight_norm=unit-noise-gain:
https://github.com/mne-tools/mne-python/blob/master/mne/beamformer/_compute_beamformer.py#L157
weight_norm=None:
https://github.com/mne-tools/mne-python/blob/master/mne/beamformer/_compute_beamformer.py#L289

I think this was fixed with #7656 so I'll close


Generated app/connection/service with sequelize throwing 'TypeError: connection.query(...).on is not a function'

I initially posted this in the slack and with the help of @marshallswain we believe there may be a bug somewhere.

feathers generate app
feathers generate connection
feathers generate service

but npm start is giving me  Unhandled Rejection at: Promise ... connection.query(...).on is not a function
I've tried with rest only, rest + realtime, and with npm/yarn with no luck.
Note from @marshallswain

This actually looks like a Sequelize bug, but we’ll want to leave it open until we figure out a fix.
It’s internally trying to call .on on a Promise, which of course isn’t going to work.

--
Note, the above does for some reason work with sqlite as the database

I can confirm that there's a problem.  It occurs after running sequelize.sync() in sequelize.js.   I don't know what changed.  It seems like others would have run into this problem, already.

I wasn't able to reproduce. I am using a standard homebrew MySQL installation, generate a new app, generated a Sequelize service and chose MySQL as the database.  The thing I had to do was add the driver via yarn add mysql2 (which is a bug in the generator that we should fix) and create the database manually (mysql -u root then CREATE DATABASE feathers_test).

Ugh - I found the error - it's the in pg module (required by sequelize when using postgres). The latest<EMAIL_ADDRESS>connection manager no longer returns event emitters like it used to in earlier versions. This has been reported here.

Can confirm here rolling the package back to pg 6.x works for me!

Ah, I thought it was MySQL for some reason. @marshallswain should we leave this issue open until it is fixed in pg or Sequelize? We could also change the generator to install pg@6

Let's update the generator, for sure.  I'm going to rename this issue so it better serves as a reminder to upgrade pg when it's fixed.


Rerun crashes when saving

Describe the bug
It seems that when the logged data becomes too big (like 12 Gb), rerun freezes when trying to save the recording and then crashes. No error outputs in the terminal, even with RUST_BACKTRACE and RUST_DEBUG enabled. For now I managed to circumvent this by reducing the amount of data logged.
To Reproduce
Steps to reproduce the behavior:

Log a lot of image data
Save recording somewegere
Crash

Expected behavior
The recording to be saved and rerun not crashing.
Backtrace
Not available.
Desktop (please complete the following information):

OS: Pop!_OS 22.04

Rerun version
0.17.0

very strange, there should be at least a backtrace logged. Does anything of interest come up with RUST_LOG=debug
Do you know whether the viewer already hit the memory limit and started removing data?

You're likely running out of memory, the viewer allocates a bunch during save:

https://github.com/rerun-io/rerun/issues/6984


Effect manager review for localstorage

I created https://github.com/fredcy/localstorage as an effect manager for localStorage.
I would like to see this package published, either as-is or as adopted by https://github.com/elm-lang.

Hi Frederik! This is awesome, thanks!
Is there any documentation on how to write native modules?

I am not satisfied with directly exposing the underlying JS API. I think it commits people to relatively serious problems that they will not find until it is quite costly and difficult to recover.
I explored an alternate approach here but still am not satisfied with the approach.
I have written the current state of affairs here.


Add test result params to teardown

Would it be possible to add test info onto the teardown? In particular, it would be useful to add context logs and skip some teardown to allow for investigation post test failures.

Hello there! I'm the new maintainer of this crate :)
I would like if you could give me a bit more details.
Could you explain your use case and how would you like as a user of the crate to use this features on your code? (For example, a code example of how would you like to do the teardown skip)

@jvliwanag A new keyword has been introduced to allow you skip the teardown 😄
Regarding logs, you should be able to add them yourselve inside the setup function and along your tests.
This library only adds a very thin wrapper around your test that executes the setup, passes the result into your test function and once your test is done it will call the teardown.
So if you need any logging capabilities I would suggest to add them yourself as you please.
I will close this issue 👍🏻


HistogramSummary  not support fp16 ？

There is a issue when I train my model with adm optimizer (tf.train.AdamOptimizer),  It seems HistogramSummary not support DT_HALF.
2017-11-24 09:19:36.954820: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Infinity in summary histogram for: local4/BatchNorm/beta_1
[[Node: local4/BatchNorm/beta_1 = HistogramSummary[T=DT_HALF, _device="/job:localhost/replica:0/task:0/device:CPU:0"](local4/BatchNorm/beta_1/tag, local4/BatchNorm/beta/read/_171)]]
But if i use the other optimizer such as GradientDescentOptimizer or RMSPropOptimizer， there is no the issue above.  I don't know why,  Is there anyone meet this error

Does it work fine if you use a 10th of the learning rate. It looks like you are hitting infinities in your optimization. That can happen if the optimization is at the edge of stability. Using reduced precision makes numerics less stable.

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue? Please update the label and/or status accordingly.


Caption for images

It's quite easy to implement caption for images:
n2m.setCustomTransformer('image', async (block) => {
  const { image } = block as ImageBlockObjectResponse;
  const src = image.type === 'external' ? image.external.url : image.file.url;
  const caption = image.caption ? image.caption[0]?.plain_text : '';

  return `

${caption}

`;
});

I was wondering why that's not the default behaviour?

Yes, I wasn't aware that markdown doesn't support captions natively. Maybe this could be implemented as GitHub flavored markdown mode that can be turned on optionally.

This sounds like a major feature addition and I think @souvikinator should decide on this one.

@that-ambuj made valid points. Including HTML tags in content can be tricky due to rendering variations in different markdown parsers.
I believe it's time to work on feature allowing people to choose the markdown flavour they want the output in (as @zirkelc mentioned)
It's going to take some time but definitely will be a huge game changer.
Would love to know your thoughts on this.

Btw just came across this, it's worth checking out:
| ![space-1.jpg](http://www.storywarren.com/wp-content/uploads/2016/09/space-1.jpg) |
|:--:|
| *caption here* |

and here is the result

caption  here

thoughts on this?

Also
![image](https://picsum.photos/200)
*image_caption*

produces same output as

image_caption


feat(locale): add Czech and Slovak locales

📚 Description
Add Czech and Slovak locales

📝 Checklist

[x] All commits follow the Conventional Commit format
[x] The PR's title follows the Conventional Commit format

:tada: This PR is included in version 4.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 5.0.0-beta.3 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove constructor overload ambiguity

The constructor overloads previously created an amguity as the overloads accepting user/pass and those accepting apiKey  were ambiguous because of optional parameters. This replaces the optional parameters with more overloads to reduce the ambiguity.
To summarize:

There are 3 ways to pass in the endpoint:

Providing a hostname as a string, and optionally a port (defaults to 19530) and whether to use SSL (defaults to false). This is the simplest way.
Providing a Uri. This allows specifying HTTPs, port inside the URL, etc.
Providing an externally-constructed GrpcChannel (advanced scenarios).

In addition, there are three authentication options:

No authentication whatsoever. Milvus by default has authentication turned off, so this is the easy default/getting started option.
Username and password
API key (for Zilliz cloud). Under the hood the API key is just passed via the same Authorization header as username/password (as if it's a username without a password), but it seems best to keep the constructor overloads here distinct both for clarity to users and in case something changes in the future.

Multiplying the above endpoint and authentication possibilities yields 9 public constructor overloads in total, which seems OK.

/cc @stephentoub, note that this relates to this Semantic Kernel discussion: https://github.com/microsoft/semantic-kernel/pull/2694/files#r1314021272. Once this is merged here, we can replicate the 9 above constructors to MilvusMemoryStore, plus keep the additional advanced one that accepts a MilvusClient directly. Does this seem reasonable or a bit too much?

Does this seem reasonable or a bit too much?

Personally, I'd opt to see just one (or two) lifted up to the Milvus connector, whichever we think represents the 80% case, and then have the one that lets you pass the MilvusClient be the fallback that with a bit more cognitive load lets you configure everything.


Zero

Hello!
Trying to add Zero
from
https://github.com/zerocurrency/zero
But then mining I get
in pool logs:
We thought a block was found but it was rejected by the daemon, share data: {"job":"cd41","ip":"::ffff:<IP_ADDRESS>","port":13333,"worker":"t1QttC5Vqo4CtiEiLkETpY13wuh3SDPJsQk.rig0","height":138356,"difficulty":3.63215153,"shareDiff":"333.23553124","blockDiff":78.487466763,"blockDiffActual":78.487466763,"blockHash":"00000625535c11d3ae5c5a172d5af8f8a457dfe0aac4bf9123b523c60b1dfd6d","error":{"unknown":"check coin daemon logs"}}
in daemon logs:
CreateNewBlock(): total size 1000
keypool return 2
ERROR: CheckEquihashSolution(): invalid solution
ERROR: CheckBlockHeader(): Equihash solution invalid
ERROR: ProcessNewBlock: CheckBlock FAILED
zero.conf
zero.json
{
"name": "zero",
"symbol": "zer",
"algorithm": "equihash",
"requireShielding": false,
"txfee": 0.0001
}
May be someone can help me?

Zero needs some changes with the stratum to get working and I've never been able to get in contact with the dev


Fix incorrect sdk version in global.json

Describe the changes you have made to improve this project
This PR fixes an incorrect sdk version inside of global.json.
Unit test

Additional context
The version needs to be specified in a correct format to take effect. See second line of output from dotnet --info.
According to this issue and the corresponding documentation you need to specify an existing version.
Maybe you want to specify latestMinor instead of latestFeature. (see documentation)
output of current global.json

output of this PR

output of an old version

Closed Issues

@FroggieFrog Thx! your changes have been merged, thanks for your contribution 👍


Not working with latest passport version

Always getting this error after a successful authentication:
TypeError: Cannot set property 'user' of undefined
   at /Users/rolodato/git/saml-sp-linking-sample/node_modules/passport-saml/node_modules/passport/lib/http/request.js:50:35
   at pass (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport/lib/authenticator.js:267:43)
   at serialized (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport/lib/authenticator.js:276:7)
   at /Users/rolodato/git/saml-sp-linking-sample/index.js:31:3
   at pass (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport/lib/authenticator.js:284:9)
   at Authenticator.serializeUser (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport/lib/authenticator.js:289:5)
   at IncomingMessage.req.login.req.logIn (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport-saml/node_modules/passport/lib/http/request.js:48:29)
   at Strategy.strategy.success (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport/lib/middleware/authenticate.js:228:13)
   at verified (/Users/rolodato/git/saml-sp-linking-sample/node_modules/passport-saml/lib/passport-saml/strategy.js:54:14)
   at Strategy._verify (/Users/rolodato/git/saml-sp-linking-sample/index.js:26:9)

Downgrading to passport 0.2.2 fixed the issue. This was mentioned here: https://github.com/jaredhanson/passport/issues/400

Strategies should now depend on passport-strategy rather than passport itself.
Here's a commit that shows the changes that need to be made:
https://github.com/jaredhanson/passport-http-bearer/commit/886bafa43f6a2e53d555bb28986478bf5f764c2f

The change was made bergie/passport-saml@010f2d4373719cf34b6dc241d51e76d8e4b1c2f2, but it has not been released yet.

Should be published as v0.13.0.  Sorry for the delay.

This happens again in 0.15, I went back to 0.13 and it works as expected


[Tests/Distributed] NFC: `distributed_actor_protocol_call_resilient_l…

…ib` test cannot be run remotely
The test depends on dynamic libraries that a rebuilt on the host and are not transferred to the remote machine.
Resolves: rdar://132714652

@swift-ci please smoke test


Make all PerThing types implement all trait methods on the type

This removes the requirement to import PerThing to use a type that
implements the trait.
Fixes: https://github.com/paritytech/substrate/issues/5421

I believe this has been done in https://github.com/paritytech/substrate/pull/5281/files already. But it doesn't actually remove the unused imports.

No, the pr you linked moved the implementation to the function to the trait. That is something completely different.


Random subsets for reproduction

Thank you for your wonderful work!
I just ran run_pipeline.py and got missing file errors:
FileNotFoundError: [Errno 2] No such file or directory: 'datasets/random-api-completion.test.jsonl'

As far as I understand, the random- prefix denotes split subsets for evaluation, as referred to in Section 3 of the original paper:

Eventually, a total of 1600 test samples are generated for the line completion dataset.

and

From these candidates, we then randomly select 200 non-repetitive API invocations from each repository, resulting in a total of 1600 test samples for the API invocation completion dataset.

For the purpose of reproduction , I would like to ask you about the following four subsets in utils.py:
class FilePathBuilder:
    api_completion_benchmark = 'datasets/random-api-completion.test.jsonl'
    random_line_completion_benchmark = 'datasets/random-line-completion.test.jsonl'
    # short version for codegen
    short_api_completion_benchmark = 'datasets/random-api-completion-short-version.test.jsonl'
    short_random_line_completion_benchmark = 'datasets/random-line-completion-short-version.test.jsonl'

please refer to the pull request. For permission reasons I cannot merge the pr.
https://github.com/microsoft/CodeT/pull/20


show checkbox only if location services is completely disabled. If "GPS only" or "energy saving mode" is enabled, it should not be shown.

Thanks.


Fix onNodePressed ts signature

Resolves #113

Resolves #113

@bermani Well spotted I will approve and merge this PR, thanks for your contribution
Sent with GitHawk


Reserved class keyword or bug??

Hi,
I have an ActiveNode model class named App in my code base:
class App
include Neo4j::ActiveNode
property :name, type: String, index: :exact, constraint: :unique
...
end
There are a few places where I need to check if an object is of the App type. e.g., my_app.is_a?(App). From time to time, this would fail, in my test, and in my Rails console session:

my_app = App.first
=> #<App uuid: "010111b9-b8a8-4b12-86c7-2202dcf7197e", name: "Tester">

my_app.is_a?(App)
=> false

"#{my_app.name} is a #{my_app.class}? #{my_app.is_a?(App)}"
=> Tester is a App? false

This does not always happen. When it happens, it happens to any Rails env (test, or development), and restarting database server won't even help. I don't have this kind of problem with other models not named App, which make me think if App is a reserved class name in the neo4j gem or in any of its dependent gems.
Did you ever have such problem?
This is really weird.
Thanks for looking into this.
Alex

Try using the latest release, I believe it is 5.0.15 but rubygems can
confirm. It may fix this.
On Thursday, August 13, 2015, Alex Wang<EMAIL_ADDRESS>wrote:

Hi,
I have an ActiveNode model class named App in my code base:
class App
include Neo4j::ActiveNode
property :name, type: String, index: :exact, constraint: :unique
...
end
There are a few places where I need to check if an object is of the App
type. e.g., my_app.is_a?(App). From time to time, this would fail, in my
test, and in my Rails console session:
my_app = App.first
=> #
my_app.is_a?(App)
=> false
"#{my_app.name} is a #{my_app.class}? #{my_app.is_a?(App)}"
=> Tester is a App? false
This does not always happen. When it happens, it happens to any Rails env
(test, or development), and restarting database server won't even help. I
don't have this kind of problem with other models not named App, which make
me think if App is a reserved class name in the neo4j gem or in any of its
dependent gems.
Did you ever have such problem?
This is really weird.
Thanks for looking into this.
Alex
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/neo4j/issues/913.

Yes, the newer version works fine. What I am curious about was that why the problem I saw did not happen all the time? Should I be concerned about using "App" as my model name?

Great! No, this was not an issue with naming. I actually wrote about the
issue in my blog when I fixed it, I found it so interesting.
http://blog.subvertallmedia.com/2015/07/03/model-caching-in-rails-or-when-a-student-is-not-a-student/
gives an overview. The TLDR is that Rails reloader creates new instances of
classes but the gem was holding onto old instances and using them as the
basis for comparison against nodes. Your instances of App were being
checked against a different version of the model!
On Friday, August 14, 2015, Alex Wang<EMAIL_ADDRESS>wrote:

Yes, the newer version works fine. What I am curious about was that why
the problem I saw did not happen all the time? Should I be concerned about
using "App" as my model name?
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/neo4j/issues/913#issuecomment-130967588.

That's an interesting blog post. I had the same feeling when I saw the behavior. However, I first noticed the problem on suddenly failing tests, and then I did the is_a?(App) test right from a fresh Rails console in dev env with the strange behavior. I also restarted the Neo4j database. Since either helped, I thought it had nothing to do with the Rails reloading.

Glad it's working! Let us know if you have any trouble.


Ask for pre-trained models

Hi, thank you for sharing your code!
Do you have any plan to share your pre-trained models?

Yes, I will after training is finished. But it requires a lot of time... (about 2 weeks)

Thanks!

@rosinality By the way, which dataset did you use for training. You  training results seem pretty good.

@linghai06 It's trained on FFHQ.

Thank you for your code.  Looking forward to your pretraining model. The image of your training is really amazing.

@linghai06 It's trained on FFHQ.

Thank you for your code. Looking forward to your pretraining model. The image of your training is really amazing.

Hi there, thank for this amazing reproduction! It would be really helpful if you could share your pre-train model or a more detailed train setting(e.g., number of GPUs,  resolution, training time, batch size, etc.), thank you in advance!

@apchenstu I have used 4 P40 with batch 32. (8 batch per GPU) If fully train 256px model with 800k iterations it will require about 15 days. I have trained about 600k iters, but FID was not satisfactory. (about 4.5)

Thanks for your timely reply! FID 4.5 is already good enough for me, could you share this checkpoint for us or just in-person for research purpose(chenap@shanghaitech.edu.cn)? Thank you!

@apchenstu You can use this: https://drive.google.com/open?id=1PQutd-JboOCOZqmd95XWxWrO8gGEvRcO

Hi When I am trying to load the .pt model with torch.load in python 3.6 I am getting the following error _pickle.UnpicklingError: invalid load key, '<'. I was wondering if you could help me out? Thank you.

@yejinyou Which PyTorch version are you using? I am on 1.4.0 and it loads fine for me. Maybe try downloading the file again?
@rosinality Thanks for sharing this checkpoint. Is it correct that this checkpoint does not contain the noise weights for the synthesis network? I got it working by manually removing the noise layers, but it does not seem right to me. :)

@caandewiel Yes, this checkpoints doesn't have noises as it is trained before support of fixed noises. But you can just load it with load_state_dict(strict=False).

Hi @rosinality thanks for the excellent work! Would you also consider sharing the converted model weights? I was able to convert them using your script but I do not have a 16GB GPU and I am unsure as to whether something went wrong in the conversion process, as I was getting memory errors and about 50% of the samples have some kind of artifact in them.

@terrybroad I converted them on 11GB, worked fine :) Which tensorflow/pytorch version are you using?

The machine I used for conversion had Tensorflow 1.14.0, PyTorch 1.4.0 and Cuda 10.0 using a 12GB GPU.
Maybe this is normal but a number of samples have artifacts like the ones below, do you get the same artifacts in your samples?

Hmmm, that looks interesting. Are you using truncation? I just converted the model again. Not all samples are super realistic, but none of them contain these artifacts. Some of the generated samples:

Truncation during inference in PyTorch or during conversion?
Would you mind sharing your converted weights (if possible) so I can see if I am getting the same problem with them on my end?

@terrybroad You can may use this: https://drive.google.com/open?id=173WmV5EhFfMQTeDpYkLAJi3qhPtZOQs5 But I think converted weights itself will not be problematic. Samples without truncation trick could have some artifacts. You need to use truncation tricks during inference if you want visually pleasing samples.

Ah OK sorry, I missed that. I have copied your code for handling truncation in fid.py into generate.py and the samples I am getting are much better now. @rosinality would you like me to do a PR so this is handled in generate.py

@terrybroad Yes! Thank you.

Also @rosinality I am building on your code in my current research (both this repo and the original StyleGAN PyTorch implementation). How would you like to be cited if this ends up in a publication?

@terrybroad I don't know it is worth to cite this repository as this is reimplementation or port from official repositories. But if you add footnote/cite url (https://github.com/rosinality/stylegan2-pytorch), than it would be a great honor for me. :)

@rosinality Will do! In fact, I already have cited the old StyleGAN repo in a footnote in this pre-print: https://arxiv.org/pdf/2002.06890.pdf (page 3). But I realised I should ask for future work / camera-ready publications. If you want I can also include your real name as well in the future? :)

@terrybroad If you want you can include real names, but for me url for repos is enough. Thank you.

The machine I used for conversion had Tensorflow 1.14.0, PyTorch 1.4.0 and Cuda 10.0 using a 12GB GPU.
Maybe this is normal but a number of samples have artifacts like the ones below, do you get the same artifacts in your samples?

Setting t--truncation to 0.5, this is official setting in StyleGan2

Thank you for your sharing! Could you please share the pre-trained model on the MetFace dataset?

Can you share the training script with args? I really want to know the exact bs, lr and other hyperparameters.

@justimyhxu You only need to change batch sizes so batch size * n_gpu to be 32.


Use bounded mail boxes for xtra::Actors

This would be an attempt at solving some of the issues described here: https://github.com/itchysats/itchysats/issues/1954.

Before tackling this, consider remodelling the way we handle internal actor tasks. At the moment, actors send messages to themselves at an interval. This could have a negative interaction with the introduction of bounded inboxes. @klochowicz suggested substituting this mechanism with spawned tasks with an internal loop.

We are not sure what to do with this yet.


Move initialization of clients to separate utils function

Coverage decreased (-3.1%) to 79.352% when pulling c4e9ede1025a2b2b2f501499a338fde785d5f9af on oleksiyVeretiuk:convoy_refactoring into 89de9b39ef9810b1ec3761a60441b0c3c5e46364 on openprocurement:master.


Handle missed drag?

Currently I'm having problem to know which event or properties I can use to detect missed drag. The problem is when the item dragged and it missed drop target, the item will drop to the last item. I want to handle it so when it missed the drop target it will return to original index.
This is the example screenshot of what happening when dragging:

Hover between two images and drop it in the center.

Could you have handled this in an onUpdate callback?

@ernsheong how supposed I know the item get missed? Checking it's position to be the last? What if an item actually mean to be sort to the last?


Feature/nic actionplans

@davidhabib this is good to go, feel free to schedule a time to review together.


⚠ Bofrost.de has degraded performance

In ffb09a5, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1170 ms

Resolved: Bofrost.de performance has improved in f7b9152 after 6 minutes.


Add an exporter which sends trace spans to a Zipkin server

/cc @adriancole

Nice! I've updated the wiki entry here https://github.com/census-instrumentation/opencensus-go/wiki/Implemented-exporters.


Prerequisite material rundown before reading material in python notebook

Could you provide the prerequisite material before reading the material in the python notebook?  There is a lot missing in terms of context and the notebooks have a lot of information (drill-down) missing?

Certainly! I'm on it.


Fixes for ex 22

Description
Merge whenever you want, however GL enum color functions need some more touch
Testing

TODO list:

however GL enum color functions need some more touch

What's with those?

however GL enum color functions need some more touch

What's with those?


Correct path to favico for styleguides hosted in subfolders

Correct PR: https://github.com/SC5/sc5-styleguide/pull/698


4.x: Inject - interceptors should be called for all annotations (interface and type)

Currently annotation triggers on interface are ignored, and only annotation triggers on implementing type are used.
Also interceptor of constructor is not triggered correctly when creating an instance injected through contract.
See
pico/tests/interception/src/main/java/io/helidon/pico/tests/interception/OtherContract.java
its implementation and  test
pico/tests/interception/src/test/java/io/helidon/pico/tests/interception/InterfaceInterceptionTest.java
both added by #6648
The test also validates that interceptors are called for constructor if annotated with an interceptor trigger

In new service inject, interface interception is validated by io.helidon.service.tests.inject.interception.InterfaceInterceptionTest

And constructor interception as well.


VOS given mask in the middle of the sequence

Thanks for the great work!
I have a video sequence in which I only have a ground truth segmentation for a frame in the middle of the sequence. What would be the correct way to propagate this mask both forward and backward?
Currently, when first_mask_loaded if False, I'm adding the frame back into the queue to re-process at the end. And I set end in processor.step to be True only when all of those frames are also processed. Is this the right way to do this?

There can be multiple ways to do this and I am not sure which one is the best. Assuming the frame with annotation is indexed t, you can process them as

t, t+1, t+2, ..., T, t-1, t-2, ..., 0
t, t-1, t-2, ..., 0, t+1, t+2, ..., T
t, t+1, t+2, ..., T, [clear memory bank], t, t-1, t-2, ..., 0
t, t+1, t-1, t+2, t-2, ..., T, 0
etc.

If you are appending to the end of the queue, that gives t, t+1, t+2, ..., T, 0, 1, 2, ..., t-1. I would guess this is similar to but a bit worse than (1).
I guess you would have to try to know which one is better for your task. Would have to know the result.

Thanks, that was really helpful! I'll probably use 1 or 3 to minimize complexity.


Automate deployment of static files

Pull Request Test Coverage Report for Build 952268030

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.876%

Totals

Change from base Build 952194791:
0.0%

Covered Lines:
88

Relevant Lines:
89

💛  - Coveralls


npm package

Do you think you could publish this package to npm registry? Unfortunately it looks like it would like a bit of overhead with each release, but not that much.
Thanks for keeping this plugin alive!

@mlazowik sure.

https://www.npmjs.com/package/leaflet.awesome-markers
published. I don't have much experience here, but if you are using webpack, I guess you'll have to map this.
let me know if this works.

The package does work, thanks!
I see some issues though:

the version on npm is now 1.0.0, which does not match neither the latest GitHub release nor the bower release. I think all these should be in sync.
the actual published code is current master, which is not a release at all. This is probably because you needed package.json, right? Either way master has broken markers on high dpi screens since 2d9a528. I'm going to make a pull req to fix that now.
main in package.json points to non existing file, but webpack still handles importing js somehow, I'm not sure what is going on there.

@mlazowik about versions:

I've matched the version on npm;
Will publish the new version to bower as well;
No idea about that as well;

Great, thanks!


PHP 7.2 is moved to archive/ so it cannot be installed

https://windows.php.net/downloads/releases/ doesn't list php-7.2.34-Win32-VC15-x64.zip because it's moved to the archive/ subdirectory.
https://windows.php.net/downloads/releases/archives/php-7.2.34-Win32-VC15-x64.zip is the new path.

@r15ch13 too

Make a PR, and I could merge it.

I made a PR with the new /archives/ URLs.


Option to remove/adjust the decimal numbers

@Ragha2207 - I added support to apply a Math function to the Text value.  You can find it in Format->Text->Function.  Let me know if this meets your needs and if you see any issues with it.
https://github.com/jongio/PowerBI-visuals-liquidFillGauge/raw/master/liquidFillGauge/dist/liquidFillGauge.pbiviz

Yes, Perfect. Thank you.


spicedb: 1.29.2 -> 1.29.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/authzed/spicedb/releases.
meta.description for spicedb is: Open source permission database
meta.homepage for spicedb is: https://authzed.com/
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.29.5 in filename of file in /nix/store/wx75dj1n41jclx9lkb22kickdsqlfxbh-spicedb-1.29.5

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
spicedb

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wx75dj1n41jclx9lkb22kickdsqlfxbh-spicedb-1.29.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A spicedb https://github.com/r-ryantm/nixpkgs/archive/224bfbe8943c26ccd2a54d7f036bd8fabdf58363.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/224bfbe8943c26ccd2a54d7f036bd8fabdf58363#spicedb

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wx75dj1n41jclx9lkb22kickdsqlfxbh-spicedb-1.29.5
ls -la /nix/store/wx75dj1n41jclx9lkb22kickdsqlfxbh-spicedb-1.29.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

spicedb

Maintainer pings
cc @thoughtpolice for testing.

Result of nixpkgs-review pr 293814 run on aarch64-darwin 1

1 package built:

spicedb


Foundry Build 11.308+ Image Hover Placement Bug

Image hover art is forced to top left of scene regardless of settings. Image is also tied to scene grid rather than to client screen i.e., zooming out or panning can make the hover go out of the window even though you are still hovering the token. This bug has been confirmed with multiple users on multiple Foundry builds post 11.307.

Hello,
Currently can't seem to reproduce this issue. As you can see I only have 1 active module(image hover) and am on the latest Foundry version, I also quickly checked the versions from 11.307+.

If possible, could you double-check if it's a module compatibility issue? The quickest way would be to create a new world and only have the Image Hover module active. Other than this could you also provide the web browser (if any) and the dnd system you're using?

Just wanted to chime in - I'm also experiencing this issue. I did as you recommended by using the latest foundry, started a new world and selected only the Image Hover module.
I use Firefox and Chrome, and this behavior is consistent for both. In addition, and I'm not sure if this is intentional (I'm pretty new to Foundry), but when scrolling in and out of the map, it seems like the image is static to the map, as it will zoom in and out with the map, locked to a specific point on the map, being the top left of the map area. I would have expected it to not be affected by the zoom level. I'm using the DND5e - Fifth Edition System (2.3.1) edition.

Thanks for the edit, this is very helpful information ❤.

Hello,
This has been fixed in the latest release which is currently only compatible with Foundry v12.
As always, let me know if anything else comes up, and thanks for the additional bug information.
Thanks!


chore(dev/release): pin Python 3.12 for now

Various dependencies don't quite work with 3.13 yet.

 /adbc/c/vendor/nanoarrow/nanoarrow.hpp:94:35: error: identifier '_asv' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
   94 | inline ArrowStringView operator"" _asv(const char* data, std::size_t size_bytes) {
      |                        ~~~~~~~~~~~^~~~
      |                        operator""_asv

Looks like this is not fixed by the nanoarrow 0.6.0 PR


Using "invisible" size blocks the UI

Hey! thanks for this lib thats really works 🚀
I'm using the invisible, but found out that the Modal block the whole UI until it's not visible the token verified.
in the current implementation is there a way to mitigate this behaviour?
Playing around I found out that without rendering the Modal (just the web-view) I can still get it to work
Thanks!

The problem is that the "invisible" doesn't always work.
If the user needs to solve the challenge, there won't be enough space as the challenge window covers most of the screen.

Duplicated from #11


Docker Systemd service (docker.service) doesn't import variables from /etc/default/docker

Any change of /etc/default/docker isn't export to docker systemd service (docker.service). Mainly, DOCKER_OPTS variable. Probably, this is happen because  docker.service doesn't have EnvironmentFile parameter.
This is fixed changing ExecStart to add $DOCKER_OPTS in the end of line and one line before add EnvironmentFile=/etc/default/docker. Therefore, these parameters would look like this:
[...]
EnvironmentFile=/etc/default/docker
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
[...]
The environment is below
$ docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:36:34 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:36:34 2017
 OS/Arch:      linux/amd64
 Experimental: false

$docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 apparmor
Kernel Version: 4.9.0-0.bpo.1-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 996.3 MiB
Name: node1
ID: 3ESS:IQD7:EYQD:77TS:DNUL:6E54:Y4TD:E6JO:LGKA:UCP5:SKOD:NMQU
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

$ uname -a
Linux node1 4.9.0-0.bpo.1-amd64 #1 SMP Debian 4.9.2-2~bpo8+1 (2017-01-26) x86_64 GNU/Linux

cat /etc/debian_version
8.7

The /etc/default/docker file is only used for upstart/sysvinit (see the comment at the top of that file: https://github.com/docker/docker/blob/v1.13.1/contrib/init/sysvinit-debian/docker.default#L1-L8)
To configure daemon options;

Use a daemon-configuration file; https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file (this method works irregardless of the process manager in use)
Use a systemd drop-in file to override options from the systemd unit file; https://docs.docker.com/engine/admin/systemd/#custom-docker-daemon-options

We discussed adding an EnvironmentFile to the systemd unit, but using such a file was not the recommended way to configure a systemd service. (drop-ins are). Unfortunately, some distros ship docker with a different systemd service file than the unit file in the official packages, which can be confusing if you have such a package installed.
I'll close this issue, because this has been discussed in other issues (see https://github.com/docker/docker/issues/29652#issuecomment-268759359), but I hope the above helps you further

Ouch! My apologies for didn't see documentation and #29652 before. I agree but perhaps there is an exception for .deb package provide for Docker. In the .deb could provide a file to import variables from /etc/default/docker and become centralized any change, such as systemd, upstart or sysvinit.
@thaJeztah, do you think is possible to add a file (/etc/systemd/system/docker.service.d/environment.conf) for .deb packages provide for Docker or this will keep unreasonable?


Permission denied when caching macports

Installing macports is a time-consuming part in my CI, so I guess backing up /opt/local will help:
- name: Cache MacPorts
  id: cache-macports
  uses: actions/cache@v2
  with:
    path: /opt/local/
    key: ${{ runner.os }}-macports-${{ hashFiles('macos_build.txt') }}

However, since #133 didn't accept using sudo tar, I got a long error log all about permissons:
Run actions/cache@v2
Received 138412032 of 255723896 (54.1%), 132.0 MBs/sec
Received 255723896 of 255723896 (100.0%), 105.3 MBs/sec
Cache Size: ~244 MB (255723896 B)
/usr/local/bin/gtar --use-compress-program zstd -d -xf /Users/runner/work/_temp/68ab3e83-d089-4f96-b645-0834881ca4e5/cache.tzst -P -C /Users/runner/work/pacaptr/pacaptr --delay-directory-restore
/usr/local/bin/gtar: ../../../../../opt/local: Cannot mkdir: Permission denied
/usr/local/bin/gtar: ../../../../../opt/local: Cannot mkdir: Permission denied

Is it possible to introduce some sort of sudo, or is there any workaround?
Thanks in advance!

same problem like you,we need sudo

Still needed

I was able to work around this issue by creating the following file in my repository as gtar:
#!/bin/sh
exec sudo /usr/local/bin/gtar.orig "$@"

and adding the following step to my job before the cache action:
    - name: "Install gtar wrapper"
      run: |
        sudo mv /usr/local/bin/gtar /usr/local/bin/gtar.orig
        sudo cp macosx/gtar /usr/local/bin/gtar
        sudo chmod +x /usr/local/bin/gtar

I've pushed a sudo branch which is available via: uses: john-shaffer/cache@sudo-tar

@john-shaffer Thanks a lot for your patch!
However, due to the deprecation of save-state, it might stop working at the end of March 2023.
Would you mind checking it out? 🙏

@rami3l you can use uses: john-shaffer/cache@main

Still needed.

Still needed. I installed Racket, which is slow, so I cached it; but I couldn't restore it.
/usr/bin/tar -z -xf /home/runner/work/_temp/dc080dc3-f635-4afc-a376-84446d4ae578/cache.tgz -P -C /home/runner/work/unison/unison
/usr/bin/tar: ../../../../../usr/bin/racket: Cannot open: Permission denied
/usr/bin/tar: ../../../../../usr/etc: Cannot mkdir: Permission denied
/usr/bin/tar: ../../../../../usr/etc/racket: Cannot mkdir: No such file or directory
/usr/bin/tar: ../../../../../usr/etc: Cannot mkdir: Permission denied
/usr/bin/tar: ../../../../../usr/etc/racket/config.rktd: Cannot open: No such file or directory
/usr/bin/tar: ../../../../../usr/include/racket: Cannot mkdir: Permission denied
/usr/bin/tar: ../../../../../usr/include/racket: Cannot mkdir: Permission denied
/usr/bin/tar: ../../../../../usr/include/racket/racketcsboot.h: Cannot open: No such file or directory
/usr/bin/tar: ../../../../../usr/include/racket: Cannot mkdir: Permission denied
...


Use oneway for chat ui attachment notifications

There was an issue where electron wasn't responding to chatAttachmentUploadDone and thus the service was hanging and never sending the MessageAttachment to gregord.
Changing these to oneway should make it so there is no wait.

Fixes https://keybase.atlassian.net/browse/CORE-4346 reported by @cjb


ci: set behavior test ci for aliyun drive

aliyun drive test failed for
failures:

---- behavior::test_list_empty_dir ----
Unexpected (persistent) at List::next, context: { service: aliyun_drive, path: / } => The resource file cannot be found. file not exist

failures:
    behavior::test_list_empty_dir

test result: FAILED. 113 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 291.46s

aliyun drive test failed for

Thanks. I'm handling this on my local machine.

The env var RUST_TEST_THREADS doesn't seem to be working properly.

I feel like the implemention has some bug to address. For example:
---- behavior::test_list_empty_dir ----
Unexpected (persistent) at List::next, context: { service: aliyun_drive, path: / } => The resource file cannot be found. file not exist

List empty dir should return None instead of not found?

It's superficial. Most of those errors reached the limit of read/write.

List empty dir should return None instead of not found?

@Xuanwo It has nothing to do with List empty dir. I already return None. The truth is that AliyunDrive has some limitations with high concurrency requests.
I just debugged with mimtproxy. Here is the capture:

Picture 1: I requested a path, and it returned with a file_id (which is a folder).
Picture 2-3: I requested a file folder by the file_id, but it responded with 404.
Picture 4: The error log shows ERROR opendal::services: service=aliyun_drive operation=list path=/ -> Unexpected (permanent) at List::next => The resource file cannot be found. file not exist.

As I mentioned, everything goes well when the tests are limited to 1 thread.
cargo test behavior --features tests,services-aliyun-drive -- --test-threads=1

Otherwise, you'll get random errors such as 404 and io timeout, etc.

List empty dir should return None instead of not found?

@Xuanwo It is nothing about List empty dir. I already return None. The truth is that AliyunDrive has some limitations with high-concurrency requests. Here I debugged with mimtproxy and showed you the capture:

Pic 1-2: I requested a path and got a file_id (a folder).
Pic 3-4: I requested the file_id and got 404.
Pic 5: Error log showed context: { service: aliyun_drive, path: / } => The resource file cannot be found. file not exist.

As I mentioned, the tests go well when limited to 1 thread:
cargo test behavior --features tests,services-aliyun-drive -- --test-threads=1

Otherwise, you'll get random errors such as 404 and io-timeout, etc.

As I mentioned, the tests go well when limited to 1 thread:

Odd, we've already set test_threads=1.
https://github.com/apache/opendal/blob/f95cb4d06a615acd96f6f2e08dd3ee4b1d3c6ef3/.github/services/aliyun_drive/aliyun_drive/action.yml#L33-L38

Odd, we've already set test_threads=1.

Based on my testing on my host, RUST_TEST_THREADS=1 does not behave the same as --test-threads=1.

Based on my testing on my host, RUST_TEST_THREADS=1 does not behave the same as --test-threads=1.

But docs said

This can also be specified with the RUST_TEST_THREADS environment variable.

https://doc.rust-lang.org/rustc/tests/index.html#--test-threads-num_threads

It's a bit strange. The env var is also behaving differently on my local machine.
I found this:
https://github.com/rust-lang/rust/issues/104053

I rewrite the lister (without getting file details), and LGTM on green. The test-check will list items while other threads delete things. So the list behavior randomly gets 404 files not found.

Wow, so cool! Is this PR ready to go?


Invalid Swift Support with Solar2D 2024.3702

Apple sent me an email with the following:

ITMS-90424: Invalid Swift Support - The SwiftSupport folder is empty. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

Attach your build.settings
-- Tendrils build.settings

settings =
{
    orientation =
    {
        -- Supported values for orientation:
        -- portrait, portraitUpsideDown, landscapeLeft, landscapeRight
        default = "portrait",
        supported = { "portrait", },
    },

    splashScreen =
    {
        enable = false
    },

    --
    -- Android section
    --
    android =
    {
        usesPermissions =
        {
            "android.permission.INTERNET",
        },
    },

    --
    -- iOS section
    --
    iphone =
    {
        xcassets = "Images.xcassets",
        plist =
        {
            GADApplicationIdentifier = "[REDACTED]",
            UILaunchStoryboardName = "LaunchScreen",
            UIStatusBarHidden = false,
            MinimumOSVersion = "17.0",
            NSUserTrackingUsageDescription = "This would allow the app to advertise better.",
            SKAdNetworkItems = {
                {
                    SKAdNetworkIdentifier = "cstr6suwn9.skadnetwork",
                },
            },
        },
    },

    --
    -- Plugins section
    --
    plugins =
    {
        ["plugin.admob"] = { publisherId = "com.coronalabs" },
        ["plugin.att"] = { publisherId = 'com.solar2d' },
    },

    --
    -- Project section
    --
    excludeFiles =
    {
        -- Exclude unnecessary files for each platform
        all = { "Icon.png", "Icon-*dpi.png", "Images.xcassets", },
        android = { "LaunchScreen.storyboardc", },
    },
}

I found some other posts with the same issues from few years back and they are usually due to the plugin. Can someone check? Thanks!

Thanks for the report.


How to use plugins modules exports and imports?

https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export

I have following code:
<!doctype html>
<html>
<head>
    <title>Babel Test</title>
</head>
<body>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.14.0/babel.min.js"></script>

     <script data-plugins="transform-es2015-modules-umd" type="text/babel">
        export default function cube(x) {
          return x * x * x;
        }
    </script>

</body>
</html>

I can export function cube but how do I import it?

Note that data-plugins="transform-es2015-modules-umd" is required, otherwise it will throw ReferenceError: exports is not defined

I'm not sure how ES6 modules would work within the  context of a browser - How would you define the module name, for example?

I'm sorry, not an expert here, and I know my case was pretty edgy...
I think I wanted to edit source file of some library and have it loaded directly into browser as I was working on limited environment (no admin rights, cannot install anything)

I also need to use exports defaults in my work completion university course, if you can find a solution I will be grateful if you share

I think if you have a jsFiddle, I may want to import external files. For example from rawgit.com

https://jsfiddle.net/marcioacmauricio/o142f0d1/2/

Native module loading is coming to browsers.  In fact, it's already available in Firefox, Safari and Edge, but only in pre-release versions, and then hidden behind a flag.  Here's a very good blog post that gives an overview of the current state of play:
https://blog.hospodarets.com/native-ecmascript-modules-the-first-overview
I tested native module loading, using version 54 of the Firefox Nightly build with the dom.moduleScripts.enabled boolean flag set to true.  This is bleeding edge stuff to be sure, but I can confirm that it does work!
It would be great if babel-standalone could somehow work together with native module loading to transpile React, for example.
How would one integrate the two though?  One stumbling block is that native module loading requires that the initial script is loaded as<script type="module", whereas babel-standalone requires <script type="text/babel" .

What is the solution to get this to work?

test.html:
<!doctype html>
<html>
<head>
  <title>Babel Test</title>
</head>
<body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.14.0/babel.min.js"></script>
  <script data-plugins="transform-es2015-modules-umd" type="text/babel" src="./cube.js"></script>
  <script data-plugins="transform-es2015-modules-umd" type="text/babel">
    import cube from 'cube'
    console.log(cube(3))
  </script>
</body>
</html>

cube.js
export default function cube(x) {
  return x * x * x;
}

Is there a solution for this? Should we move this to the main Babel repo for more exposure (now that standalone has moved)?

I think https://github.com/babel/babel/pull/6223 should actually fix this.

If that PR doesn't fix it, let's open a new issue in the Babel repo 😃