Standardize OMG.Bus event signature

Opening this issue to track a suggestion stemmed from https://github.com/omisego/elixir-omg/pull/1123#discussion_r352582737

Since this is a broadcast to a more generic event bus (i.e. not restricted to contract events), maybe naming the topic directly after the ethereum event Name might lead to confusion/conflicts. Instead of DepositCreated (which might clash with other events related to a deposit being created), something like root_chain:DepositCreated? (not sure what conventions/style this would have to follow though)
Also for a cleaner and more testable approach, putting code that retrieves the OMG.Bus topic from event_signature fits under Preprocessor responsibilities.

Idea is that all events are produced by a module that processes the event. Just as we do now with db updates. That requires a change in process events callback API. Now return time would be something like:
 {:ok, list(Core.db_update()), list(Event.t())} where Event contains a topic and data to be broadcasted.
Did I get it right @InoMurko?

Instead of DepositCreated (which might clash with other events related to a deposit being created), something like root_chain:DepositCreated

Another concerns I have is on the exit related events. We have only 1 (payment) exit game so it is fine with current schema. As we are extending, the payment v2 event would crash with payment v2 event potentially.
Shall we start to put the txType as part of the event identifier? so rootchain:payment:ExitStarted and rootchain: paymentV2:ExitStarted.
Vault could potentially have same issue though the risk there is a lot smaller.

@boolafish good remark Andy. I think we could aim for enriching topic name with a contract address, instead of payment part.
We do not have a need to do it now, so I'll leave it out of my PR for now.

sure just make sure this issue or there is some issue left tracking this

@boolafish

As we are extending, the payment v2 event would crash with payment v1 event.

IMHO it's totally fine as the metric will store total number of deposits from both V1 & V2.
I'm unaware of DD features here, but the metrics I published to other collector allows to specify a tag - so you could count total or filter it further by tags... What DD offers here ❓

@pnowosie I think I did not get what you mean 😅
Are you saying that DD is the only consumer of the OMG.bus for the exit events, and it is fine to not distinguish the events? And DD might have some special magic feature (tag?) to differentiate them later?
Personally I am lost on how...that works? If we put simply eg. ExitStarted for both payment v1 and v2, and some process put that to DD, how does the DD possibly know which tag to use?
Another thing is that long term wise there will be more transaction type to come in with the exchange feature. Personally I want to get prepared for that or understand what are the necessary changes to add the feature.


Took much time to generate highlight video

I am pleasure I file the 1st issue here. I am very intrested in this tool and I am newbee of pytorch.
Thanks for your effort. ^^
I got a question:
when I use your wonderful script, it works well. but for longger video, it would take much time...
My test PC Env
cpu: i5 8500 3.00GHz
gpu: GTX1060 6GB
Code
  def detect(self, model, img, image_size):
        model.eval()

        IN_IMAGE_H, IN_IMAGE_W = image_size

        sized = cv2.resize(img, (IN_IMAGE_W, IN_IMAGE_H))
        sized = cv2.cvtColor(sized, cv2.COLOR_BGR2RGB)

        t0 = time.time()

        if type(sized) == np.ndarray and len(sized.shape) == 3:  # cv2 image
            sized = torch.from_numpy(sized.transpose(2, 0, 1)).float().div(255.0).unsqueeze(0)
        elif type(sized) == np.ndarray and len(sized.shape) == 4:
            sized = torch.from_numpy(sized.transpose(0, 3, 1, 2)).float().div(255.0)
        else:
            print("unknow image type")
            exit(-1)

        use_cuda = 1
        if use_cuda:
            sized = sized.cuda()
        sized = torch.autograd.Variable(sized)

        t1 = time.time()

        with torch.no_grad():
            output = model(sized)

        t2 = time.time()

#         print('-----------------------------------')
#         print('           Preprocess : %f' % (t1 - t0))
#         print('      Model Inference : %f' % (t2 - t1))
#         print('-----------------------------------')

        boxes = post_processing(img, 0.4, 0.6, output)

        return boxes

model:
        m = Darknet(cfg_path)
#         m.print_network()
        m.load_weights(weight_path)
        print('Loading weights from %s... Done!' % (weight_path))

        if use_cuda:
            m.cuda()

        self.num_classes = m.num_classes
        self.class_names = load_class_names(namesfile_path)
        self.engine = m
        self.image_size = inference_size

when use inference_size: (1184, 1184), each frame will take 200+ ms in the following step:
  with torch.no_grad():
            output = model(sized)

and total vedio frame size is 36000+, that means total time cost would be > 3 hour
So, if the pytorch has this such bad performance ? do you know the reason. Thank you. ^^

Do you select --inference_detector pytorch ?
You can refer the README.md to change inference_size. (Base on your video resolution,
high inference_size have better performance for smaller basketball.)
If you use pytorch yolov4 object detector engine --inference_detector pytorch.
For image input size, you can select any inference_size = (height, width) in.
height = 320 + 96 * n, n in {0, 1, 2, 3, ...}.
width = 320 + 96 * m, m in {0, 1, 2, 3, ...}.
Exmaple --inference_size (1184, 1184) or --inference_size (704, 704)
Default inference_size is (1184, 1184)


Calling a not run Task's Dispose() does not throw exception

This deck should throw System.InvalidOperationException:
var tsk = new Task( () => { } );
tsk.Dispose()

Deck (does not throw).
Dotnet Fiddle (throws).

This most likely does not happen not because of a bug, but this was just never implemented like this, so marking as a feature.

This was found while drawing unit tests for pull request #3572.


[Question] How to create a linear gradient

Hello,
Although this is related with #1758, I want to ask if exist just a simple approach to create a linear gradient, pretty similar how CSS works:
background: linear-gradient(136deg, rgb(22, 135, 237), rgb(20, 55, 90));

getting something like this as output

occupying all the available space

Hi, have you tried an SVG-based approach for this (as mentioned in the linked issue)?

Yes,  but not sure how I can set up 100% dimensions size

http://angrytools.com/gradient/ has an SVG option - perhaps try that?

For people interested on this, I created svg-gradient that receives CSS linear gradient as input and return a SVG linear gradient as output.
const svgGradient = require('svg-gradient')
const sharp = require('sharp')
const image = await sharp(Buffer.from(svgGradient(`linear-gradient(136deg, rgb(22, 135, 237), rgb(20, 55, 90))`)))
const buffer = await image.toBuffer()


can the default conf.APIPath in k8s.io/client-go/1.5/dynamic/client.go change to  /apis?

can the default conf.APIPath in k8s.io/client-go/1.5/dynamic/client.go change to  /apis,
i think the default APIPath is /apis and the default APIVersion path is /api.

This should already be set up correctly by default. Hopefully you got
whatever you were doing working :)
On Thu, Jan 12, 2017 at 6:31 PM, foliage<EMAIL_ADDRESS>wrote:

Closed #64 https://github.com/kubernetes/client-go/issues/64.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/client-go/issues/64#event-921697948, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAnglp2qob00IcmNn9u5tLLjlEp9HYXaks5rRuIKgaJpZM4LhoKM
.

I have a wrong understanding of this,i hava got it,thank you very much.


DBZ-6499 Support restarting JDBC connections

https://issues.redhat.com/browse/DBZ-6499
Changes
Introduces a new configuration option, log.mining.restart.connection, which closes and re-opens the JDBC connection when an Oracle Log switch occurs or when the optionally configured log mining session max lifetime is reached.
@jpechane I'm open to renaming the option if you think a better name is useful.

@Naros Applied, thanks!


Deploy tag on Docker Hub

Right now the images are only tagged with latest and not with their actual tags.

Fixed in https://github.com/EtixLabs/cameradar/pull/62


libigl build failure

Host Environment

OS: [MacOs 12.6.]
Compiler: Apple clang version 14.0.0 (clang-14<IP_ADDRESS>)
MacBook Pro M2 (ARM)

To Reproduce
Steps to reproduce the behavior:
./vcpkg install libigl
Failure logs

Cut and paste the appropriate build messages from the console output.
-- Running vcpkg install
Error<EMAIL_ADDRESS>is only supported on '!(arm | uwp)'

-- Running vcpkg install - failed

Attach every failure log file mentioned in the console output.

Error<EMAIL_ADDRESS>is only supported on '!(arm | uwp)'
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

Note : I'm ableto build and run the lib on Mac arm so it should be ok to enable it on vcpkg

This issue hasn’t been updated in 3 month, if it is still an issue, please reopen this issue.


Channel for logging, jobs completed time taken etc. Auto-boot commands.

log file in meerk40t that record what jobs were completed, time taken etc?

It should be possible to automatically log a channel with some auto-exec commands, and add in a channel for start and end times for various elements.

There is now a partial solution here as channel spooler will relay the amount of time between spooled objects. So you really could tell how long your stuff took to run.


example of formatting tooltips

do you have an example of formatting the tooltip using TooltipHook?

Hi @mhogeweg
Here is a little example: http://codepen.io/chaosmail/pen/xZgPmp?editors=101
Best,
Christoph

thanks. with this I figured out what I wanted to achieve.


Support MSI Authentication through IDMS

@yugangw-msft , might be a good person to chat with to get some context here.
@mcardosos  can you please get some context on what's required on top of what you've already done for MSI?

tagging @jhendrixMSFT as he worked on the MSI support

Is this to use IDMS to get the msi Path which is currently hardcoded ? ( https://github.com/Azure/go-autorest/blob/master/autorest/adal/msi_windows.go )

If it clarifies, the token endpoint should switch from http://locahost:<port> to http://<IP_ADDRESS>/metadata/identity/oauth2/token, and you need to take care of the throttling situation, as the current limitation is 10 requests per second from each VM

@yugangw-msft  So is IDMS used to authenticate, but with this slight differences (endpoint, throttling)?
Is IDMS replacing MSI?

@mcardosos  I think to clarify ( correct me if I am wrong @yugangw-msft  ):

Right now to access the MSI service , there is an MSI extension provisioned in the VMs which is accessed through a localhost endpoint.

The plan is probably to remove the extension and just use an MSI endpoint in IDMS ( which is accessible from all VMs on <IP_ADDRESS> ).

Hence MSI is still used, just we need to update to use the IDMS endpoint instead of the localhost endpoint.

@vladbarosan, that is right. The additional thing is to add a re-try under throttling

Okok, so what should be done in the SDK is exactly what @yugangw-msft commented:

Change endpoint
Throttling

@mcardosos yup
also maybe handling possible errors returned in case we don't do it already

Fixed on https://github.com/Azure/go-autorest/pull/263
Retries available on go-autorest v11 branch


Updating all SDKs after changes to API_Specs - And an initial pass on…

… a unit-test framework/example project

Apparently there are more changes coming very soon, so I'm canceling this API update.


Multiple API usage from one button click

Was mentioned in the feedback of the approval process, to get results from one button click.  This will allow for a better user experience.
Thoughts on how to accomplish - create two flex boxes, one for each api. Create one button to submit.  Set functions to run on the same Event listener.

Completed with assigning the same Event Listener to both functions


Link between the center loss and conditional cross entropy

Dear authors,
Thanks for your wonderful work. I really like it, yet I got confused about why the center loss can be interpreted as a conditional entropy between \hat{Z} and \bar Z.
Might I have your kind reply.
Thanks.

Dear @mboudiaf,
Thanks for your kind reply! Just one more question: Why is the sampling from the feature distribution equal to the sum over all the z_i where y_i=k. As we do not know the concrete distribution of \hat{Z} | Y, we may not be able to sample \hat{Z} directly. Besides, \sum_{i:y_i=k} seems to contain all the data belonging to class k, rather than a sampled part.
Thanks.
Best.

HI @needylove,
We do not know the true density of \hat{Z} | Y=k, but we can sample from it (this simply corresponds to extracting features for images from class k). The sum over the "i" should be understood as "you sum over all the indices i in the current batch of samples, such that y_i = k". The expectation is therefore replaced by this sum through a Monte-Carlo empirical estimate.
Is it clearer ?
Best !
I

Dear @mboudiaf,
Much clearer with your kind help. Yet, I lost the link between the distribution of the input X and \hat{Z} | Y=k. It seems a batch of samples is sampled from the distribution of X, although each sampled x corresponds to a \hat{Z}, yet, I do not understand why we can treat the corresponding \hat{Z} as a sample. In another word, assume x' \in X has a higher probability to be sampled and thus the corresponding \hat{z'} also has a higher probability to be sampled, yet, \hat{z'} may not has a high probability to be sampled under the distribution \hat{Z} | Y=k.
Thanks!
Best.


False front for Dawnstar/Morthal questions/clarification

So how rare is false front, how often is it meant to be given cause I haven’t gotten it for Dawnstar yet like at all
That’s the mission with the courier and delivering false documents to Dawnstar or Riften’s CO
I get compelling tribute but not as frequently as I seem to get rescue from fort____ fairly frequently so just asking about false front

Additionally I don’t seem to get compelling tribute for Riften, at least not on first campaign I did get it for Markarth with the Stormcloaks at one point but Riften seems less frequent (when I go back to earlier saves)

It's all luck of the draw right now. Every quest (if it can start) has an equal chance of starting. After release I might try something to force the vanilla quests first and then the new CWO added quests and finally the Fort siege before the Captial.

You should get it pretty reliably now :)


Add getting column spec for RowIterator

Fixes: #336
We add a getter for ColumnSpec for *_iter query methods.
Enables users to learn about column names when they are using *_iter methods.
I took implementation from cvybhu@6bf7182 and made tests for it.
Pre-review checklist

[x] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[x] I added relevant tests for new features and bug fixes.
[x] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[x] I added appropriate Fixes: annotations to PR description.

Merged. The commits needed some cleaning up, so in order not to delay merging this PR further I reorganized them a little before merging. Some tips for the future:

The third commit looks like a squash of three commits with unedited commit message after the squash. Remember that the first line in the message serves as a very short summary of what the commit does. That commit introduced a change which cause the RowIterator to have the first page already loaded after it was returning, but the commit message started with result: removed deriving Default trait for Rows struct. - which wasn't very informative. I rearranged the commit message a bit to make it more clear.
You had a commit which introduced tests and then another which fixes them. It's better to have one commit which introduces correct tests, so I squashed them.


removes torch dependency

Codecov Report
Patch coverage has no change and project coverage change: +0.07 :tada:

Comparison is base (ff21c9a) 85.46% compared to head (bfeb225) 85.54%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #255      +/-   ##
===========================================
+ Coverage    85.46%   85.54%   +0.07%
===========================================
  Files           74       74
  Lines        12824    12810      -14
===========================================
- Hits         10960    10958       -2
+ Misses        1864     1852      -12

Impacted Files
Coverage Δ

partitura/musicanalysis/performance_codec.py
87.03% <0.00%> (+3.58%)
:arrow_up:

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

This pull request removes torch as an additional dependency (since it was only used optionally in two functions, and removing the dependency does not change the behavior of the package).


Automatic error report

Syntax color --> dark

Thanks for reporting. This error is a duplicate of #6519 , which is fixed with Spyder 3.2.8. Accordingly, please update.


Bug: new error log messages with latest version (v3.5.1) for SwitchBot Curtain devices

Describe the Bug
A new error message appears in the log after the latest update; before this update to v3.5.1 the error was not present.
Though it seems the curtain devices are working properly.
To Reproduce
latest v3.5.1 with no config changes for SwitchBot Curtain devices (were without error messages before update)
Expected Behavior
no red error messages
Relevant Log Output
[6/28/2024, 5:48:27 PM] [homebridge-switchbot] Curtain: Schlafzimmer Vorhang failed openAPIRefreshStatus with OpenAPI Connection, Error Message: "Cannot use 'in' operator to search for 'power' in undefined"

Config for homebridge-switchbot
{
                        "deviceId": "CAD9xxxxBC05",
                        "configDeviceName": "Schlafzimmer Vorhang",
                        "configDeviceType": "Curtain",
                        "connectionType": "OpenAPI",
                        "curtain": {
                            "setOpenMode": "1",
                            "setCloseMode": "1"
                        },
                        "history": true,
                        "logging": "standard"
                    }

Screenshots
No response
Device and Model
Curtain
Node.js Version
v20.15.0
NPM Version
v10.7.0
Homebridge Version
v1.8.3
Homebridge Switchbot Plugin Version
latest
Homebridge Config UI X Plugin Version
v4.56.4
Operating System
Raspbian

Can you try the latest beta:

Click here to find out how to install Beta

v3.6.0 has been released. If this issue isn't resolved please open a new issue.

v3.6.0 is not solving the issue, seeing the same and more log entries after a restart:
[7/7/2024, 9:48:52 AM] [homebridge-switchbot] Restoring existing accessory from cache: Büro Synology deviceId: CF911xxx6559 [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Fan Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Lock Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Door Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Faucet Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Outlet Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Window Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Garage Door Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Window Covering Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Bot: Büro Synology Removing any leftover Stateful Programmable Switch Service [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Restoring existing accessory from cache: Büro Vorhang deviceId: C985Exxx3C39 [7/7/2024, 9:48:52 AM] [homebridge-switchbot] Restoring existing accessory from cache: Schlafzimmer Vorhang deviceId: CAD91xxxBC05 [7/7/2024, 9:48:54 AM] [homebridge-switchbot] Curtain: Schlafzimmer Vorhang failed openAPIRefreshStatus with OpenAPI Connection, Error Message: "Cannot use 'in' operator to search for 'power' in undefined" [7/7/2024, 9:48:54 AM] [homebridge-switchbot] Curtain: Büro Vorhang failed openAPIRefreshStatus with OpenAPI Connection, Error Message: "Cannot use 'in' operator to search for 'power' in undefined"
Is it necessary to remove cached devices?

Can you try the latest beta and if that doesn't work open a new issue as closed issues will not be reviewed:

Click here to find out how to install Beta


#74 - Fix failing build-mac pipeline job

Description
Fixes failing build-mac pipeline job.
Issues Resolved
#74
Check List

[N/A] New functionality includes testing.
[x] All tests pass, including unit test, integration test and doctest
[N/A] New functionality has been documented.
[N/A] New functionality has javadoc added
[N/A] New functionality has user manual doc added
[x] Commits are signed per the DCO using --signoff

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

Note: Created another related issue to fix the failing linkchecker job.


It's not possible to start a consumer application when blob store directory is empty

When you are trying to start an application and create indexes and your blob store dir is empty the following exceptions are thrown:

for primary key index:

java.lang.NullPointerException
	at com.netflix.hollow.api.client.HollowClientUpdater.getStateEngine(HollowClientUpdater.java:166)
	at com.netflix.hollow.api.consumer.HollowConsumer.getStateEngine(HollowConsumer.java:246)
	at [your-api-package].[IndexName]PrimaryKeyIndex.<init>([IndexName]PrimaryKeyIndex.java:15)

for hash index:

java.lang.NullPointerException
	at com.netflix.hollow.api.client.HollowClientUpdater.getAPI(HollowClientUpdater.java:170)
	at com.netflix.hollow.api.consumer.HollowConsumer.getAPI(HollowConsumer.java:260)
	at [your-api-package].[ApiName]APIHashIndex.<init>([ApiName]APIHashIndex.java:25)

Both exceptions are related to HollowClientUpdater#hollowDataHolder field which is null in that case.

Been hitting this one pretty regularly and can't seem to find a way to detect it other than wrapping this in try/catch for NPEs.

We always just call mkDirs() on the store directory before starting the client.

Well, we are writing our own backing (using redis) and get the same problem. I guess I could look to see if it’s something in there. But it seems like the hollow state just doesn’t fully initialize unless there is data.

I think this is a expected behavior, there was some conversation around this in the Gitter room. I guess the work on this would be a meaningful exception.
In our case, we initialize the indexes once we triggered a refresh on the consumer and the StateEngine is ready. Our implementation pulls the blobs from Google Cloud Storage and keeps a local copy with LocalBlobStore. At the end we do the mkdirs() and wrap the index creation in a try/catch, something like:
ProductPrimaryKeyIndex idx
        consumer = HollowConsumer.withBlobRetriever(gcsBlobRetriever)
                .withLocalBlobStore(new File("//blob-test"))
                .withAnnouncementWatcher(announcementWatcher)
                .withGeneratedAPIClass(ProductAPI)
                .withMetricsCollector(productHollowMetricsCollector)
                .build()

        consumer.triggerRefresh()

 boolean indexReady = false
        while (!indexReady) {
            try {
                idx = new ProductPrimaryKeyIndex(consumer, “field")
                indexReady = true
            } catch (Exception e) {
                sleep(1000)
            }
        }

Still, @toolbear suggestion is cleaner to guarantee the refresh.
firstRefresh = new CompletableFuture<>();

refreshListener = new RefreshListener() {
    public refreshSuccessful(long beforeVersion, long afterVersion, long requestedVersion) {
        if(beforeVersion == Long.MIN_VALUE)
            firstRefresh.complete(afterVersion);
    }
};

consumer = HollowConsumer.withBlobRetriever(...)
                .withRefreshListener(refreshListener)
                ...
                .build()

 // gate remainder of initialization on future completion
firstRefresh.get();
// build indexes, etc.

And yes, the StateEngine will be null if there is no data, having data is needed to create indexes. (AFAIK)

Opened up #197 as a proposal to fix this. That PR contains a bit of a cleanup, but the meat of it is in HollowClientUpdater - initializing the data state to an empty HollowReadStateEngine if there are no published versions. If you triggerRefresh after something is published (or wait for triggerRefreshAsync to kick in on its own) you will be updated to the latest version via a snapshot update.
An important side-effect of the empty state is that there are no types available in your consumer, so even initializing a PrimaryKey will fail. You can check if you have been initialized yet by calling HollowConsumer#getCurrentVersionId and comparing it to HollowConstants#VERSION_NONE.

@akhaku so as I understand, after these changes an application won't crash but creating PrimaryKey is not possible. So it's needed to implement kind of lazily initialized indexes (currently our indexes are initialized during an application startup) that initializes only when the state is not empty. Am I right?

Yes, you'll want to wait until after a triggerRefresh (assuming you have already published data). triggerRefresh is a blocking call that will fetch the latest state from your announcement watcher.
If you don't already have published data, you will have to wait until you have data. One way to do that would be to attach a RefreshListener

I'm facing with the issue while init HollowConsumer if Hollow's data don't exist.  I can't figure out how exactly RefreshListener will help me to init PrimaryKeyIndex's. Maybe I've missed something and have another good approach to lazy init HollowConsumer without Hollow's data and waiting until HollowProducer publish them.

I've found only this solution:
Init HollowConsumer in the constructor
public MyHollowConsumer(BlobRetriever blobRetriever, AnnouncementWatcher announcementWatcher)
    {
        this.blobRetriever = blobRetriever;
        this.announcementWatcher = announcementWatcher;
        HollowConsumer consumer = withBlobRetriever(blobRetriever)
                .withAnnouncementWatcher(announcementWatcher)
                .withRefreshListener(new CustomRefreshListener())
                .build();
       // we can't init Hollow index here, since hollow data could not be exist.
        consumer.triggerRefresh();

And implement RefreshListener  to reInit HollowConsumer
private class CustomRefreshListener extends HollowConsumer.AbstractRefreshListener
    {
        @Override
        public void refreshStarted(long currentVersion, long requestedVersion)
        {
            if (currentVersion == HollowConstants.VERSION_NONE)
            {
                HollowConsumer consumer = withBlobRetriever(blobRetriever)
                        .withAnnouncementWatcher(announcementWatcher)
                        .withGeneratedAPIClass(how.hollow.ti.TiAPI.class)
                        .build();
                consumer.triggerRefresh();
               // we can init Hollow Inex now
                index= new MyPrimaryKeyIndex(consumer);
                hashIdx = new MyAPIHashIndex(consumer);
            }
        }

But it looks awful. Maybe someone can suggest another good approach?

Hi @Mykyta , I think you want to do the following:
void initialize(HollowConsumer.BlobRetriever blobRetriever, HollowConsumer.AnnouncementWatcher announcementWatcher) throws ExecutionException, InterruptedException {

        CompletableFuture firstRefresh = new CompletableFuture<>();
        HollowConsumer.RefreshListener refreshListener = new HollowConsumer.RefreshListener() {
            public void refreshSuccessful(long beforeVersion, long afterVersion, long requestedVersion) {
                if(beforeVersion == Long.MIN_VALUE)
                    firstRefresh.complete(afterVersion);
            }

            @Override  public void refreshStarted(long currentVersion, long requestedVersion) { }
            @Override public void snapshotUpdateOccurred(HollowAPI api, HollowReadStateEngine stateEngine, long version) throws Exception { }
            @Override public void deltaUpdateOccurred(HollowAPI api, HollowReadStateEngine stateEngine, long version) throws Exception { }
            @Override public void blobLoaded(HollowConsumer.Blob transition) { }
            @Override public void refreshFailed(long beforeVersion, long afterVersion, long requestedVersion, Throwable failureCause) { }
        };

        HollowConsumer consumer = HollowConsumer.withBlobRetriever(blobRetriever)
                .withAnnouncementWatcher(announcementWatcher)
                .withRefreshListener(refreshListener)
                .build();

        consumer.triggerAsyncRefresh();

        firstRefresh.get();

        MyPrimaryKeyIndex index = new MyPrimaryKeyIndex(consumer);
    }

where you create a refresh listener that basically completes the firstRefresh future…
you create your consumer with this listener and trigger a refresh… then you basically wait for the future to complete by doing firstRefresh.get().
At that point, if completed, you will have the dataset ready and you should be able to create your index.
Looking at your example in https://github.com/Netflix/hollow/issues/140#issuecomment-398382930, I don’t think you want to create index in refreshStarted.

Thanks @rpalcolea for this solution. It works for me. I hope in nearest releases will become more graceful solution to solve that issue.

Just an update, because we're nearer to a graceful solution in Hollow.
HollowConsumer now has getInitialLoad() which returns a CompletableFuture that completes asynchronously when the first load of data has completed. Example usage:
HollowConsumer consumer = HollowConsumer.withBlobRetriever(blobRetriever)
    .withAnnouncementWatcher(announcementWatcher)
    .build();
consumer.getInitialLoad().join();

MyPrimaryKeyIndex index = new MyPrimaryKeyIndex(consumer);
index.listenToDataRefresh();

I've considered having AbstractHollowUniqueKeyIndex constructor automatically call, getInitialLoad().join() on the provided consumer. We might still do this, but the concern is that the constructor is now blocking and this could lead to deadlock in prior written code that didn't expect this behavior.
We're also looking at some convenience methods on HollowConsumer that will lazily cache unique key indices and do all the right things (wait on the consumer, subscribe to updates so that the index stays up-to-date automatically). Something like:
consumer = ….build();

index = consumer.uniqueKeyIndex(MyPrimaryKeyIndex.class);


es6 - Cannot read property '_parse' of undefined

Hey all ! Thanks for the good work.
In my project, I am using<EMAIL_ADDRESS>and for some technical limitations I need to manipulate z objects into an es6 codebase. More specifically the pick operator.
So I have my object definition in TS package (built to es6) :
export const Model = z.object({
  id: z.string().uuid(),
  name: z.string()
})

And in my es6 code I want to use a subset of this Model. Naively I do the following
import { Model } from '@mystuff/models'

const ModelSubset = Model.pick({
  name: true
})

The inferred type of ModelSubset looks right. But on the runtime, when I do this :
const myValidModel = ModelSubset.parse({
  name: 'Kikoo'
})

zod throws me :
TypeError: Cannot read property '_parse' of undefined

Redefining the object in the es6 package works though.. 🤔
So, what am I missing ?
Thank you for reading and be well !

Is there a longer error with a stack trace?

The quality of this error reminds me of the errors I get when I try to interface with a library using a different version of zod.

I have this same exact problem, though I do not do any building/compiling.

Just to clarify: You're using Zod in a vanilla JavaScript project without TypeScript?

Hey!

zod throws me :
TypeError: Cannot read property '_parse' of undefined

I ran into the same error message and found this issue. Now while my problem is likely a different another one, I thought sharing this might still help others ending up here.
Essentially what I was doing is exporting a schema from one file, using it in another one to compose another schema, and then importing that composed schema back into the first file. While there isn't a cyclic dependency per se, it causes the mentioned error at runtime.
See this CodeSandbox for an example: https://codesandbox.io/s/patient-butterfly-hsg3q?file=/src/index.ts The message isn't as descriptive as in my local (larger) project, but removing this exact kind of import solved it for me. (Maybe this is generally "wrong" in terms of my tsconfig or simply unsupported by zod and I don't know it, but I would intuitively expect it to work 🙈.)


add ability to filter metrics on a per-forwarder basis

@mpetazzoni  also

Coverage remained the same at 100.0% when pulling 31eb4115d4165b84a1daa09c6caa1235156b0073 on filteringconfig into cea45527ec5cf2926bf10158d7ae5ad4a75cfde5 on master.

Coverage remained the same at 100.0% when pulling de06fc02af1447235a7eb1ff97cce81babf94d09 on filteringconfig into cea45527ec5cf2926bf10158d7ae5ad4a75cfde5 on master.

Coverage remained the same at 100.0% when pulling 0e405bbadc2a7b4d98afedd4ad476a7a3c1ab3db on filteringconfig into cea45527ec5cf2926bf10158d7ae5ad4a75cfde5 on master.

Coverage remained the same at 100.0% when pulling 90102d2f944c149319945865cb9bd627bd549f5b on filteringconfig into cea45527ec5cf2926bf10158d7ae5ad4a75cfde5 on master.

Coverage remained the same at 100.0% when pulling b0da2932652bc15d59b1672ae2fd29089bb12c7f on filteringconfig into cea45527ec5cf2926bf10158d7ae5ad4a75cfde5 on master.

Coverage remained the same at 100.0% when pulling f5e3e0142c17ac28fbb6e8f69727e3ec9b25ad7f on filteringconfig into cea45527ec5cf2926bf10158d7ae5ad4a75cfde5 on master.


add support sshkit >= 1.9.0

Due to sshkit 1.9 requires explicitly include it, rbenv does not work with new versions.

I believe this is an issue only if you try to use an old version of Capistrano with SSHKit >= 1.9.0. Refer to this issue for details and a general workaround: https://github.com/capistrano/sshkit/issues/338
IMO this is not something specific to capistrano-rbenv that should be addressed here.

IMO this is not something specific to capistrano-rbenv that should be addressed here.
Why not? capistrano-rbenv uses sshkit dsl which required explicitly include itself. There some limits on higher version of capistrano, for example the drop of legacy Rubies support.

This is not a problem unique to capistrano-rbenv, which is why I think it is incorrect to address it here. By your logic, every Capistrano plugin would need to be changed (since all Capistrano plugins use SSHKit). The workarounds are:

Use an older version of SSHKit (you already seem to be OK with using an old version of Capistrano).
Include the SSHKit DSL in your Capfile, as I already mentioned: https://github.com/capistrano/sshkit/issues/338


Version 5.1.0 casts boolean to string which leads to validation error

On the new version behaviour for checkbox/boolean is broken. If it's false by default and then you'll check it then it will become a string and will fail validation. Code for reproduction: https://github.com/ledniy/remix-hook-form/commit/1e7aa22cf9d1b590071ce65b381728ac8f3004cd

Temporary workaround: Use version 5.0.4

Thank you for this report! will be fixed in the next release! figured out the root cause

should work now with 5.1.1, please re-open if not the case

Hi Alem,
I am running into this issue with RR7 (I know there is a new issue that we are waiting on Remix team to fix so am using useForm in the meantime). Form is valid when you don't check the box but the form gets the same error as above when checkbox is checked.
Thanks for this fantastic package!
import { getValidatedFormData } from "remix-hook-form"
import { zodResolver } from "@hookform/resolvers/zod"
import * as zod from "zod"
import { Form } from 'react-router'
import { useForm } from 'react-hook-form'

const schema = zod.object({
  name: zod.string().min(1),
  email: zod.string().email().min(1).default("test@test.com"),
  test: zod.number(),
  test2: zod.boolean().default(false)
})

type FormData = zod.infer<typeof schema>

export const resolver = zodResolver(schema)

export async function action({ request }: { request: Request }) {
  const { errors, data, receivedValues: defaultValues } =
    await getValidatedFormData<FormData>(request, resolver)

  console.log({ errors, data, defaultValues })

  if (errors) {
    // The keys "errors" and "defaultValues" are picked up automatically by useRemixForm
    return { errors, defaultValues }
  }

  // Do something with the data
  return { data }
}

export default function MyForm() {
  const {
    handleSubmit,
    formState: { errors },
    register,
    watch
  } = useForm<FormData>({
    mode: "onSubmit",
    resolver,
  })
  console.log({ watch: watch })

  return (
    <Form onSubmit={handleSubmit} method="POST">

        Test:
        <input
          type="number"
          {...register("test", { valueAsNumber: true })}
        />
        {errors.test &&
{errors.test.message}
}

        Test2:
        <input type="checkbox" {...register("test")} />
        {errors.test &&
{errors.test.message}
}

        Name:
        <input type="text" {...register("name")} />
        {errors.name &&
{errors.name.message}
}

        Email:
        <input type="email" {...register("email")} />
        {errors.email &&
{errors.email.message}
}

      <button type="submit">Submit</button>
    </Form>
  )
}

I'll check it out as soon as I get remix-hook-form back online with rr7! Thank you!

Hi Alem, fyi, maybe a similar issue though I am not getting an error. With a value with a zod of z.string().nullable(), it is not getting converted to null, it is staying as 'null'. I am on rr 7.0.2. Thanks!


[Bug]: UI/UX issues in Templates.

Is there an existing issue for this?

[X] I have searched the existing issues

Description
-There's a lot of empty space on the left side which makes the layout look odd - this is different from how Apps tab is designed

A demarcation line is required on the left pane between the fixed footer and the functions list. Leads to bad UI because of the missing line (Attached a line that is used in the profile dialog box for reference)

Hover state is missing for View all templates

Hover state is missing for Go back

The scrollbars are inconsistent. Some have rounded edges in dark grey and some have straight edges in a lighter shade of grey.

https://user-images.githubusercontent.com/109572422/196861611-0e4b85dd-84cf-4e2f-a676-0d2026d0ad65.mov

The filters on the left pane need to be in an alphabetical order.

There needs to be some kind of a clear all option for filters, reason being if a user has selected many filters, they would have to manually unselect all of them which isn't great UX

https://user-images.githubusercontent.com/109572422/196861989-68140c1c-a992-4663-adc8-ea12daa8da5a.mov

(a) The text within the request for a template card says that a github issue portal would be opened whereas it actually opens up to a form created with Appsmith itself.
(b) The text needs to be changed and made more comprehensive. Sounds wordy right now

The spacing and alignment within a template isn’t consistent.

Steps To Reproduce
Navigate to the templates page and notice the above inconsistencies.
Public Sample App
No response
Version
Cloud

Most of these bugs will be fixed in a larger story of centre aligning the pages. cc @kocharrahul7

Over all 3 points remain in this:

Filters in templates should be sorted alphabetically.
The filters should have a clear all functionality.
Request a template  says that a "github issue portal will be opened" but instead opens one appsmith app - Need better text for this.

We are ignoring the first 2 based on our discussions here
Fixing last one in #24852

Testing update : Verification done
Issue : Request a template says that a "github issue portal will be opened" but instead opens one appsmith app - Need better text for this.
Fix : updated the Request for a template message.
'Couldn’t find what you are looking for?
Submit suggestions for templates you'd like to see or upvote requests raised by others and our team will work on it."
Tested on : https://release.app.appsmith.com/
Attached image
:


Bull worker shuts down after diagnosing invalid URLs

This issue seemed to be caused because I'm not releasing Visible instance to the object pool when catching


horizontal robot.scrollMouse

Expected Behavior
I suggest that the mouseScroll should accept the right and left (horizontal) directions, just as the touchpad does
Current Behavior
Currently the mouseScroll only accepts the up and down (vertical) directions.
Possible Solution
...
Steps to Reproduce (for bugs)
Is not a bug, it's a new feature
Context
In some situations and screens you need to scroll right and left
Your Environment

RobotJS version:
Node.js version: v6.9.1
npm version:  3.10.9
Operating System: Win 10

was this closed with 0.4.6?

This issue has been closed because it has been inactive for > 240 days.
You may reopen this issue if it has been closed in error.


Which License?

Hello, I'd like to use this code. Please let me know the license.
Thanks.

Hi, I added terms of use.
This implementation is available under MIT license, which means anyone can freely use this code but I will never provide any kind of guarantees (even for algorithm correctness).
Thank you for your cooperation,
- belltailjp


added a new animated navbar

RESOLVED #16
Added this new aniimated navbar.
Screenshot :- To see animation run the index.html on live server

Will you plz review my navbar..? and merge it under hactoberfest 2023 tag if it is good

can u plz review my code..??


Watch dumps all objects when started

Hey,
I'm not sure if this is a kubernetes api thing, but when I start a watch, I get an ADDED event for all objects in the clusters.
Is there a way to make that not happen, eg only objects changed since the watch starts?

It's normal.  I think if you specify an initial resourceVersion, you'll only see changes since then.
If you want changes from now, use collection version from get_foos() or just specify collection

Hey @cben - the resourceVersion works but if the resourceVerison is outside of the retention then it errors with a 410, so the only way to get the watch up and running at that point would be to start from 0, which gives me the CREATE events!
Feels like i'm going to have to run my own idempotency layer

Hmm.
Ok, how about on 410 doing list and watch from the version of the returned
collection?
Or are you seeing any 410 immediately after list?

Also, can you get desired behavior wtih kubectl or curl? (tip: kubectl --loglevel=8 or something like that dumps all http request in form of curl commands)

@cben that's a good shout actually, if I get a 410 back from a watch, do list and find the highest resourceVersion and watch from there.


offlineimap: remove optional insecure kerberos dependency

Description of changes
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

~/nixpkgs - (master) $ nix-instantiate -A offlineimap
error: Package ‘python3.10-kerberos-1.3.1’ in /home/andy/nixpkgs/pkgs/development/python-modules/kerberos/default.nix:22 is marked as insecure, refusing to evaluate.

       Known issues:
        - CVE-2015-3206

       You can install it anyway by allowing this package, using the
       following methods:

       a) To temporarily allow all insecure packages, you can use an environment
          variable for a single invocation of the nix tools:

            $ export NIXPKGS_ALLOW_INSECURE=1

        Note: For `nix shell`, `nix build`, `nix develop` or any other Nix 2.4+
        (Flake) command, `--impure` must be passed in order to read this
        environment variable.

       b) for `nixos-rebuild` you can add ‘python3.10-kerberos-1.3.1’ to
          `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
          like so:

            {
              nixpkgs.config.permittedInsecurePackages = [
                "python3.10-kerberos-1.3.1"
              ];
            }

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
          ‘python3.10-kerberos-1.3.1’ to `permittedInsecurePackages` in
          ~/.config/nixpkgs/config.nix, like so:

            {
              permittedInsecurePackages = [
                "python3.10-kerberos-1.3.1"
              ];
            }
(use '--show-trace' to show detailed location information)

Would you mind putting any form of reference to this information into the commit message?
Anything really, so it becomes easier --if not trivial-- to reason about, especially for people like me that don't know all the pieces up-front.

done. we don't really have a warning mechanism, for packages (I think that's what this RFC is about), sadly. lets hope nobody uses kerberos for their emails with offlineimap and if they do, lets hope they notice when it breaks.


Option to hide figure caption

Description
Related to #4999.
I suggest adding an option hide-caption that hides figure caption when the figure is displayed, but allows outline and references to make use of it.
Currently, the only way to achieve that is by using metadata in figure caption but that requires a bunch of workarounds for other content which expects the caption to be defined.
Use Case
I need to attach captions and references to equations, but only show the equation number below the equation block.
Currently I have:

Code

#let formula(body, caption: none, ..args) = figure(
  body,
  kind: "formula",
  supplement: none,
  caption: context {
    let index = counter(figure.where(kind: "formula")).get().at(0)
    [(#index)#metadata((formula: index, caption: caption))]
  },
  ..args,
)

// FIX: inject caption into reference
#show ref: it => {
  let el = it.element
  if el != none and el.func() == figure and el.at("kind", default: none) == "formula" {
    let location = el.location()
    let index = counter(figure.where(kind: "formula")).at(location).at(0)
    let caption = query(metadata).find(it => {
      let value = it.at("value", default: none)
      if type(value) != dictionary {
        return false
      }
      return value.at("formula", default: none) == index
    })
    if caption != none {
      caption = caption.at("value").at("caption", default: none)
    }
    if caption == none {
      link(location)[(#index)]
    } else {
      link(location)[#caption (#index)]
    }
  } else {
    it
  }
}

// FIX: outline showing wrong numbering due to context in caption using the last number.
// FIX: not displaying caption that's been stored in metadata
#show outline.where(target: figure.where(kind: "formula")): it => {
  show outline.entry: entry => {
    let location = entry.element.location()
    let index = counter(figure.where(kind: "formula")).at(location).at(0)
    let caption = query(metadata).find(it => {
      let value = it.at("value", default: none)
      if type(value) != dictionary {
        return false
      }
      return value.at("formula", default: none) == index
    })
    if caption != none {
      caption = caption.at("value").at("caption", default: none)
    }
    if caption == none {
      link(location)[(#index) #box(width: 1fr, repeat[.]) #entry.page]
    } else {
      link(location)[(#index) #caption #box(width: 1fr, repeat[.]) #entry.page]
    }
  }
  it
}

But this code is much bigger than it needs to be because it has to access the caption from metadata.

This workaround also doesn't work the best because if any element re-uses figure caption, it will produce metadata duplicates for the last formula.
I can't make formula produce metadata because then outer code can't turn it into a reference.
This could likely be alleviated via some mechanism which allows passing of <reference>s into functions.

The "correct" way to do this is to write a figure show rule that doesn't render the caption. Unfortunately, one needs to know how the default show rule (which is implemented in Rust) works to do this. We want to make that easier in the future, but through a general mechanism, rather than adding new fields to many elements.


fix: add apple_support to create_example template

Without this change I was getting the following error when creating new examples:
ERROR: /private/var/tmp/_bazel_johnflanagan/16c78d03b601ed18f3b30c014db2ef6d/external/rules_swift~~non_module_deps~build_bazel_rules_swift_local_config/BUILD:9:22: in xcode_swift_toolchain rule @@rules_swift~~non_module_deps~build_bazel_rules_swift_local_config//:toolchain:
Traceback (most recent call last):
	File "/private/var/tmp/_bazel_johnflanagan/16c78d03b601ed18f3b30c014db2ef6d/external/rules_swift~/swift/internal/xcode_swift_toolchain.bzl", line 555, column 29, in _xcode_swift_toolchain_impl
		target_triples.parse(cc_toolchain.target_gnu_system_name),
	File "/private/var/tmp/_bazel_johnflanagan/16c78d03b601ed18f3b30c014db2ef6d/external/rules_swift~/swift/internal/target_triples.bzl", line 134, column 13, in _parse
		fail("Invalid target triple: {}, this likely means you're using the wrong CC toolchain, make sure you include apple_support in your project".format(triple_string))
Error in fail: Invalid target triple: local, this likely means you're using the wrong CC toolchain, make sure you include apple_support in your project

Thank you!


Combining ObservableList list of observables

How to combine a list of class with a ReactiveProperty and create a new property?
For example:
public class Operation
    {
        public ReactiveProperty<bool> IsitOkay { get; } = new();
    }

    public class Operations
    {
        private ObservableList<Operation> operations = new();

        public Operations()
        {
            IsAllOK = Observable.CombineLatest(operations.Select(x => x.IsitOkay)).Select(x => x.All(x => x))
                .ToReadOnlyReactiveProperty();
        }

        public ReadOnlyReactiveProperty<bool> IsAllOK { get;  }
    }

But this would only combine operations list during the time of construction.
My current approach is to have a new backend property and recreate subscription on every list update:
public class Operations : IDisposable
    {
        private readonly ObservableList<Operation> operations = new();
        private readonly ReactiveProperty<bool> isAllOk = new();
        private IDisposable disposable;

        public Operations()
        {
            IDisposable register()
            {
                isAllOk.Value = operations.Select(x => x.IsitOkay.CurrentValue).All(x => x);
                return Observable.CombineLatest(operations.Select(x => x.IsitOkay))
                    .Select(x => x.All(v => v))
                    .Subscribe(isAllOk.AsObserver());
            }
            disposable = register();
            operations.ObserveCountChanged()
                .AsUnitObservable()
                .Merge(operations
                    .ObserveReplace()
                    .AsUnitObservable())
                .Debounce(TimeSpan.FromMilliseconds(10))
                .Subscribe(_ =>
            {
                disposable.Dispose();
                disposable = register();
            });
        }

        public ReadOnlyReactiveProperty<bool> IsAllOK => isAllOk;

        public void Dispose()
        {
            disposable.Dispose();
        }
    }

Is there any easier way to do this?

I had previously created extension methods like this.
https://github.com/runceel/ReactiveProperty/blob/6808dc5abfb55feef695399a12295ad7d31be49c/Source/ReactiveProperty.NETStandard/Extensions/CombineLatestEnumerableExtensions.cs#L16
I think you probably want to do something similar, but it certainly feels like it's become more difficult to implement it straightforwardly in R3 compared to Rx.
Let me adjust it a bit.

Thank you for the response.

https://github.com/runceel/ReactiveProperty/blob/6808dc5abfb55feef695399a12295ad7d31be49c/Source/ReactiveProperty.NETStandard/Extensions/CombineLatestEnumerableExtensions.cs#L16

Given this scenario, how would the Observable refresh? Since it only accepts IEnumerable<>, any modifications to the list after CombineLatest won’t be reflected, and running it again would create a new IObservable

Converting to IEnumerable in the constructor and using CombineLatest doesn't handle dynamic changes for constructing ReadOnlyReactiveProperty.
This is more of a collection issue rather than Rx or R3.
You can certainly do it manually, but if you want something that handles everything automatically, DynamicData likely has a solution for that.


How to make login page as home page?

Hello @piyush97 ,
Thank you for your interest in using our product and sorry for this late response (i've been in a small vacation - next week i also be on vacation).
Is this still an issue?
Best,
Manu


feat: separate commands for solo node delete

Description

Separates the flow of solo node delete into 3 new commands that can be executed separately and one after the other: solo node delete-prepare, solo node delete-submit-transactions, solo node delete-execute.

The behaviour of the new commands is as follows:
solo node delete-prepare  --node-id node2 --release-tag v0.54.0-alpha.4 --namespace solo-e2e --output-dir context
---------
Initialize
Identify existing network nodes
Load node admin key
Prepare upgrade zip file for node upgrade process
Check existing nodes staked amount
Save context data

Saves data from the ctx object to the specified directory by --output-dir
solo node delete-submit-transactions --namespace solo-e2e --input-dir context
---------
Initialize
Load context data
Send node delete transaction
Send prepare upgrade transaction
Send freeze upgrade transaction

Loads data into the ctx object from the specified directory by --input-dir
solo node delete-execute --namespace solo-e2e --input-dir context [--local-build-path xxxxxxx]
---------

Initialize
Load context data
Download generated files from an existing node
Prepare staging directory
  Copy Gossip keys to staging
  Copy gRPC TLS keys to staging
Copy node keys to secrets
  Copy TLS keys
  Node: node1
    Copy Gossip keys
  Node: node3
    Copy Gossip keys
Check network nodes are frozen
  Check network pod: node1
  Check network pod: node2
  Check network pod: node3
Get node logs and configs
Update chart to use new configMap
Kill nodes to pick up updated configMaps
Check node pods are running
  Check Node: node1
  Check Node: node3
Fetch platform software into all network nodes
  Update node: node1
  Update node: node3
Setup network nodes
  Node: node1
    Set file permissions
  Node: node3
    Set file permissions
Start network nodes
  Start node: node1
  Start node: node3
Enable port forwarding for JVM debugger
Check all nodes are ACTIVE
  Check network pod: node1
  Check network pod: node3
Check all node proxies are ACTIVE
  Check proxy for node: node1
  Check proxy for node: node3
Trigger stake weight calculate
Finalize

Loads data into the ctx object from the specified directory by --input-dir
Related Issues

Closes #529

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Google Auth - Site access settings are not saved on edit google auth

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Enable google auth
In the Site access section, select Restrict access to only Authorized Users and Organizations.
Click on Save.
Now, Click on Edit in the google auth page.
Enter all required values and click on "Authenticate Google access"
Enter email id and password. Click on Allow.

Expected Result:
Google auth should be enabled with the Site access settings as set in Step 2.
Actual Result:
Google Auth is enabled with Site Access Allow any valid Users
In the API call - googleoauth?action=configureTest the value for - allowedPrincipalIds: [] (no value) is being sent.
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head - latest
Installation option (single install/HA): single

Verified on master-head -- latest - commit id : 19e84cee4
Steps:

Enable google auth

In the Site access section, select Restrict access to only Authorized Users and Organizations.

Click on Save.

Now, Click on Edit in the google auth page.

Enter all required values and click on "Authenticate Google access"

Enter email id and password. Click on Allow.

Google auth is enabled with the Site access settings as set in Step 2.


fixes tracking not working on unity 2017 beta

tracking does not work on unity 2017 if using VRTK or doing anything other than the basic examples.
Seems the cause is the directives which are not updated for newer versions of unity.

For a fix that doesn't even care for Unity versions anymore see https://github.com/ValveSoftware/steamvr_unity_plugin/pull/14.

Unity has provided a new Application.onBeforeRendering which we will switch to using in that version.  This has the advantage of fixing the frame lag when using the new ui system in vr.


Repo.transaction(multi) doesn't work with dynamic repos

Environment

Ecto version (mix deps): 3.1.0

Current behavior
Repo.put_dynamic_repo(:hospital1) and Repo.transaction(multi)  doesn't get the repo module but process name.
stacktrace:
       :hospital1.insert(#Ecto.Changeset<action: :insert, changes: %{amount: #Decimal<100>, amount_paid: 66, doctor: #Ecto.Changeset<action: :update, changes: %{}, errors: [], data: #SecretApp.Doctor<>, valid?: true>, payments: [#Ecto.Changeset<action: :update, changes: %{}, errors: [], data: #SecretApp.Patient.Payment<>, valid?: true>, #Ecto.Changeset<action: :update, changes: %{}, errors: [], data: #SecretApp.Patient.Payment<>, valid?: true>], provider: #Ecto.Changeset<action: :update, changes: %{}, errors: [], data: #SecretApp.Billing.Provider<>, valid?: true>}, errors: [], data: #SecretApp.Patient.ClaimsApplication<>, valid?: true>, [])
       (ecto) lib/ecto/multi.ex:579: Ecto.Multi.apply_operation/5
       (elixir) lib/enum.ex:1925: Enum."-reduce/3-lists^foldl/2-0-"/3
       (ecto) lib/ecto/multi.ex:563: anonymous fn/5 in Ecto.Multi.apply_operations/5
       (ecto_sql) lib/ecto/adapters/sql.ex:875: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
       (db_connection) lib/db_connection.ex:1415: DBConnection.run_transaction/4
       (ecto) lib/ecto/repo/transaction.ex:16: Ecto.Repo.Transaction.transaction/3
       (secret_app) lib/secret_app/patient/claim_forms.ex:89: SecretApp.Patient.ClaimForms.apply_claim_forms_payments/1
       test/lib/finance/claim_forms_test.exs:191: (test)

Awesome! Can you please provide a failing test case and possibly a PR with
a fix? Thank you!
José Valim
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D

@josevalim I'm sorry to bring up an issue from 3 years ago, but the title is exactly the issue that I'm having, but it appears a change made in https://github.com/elixir-ecto/ecto/commit/1f9c4c1e69f975d3663ec6b88295cba71bd0e4b3, at least anecdotally, may be the cause of my issue:
I'm following the convention specified in the docs (https://hexdocs.pm/ecto/replicas-and-dynamic-repositories.html#dynamic-repositories) for working with dynamic repositories for my use case of multi-tenant databases.  And I'm trying to utilize a Ecto.Multi run in a transaction.  So this looks something like:
MyApp.Repo.with_dynamic_repo(tenant1_creds, fn ->
  Multi.new |> Multi.run(:for_tenant, query(" ...")) |> MyApp.Repo.transaction()
end)

The problem is that this transaction runs against the default database credentials set up with that particular repo module ... it's as if executing the transaction is ignoring the dynamic repo that is being set.
If I undo this change in deps/ecto/lib/ecto/repo/transaction.ex:16 here:
case Ecto.Multi.__apply__(multi, name, wrap, return) do

It works -- it uses the dynamic repo.
This is my first time delving into the internals of ecto.  I'd be happy to try to help provide any more information, or even can send a PR if this is the proper fix.  Thank you!

Hi @iautom8things ! Do you think you can write a test case in ecto_sql? Check out the steps in this README. If you can reproduce it, then that’s the first step for a fix!

I'll give it a try.  Thank you 🙇

@josevalim elixir-ecto/ecto_sql#386 is my attempt to write a test to demonstrate this issue.

Quick answer: this will if you use repo.query(...) instead of Ecto.Adapters.SQL.query. The latter is by passing the dynamic repo  lookup.

Thank you, @josevalim.  That does fix my issue.  I'm honestly not sure why I was using Ecto.Adapters.SQL in the first place. >_<


modify temporary session

Fixes #983
Use ThreadLocal temporary storage websocket Session

Codecov Report

Merging #987 (cc479e7) into master (6669acb) will decrease coverage by 0.51%.
The diff coverage is 70.83%.

@@             Coverage Diff              @@
##             master     #987      +/-   ##
============================================
- Coverage     77.23%   76.72%   -0.52%
+ Complexity     1989     1984       -5
============================================
  Files           324      325       +1
  Lines          7311     7330      +19
  Branches        811      815       +4
============================================
- Hits           5647     5624      -23
- Misses         1236     1277      +41
- Partials        428      429       +1

Impacted Files
Coverage Δ
Complexity Δ

.../org/dromara/soul/admin/utils/ThreadLocalUtil.java
62.50% <62.50%> (ø)
5.00 <5.00> (?)

...l/admin/listener/websocket/WebsocketCollector.java
82.35% <87.50%> (-1.52%)
10.00 <0.00> (ø)

...omara/soul/sync/data/http/HttpSyncDataService.java
49.01% <0.00%> (-26.48%)
10.00% <0.00%> (-2.00%)

...oul/sync/data/http/refresh/DataRefreshFactory.java
91.66% <0.00%> (-8.34%)
4.00% <0.00%> (-1.00%)

...che/dubbo/ApacheDubboServiceBeanPostProcessor.java
79.10% <0.00%> (-4.48%)
11.00% <0.00%> (-2.00%)

...ba/dubbo/AlibabaDubboServiceBeanPostProcessor.java
79.10% <0.00%> (-4.48%)
11.00% <0.00%> (-2.00%)

.../soul/admin/service/impl/UpstreamCheckService.java
67.74% <0.00%> (-1.62%)
12.00% <0.00%> (-1.00%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6669acb...cc479e7. Read the comment docs.

Codecov Report

Merging #987 (cc479e7) into master (6669acb) will decrease coverage by 0.51%.
The diff coverage is 70.83%.

@@             Coverage Diff              @@
##             master     #987      +/-   ##
============================================
- Coverage     77.23%   76.72%   -0.52%
+ Complexity     1989     1984       -5
============================================
  Files           324      325       +1
  Lines          7311     7330      +19
  Branches        811      815       +4
============================================
- Hits           5647     5624      -23
- Misses         1236     1277      +41
- Partials        428      429       +1

Impacted Files
Coverage Δ
Complexity Δ

.../org/dromara/soul/admin/utils/ThreadLocalUtil.java
62.50% <62.50%> (ø)
5.00 <5.00> (?)

...l/admin/listener/websocket/WebsocketCollector.java
82.35% <87.50%> (-1.52%)
10.00 <0.00> (ø)

...omara/soul/sync/data/http/HttpSyncDataService.java
49.01% <0.00%> (-26.48%)
10.00% <0.00%> (-2.00%)

...oul/sync/data/http/refresh/DataRefreshFactory.java
91.66% <0.00%> (-8.34%)
4.00% <0.00%> (-1.00%)

...che/dubbo/ApacheDubboServiceBeanPostProcessor.java
79.10% <0.00%> (-4.48%)
11.00% <0.00%> (-2.00%)

...ba/dubbo/AlibabaDubboServiceBeanPostProcessor.java
79.10% <0.00%> (-4.48%)
11.00% <0.00%> (-2.00%)

.../soul/admin/service/impl/UpstreamCheckService.java
67.74% <0.00%> (-1.62%)
12.00% <0.00%> (-1.00%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6669acb...cc479e7. Read the comment docs.


Do not verify SSL on Android

Follow on from: https://github.com/spotify/NFHTTP/pull/26

@drubinstein


Update example code of how to call getSharedPropertiesAsync without using the deprecated REST token obtained via getCallbackTokenAsync.

The example code on shared mailbox scenarios uses the deprecated getCallbackTokenAsync approach to obtain a REST token to be able then call getSharedPropertiesAsync. https://devblogs.microsoft.com/microsoft365dev/outlook-rest-api-v2-0-deprecation-notice/
Please show supported example of how to call getSharedPropertiesAsync without using a REST token obtained via getCallbackTokenAsync.

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

ID: 19bf3a5d-1f48-e36e-0a39-ccc8951045ff
Version Independent ID: b48cd60a-39a7-ea5d-6828-9e4278ee24d3
Content: Enable shared folders and shared mailbox scenarios in an Outlook add-in - Office Add-ins
Content Source: docs/outlook/delegate-access.md
Product: outlook
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Thanks for the sample request @CameronDwyer. Let me tag @samantharamon to help answer.

Hi @CameronDwyer,
Thanks for bringing this to our attention. We'll be working on updating any documentation that mentions REST. I've added your sample request to our list and will let you know once the sample is available.

Thank you for your patience, @CameronDwyer. We're still looking into providing an alternative approach to using a REST token, but I wanted to provide an update on the decommission as a whole. Please be advised that active add-ins that use the REST service will be granted an exemption to keep using the service until extended support ends for Outlook 2019 on October 14, 2025. This includes new add-ins that are developed after the decommission date in November. This update was announced in this month's Office Add-ins community call (we're currently updating Use the Outlook REST APIs from an Outlook add-in with this update). Additional questions raised by the community during the call will be answered in a blog post and a link will be posted to Microsoft Office Add-ins community call, so watch out for that, too.

According to this recent announcement legacy Exchange tokens will stop working in October 2024, the article explicitly states that getCallbackTokenAsync will not work and the article also states that this will affect all add-ins with no method for exemption.
https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/faq-nested-app-auth-outlook-legacy-tokens#october-2024

If these articles are correct, then we will have no way of calling Office.context.mailbox.item.getSharedPropertiesAsync which effectively deprecates this method with no replacement. Please delay the deprecation of the legacy Exchange tokens until you provide an alternate way of calling getSharedPropertiesAsync.

Hi @CameronDwyer, thanks for letting us know about this gap in functionality with Microsoft Graph. We definitely need to track this, and any other gaps folks find, so please let us know so we can explore workarounds or updates. We understand that this is definitely an aggressive timeline, but due to the security concerns around Exchange tokens we need to move forward with the October 2024 date. We are tracking conversations about moving off Exchange tokens to NAA in the office-js repo so I'm moving this issue over, and will put in the title "NAA" which helps us prioritize and track these issues. Please check in on the monthly community call and watch the Microsoft 365 blog for updates and guidance. Thank you, David and Office platform team.


update more service names

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


Error message "failed to send" when trying to contact support through the threefold.io website.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Some farmers report receiving a "failed to send" error when attempting to contact support via the threefold.io website.
Steps To Reproduce
No response
Relevant screenshots/screen records

Relevant log output
Every attempt returned a message "failed to send,
retry?"

Tested this scenario multiple times and the issue appears to have resolved.


Relative index names for LightGroup lights

The behavior for a LightGroup device (i.e. a LightStrip(e) or LightRing) is to create an array of light devices with sequential names.
Currently, these names are based on the (zero-index) absolute address of the light in the LED chain, for example the third light on a group starting at 0 is named group_name_light_2 and the third light on a group starting at 64 is group_name_light_66.
Unfortunately this prevents the use of show tokens to play shows on light groups at different places in the chain, which could readily be done if the light names were based on the relative address of the light within its group. For example, the third light on a group starting at 64 would be group_name_light_2 instead of group_name_light_66.
In that case, group-based light shows like the following would be supported:
#show_version=5
- time: 0
  lights:
    (led_group)_light_1: red
    (led_group)_light_2: orange
    (led_group)_light_3: yellow
    (led_group)_light_4: green
    (led_group)_light_5: blue
    (led_group)_light_6: indigo
    (led_group)_light_7: purple
    (led_group)_light_0: pink
- time: '+1'
  lights:
    (led_group)_light_2: red
    (led_group)_light_3: orange
    (led_group)_light_4: yellow
    (led_group)_light_5: green
    (led_group)_light_6: blue
    (led_group)_light_7: indigo
    (led_group)_light_0: purple
    (led_group)_light_1: pink
- time: '+1'
  lights:
    (led_group)_light_3: red
    (led_group)_light_4: orange
    (led_group)_light_5: yellow
    (led_group)_light_6: green
    (led_group)_light_7: blue
    (led_group)_light_0: indigo
    (led_group)_light_1: purple
    (led_group)_light_2: pink
- time: '+1'
  lights:
    (led_group)_light_4: red
    (led_group)_light_5: orange
    (led_group)_light_6: yellow
    (led_group)_light_7: green
    (led_group)_light_0: blue
    (led_group)_light_1: indigo
    (led_group)_light_2: purple
    (led_group)_light_3: pink

This is a quick change that I'm happy to make a PR for, if there's support for it.  It's potentially breaking for existing configurations, but I'm not sure how much support for LightGroups expected given their newness.

Sounds reasonable. Go for it!

fixed by #1121


add missing imports

Summary
Fix documentation by adding some missing imports
Test plan
Not sure if necessary

Thanks!


"IN" on empty array causes invalid SQL

Not sure if it's by design or a bug but...
Trying to run db.selectFrom('person').selectAll().where('id', 'in', []) causes an invalid SQL (see image below👇 the () part is invalid).
Now obviously, this query doesn't make a lot of sense, and you can simply assume there would be 0 rows returned, but IMO ot. makes sense when in the TypeScript context, and also SQL generating library that creates an invalid SQL is a bit weird. The ways I think we can overcome this "issue" really depends on the philosophy Kysely is based on:

Leave it as is (Although I would suggest updating the docs to explain this non-trivial case)
Throwing a runtime error
replacing it with some sort of false statement (like IN (null) which should be equivalent)

Let me know what you guys think...

It is invalid SQL.

I know, that's what I'm saying. But don't you think a library for SQL generation should create only valid SQLs?
I do agree that the third option (the (null) one) is a bit interventive. but what about the first and second solutions?

Leave it as is and updating the docs to explain this non-trivial case
Throwing a runtime error

@koskimas

No it shouldn't. It should build what you ask it to build.

I'm sorry fella but with your tone I really don't feel like it. Good luck
@koskimas

You're asking me to build something for you for free after you're already using something I built for you for free.

Just wanted to jump in and say there was nothing wrong with @koskimas' tone here. ❤

It is invalid SQL. Kysely builds exactly what you ask it to build. We never add anything unexpected to the SQL.

https://github.com/typeorm/typeorm/issues/2195#issuecomment-706658209
This is handled by the majority of ORMs and even query builders, so not handling it might be more unexpected...

Kysely differs in design philosophy from other libraries out there.
No magic. Explicit. Unopinionated. WYSIWYG (what you see is what you get).
It is what it is.
@koskimas maybe we could offer a plugin that adds a null literal to these lists?

It does seem surprising that the code type-checks but leads to the generation of invalid SQL. Kysely uses the type system to protect you from accidentally generating invalid SQL in other ways. However, there doesn't seem to be a way to (ergonomically) express a "non-empty array" type in TypeScript,

@spinda [unknown, …unknown[]] represents a non-empty tuple type - casting to it needs to be done carefully though.

Just a question, if I may. How does this behave when IN is a subquery and that subquery returns an empty set of rows? Is there any way to solve that case easily, without rewriting the query?

An empty result set from a subquery should work. It's just an empty tuple literal () that's not  valid SQL.

Nowadays we DO have special handling in eb.and and eb.or. They create a 1 = 1 and 1 = 0 expressions when an empty array is passed to them. Maybe we should add a special case for in and not in and empty array too.

Nowadays we DO have special handling in eb.and and eb.or. They create a 1 = 1 and 1 = 0 expressions when an empty array is passed to them. Maybe we should add a special case for in and not in and empty array too.

@koskimas I've just updated the plugin to address @igalklebanov 's comments. This should help address in and not in cases.


langchain[patch]: move import of integration into local scope

This moves the import of the embeddings into local scope in prepraration of
breaking the dependency of langchain on community.

merged in another PR


add mods

Coverage remained the same at 52.588% when pulling<PHONE_NUMBER>6a0efaff94006c21ce2c2a23c4b8c0 on StefanBranch into 859031d4e968733be420321a7e0497a3847e610f on master.

Coverage remained the same at 52.588% when pulling<PHONE_NUMBER>6a0efaff94006c21ce2c2a23c4b8c0 on StefanBranch into 859031d4e968733be420321a7e0497a3847e610f on master.


Provide server config parameters in code?

Hi,
I am working on an application that needs to fallback to multiple email servers in case of failure. This would require multiple server configurations. Is there a way to provide the config parameters from code instead of the config file?
Thanks

Hi @packetq, thanks for opening this issue. Would you mind providing some more information as to what you need?
Is this something like sending emails via Sendgrid and fallback to Mailgun? I don't think there's a way to configure multiple email providers at the moment, but if you have ideas for how we could implement that, I'd be very happy to help bounce ideas and then review a PR.

There's an adapter that could help here: https://github.com/fuelen/bamboo_fallback

Hi,
Sorry for the delay. I'm sending mail to some private mail servers. I just need a way to provide the server and account information in code. I'm new to Elixir and I like it so far. However, this whole config.exs thing is presenting quite a challenge. It seems very limiting. Something like the below would be great. Although, I don't expect something like this. This is just an example of what I need. Is there a way to provide the server config in code? I've been looking at the source and it looks like it is pretty much hardwired to the config.exs thing. Being new to Elixir, I don't think I'm ready to hack on someone else's stuff quite yet ;-).
`server = new_server(
adapter: Bamboo.SMTPAdapter,
server: "x.x.x.x",
hostname: "mailserver.mydomain.com",
port: 25,
username<EMAIL_ADDRESS>password: "password",
tls: :if_available,
ssl: false,
retries: 1,
no_mx_lookups: false,
auth: :if_available
)
MyMailer.Mailer.deliver_now(server, email)
`
Thanks

@packetq do you know if the adapter Maarten linked to would work for your use case? I think that's what I would lean towards using at the moment: https://github.com/fuelen/bamboo_fallback

@packetq I'm going to close this issue for now since the bamboo_fallback library seems like a good solution to your issue. If that's not the case, please let me know, and I'd be happy to reopen this.


Using github actions.

We can use Pylint since we have many python related codes.
We can have a CI/CD, for deploying it to DFINITY easily.

Done for the first point! #43

Reference article for second point: https://blog.fleek.co/posts/ic-action-deploy-canisters-internet-computer

we can add codacy code analysis.

we can add codacy code analysis.

Can you explain more about it?

Can you explain more about it?

By default, the Codacy GitHub Action:

Analyzes each commit or pull request by running all supported static code analysis tools for the languages found in your repository.
Prints the analysis results on the console, which is visible on the GitHub Action's workflow panel.
Fails the workflow if it finds at least one issue in your code.

More About It Here

Can you explain more about it?

By default, the Codacy GitHub Action:

Analyzes each commit or pull request by running all supported static code analysis tools for the languages found in our repository.
Prints the analysis results on the console, which is visible on the GitHub Action's workflow panel.
Fails the workflow if it finds at least one issue in your code.

More About It Here

Oh, It's good, we can add that.

Oh, It's good, we can add that.

can I add it?

Oh, It's good, we can add that.

can I add it?

Yah go ahead


sanitycheck: refinements to --list-tests

This packs a few improvements:

Add a smarter regex that will catch multiple combinations of
ztest_[user_]unit_test[_setup_teardown](NAME[, setup, teardown])
as well as single liners like:
ztest_test_suite(mutex_complex, ztest_user_unit_test(TESTNAME));

Limit how much we look forward in suite_regex -- we don't have to
look past the first argument, otherwise we consume too much and the
loopup at suite_regex_match.start() will start too late.

Remove include_regex, unused

Fix the path where we warn about matches in achtung_regexes--it
needed a few decodes and to use error() vs the unexistant warning()

Cleanup the path to produce the subcase names, doing the decode and
the purging of any test_ prefix in scan_path().

Signed-off-by: Inaky Perez-Gonzalez<EMAIL_ADDRESS>

@nashif with these changes most of the problems are now around testcases that use #ifdefs in the ztest_suite declaration--those need surgery, it doesn't make sense to try to do regex voodoo for it.
As a backup, I'd use #7167 to check after building if we got them all and if not, raise it as an error--so we don't get new ones like that merged by mistake.

Codecov Report

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

@@            Coverage Diff            @@
##             master    #7205   +/-   ##
=========================================
  Coverage          ?   55.03%
=========================================
  Files             ?      477
  Lines             ?    51744
  Branches          ?     9949
=========================================
  Hits              ?    28475
  Misses            ?    19306
  Partials          ?     3963

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 970b0a9...f802184. Read the comment docs.


[Story] Create OpenChallenges GPT

What product(s) is this story for?
OpenChallenges
As a user, I want
No response
Description

Name: OpenChallenges
Logo<EMAIL_ADDRESS>Description: Explore data challenges and benchmarks on OpenChallenges.io
Instructions: You are an assistant that helps users explore the content of the OpenChallenges database using its REST API.
Conversation starters

Ask me about the last challenges added to OpenChallenges

Capabilities

Web Browsing

Actions

OpenChallenges REST API

Actions: OpenChallenges REST API
Errors:
None of the provided servers is under the root origin https://localhost
Server URL http://localhost/v1 is not under the root origin https://localhost; ignoring it
In context=('components', 'schemas', 'EmptyObject'), object schema missing properties
In context=('components', 'schemas', 'ChallengePlatformsPage'), object schema missing properties
In context=('components', 'schemas', 'ChallengeInputDataTypesPage'), object schema missing properties
In context=('components', 'schemas', 'ChallengeContributionsPage'), object schema missing properties
In context=('components', 'schemas', 'OrganizationsPage'), object schema missing properties
In context=('components', 'schemas', 'UsersPage'), object schema missing properties
In context=('components', 'schemas', 'ChallengesPage'), object schema missing properties
In path /challenges, method get, operationId listChallenges, parameter {'$ref': '#/components/parameters/challengeSearchQuery'} is has missing or non-string name; skipping
In context=('paths', '/challenges', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component ChallengesPage; using empty schema
In path /challenges, method get, operationId listChallenges, skipping function due to errors
Path /challenges/{challengeId} has unrecognized method parameters; skipping
Path /challenges/{challengeId}/contributions has unrecognized method parameters; skipping
In context=('paths', '/challenges/{challengeId}/contributions', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component ChallengeContributionsPage; using empty schema
In path /challengeInputDataTypes, method get, operationId listChallengeInputDataTypes, parameter {'$ref': '#/components/parameters/challengeInputDataTypeSearchQuery'} is has missing or non-string name; skipping
In context=('paths', '/challengeInputDataTypes', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component ChallengeInputDataTypesPage; using empty schema
In path /challengeInputDataTypes, method get, operationId listChallengeInputDataTypes, skipping function due to errors
In path /challengePlatforms, method get, operationId listChallengePlatforms, parameter {'$ref': '#/components/parameters/challengePlatformSearchQuery'} is has missing or non-string name; skipping
In context=('paths', '/challengePlatforms', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component ChallengePlatformsPage; using empty schema
In path /challengePlatforms, method get, operationId listChallengePlatforms, skipping function due to errors
Path /challengePlatforms/{challengePlatformName} has unrecognized method parameters; skipping
In path /images, method get, operationId getImage, parameter {'$ref': '#/components/parameters/imageQuery'} is has missing or non-string name; skipping
In path /images, method get, operationId getImage, skipping function due to errors
In path /organizations, method get, operationId listOrganizations, parameter {'$ref': '#/components/parameters/organizationSearchQuery'} is has missing or non-string name; skipping
In context=('paths', '/organizations', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component OrganizationsPage; using empty schema
In path /organizations, method get, operationId listOrganizations, skipping function due to errors
Path /organizations/{org} has unrecognized method parameters; skipping
In path /users, method get, operationId listUsers, parameter {'$ref': '#/components/parameters/pageNumber'} is has missing or non-string name; skipping
In path /users, method get, operationId listUsers, parameter {'$ref': '#/components/parameters/pageSize'} is has missing or non-string name; skipping
In context=('paths', '/users', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component UsersPage; using empty schema
In path /users, method get, operationId listUsers, skipping function due to errors
Path /users/{userId} has unrecognized method parameters; skipping
In context=('paths', '/users/{userId}', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component EmptyObject; using empty schema

Acceptance criteria
No response
Tasks
No response
Anything else?
No response
Have you linked this story to a GitHub Project?

[X] I have linked this story to a GitHub Project and set its metadata.

To solve the server error, set it to https://openchallenges.io/api/v1

Error: object schema missing properties
This error happens for EmptyObject because it indeed doesn't have properties.
This error also show for ChallengePlatformsPage:
    ChallengePlatformsPage:
      type: object
      description: A page of challenge platforms.
      allOf:
        - $ref: "#/components/schemas/PageMetadata"
        - type: object
          properties:
            challengePlatforms:
              description: A list of challenge platforms.
              type: array
              items:
                $ref: "#/components/schemas/ChallengePlatform"
          required:
            - challengePlatforms
      x-java-class-annotations:
        -<EMAIL_ADDRESS>

Error
Not sure what the error is yet.
In path /challenges, method get, operationId listChallenges, parameter {'$ref': '#/components/parameters/challengeSearchQuery'} is has missing or non-string name; skipping

paths:
  /challenges:
    get:
      tags:
        - Challenge
      summary: List challenges
      description: List challenges
      operationId: listChallenges
      parameters:
        - $ref: "#/components/parameters/challengeSearchQuery"

  parameters:
    challengeSearchQuery:
      name: challengeSearchQuery
      description: The search query used to find challenges.
      in: query
      schema:
        $ref: "#/components/schemas/ChallengeSearchQuery"

Error: reference to unknown component ChallengesPage; using empty schema
The component ChallengesPage does not include properties but an allOf (see above).
In context=('paths', '/challenges', '200', 'response', 'content', 'application/json', 'schema'), reference to unknown component ChallengesPage; using empty schema

Error: Path /challenges/{challengeId} has unrecognized method parameters; skipping
Same reason as an issue above: GPT does not support references for parameters.
  /challenges/{challengeId}:
    parameters:
      - $ref: "#/components/parameters/challengeId"

About page size
The default value of 100 led to an error about the response being to large.

Retrieving the total number of elements from a paginated response
Pages returned by OC include the property totalElements. GPT can retrieve this information by fetching only a one page.
User
How many challenges are on OpenChallenges?
GPT

There are currently 491 challenges listed in the OpenChallenges database.

Limitation: GPT won't show the raw reponse
User
Can you show me the raw response for the preview request you made?

GPT
I'm sorry, but I cannot display the raw response of the previous request due to a system limitation. The data retrieval process is designed to provide summarized information rather than raw data outputs. If you have specific queries about challenges on Synapse or any other platform, feel free to ask, and I'll do my best to provide the information within these constraints.


CPP options

Hi. I am trying to integrate https://github.com/Bodigrim/arithmoi with codeclimate-hlint. But I get much less warnings than expected (https://codeclimate.com/github/Bodigrim/arithmoi/issues?category=&engine=hlint), presumably due to the heavy use of CPP in my code.
Is there a way to provide additional options in .codeclimate.yml? On my local machine I invoke HLint as
hlint --cpp-include=$(stack path --ghc-paths)/ghc-7.10.3/lib/ghc-7.10.3/include --cpp-define="MIN_VERSION_array(a,b,c)=1" --cpp-define="MIN_VERSION_base(a,b,c)=1"

It would be great to achieve the same effect using your engine.
Thanks a ton.

Great question. Unfortunately, there isn't currently a means to configure the hlint run via the engine, but that's definitely something I'd like to see and am planning to add.
Even with that, you might run into trouble with your first option:

The syntax in .codeclimate.yml wouldn't support $( ) expansion (clearly)
The engine only has access to the project directory, so if stack path --ghc-paths points to somewhere outside, it won't work

I'm not sure of a good solution to that one.

Thanks for quick answer.
No problem, I can copy lib/ghc-7.10.3/include into project directory to work around both troubles.


Migrate to AndroidX

Close https://github.com/zagum/Android-ExpandIcon/issues/10

Hi! Thanks for your PR.
Can you please change gradle version to latest stable? Then i'll approve your PR

sure


Clean-up "tcollector"

Signed-off-by: Chen Zhengwei<EMAIL_ADDRESS>
Which problem is this PR solving?

Resolves https://github.com/jaegertracing/jaeger/issues/285

Short description of the changes

Clean-up the outdated "tcollector".

If this fully resolves #285, please put Resolves #285 in the description, to auto-close the ticket on merge.

@yurishkuro ok, I think the issue is fully resolved.

thanks!


EDQL Visual Editor not support Username and Password ?

EDQL Visual Editor not support Username and Password ?

Yes, I will try to explore new interactive for authorization, maybe in version 1.7.4 in next week.
Visual Editor is still experimental, since Elasticsearch DSL is complex, need more thoughts for visual interactions.
Also I am exploring visualization display the aggs result for analysis.

1.74. released for support multi auth visualizations.
Thanks your feedback.


Completable Future get() vs join()

What is the difference between get() and join() since they both wait for the future to be completed before returning a value?

CompletableFuture.get():

Exception Handling: This method throws two types of checked exceptions: InterruptedException and ExecutionException.

InterruptedException is thrown if the thread waiting on the future is interrupted.
ExecutionException is thrown if the computation threw an exception, wrapping the actual exception thrown by the task.

Usage: Because get() throws checked exceptions, it forces the caller to handle or declare these exceptions. This can be useful when you want explicit control over Java's concurrency mechanisms but can also lead to more verbose and cumbersome error handling.

CompletableFuture.join():

Exception Handling: This method does not throw any checked exceptions. Instead, it throws an unchecked exception (CompletionException) if the underlying task completed exceptionally. CompletionException contains the actual exception as its cause.
Usage: join() is typically preferred in a functional programming context where you're chaining multiple CompletableFuture operations. Since it doesn't require you to handle checked exceptions, it allows for cleaner and more straightforward code when composing multiple future operations.

Key Differences:

Checked vs. Unchecked Exceptions: get() throws checked exceptions, which must be explicitly caught or declared to be thrown. join(), on the other hand, throws an unchecked exception, which helps avoid the boilerplate code associated with handling checked exceptions.
Use Case: join() is more idiomatic to CompletableFuture’s fluent functional style, facilitating easier and more readable composition of multiple asynchronous operations. get() might still be used when interacting with older Java code that hasn't adopted CompletableFuture or when checked exceptions are required by the application logic.

thank you for this post

get() is a method defined in the Future interface, which CompletableFuture implements. It returns the result of the computation when it's done or waits if necessary until it's completed.
get() throws checked exceptions, specifically InterruptedException and ExecutionException. This means that you have to handle these exceptions or declare that your method throws them.
If an exception occurs during the computation, it's wrapped in an ExecutionException and thrown when you call get().
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {     // Some computation that might throw an exception     return 42; }); try {     Integer result = future.get(); // Waits for the computation to complete and retrieves the result     System.out.println("Result: " + result); } catch (InterruptedException | ExecutionException e) {     // Handle exceptions }
but for join(), it is a method specific to CompletableFuture and behaves similarly to get(). It returns the result of the computation when it's done or waits if necessary until it's completed.
join() does not throw checked exceptions. Instead, it throws unchecked exceptions, specifically CompletionException. This means you don't need to handle checked exceptions when using join()
CompletableFuture<Integer> future = CompletableFuture.supplyAsync(() -> {     // Some computation that might throw an exception     return 42; }); Integer result = future.join(); // Waits for the computation to complete and retrieves the result System.out.println("Result: " + result);

finals is over you can close this issue