DurableTaskClient.PurgeAllInstancesAsync: NotSupportedException and RpcException for .net 8 isolated

I am periodically purging instances and old history of my durable function runs. We noticed that this logic stopped working some time ago.
Runtime:
.net 8 isolated azure function
Dependencies:
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.DurableTask" Version="1.1.2" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.2" />

My TimerTrigger Azure Function which is implemented next to my durable function looks likes this:
    [Function(nameof(OrchestrationCleanupFunction))]
    public async Task Run(
        [TimerTrigger("0 */1 * * * *")] TimerInfo myTimer,
        [DurableClient] DurableTaskClient orchestrationClient)
    {
        var createdTimeFrom = DateTime.UtcNow.Subtract(TimeSpan.FromDays(365 * 5));
        var createdTimeTo = DateTime.UtcNow.Subtract(TimeSpan.FromDays(5));

        var runtimeStatus = new List<OrchestrationRuntimeStatus>
        {
            OrchestrationRuntimeStatus.Completed
        };

        await orchestrationClient.PurgeAllInstancesAsync(new PurgeInstancesFilter(createdTimeFrom, createdTimeTo, runtimeStatus));
    }

This code worked at some point and was initially developed as .Net 7 isolated function.
Now i am getting a System.NotSupportedException: Microsoft.Azure.Functions.Worker.FunctionsDurableTaskClient does not support purging of orchestration instances.
The implementation of DurableTaskClient.PurgeAllInstancesAsync is very confusing.

DurableTaskClient is abstract and has multiple virtual overloads of PurgeAllInstancesAsync with a default implementation that throws a System.NotSupportedException.
Each derived type does not override all "virtual" variations of PurgeAllInstancesAsync. (GrpcDurableTaskClient & FunctionsDurableTaskClient)

Example:
FunctionsDurableTaskClient implements: Task<PurgeResult> PurgeAllInstancesAsync(PurgeInstancesFilter filter, CancellationToken cancellation)
but not public virtual Task<PurgeResult> PurgeAllInstancesAsync(     PurgeInstancesFilter filter, PurgeInstanceOptions? options = null, CancellationToken cancellation = default)
So calling:
client.PurgeAllInstancesAsync(new PurgeInstancesFilter(...), CancellationToken.None); and
client.PurgeAllInstancesAsync(new PurgeInstancesFilter(...));
makes an unexpected difference.
On top, i am getting a RpcException with {"Status(StatusCode="Unknown", Detail="Exception was thrown by handler.")"} locally and on Azure.
I would greatly appreciate some help getting this purge implementation up and running.

I've encountered this issue as well. Rolling back Microsoft.Azure.Functions.Worker.Extensions.DurableTask to 1.1.0 fixes the issue, it appears to be a regression in v1.1.2 of that package.

I ran into this too. Getting System.NotSupportedException: 'Microsoft.Azure.Functions.Worker.FunctionsDurableTaskClient does not support purging of orchestration instances.' when trying to call DurableTaskClient.PurgeInstanceAsync(), after upgrading from 1.0.3 -> 1.1.2.

Looks like this change caused this: https://github.com/microsoft/durabletask-dotnet/compare/v1.1.1...v1.2.0#diff-c7a6ad429a79519f6c23e141c7d033c7066d66ef34af21302c877fbdd62171c7R373

I would like to confirm the issue. We've just finished our migration and on the latest package in the DurableTaskClient class the following implementations reside:
PurgeInstanceAsync(string instanceId, PurgeInstanceOptions? options = null, CancellationToken cancellation = default):
public virtual Task<PurgeResult> PurgeInstanceAsync(
    string instanceId, PurgeInstanceOptions? options = null, CancellationToken cancellation = default)
{
    throw new NotSupportedException($"{this.GetType()} does not support purging of orchestration instances.");
}

And   PurgeAllInstancesAsync(PurgeInstancesFilter filter, PurgeInstanceOptions? options = null, CancellationToken cancellation = default):
public virtual Task<PurgeResult> PurgeAllInstancesAsync(
     PurgeInstancesFilter filter, PurgeInstanceOptions? options = null, CancellationToken cancellation = default)
 {
     throw new NotSupportedException($"{this.GetType()} does not support purging of orchestration instances.");
 }

Related to this issue there is another problem in the DurableTaskClient which is causing the RpcException:
The PurgeAllInstancesAsync(PurgeInstancesFilter filter, CancellationToken cancellation) is calling this.PurgeAllInstancesAsync(new PurgeInstancesFilter(), null, cancellation);
Ff you look closely a new filter (new PurgeInstancesFilter()) is created when the call PurgeAllInstancesAsync with 3 paramaters is done.
See https://github.com/microsoft/durabletask-dotnet/blob/main/src/Client/Core/DurableTaskClient.cs#L379C2-L381C88.
Code in DurableTaskClient:
    public virtual Task<PurgeResult> PurgeAllInstancesAsync(PurgeInstancesFilter filter, CancellationToken cancellation)
        => this.PurgeAllInstancesAsync(new PurgeInstancesFilter(), null, cancellation);

Thanks all, sorry we did not catch this. I'll see if we can fix this in our upcoming releae.

FYI @jviau, and @cgillum (since you were already submitting some changes for .NET isolated already)

For me it was enough to downgrade package Microsoft.Azure.Functions.Worker.Extensions.DurableTask from 1.1.2 to 1.1.1.

This fix doesn't appear to have made it into 1.1.3, any idea when we'll get it? (unless Microsoft.Azure.Functions.Worker.FunctionsDurableTaskClient does not support orchestration termination. is strictly speaking a different issue)

I am running into same sort of problem when upgrading from to the latest version. But then with a NotSupportedException on DurableTaskClient.TerminateInstanceAsync. Will this be fixed as well?

I'm able to reproduce the issue with Terminate - I was focused only on the purging issue (as in the title) so I missed Terminate had regressed on that same PR. Sorry folks, I'm looking to see if we can implement some kind of breaking change analyzer in the CI to prevent this in the future (not sure if this is the right approach yet) but I'm on it nonetheless.

@gfgw I'm currently using TerminateInstanceAsync(string instanceId, object? output, CancellationToken cancellation = default(CancellationToken))  as a temporary fix, it is only Task TerminateInstanceAsync(string instanceId, TerminateInstanceOptions? options = null, CancellationToken cancellation = default(CancellationToken)) that is throwing the unintended exception in the latest version

Still getting the error in Net 8 (Isolated):

Result: Failure Exception: Grpc.Core.RpcException: Status(StatusCode="Unknown", Detail="Exception was thrown by handler.") at Microsoft.DurableTask.Client.Grpc.GrpcDurableTaskClient.PurgeInstancesCoreAsync(PurgeInstancesRequest request, CancellationToken cancellation) at ...

Dependencies
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.22.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.2" />     <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.DurableTask" Version="1.1.4" />
we are getting this issue when executing:
`    var filter = new PurgeInstancesFilter(
DateTime.MinValue,
createdToTimeResult,
new List
{
OrchestrationRuntimeStatus.Completed,
OrchestrationRuntimeStatus.Failed,
OrchestrationRuntimeStatus.Terminated
});
await durableTaskClient.PurgeAllInstancesAsync(filter);

`
is there a fix for this?, thanks in advance

Still getting the error in Net 8 (Isolated):

Result: Failure Exception: Grpc.Core.RpcException: Status(StatusCode="Unknown", Detail="Exception was thrown by handler.") at Microsoft.DurableTask.Client.Grpc.GrpcDurableTaskClient.PurgeInstancesCoreAsync(PurgeInstancesRequest request, CancellationToken cancellation) at ...

Dependencies
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.22.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.2" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.DurableTask" Version="1.1.4" />
we are getting this issue when executing:
` var filter = new PurgeInstancesFilter( DateTime.MinValue, createdToTimeResult, new List { OrchestrationRuntimeStatus.Completed, OrchestrationRuntimeStatus.Failed, OrchestrationRuntimeStatus.Terminated });
await durableTaskClient.PurgeAllInstancesAsync(filter);

`
is there a fix for this?, thanks in advance

I was also getting the same thing in .Net 8 Isolated. I've tried to work around it by getting a list of all the completed orchestrator instances and purging them individually. I'm no longer getting that error message, but it's also not finding all of the completed orchestrators.
var createdTimeFrom = DateTime.UtcNow.AddYears(-1);
            var createdTimeTo = DateTime.UtcNow.AddMinutes(-5);
            var taskHubName = _config["FunctionHubName"];

            _logger.LogInformation(
                "Looking for completed orchestrators between {CleanupStartTime} and {CleanupEndTime} in Task Hub {TaskHubName}",
                createdTimeFrom, createdTimeTo, taskHubName);

            var instances = starter.GetAllInstancesAsync(new OrchestrationQuery(createdTimeFrom, createdTimeTo,
                new List<OrchestrationRuntimeStatus>
                {
                    OrchestrationRuntimeStatus.Completed
                }, new List<string>
                {
                    taskHubName
                }));

            var instanceIdsToDelete = new List<string>();

            await foreach (var page in instances.AsPages())
            {
                foreach (var item in page.Values)
                {
                    instanceIdsToDelete.Add(item.InstanceId);
                }
            }

            if (instanceIdsToDelete.IsEmpty())
                return;

            _logger.LogInformation("Found {OrchestratorCount} completed orchestrators to purge",
                instanceIdsToDelete.Count);

            var pendingDeleteTasks = new List<Task>();
            foreach (var instance in instanceIdsToDelete)
            {
                pendingDeleteTasks.Add(starter.PurgeInstanceAsync(instance));
            }

            await Task.WhenAll(pendingDeleteTasks);

            _logger.LogInformation("Purged {OrchestratorCount} completed orchestrators", instanceIdsToDelete.Count);

Just been doing some more debugging, it looks like if I remove the reference to the task hub when calling GetAllInstancesAsync() it will return all the completed orchestrators correctly. If I add the reference back in it doesn't find any. I've made sure I'm using the correct task hub name.
This finds all the completed orchestrators.
            var instances = starter.GetAllInstancesAsync(new OrchestrationQuery(createdTimeFrom, createdTimeTo,
                new List<OrchestrationRuntimeStatus>
                {
                    OrchestrationRuntimeStatus.Completed
                }));

This doesn't find any completed orchestrators.
            var instances = starter.GetAllInstancesAsync(new OrchestrationQuery(createdTimeFrom, createdTimeTo,
                new List<OrchestrationRuntimeStatus>
                {
                    OrchestrationRuntimeStatus.Completed
                }
                , new List<string>
                {
                    taskHubName
                }));


add getFallbacksAsync API reference

I have used the same example that was added to fallbackAsync as I was unable to think of a better example. I'll try to come up with better examples once most of the API references are added. Feel free to update or add examples if you have something better.

Thank you very much! I will review it later, but in general it is perfectly fine to use the same example. I did the same thing with some references.


Fix memory leaks

there is problem with resources when using jsmpeg to turn on/off multiple streaming instances.
troubleshooting done using chrome task manager and memory tab options.
to release all GPU memory resources, it is necessary to manually lose webgl context.
canvas element is also removed although not quite sure if this should be here or maybe somewhere else or this is maybe done by user manually?
there is additional problem with 'memory footprint' which is present even after refreshing page - memory heap snapshot shows system/jsArrayBufferData taking lot of memory but not quite sure how to solve this

@phoboslab ?

Thanks! And sorry for the delay. I'm not really working on this project right now.


Change generation

Why grind all the files during generation. Let's grind only those files that are subject to change/creation. So you can put your functions side by side

Hi @FlymeDllVa . What do you mean by putting a function side by side? Do you mean to add methods to generated model files?

Yeap. I would like to have such an opportunity

To decorate model types with additional functionality, it is possible to wrap generated model type with a new type.
For instance:
type Actor struct {
     model.Actor
}

func (a Actor) Something() {

}

Now, Actor type can be used just like model.Actors has been used. For instance as a scan destination:
var actor Actor

err := stmt.Query(db, &actor)

I don't particularly like this method, since the new structure needs to be created in another package. I would like to keep everything in one

It's a bad practice to combine generated and user code in the same file, so there is no plan to support such a feature.


Remove search API from http_server [phab:T92]

Created by schroederc at 2016-01-22 23:27:56:
There's not a lot of usage of the search API in the http_server.  Its only real usage has been to lookup file tickets, but that has been obsoleted by the removal of the signature/language components in each file ticket (since v0.0.16).

commit c5d6ad84cb1a2de69d8831202f72fcc9f18e2c5a

revision #1242
#947


Use @kind metadata to determine results format

If a user specifies an @kind tag in their metadata, we should respect that when deciding how to display results.
If there's no @kind tag, or if the @kind isn't compatible with the output format, then we don't generate SARIF and just display a raw results table instead. See internal linked issue for details! 🔗
I've tested this in the extension by setting "codeQL.variantAnalysis.actionBranch": "query-kind" and checking that the results show up as expected for different @kinds.

Thanks for the review! 🎈  I think I've now addressed everything (either here or in #849).
I've also tested it in VS Code again to check that the results are displayed as expected 📝


Allow wrapper credentials to be specified for specific domains

Expected Behavior
Gradle allows setting multiple credentials for the wrapper based on domains. This could for example look something like:
In ~/.gradle/gradle.properties:
systemProp.gradle.repo1.wrapperUser=example
systemProp.gradle.repo1.wrapperPassword=example
systemProp.gradle.repo1.wrapperHost=repo1.example.com

systemProp.gradle.otherone.wrapperUser=example2
systemProp.gradle.otherone.wrapperPassword=example2
systemProp.gradle.otherone.wrapperHost=example.jfrog.io

Which should cause Gradle to pick the correct credentials by matching the domain specified in the distributionUrl property and the systemProp.gradle.<name>.wrapperHost property.
Current Behavior (optional)
Gradle allows setting systemProp.gradle.wrapperUser and systemProp.gradle.wrapperPassword in ~/.gradle/gradle.properties, doing so will send those credentials to whatever domain is specified as the distributionUrl for any given project.
Specifying different credentials for different domains is not possible in ~/.gradle/gradle.properties and as explained in the context other already existing ways to specify credentials is not really a viable option.
Context
This becomes an issue when a user has multiple gradle projects using different distribution repositories, for example  https://services.gradle.org/ in one project and Artifactory (that requires credentials) in another. Doing so will send any specified credentials to both https://services.gradle.org/ and Artifactory when working in the respective repository.
Specifying the system properties inside <project-root>/gradle.properties is not a viable option since the properties files doesn't support reading environment variables and the file is checked into version control so putting secrets there is a no go.
Specifying the credentials directly in the distributionUrl url is also not viable because of the same reason as above (check into version control.
Specifying the credentials on the command line with -D is viable in CI but not when developing locally because of the length of the command increasing significantly.
Something similar to how Coursier approaches the problem would be a viable solution:
In ~/.config/coursier/credentials.properties a user can set credentials for multiple domains by doing:
simple.username=simple
simple.password=SiMpLe
simple.host=repo1.example.com

otherone.username=abc
otherone.password=123
otherone.host=example.jfrog.io

The username, password, host, and optional realm properties all start with a common prefix (simple and otherone above). That prefix can be arbitrary. It's only used to specify several credentials in a single file.

From: https://get-coursier.io/docs/other-credentials#format
If there's already another way to accomplish this I can't seem to find it.

Thank you for your interest in Gradle!
This feature request is in the backlog of the relevant team, but this area of Gradle is currently not in focus. It might take a while before it gets implemented.

I had a similar (private) discussion with someone at the gradle team years back, however nothing came out of it and we had to leave the authenticated distribution path altogether. In our team, it is now totally forbidden to set credentials for the wrapper distribution as that is guaranteed to lead to credentials being shared with third party, so we now distribute via unauthenticated access over private networks instead. Not ideal, but way better than having our developers by mistake sending their credentials to services.gradle.org (illegal) or some deliberate credential fishing site (totally unacceptable) when forgetting to update their gradle settings while switching contexts.
One approach would be to extend current behaviour so that for any distribution url https://<host>/whatever/gradle.zip first check for presence of properties gradle.wrapperUser.<host> / gradle.wrapperPassword.<host> and use those in favour of the default gradle.wrapperUser / gradle.wrapperPassword. And for backwards compatibility fallback to the default setting as today.
It's a non breaking enhancement and should be very straight forward to implement, document, and use.
And for anyone with security concerns, would not risk unintentional credential sharing with third party by simply never defining the default settings.
To be quite frank, this should been in place a long time ago and needs be prioritised higher today.
I love gradle and you do an amazing job maintaining and developing it. But how it has not been possible to prioritise this over the years, though, is beyond me. Wish I could contribute myself, but for different reasons, feedback is the most value (?) I can provide today.

Hello,
we discussed this issue and if security is a concern we recommend not to use basic authentication to download a custom distributions, but use some custom script with better authentication.
If you still want to use basica auth per domain, one "simpler" solution could be, that you wrap gradlew to some custom download script, e.g. gradled that has username/password discovery logic and passes gradle.wrapperUser and gradle.password as parameters to ./gradlew. That script could also have some checks that nothing related to wrapper authentication is set in the ~/.gradle/gradle.properties.
We understand that this could be inconvenient and authentication for downloading custom wrapper distribution is a problem, but we would like to find some better general solution here.

Hi, glad to hear that you are taking security concerns seriously!
But thinking about and planning for an optimal security solutions is not the same as addressing a known and apparent issue within reasonable time and effort. You have known about this problem for more than three years now and so far no changes are in sight.
Basic authentication is not in itself a major problem. It is the risk of sharing the credentials via eavesdropping (ie use TLS), accidental access to eg gradle.properties file (use filepermission 600), or accidentally sending the credentials to an unintended remote peer. The latter is an apparent issue given the current gradlew design for anyone working with both open and closed source in parallel.
To be honest, I find it provocative that you can actually deny this change to be merged, given the current situation and lack of reasonable alternatives.
You can not be serious when suggesting that organisations that prefers some sort of authentication for downloading a custom wrapper distribution should implement, roll out and maintain their own wrapper-wrapper solution? That just makes no sense at all given the small and non intrusive change that was provided in the PR. That option is still available for any one that don't consider the current approach acceptable.
Please, reconsider and incorporate this change. Flag it as experimental, not recommended, deprecated. Emphasise that it will replaced by a "better and more general solution" in a future version, in a breaking way and without prior heads up. As long as users are at least given a chance to avoid sharing credentials with third parties by mistake in the meantime.

Hey,
I mostly agree with @jappaleinen here, the proposed change didn't introduce any breaking changes or even additional complexity, while directly improving the issue. Having it in the meantime before there is a more general solution would be useful.


How to set up the client to automatically shut down after a long time without using it

What version of gRPC and what language are you using?
1.22.0  python3.7
What operating system (Linux, Windows,...) and version?
mac
What runtime / compiler are you using (e.g. python version or version of gcc)
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
What did you expect to see?
I want to close a channel that the GRPC client has not used for a long time
What did you see instead?
My stubs use a lot of methods, I can't recreate channels and close them every time I use them, and I can't put them all with because they are random. So I want the channels I created to close automatically when timed out.
I'm going to create channels for my root method, other channels that use root methods, and if this root method is no longer in use, I want to be able to automatically turn off the channel, or if this root method is not in use for a long time, it will automatically turn off the channel

    @staticmethod
    def _create_client(workspace):
        workspace._client = TreeLabClient(token=workspace.token)

   def __init__(self, token: str):
        self.metadata = [('access_token', token)]
        if not os.getenv('ip'):
            os.environ['ip'] = get_env_ip()
        self.channel = grpc.insecure_channel(os.getenv('ip'))
        self.stub = treelab_service.TreeLabApiServiceStub(self.channel)
    def close(self):
        self.channel.close()
    @wait("WorkspaceCreated")
    def create_workspace(self, create_workspace_input: CreateWorkspaceInput):
        return self.stub.CreateWorkspace, create_workspace_input, self.metadata
    @wait("WorkspaceUpdated")
    def update_workspace(self, update_workspace_input: UpdateWorkspaceInput):
        return self.stub.UpdateWorkspace, update_workspace_input, self.metadata
    @wait("CoreCreated")
    def add_core(self, add_core_input):
        return self.stub.AddCore, add_core_input, self.metadata
    @wait("CoreRemoved")
    def remove_core(self, remove_core_input: RemoveCoreInput):
        return self.stub.RemoveCore, remove_core_input, self.metadata
    @wait("CoreUpdated")
    def update_core(self, update_core_input: UpdateCoreInput):
        return self.stub.UpdateCore, update_core_input, self.metadata
    @wait("TableCreated")
    def add_table(self, add_table_input: AddTableInput):
        return self.stub.AddTable, add_table_input, self.metadata

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

This functionality doesn't come out of the box, but it isn't too difficult to layer on top. Here's an example that does what you want for unary RPCs.
class LoggingUnaryUnaryMultiCallable(grpc.UnaryUnaryMultiCallable):
    def __init__(self, channel, raw_multicallable):
        self._channel = channel
        self._multicallable = raw_multicallable

    def __call__(self, *args, **kwargs):
        self._channel.record_usage()
        return self._multicallable(*args, **kwargs)

    def with_call(self, *args, **kwargs):
        pass

    def future(self, *args, **kwargs):
        pass

class ExpiringChannel(grpc.Channel):

    def __init__(self, *args, **kwargs):
        self._timeout = kwargs.pop('timeout', datetime.timedelta(seconds=30))
        self._channel = grpc.insecure_channel(*args, **kwargs)
        self._last_usage = time.time()
        self._suicide_thread = threading.Thread(target=self._await_expiration, args=(self._timeout,))
        self._suicide_thread.start()

    def record_usage(self):
        self._last_usage = time.time()

    def _await_expiration(self, timeout):
        delta = time.time() - self._last_usage
        while delta < timeout.total_seconds():
            time.sleep(timeout.total_seconds() - delta)
            delta = time.time() - self._last_usage
        self.close()

    def subscribe(self, *args, **kwargs):
        self._channel.subscribe(*args, **kwargs)

    def unsubscribe(self, *args, **kwargs):
        self._channel.unsubscribe(*args, **kwargs)

    def unary_unary(self, *args, **kwargs):
        return LoggingUnaryUnaryMultiCallable(self, self._channel.unary_unary(*args, **kwargs))

    def unary_stream(self, *args, **kwargs):
        pass

    def stream_unary(self, *args, **kwargs):
        pass

    def stream_stream(self, *args, **kwargs):
        pass

    def close(self):
        self._channel.close()

There are still some questions that my snippet doesn't answer. Like, what do you do when a channel has timed out and you want to get through to that server later on. But you can implement that logic using the same building blocks that I used here.


No exit status if a command exits during process.interact()

There appears to be no way to retrieve the exit status of a command that enters interact() if it exits while in interact().
In a shell:
$ python3 -c 'yn=input("Agree?"); print("answer was " + yn)'; echo "exit code: $?"
Agree?y
answer was y
exit code: 0
Repro:
fn main() {
    let mut cmd = Command::new("python3");
    cmd.args(vec!["-c", "yn=input('Agree?'); print('answer was ' + yn)"]);
    let mut process = PtyProcess::spawn(cmd).unwrap();
    process.interact().unwrap();
    println!("status {:?}", process.status());
}

The output is:
Agree?y
answer was y
status Err(Sys(ECHILD))

It would be expected that process.status()) would provide the exit result, but it returns an error because the process is already gone by the time it is called.
The problems appears to be here: https://github.com/zhiburt/ptyprocess/blob/57278cd3fb0021540faaf0754eb7cfb014cedfa2/src/process.rs#L388
        if matches!(self.is_alive(), Ok(false)) {
            return Ok(());
        }

The interactive mode only checks for aliveness, returning on () if the child process completes. Shouldn't it return the exit code if the process has completed?
I notice in my other code (in the first comment of issue https://github.com/zhiburt/ptyprocess/issues/4) that I had try_read() loops followed by
match process.wait() {
    Ok(WaitStatus::Exited(pid, status)) => {
      println!("child process {} exited with: {:?}", pid, status);
      ...

That works because when the process ends, it first closes stdout/stderr, then sets the exit code. The above works because the try_read() loop breaks on Ok(Some(None)), which is how ptyprocess indicates that the pipe has closed. So the code can then enter the match process.wait() { fast enough to catch the exit status of process. It works even for processes that don't write to stdout because we still open a stdout pipe for them for try_read(). This approach works, but sounds like a race condition. Maybe there's a better way? In the issue reported here, since the interact() controls the stdout/stderr pipes, we don't know when they're closed. How do we obtain the exit status?

The interactive mode only checks for aliveness, returning on () if the child process completes. Shouldn't it return the exit code if the process has completed?

I think it makes sense.

Done 51b837e0ce72800fe19442f6dc21ae8b93d280f3
But I started to think that interact function is surely not responsibility of ptyprocess library. (I was thinking about it when it was created as well. The reason why it's here is because Stream structure is private.)
I do intend to move it to expectrl.

Moved to expectrl a54f50e4a9ebbc7b9e6ab377f3b1821a02b792bc

Ok, moving to expectrl obviates this issue. Closing.


how to hide Youtube logo in case of controls sets 1?

Basically, I want to hide youtube logo in case of youtube controls are hidden.

playerVars: {
controls: 1,
modestbranding: 1,
}

Whenever I used the youtube config as above, I can get the result with no youtube logo but controls are shown.
But if I change the controls to 0 like below, I can hide the controls, but the youtube logo is shown.

playerVars: {
controls: 0,
modestbranding: 1,
}

Screenshot is attached here.

Full example code is here.

<ReactPlayer
url="https://www.youtube.com/watch?v=ysz5S6PUM-U?controls=1"
playing
config={{
youtube: {
playerVars: {
controls: 0,
modestbranding: 1,
},
},
}}
/>

How can I remove youtube logo while controls are hidden?

I don't think it's possible to remove the logo.

This parameter lets you use a YouTube player that does not show a YouTube logo. Set the parameter value to 1 to prevent the YouTube logo from displaying in the control bar. Note that a small YouTube text label will still display in the upper-right corner of a paused video when the user's mouse pointer hovers over the player.

https://developers.google.com/youtube/player_parameters#modestbranding


Feature request: import/export from/to txt files

It would be useful to be able to export all the data (not the photo) in simple text format.
The file can be used as backup or edited with your favourite text editor or simply shared with someone else with the same app (having not only the items and quantities, but also the price and the shop).

Should also be considered here: https://github.com/SecUSo/privacy-friendly-shopping-list/issues/6

import/export from/to txt files would be great.
it would be nice to if one could choose or write a unit for the quantity (g, kg, l, etc.)

I would like to know if it's possible to implement this feature and what permissions are required.

+1
Pleeeaseee!

Would be useful

+1
it would be great to have the option to export and then import the stored list (including photos), especially in case you change the device where the app is installed. (not necessarily in txt format)

+1

.CSV (Comma Separated Variable) is an obvious candidate because it's generic to all platforms & can be processed by any text editor, spreadsheet or database app of any age or by text-mode tools like sed, grep & awk but can have problems with comma-separated content such as #56 (categories or stores as tags) & #85 (multiple stores)
.TSV (Tab Separated Variable) is similarly generic & deals with comma-separated content but the user would have to be careful not to allow their text editor to convert tabs to spaces


S3FileSystem().exists throws Forbidden when file doesn't exists

I'm using Python's s3fs library to check if a particular file exists in s3 with s3fs.S3FileSystem().exists(path), but I'm getting a Forbidden exception. From the stack trace, I can see it fails when calling s3's head_object method. The documentation for head_object method says:

If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 ("no such key") error.
If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 ("access denied") error.

And I have the following task policy attached to my Fargate task:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListObjects",
                "s3:ListBucket",
                "s3:HeadObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket/*"
            ]
        }
    ]
}

I've checked that the fargate task is indeed with this policy, but botocore keeps returning 403 instead of 404, even when I have the s3:ListBucket permission. Has anyone experienced this problem?
Maybe s3fs should consider 403 as the file not existing as well.

To others, yes please do raise your hands if this has happened to you, on fargate or otherwise.
@ianliu "Maybe s3fs should consider 403 as the file not existing as well."
I'm not convinced by this - the user generally needs to know the difference between something not existing and something that might exist if they had different permissions.

The documentation for head_object is explicit in saying that both cases the file doesn't exist. Can forbidden be raised in another scenario?

Also, I've fixed the problem by modifying the IAM to include the bucket itself. It seems s3://ListBucket is only applied to the bucket, and not its objects.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListObjects",
                "s3:ListBucket",
                "s3:HeadObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket/*",
                "arn:aws:s3:::my-bucket/",
            ]
        }
    ]
}

The documentation for head_object is explicit in saying that both cases the file doesn't exist. Can forbidden be raised in another scenario?

That is not my reading. If you see a 404, the file does not exist. If you see a 403, the file may or may not exist, but you do not have permission to know which. It is important for AWS not to leak the possible existence of files to non-privileged users.

It seems ListBucket is only applied to the bucket, and not its objects.

That makes snese

I guess this can be closed, then!


Can not add folder in "Files" section of CMS

Affected Version
SS3.6.5
Description
I am trying to add a new folder in the "Files" section and there seems to be no way to add a "sub" folder (or even a root folder) to the file structure

Are you missing the below button, or experiencing an error? It’s working fine for me in 3.6.5

yeah - missing it ... sorry, I may have a clue what is going on here.  Let me do some tests.

Sorry, fixed... had to do with adding an extension to file.


initial working directory should be consistent with subdirectory of ipynb

If we serve IHaskell at directory A and x.ipynb is at A/B,  currently when x.ipynb is opened, the working dir is at A. It would be more natural to set it at A/B initially.
subdirectory is supported at newer version of ipython(seems >=2.1.0)

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5452535-initial-working-directory-should-be-consistent-with-subdirectory-of-ipynb?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github).

Should be fixed -- see discussion on #425


Support for Python3?

I am surprised that I found no issues about Python3. I noticed SCons only supports Python2.7 (from the readme)

Running SCons requires Python version 2.7 or later (Python 3 is not yet supported). There should be no other dependencies or requirements to run SCons.

I friendly reminder that Python 2.7 will retire in 2 years and 1 month (https://pythonclock.org/).
Is there a short term plan to extend the SCons support to Python3?

SCons 3.x already works with Py3.

Firstly, we ask that users bring their issues to the scons users mailing list before creating an issue.
The keeps duplications, etc to the minimum.
Secondly, SCons has supported Python 2 and Python 3.5+ since the 3.0.0 release.
Closing This issue. Please bring further discussions or issues the the users mailing list.
You can join the mailing list here:
https://pairlist4.pair.net/mailman/listinfo/scons-users

BTW. Where did you find that text? If it's still the tree, we'll update it.

@bdbaddog Ok I didn't know that. It is said on the README

Python 3 is not yet supported

Which means that SCons does not support Python 3. I think this README file should be fixed then...

Ahh.. Weird. grepping my sandbox didn't find that. O.k I'll fix it.

O.k. Updated.


docs: Explain make is necessary to install deps

you added the comment in the wrong line

FYI @odyslam I also prefer this.


Get-ForensicFileRecord's GetChild doesn't work

(Get-ForensicFileRecord c:\windows).GetChild()

Shows an error c:\\windows not found, note the added slash.
(Get-ForensicFileRecord c:).GetChild()

Works because no slash was present in the original path.
P.S. Win7SP1x64, NTFS

Interesting. I'll take a look at the code and see where that extra slash is added. Thanks!


Merkle tree version for arrays with length power of 2.

I added a first version of a Merkle Tree implementation based on an Array but only with an input array with length power of two.
I thought of doing it without an struct, but with it, the code is nicer with it.

Comment for following commits, they should use imperative (https://cbea.ms/git-commit/#imperative point 5)
Fix previous test instead of Fixed previous test

I forgot to add this warning
warning: associated items new, hash_leaves, verify_input, calculate_merkle_root, and hash_nodes are never used
src/merkle_tree.rs:18:8


show on google map

google map's cost

maps static api

It's not free and not match my use cases because it's dynamic not static.

maps embed api

It's free but not match my use cases.

maps javascript api

It's not free but match my use case.

I decided to use maps javascript api.
It's free until 28,500 requests per month, It's enough for me because merchants are over 4,000.

I created 3 keys.

Local is no limit key. key need to be secreted.
Dev is the limited key. Only dev domain can use it.
Prod is the limited key. Only prd domain can use it.

this repository is better plugin to use google map
https://github.com/diegoazh/gmap-vue

commit


Roll Flutter Engine from 2be41c6d0152 to cd390931cc88 (9 revisions)

https://github.com/flutter/engine/compare/2be41c6d0152...cd390931cc88
2023-03-03<EMAIL_ADDRESS>Restore the ViewConfiguration.displayFeatures doc template (flutter/engine#40041)
2023-03-03<EMAIL_ADDRESS>Roll Skia from d953c63dd96b to 04e32a9e5641 (2 revisions) (flutter/engine#40038)
2023-03-03<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from oGC2UFWpzRXTrEiJg... to 4BjO0CPYCTfpHYDyO... (flutter/engine#40037)
2023-03-03<EMAIL_ADDRESS>Roll Dart SDK from a32e24068a6c to b1016d8f293a (2 revisions) (flutter/engine#40036)
2023-03-03<EMAIL_ADDRESS>[macOS] Add README.md for macOS embedder (flutter/engine#40032)
2023-03-03<EMAIL_ADDRESS>Do not end the frame in the raster cache if ScopedFrame::Raster returns kResubmit (flutter/engine#40007)
2023-03-03<EMAIL_ADDRESS>[Embedder API] Freeze parts of API for ABI stability (flutter/engine#39963)
2023-03-03<EMAIL_ADDRESS>Roll Skia from a0ab1e734490 to d953c63dd96b (9 revisions) (flutter/engine#40035)
2023-03-02<EMAIL_ADDRESS>Remove PlatformConfiguration and ViewConfiguration (flutter/engine#40012)
Also rolling transitive DEPS:
fuchsia/sdk/core/mac-amd64 from oGC2UFWpzRXT to 4BjO0CPYCTfp
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Keep User's volume

As title, it would be nice that we can keep user's customized volume after changed. This can be a minor improvement for Kaku.

Always resets to 50% as far as I know, I'm glad to see this being worked on.


Replace slack links with discord

What

Replaced old slack links with discord link

Why

The Rootstock Open Slack was sunset on 31st of October 2023

Refs

https://rsklabs.atlassian.net/browse/D1-750

I only see a vercel file here @zdaodu-iov

I only see a vercel file here @zdaodu-iov

@owans I did a global search and those were the only slack links in the devportal.


Memory delta changes in memory view

Start state

The user steps the debugger and one byte has changed since last update and should be displayed in different color (here red)

What events should trigger this behavior (replace previous data with current and request update)? It is not obvious from their names.

If the plugins gets a event called EVENT_SET_EXCEPTION_LOCATION it means that the user has stepped in the debugger and then the memory may have changed. The plugin should then request the current viewed memory again and do a "diff" with the current memory and change the color of those values that have changed.

This is supported in the old memory plugin https://github.com/emoon/ProDBG/blob/master/src/plugins/hex_memory/hex_memory_plugin.cpp so you can look at the code there (this is written in C though)

Closed by 5a340d4


Addendum PHOENIX-6476 Fix import usage

@virajjasani

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
8m 15s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
19m 48s
4.x passed

+1 :green_heart:
compile
1m  2s
4.x passed

+1 :green_heart:
checkstyle
0m 31s
4.x passed

+1 :green_heart:
javadoc
0m 52s
4.x passed

+0 :ok:
spotbugs
3m 19s
phoenix-core in 4.x has 956 extant spotbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
10m 32s
the patch passed

+1 :green_heart:
compile
1m  5s
the patch passed

+1 :green_heart:
javac
1m  5s
the patch passed

+1 :green_heart:
checkstyle
0m 32s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 46s
the patch passed

+1 :green_heart:
spotbugs
3m 25s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
228m 44s
phoenix-core in the patch passed.

+1 :green_heart:
asflicense
0m 11s
The patch does not generate ASF License warnings.

280m  3s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1274/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1274

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux 7d0fd9bb9a80 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / 7beabbe

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1274/1/testReport/

Max. process+thread count
4844 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1274/1/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Thanks @tkhurana


Allow news customiser to display more than 10 stories in dropdown

@marcincichon Can you review?

@sparkdevelopment signed off


Demo not working in firefox 78.2.0esr

https://zalo.github.io/mujoco_wasm/
Uncaught SyntaxError: await is a reserved identifiermain.js:10:1
But it works in Edge.

Sorry, must have been an old bug; should work now.

The erorr persists, and I see no changes in line 10 of  main.js  .
But probably my Firefox version is too ancient... and I cannot update it on this machine.

The erorr persists, and I see no changes in line 10 of  main.js  .
But probably my Firefox version is too ancient... and I cannot update it on this machine.

Interesting... if I were using ESBuild in this project, I could probably transpile it to older browsers... though the error it's giving suggests that it is incompatible with the WASM loading mechanism (or even async in general) which could make this pretty hard to port.


docs: add installtion steps using rpm, deb, apk

Closes #14
📑 Description
Add installation steps using rpm, deb, apk
✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[x] I have updated the documentation as required
[ ] All the tests have passed

@thschue

Thank you, looks great!


Make examples easy to run

generate bundle.js with browserify
add index.html which loads bundle.js
serve index and bundle via server
npm run examples generates bundle and starts server

Looks good to me! :+1:

@marindale who has merge ability here?  Looks like no PRs have been merged for a year. 😯

I think @bitjson would know.  Hope to see this (and other things) merged soon!


SAKIII-4588 URLs don't change for separate documents in a collection

https://jira.sakaiproject.org/browse/SAKIII-4588

This is now part of https://github.com/sakaiproject/3akai-ux/pull/1548 .


Apply post: Improving the 'Interview' needs' question

 Apply: Design history on improving the 'Interview needs question'


extensionDependencies should support @x.y.z annotation in addition to ^ and ~ as in dependencies

VSCode Version: Code - Insiders 1.6.0-insider (c94c824db64a88bd4909da2e84e44316dbf8e8fb, 2016-09-28T06:23:37.103Z)
OS Version: Linux x64 4.4.0-38-generic, Ubuntu 16.04

#12647
Extension authors will use extensionDependencies for more than just packs but to rely on the contributions an extension exposes. That means that it becomes important when API breakages occur. An example of this is an extension that uses registerTextDocumentContentProvider could be depended upon by another to utilize its TextDocumentContentProvider.

Although I do see the benefit, we currently neither support installing old extension versions not running different versions of the same extension simultaneously... both situations that would quickly emerge from this.
We're rolling out with this first and let's tackle the specific dependency issues when they come.


Re-add aspid

About the PR

Added back a previously derotated map: Aspid, while reworking some of the more contentious departments.
Namely:
Restructured Med
Restructured Sci
Restructured Salv, moving it south of Cargo, replacing the derelict Docking Arm.
Added AI to the previous Salv area.
Added Tesla to Engineering, reduced AME to 1 core.
Added named cameras to anywhere missing AI LoS.
Removed round-start cryo spawn.
Reduced the amount of Powergamer loot
Added brigmed to Sec.
Added roundstart Ripley to cargo
Made brig lockdown button functional
Made bridge lockdown button functional
Upped max playercount to 65 and min to 30.
Why / Balance

Aspid was my favorite map as I started playing and learning the game. As the current map pool is pretty limited, I wanted to take it upon myself to rework what needed to be done and add it back to the game.
Media

Medbay rework:

Science rework:

AI Core:

Salvage:

Tesla gen:

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Changelog

:cl:

add: Added Aspid, a medium pop map based around a luxury star cruiser!

Does cargo have bounty console now?

Does cargo have bounty console now?

Yes. I think it was added prior to me updating the map though, as I didn't place it.

shouldnt science have two artifact chambers?

give arti chamber plasma windows since its exposed to the hallway

please no cryosleep in medbay, at least one issue with it - it's hard to steal thing from cryoed person
weird decals in arti room

cargo breakroom is gone😭😭
afaik lattice right at dock can't be cutted

Removed round-start cryo spawn.

why?

oh no

Will there be 4 salv slots for the 4 lockers?

Will there be 4 salv slots for the 4 lockers?

There are 3 slots round start and a fourth can join mid-round

please not 4 salv, i played on server where on aspid was 4 roundstart salvagers and it was terrible, even when they could split to expeditions, magnet and wrecks/asteroids
and now when it's only magnet and wrecks/asteroids it will be even more terrible

please no cryosleep in medbay

Most other maps have cryo in med, I assumed it was standard?

weird decals

huh, they were fine in the editor. I’ll remake em.

cargo break room

I know! But it originally never existed, and I needed somewhere to put salv (it’s in a more logical spot now than the original imo)

lattice uncuttable

I’ll remove it

please not 4 salv, i played on server where on aspid was 4 roundstart salvagers and it was terrible, even when they could split to expeditions, magnet and wrecks/asteroids
and now when it's only magnet and wrecks/asteroids it will be even more terrible
maybe would be better to remove one late-join salv

It’s not 4 roundstart, just 3, and I gave a fourth locker as it was alway an issue for the fourth latejoin salvage to have to either steal the QM’s suit, take an EVA suit, or just work as a cargo tech. IMO 4 salv is fine, but if other people share your opinion I’ll reduce it to 3

I assumed it was standard?

better to ask emisse

Most other maps have cryo in med, I assumed it was standard?

Honestly there's no reason for cryobeds to be in med since they're not used for anything medical-related, AND it means that anyone choosing a cryo spawn is stuck in there until a medic lets them out. Cryobed should be in dorms.

please no 4 salv

what's the matter with 4 salvagers ?

AND it means that anyone choosing a cryo spawn is stuck in there until a medic lets them out.

they are not the late join spawn variants of cryosleep. Everyone all late joins will spawn in dorms. These are just for med to throw SSD people they revive into, instead of either leaving them out front, or taking the time to slowly drag them to dorms

AND it means that anyone choosing a cryo spawn is stuck in there until a medic lets them out.

they are not the late join spawn variants of cryosleep. Everyone with cryo late joins will spawn in dorms. These are just for med to throw SSD people they revive into, instead of either leaving them out front, or taking the time to slowly drag them to dorms.
I’ll ask Emisse and see what she wants me to do with them.

oh, I didn't notice the cryobeds in dorms, my bad.
Speaking of dorms, if you could squeeze a bathroom in there, that would be swell - or at least delete the washroom sign that leads to nowhere ^^

oh, I didn't notice the cryobeds in dorms, my bad.
Speaking of dorms, if you could squeeze a bathroom in there, that would be swell - or at least delete the washroom sign that leads to nowhere ^^

I think I’m going to try to rework that entire area. I’m not very happy with it. Cryo feels too closed in, the dorm rooms aren’t standard, and there is no bathroom.

Can you explain in further detail the problems of 4 salvagers over 3

most of the time some of salvagers took over the work of others and others did not like it, this led to frequent quarrels and insults

Honestly there's no reason for cryobeds to be in med since they're not used for anything medical-related, AND it means that anyone choosing a cryo spawn is stuck in there until a medic lets them out. Cryobed should be in dorms.

They are used to store catatonic/long ssd players without gibbing them or stockpiling whole load of them while people get blocked from taking their roles otherwise.

Speaking of dorms, if you could squeeze a bathroom in there, that would be swell - or at least delete the washroom sign that leads to nowhere ^^

How is this?

weird decals in arti room

So I remade them in the same style, and they still look odd in the renderer. In-game they look completely fine.

Also need to go through and remove any gamer loot like the cultist dagger for example. Ask emisse about this as she can specify what should and shouldn't be removed.


[Game Crash] Game thinks techno noteskin doesn't exist?

Describe how it crashed by giving us those informations:
1. What you were doing before it crashed and what action made the game to crash.
I tried to play Technomotion mode, but it crashed upon trying to start the song. The last line of the log said "WARNING: Someone set a noteskin that doesn't exist.  Good job."
2. Upload the crashinfo.txt (GameFolder/crashinfo.txt)
crashinfo.txt
3. Upload the info.txt and log.txt (GameFolder/Logs)
info.txt
log.txt
Explain how we can reproduce the error

Delete all noteskins except for the default one for every mode, except for Global; leave 2 noteskins there.
Play techno mode
Select one of the two available noteskins in the song menu
Game crashed

Sreenshots/Videos
If possible, take screenshots or record the crash happening.
Video recording (also shows weirdness of menu in techno mode)
Additional information
In case this issue is caused by the noteskins themselves (because I tried modifying one of the noteskins), here is my NoteSkins\global folder.
global.zip

What version are you on? There is a default techno noteskin that redirects to broadhead-columns in Global.

Because the techno default noteskin is actually a pointer to one of the Global noteskins, broadhead-columns. Is there any particular reason why you did this?


Fix py2.6 test

If you intend to keep #219 open, at least please fix the python2.6 test.
$ python3
Python 3.6.4+ (default, Feb 12 2018, 08:25:03)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version
'3.6.4+ (default, Feb 12 2018, 08:25:03) \n[GCC 7.3.0]'
>>>

  File "/src/home-assistant/homeassistant/components/prometheus.py", line 39, in setup
    import prometheus_client
  File "/src/home-assistant/.tox/py36/lib/python3.6/site-packages/prometheus_client/__init__.py", line 4, in <module>
    from . import exposition
  File "/src/home-assistant/.tox/py36/lib/python3.6/site-packages/prometheus_client/exposition.py", line 31, in <module>
    PYTHON26_OR_OLDER = tuple(int(val) for val in sys.version.split()[0].split('.')) < (2, 7, 0)
  File "/src/home-assistant/.tox/py36/lib/python3.6/site-packages/prometheus_client/exposition.py", line 31, in <genexpr>
    PYTHON26_OR_OLDER = tuple(int(val) for val in sys.version.split()[0].split('.')) < (2, 7, 0)
ValueError: invalid literal for int() with base 10: '4+'

Is this still happening with the latest version? I had thought this was fixed.

This was fixed in PR https://github.com/prometheus/client_python/pull/227, merged on 19 Dec 2017.

Great.


Dataset damage

Hi,
I downloaded the dataset from https://yzhang.hpc.nyu.edu/T5Chem/index.html. For USPTO_500_MT and USPTO_TPL dataset, I cannot open them correctly. However, for other dataset, such as USPTO-MIT, it worked.
Thanks a lot.

Could you please tell me the correct encoding format for these files and what should be used to open them?

Hi,
Thank you for the report. I suspect an issue with the webpage download links (which I will address soon! Appreciate the heads-up). Here's the usual process I followed:
Step 1: Copy the download link of the dataset you're interested in.
Step 2: Download the dataset:
wget https://yzhang.hpc.nyu.edu/T5Chem/data/USPTO_500_MT.tar.bz2

Step 3: Unpack the compressed file:
tar -xvf USPTO_500_MT.tar.bz2

Here's what I found on MacOS:

I hope this information is useful!

Hi,
Thanks a lot. You are so nice. I have solved the problem and the webpage download links are correct.
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年6月14日(星期五) 下午4:48
收件人: @.>;
抄送: @.>; "State @.>;
主题: Re: [HelloJocelynLu/t5chem] Dataset damage (Issue #19)
Hi,
Thank you for the report. I suspect an issue with the webpage download links (which I will address soon! Appreciate the heads-up). Here's the usual process I followed:
Step 1: Copy the download link of the dataset you're interested in.
Step 2: Download the dataset:
wget https://yzhang.hpc.nyu.edu/T5Chem/data/USPTO_500_MT.tar.bz2
Step 3: Unpack the compressed file:
tar -xvf USPTO_500_MT.tar.bz2
Here's what I found on MacOS:
image.png (view on web)
I hope this information is useful!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>


Add string udfs

Implement lower and upper single param string udfs.
Resolves #4856

Codecov Report

Merging #4860 into master will decrease coverage by 0.03%.
The diff coverage is 85.71%.

@@             Coverage Diff              @@
##             master    #4860      +/-   ##
============================================
- Coverage     57.61%   57.57%   -0.04%
  Complexity        4        4
============================================
  Files          1202     1203       +1
  Lines         65036    65064      +28
  Branches       9459     9463       +4
============================================
- Hits          37468    37461       -7
- Misses        24782    24831      +49
+ Partials       2786     2772      -14

Impacted Files
Coverage Δ
Complexity Δ

...r/transform/function/TransformFunctionFactory.java
70.68% <100%> (+1.04%)
0 <0> (ø)
:arrow_down:

...m/function/SingleParamStringTransformFunction.java
84.61% <84.61%> (ø)
0 <0> (?)

...er/validation/BrokerResourceValidationManager.java
25% <0%> (-56.25%)
0% <0%> (ø)

...ller/validation/OfflineSegmentIntervalChecker.java
29.48% <0%> (-52.57%)
0% <0%> (ø)

.../org/apache/pinot/client/PinotClientException.java
33.33% <0%> (-33.34%)
0% <0%> (ø)

...apache/pinot/common/metrics/ValidationMetrics.java
47.45% <0%> (-28.82%)
0% <0%> (ø)

...he/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
0% <0%> (ø)

...pinot/broker/api/resources/PinotClientRequest.java
23.8% <0%> (-19.05%)
0% <0%> (ø)

...inot/client/JsonAsyncHttpPinotClientTransport.java
58.69% <0%> (-15.22%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
36.58% <0%> (-14.64%)
0% <0%> (ø)

... and 23 more

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 a2a27d8...38d787d. Read the comment docs.

Added with #5440


Roll engine 26368225b5ec..f54c39d564b4 (7 commits)

git@github.com:flutter/engine.git/compare/26368225b5ec...f54c39d564b4
git log 26368225b5ec..f54c39d564b4 --no-merges --oneline
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/mac-amd64 from mlKdh... to coHoq... (flutter/engine#10467)
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/linux-amd64 from FidkF... to L-ih4... (flutter/engine#10466)
2019-08-02<EMAIL_ADDRESS>Roll src/third_party/skia 83d8a949ae22..fdd03910d6c6 (43 commits) (flutter/engine#10465)
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/mac-amd64 from tPxPZ... to mlKdh... (flutter/engine#10464)
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/linux-amd64 from ySA6l... to FidkF... (flutter/engine#10463)
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/mac-amd64 from bswmz... to tPxPZ... (flutter/engine#10462)
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/linux-amd64 from R6MHy... to ySA6l... (flutter/engine#10455)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (franciscojma@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Wheel not supported installation problem: GPU Ubuntu 64 bit

My installation attempt failed on the last step:
drake@sparky:~$ sudo pip3 install --upgrade $TF_BINARY_URL
[sudo] password for drake:
The directory '/home/drake/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/drake/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl is not a supported wheel on this platform.
drake@sparky:~$ whoami
drake
drake@sparky:~$ sudo -H pip3 install --upgrade $TF_BINARY_URL
tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl is not a supported wheel on this platform.

What to do?
Environment info
Operating System:
drake@sparky:/usr/local/bin/cuda/include$ uname -a
Linux sparky 3.13.0-88-generic #135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Installed version of CUDA and cuDNN:
I've installed cuda-repo-ubuntu1404_7.5-18_amd64.deb.
I think I've installed cuDNN 5.0, but the instructions there are vague offer no way to test it.
(please attach the output of ls -l /path/to/cuda/lib/libcud*):
drake@sparky:/usr/local/bin/cuda$ ls -l lib64/libcud*
lrwxrwxrwx 1 root root       13 Jun 28 09:21 lib64/libcudnn.so -> libcudnn.so.5
lrwxrwxrwx 1 root root       17 Jun 28 09:21 lib64/libcudnn.so.5 -> libcudnn.so.5.0.5
-rwxr-xr-x 1 root root 59909104 Jun 28 09:21 lib64/libcudnn.so.5.0.5
-rw-r--r-- 1 root root 58775484 Jun 28 09:21 lib64/libcudnn_static.a

If installed from binary pip package, provide:

Which pip package you installed.

See above

The output from python -c "import tensorflow; print(tensorflow.__version__)".

drake@sparky:/usr/local/bin/cuda$ python3 -c "import tensorflow; print(tensorflow.__version__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'tensorflow'

I am getting same with a nearly identical setup.   When I did the python 3.4 and 2.7 install I got different errors bit none completed.
Will try and update later with specifics

this got it done for me

This didn't work for me. It claimed to install, and the first test worked, but when I tried to do the convolutional MNIST test at
https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html#run-a-tensorflow-demo-model
I got:
E tensorflow/stream_executor/cuda/cuda_dnn.cc:346] Loaded cudnn library: 5103 but source was compiled against 4007.  If using a binary install, upgrade your cudnn library to match.  If building from sources, make sure the library loaded matches the version you specified during compile configuration.
F tensorflow/core/kernels/conv_ops.cc:459] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

I also tried building from source, which got me to exactly the same point. I'm now caught in a bind:

When I built from source, I definitely specified cuDNN 5.1.3, and that's what I installed, but the source (of what?) "was compiled against 4007".

When I tried to use the binary as tim-scharf suggested, I got the same problem. I can't downgrade cuDNN to version 4, because THAT installation requires downgrading from CUDA 7.5 to 7.0, and I can't figure out how to do that.

Any suggestions would be appreciated.

Ok I still have the CuDNN error as well -- I have 5.0.5 installed and Tensorflow wants 4.0.4.
Apparently this is configurable
$ ./configure
Please specify the location of python. [Default is /usr/bin/python]:
Do you wish to build TensorFlow with GPU support? [y/N] y
GPU support will be enabled for TensorFlow

Please specify which gcc nvcc should use as the host compiler. [Default is
/usr/bin/gcc]: /usr/bin/gcc-4.9

Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave
empty to use system default]: 7.5

Please specify the location where CUDA 7.5 toolkit is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda

Please specify the Cudnn version you want to use. [Leave empty to use system
default]: 4.0.4

Please specify the location where the cuDNN 4.0.4 library is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cudnn-r4-rc/

Please specify a list of comma-separated Cuda compute capabilities you want to
build with. You can find the compute capability of your device at:
https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your
build time and binary size.  Thanks!

Looks resolved. Closing for now...

@PeterDrake Could you please tell me how to do that?
I got
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:390] Loaded runtime CuDNN library: 5005 (compatibility version 5000) but source was compiled with 5105 (compatibility version 5100).  If using a binary install, upgrade your CuDNN library to match.  If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

I'm afraid I don't have any notes other than what's in this thread. I'm guessing I followed the advice posted by tim-scharf above.


Tests should distinguish between absence of end point and lack of data

Minor issue - we have not implemented the reads API but have 3 reads tests passing as the missing endpoints return 404 errors.
This will have to wait until exception handling is fully agreed and documented, but the tests should distinguish between absence of endpoint and lack of data.

I think the correct behavior for a server here should be a HTTP 501 (Not Implemented) @sarahhunt. I'm not sure how we should structure the compliance tests, but the basic idea would be that the server gets low score for 404ing a POST search endpoint like /variants/search, and a slightly better score for returning a 501 telling the client that the end point is not implemented. A server cannot be fully compliant if it doesn't implement all of the API, but it is better to 501 for a missing piece of functionality that to give any other error.
Does this sound sensible to you @calbach?

Yep, definitely agree. 501 is clearest.

Returning 501 for non-implemented endpoints sounds fine to me.
I can see it being a feature servers are often not compliant with - for example, a group with only reads data may not have time to monitor and update their code when new G2P endpoints they don't have data to support enter the release branch.

I think we're in agreement and there's nothing left to be done here so I'm closing. Please reopen if you disagree.


Implement the basic functionality of stack using Array Data structure

Have you read the Contributing Guidelines on Pull Requests?
(Yes.)
Description
(Implemented the basic functionality of stack such as push, pop, peek,is_Empty, is_Full, without using Inbuilt Functions.)
Checklist

[X] I've read the contribution guidelines.
[X] I've checked the issue list before deciding what to submit.
[X] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(#399 )

@siddharth25pandey
Kindly review it and let me know any change needed.

@iamrajiv , @plazzy99  please review this.

@Rishikeshrajrxl fixed typos mistakes across the files. Also, remove unnecessary line breaks.

@iamrajiv ,    What is fixed typos mistake across the file ? Please explain me.

I have made all changes, please review this.

@siddharth25pandey , Done with all changes.

@siddharth25pandey , This pull request is approved, please merge it.


⚠ Bofrost.at has degraded performance

In 0e02a92, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2190 ms

Resolved: Bofrost.at performance has improved in 52dd648.


FLAT JSON - a number of Entry archetypes not saved ?? THose containing DV_ORDINAL or DV_QUANTITY

Steps to reproduce
Successfully uploaded a FLAT JSON composition that is also valid in BetterCDR. Ran GET /composition for FLAT, CANONICAL JSON and CANONICAL XML.
Actual result
There are a large number of gaps where archetyped data appears not be saved or at least is not exposed.
This appears to me to largely OBSERVATION archetypes that contain QUANTITY or ORDINAL datatypes
I have attached sorted input and output FLAT JSON compositions and canonical examples from GET /composition calls as well as the relevant .opt.
Success criteria

[x] The defect has been fixed
[ ] The defect is checked by an unit or an integration test (Robot)
[ ] Merge Request approved
[ ] Unit tests passed
[ ] Build without errors
[ ] Release notes prepared
[ ] Runtime warnings

Compositions.zip
EREACT - Deterioriation assessment.v0.opt.zip

Yes. I can confirm that this happens. Even without the format=FLAT option, the XML composition is missing a lot of elements in the original. Everything but the context information of the composition was missing.
Posted:
{
	"initial_assesment/context/start_time": "2020-12-27T12:17:55.415Z",
	"initial_assesment/context/setting|code": "123",
	"initial_assesment/context/setting|value": "some care",
	"initial_assesment/context/setting|terminology": "local",
	"initial_assesment/glasgow_coma_scale_gcs/time": "2020-12-27T12:17:55.417Z",
	"initial_assesment/glasgow_coma_scale_gcs/language|code": "en",
	"initial_assesment/glasgow_coma_scale_gcs/language|terminology": "ISO_639-1",
	"initial_assesment/glasgow_coma_scale_gcs/encoding|code": "UTF-8",
	"initial_assesment/glasgow_coma_scale_gcs/encoding|terminology": "IANA_character-sets",
	"initial_assesment/pulse/time": "2020-12-27T12:17:55.418Z",
	"initial_assesment/pulse/language|code": "en",
	"initial_assesment/pulse/language|terminology": "ISO_639-1",
	"initial_assesment/pulse/encoding|code": "UTF-8",
	"initial_assesment/pulse/encoding|terminology": "IANA_character-sets",
	"initial_assesment/category|code": "433",
	"initial_assesment/category|value": "event",
	"initial_assesment/category|terminology": "openehr",
	"initial_assesment/language|code": "en",
	"initial_assesment/language|terminology": "ISO_639-1",
	"initial_assesment/territory|code": "IN",
	"initial_assesment/territory|terminology": "ISO_3166-1",
	"initial_assesment/composer|name": "Sidharth Ramesh",
	"initial_assesment/glasgow_coma_scale_gcs/best_eye_response_e|ordinal": 2,
	"initial_assesment/glasgow_coma_scale_gcs/best_verbal_response_v|ordinal": 3,
	"initial_assesment/glasgow_coma_scale_gcs/best_motor_response_m|ordinal": 4,
	"initial_assesment/pulse/presence|code": "at1024",
	"initial_assesment/pulse/rate|unit": "/min",
	"initial_assesment/glasgow_coma_scale_gcs/best_eye_response_e|code": "at0011",
	"initial_assesment/glasgow_coma_scale_gcs/best_eye_response_e|value": "To pressure",
	"initial_assesment/glasgow_coma_scale_gcs/best_verbal_response_v|code": "at0016",
	"initial_assesment/glasgow_coma_scale_gcs/best_verbal_response_v|value": "Words",
	"initial_assesment/glasgow_coma_scale_gcs/best_motor_response_m|code": "at0022",
	"initial_assesment/glasgow_coma_scale_gcs/best_motor_response_m|value": "Normal flexion",
	"initial_assesment/glasgow_coma_scale_gcs/total_score": 9,
	"initial_assesment/pulse/presence|value": "Present",
	"initial_assesment/pulse/presence|terminology": "local",
	"initial_assesment/pulse/rate|magnitude": 56
}

Retrieved:
{
  "meta": {
    "href": {
      "url": "http://ac921189338f:8080/ehrbase/rest/ecis/v1/composition1bf7ae96-62d8-426e-a6a5-04020bbb4f6f"
    }
  },
  "action": "RETRIEVE",
  "composition": {
    "initial_assesment/language|code": "en",
    "initial_assesment/language|terminology": "ISO_639-1",
    "initial_assesment/composer|name": "Sidharth Ramesh",
    "initial_assesment/territory|code": "IN",
    "initial_assesment/territory|terminology": "ISO_3166-1",
    "initial_assesment/category|terminology": "openehr",
    "initial_assesment/category|value": "event",
    "initial_assesment/category|code": "433",
    "initial_assesment/context/setting|code": "123",
    "initial_assesment/context/setting|value": "some care",
    "initial_assesment/context/setting|terminology": "local",
    "initial_assesment/context/start_time": "2020-12-27T12:17:55.415Z",
    "initial_assesment/_uid": "1bf7ae96-62d8-426e-a6a5-04020bbb4f6f::local.ehrbase.org::1"
  },
  "format": "FLAT",
  "templateId": "kmc.initial_assesment.v0",
  "ehrId": "7f9f922f-461a-484d-95c3-b6961e7d9c7b",
  "compositionUid": "1bf7ae96-62d8-426e-a6a5-04020bbb4f6f"
}

Opt: kmc.initial_assesment.v0.opt.txt

I confirm I have a similar problem in ehrbase version 0.14 both posting in xml and json. When the composition is retrieved it misses all the items inside the slot archetypes but one.  (It happens both in the representation shown when I post the composition and in the persisted one retrieved via REST GET)
At the following link:
link to files
I pasted:
-the opt for the compositions. its name is Case4.opt
-a json composition named case.json
-the retrieved json composition named case_retrieved.json
-a xml composition named case2.xml
-the retrieved json composition named case2_retrieved.json
For example comparing the json composition with the one retrieved in three points I have and archetype which has more than one item but only one is retrieved, e.g. Archetype openEHR-EHR-CLUSTER.multimedia.v0 has at0001, at0002, at0008, at0006, at0009. Only at0009 is returned


How to use auto-derivation with contravariant TC

Hi,
I am struggling with the migration of diffx to scala3, especially with the derivation mechanism.
I did a quick check and it seems that changing the Eq tc from magnolia examples also doesn't work. It fails with the following error:
[error] -- Error: /home/kghost0/workspace/magnolia/src/test/tests.scala:295:34 ---------
[error] 295 |      val res = summon[Eq[Person]].equal(Person("John Smith", 34), Person("", 0))
[error]     |                                  ^
[error]     |no implicit argument of type magnolia1.examples.Eq[magnolia1.tests.Person] was found for parameter x of method summon in object Predef.
[error]     |I found:
[error]     |
[error]     |    magnolia1.examples.Eq.autoDerived[A](
[error]     |      /* missing */
[error]     |        summon[
[error]     |          deriving.Mirror{
[error]     |            MirroredType >: magnolia1.tests.Person;
[error]     |              MirroredMonoType >: magnolia1.tests.Person
[error]     |            ; MirroredElemTypes <: Tuple
[error]     |          }
[error]     |        ]
[error]     |    )
[error]     |
[error]     |But no implicit values were found that match type deriving.Mirror{
[error]     |  MirroredType >: magnolia1.tests.Person;
[error]     |    MirroredMonoType >: magnolia1.tests.Person
[error]     |  ; MirroredElemTypes <: Tuple
[error]     |}.

Am I missing something? Has somebody tried already something like that?
Full code to reproduce this error can be found here: https://github.com/ghostbuster91/magnolia/tree/contravariant-derivation-3
Notice that calling derivation explicitly Eq.derived[Person] works without any problems.

HI, this might be connected to https://github.com/lampepfl/dotty/issues/13146

Well yes and no :) In the linked issue it is said that this is due to the limitation of the type inference. Providing more information to the compiler using alternative syntax solves this problem.
In my linked example I have already done it for the Tree ADT where new syntax for derivation
sealed trait Tree[+T] derives Eq
object Tree:
  given [T: [X] =>> Show[String, X]] : Show[String, Tree[T]] = Show.derived

was replaced with
sealed trait Tree[+T]
object Tree:
  given [T: [X] =>> Show[String, X]] : Show[String, Tree[T]] = Show.derived
  given lEq[T: Eq] : Eq[Leaf[T]] = Eq.derived[Leaf[T]]
  given bEq[T: Eq] : Eq[Branch[T]] = Eq.derived[Branch[T]]
  given tEq[T : Eq]: Eq[Tree[T]] = Eq.derived[Tree[T]]

But the Eq tc implements AutoDerivation from magnolia so it should be possible to use it without any additional definitions for the Entity ADT.

@ghostbuster91 what if you add an explicit type parameter to derived? e.g. Show.derived[[X] =>> Show[String, X]]]?

@adamw I mentioned the change in Eq definition for Tree ADT, because without that the project didn't want to compile after making Eq tc contravariant. As soon as I did it, it worked. The second change which I made was to replace single line in tests:
val res = Eq.derived[Entity].equal(Person("John Smith", 34), Person("", 0))
with summoning an implicit instant:
val res = summon[Eq[Person]].equal(Person("John Smith", 34), Person("", 0))
This change alone (without going contravariant) works, but combined with contravariant modification it fails to compile.
Sorry if that wasn't clear from my original issue.

@ghostbuster91
Ok, so the problem actually involves a hierarchy that wasn't edited in the commit. I must have missed it before, sorry :smile:
Adding explicit instances for Entity seems to solve the problem.
object Entity:
  given Eq[Entity] = Eq.derived[Entity]
  given Eq[Person] = Eq.derived[Person]
  given Eq[Company] = Eq.derived[Company]

No problem :) But that seems like a semi-auto derivation, doesn't it?

Yes, it does. But that feels like a dotty bug since the instance is generated correctly. The only problem is with finding already existing instances.

Came here from diffx. Thanks for looking at this @ghostbuster91 and @KacperFKorban. Do we have a way forward or are we still blocked by https://github.com/lampepfl/dotty/issues/13146? Happy to help out if needed


What is the Release Schedule?

How often do you make a new release for the library? I see that v4.2.0 went out a few weeks back.
I need a release including https://github.com/src-d/go-git/pull/795 for my own application so wondering how long until that next release will be created.

We don't have any formal release schedule, when we have a meaningful amount of changes we release a new one, I just released the v4.2.1


Support SVG with only viewbox specified

When both width and height are not specified, viewbox could be a measure for the dimensions of an image.

Looks like Travis failed due to NPM unavailability.

@netroy what do you think about this issue? I need to fix it too. Maybe I can help?

Any updates on this?

@kyleolsondesign @ai I've emailed npm support to try to claim ownership of this package on npm, so we can get fixes like this rolled in. I'll keep you posted.

I'll review the code according to my latest findings I've contributed to https://github.com/lob/calipers/pull/30, check the tests and merge it.

Improvements:

learns to calculate dimensions if only a viewBox is specified;
ignores width and height set in percents;
handles single-quoted SVGs.

@zeke, can we release?

https://github.com/image-size/image-size/commit/0d6723b3345ae81d41f2c27e50c89cca522c377d


implemented add inventory source form to sources page list

Jira ticket: https://issues.redhat.com/browse/AAP-8287
Before:

After:

@prat98 Yes. In the old UI, clicking that option renders nothing of value. It looks like an unfinished source type.


⚠ Bofrost.at has degraded performance

In bc45dcb, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1977 ms

Resolved: Bofrost.at performance has improved in 1a5c2fc.


Fix gosec errors and enable gosec linter

Checked all found issues and applied fixes/ #nosec statements.
Now that all issues are fixed, I removed the gosec linter from the ignored section so future issues will be detected.
NOTE FOR REVIEWER:
Use make verify-golangci-lint to quickly run golangci-lint.
I had to mix the comments with the code to make sure the nosec comments were picked up by gosec (see https://github.com/securego/gosec/issues/278#issuecomment-745209803).

/approve
/lgtm


include @jgibson changes into the latest RC2 version of the plugin

I did this work independently in 1.0-RC3 and 3.0.0.M1


bsbm docker

create a bsbm docker, which downloads the benchmark upon build.
includes a script to generate sql and ttl files to /data/benchmark/ttl and /data/benchmark/sql.
the script requires scale factor as sole input.

target data generation folder has to be in line with the folders of the data image of the docker-compose script.


fix(storagehandler): minification removes constructor.name and fails description

Some minification processes obfuscate this.constructor.name. However, StorageHandler is checking the
this.constructor.name at runtime when it validates the encrypted payload. Since there is a mismatch,
decryption doesn't even start.
Closes #35

Codecov Report

Merging #36 into master will increase coverage by 0.43%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #36      +/-   ##
==========================================
+ Coverage   89.36%   89.79%   +0.43%
==========================================
  Files           8        8
  Lines          94       98       +4
  Branches        8        8
==========================================
+ Hits           84       88       +4
  Misses          4        4
  Partials        6        6

Impacted Files
Coverage Δ

src/storage/handler.ts
84.00% <100.00%> (+0.66%)
:arrow_up:

src/storage/inMemory.ts
100.00% <100.00%> (ø)

src/storage/localStorage.ts
75.00% <100.00%> (+3.57%)
:arrow_up:

src/storage/sessionStorage.ts
77.77% <100.00%> (+2.77%)
:arrow_up:

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 db6757c...8ca4db6. Read the comment docs.


BAU - Set JAVA_HOME for pact provider tests

WHAT

both connector and adminusers using Java 11.

@alexbishop1 yes that's a good point. Looking at the consumer/provider relationships, for now during pact tests it'll be Connector running its tests with 11JDK whilst still on 8 in production. We plan to release Connector to 11 on Monday to give some time for other issues to surface with the others.
https://pact-broker-test.cloudapps.digital/groups/selfservice


nginx .html try-file to fix permalink issue

see http://jekyllrb.com/docs/permalinks/#nginx
Tested on https://music.kylemattimore.com

Thank you so much! Gonna try this ASAP.


Align OTEL http attributes with latest standard

Closes #120

@microsoft-github-policy-service agree

I've searched the whole project for attributes listed in #121 and replaced them all. Retry handler has retry_count attribute mentioned in #119, but I wanted to create another PR for it, because I'm not sure about implementation of retry_delay attribute. "int duration in seconds before the request was retried" Does it mean number of seconds between every retry or total sum for all retries?

Thank you for the additional information.
The attributes in the retry handler are both outdated AND different from the fullfill/reject implementations...
We'd need to:

move them to a constant to avoid repetition
update them

The areas I could find
https://github.com/microsoft/kiota-http-guzzle-php/blob/0fb71b6eb67aece7712462e6207a08666048115e/src/Middleware/RetryHandler.php#L161
https://github.com/microsoft/kiota-http-guzzle-php/blob/0fb71b6eb67aece7712462e6207a08666048115e/src/Middleware/RetryHandler.php#L117
And to answer your question: retry delay I think it the delay of each retry (not the total delay).
Let us know if you have any additional comments or questions.

also the status code attribute is missing in this handler.

I added second commit to update resend_count and resend_delay attributes and add status_code attribute in RetryHandler class. If everything is ok, it closes #119

Done.


[widget name] Improve #canonical error message

In response to issue https://github.com/mojotech/dill/issues/112

:shipit:

:tada:


ImportError: cannot import name 'Row' from 'sqlalchemy'

System Info
Version: langchain 0.0.336
Version: sqlalchemy  2.0.1
File "/Users/anonymous/code/anon/anon/utils/cache.py", line 40, in set_cache
from langchain.cache import SQLiteCache
File "/Users/anonymous/dotfiles/virtualenvs/aiproject/lib/python3.11/site-packages/langchain/cache.py", line 45, in
from sqlalchemy import Column, Integer, Row, String, create_engine, select
ImportError: cannot import name 'Row' from 'sqlalchemy' (/Users/anonymous/dotfiles/virtualenvs/aiproject/lib/python3.11/site-packages/sqlalchemy/init.py)
Who can help?
No response
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
from langchain.cache import SQLiteCache
Expected behavior
Doesn't throw exception

Still hapenning in version 0.339

same here, is there a fix being planned?

I mean a simple try except when importing Row would be a good workaround until the dependency mare is dealt with. Is it okay to do a quick PR for that?

The problem is that Row is only defined as part of SQLAlchemy 2+, whereas langchain at the time of writing has a dependency on sqlalchemy ">=1.4,<3". I think in the this change to add SQLAlchemyMd5Cache the dependency needed to be updated to >=2.0.0.
Although OP reports having 2.0.1 installed, the fix for me was to specify sqlalchemy above 2.0.0 (I have tested with 2.0.0 and 2.0.1)


VS fails to show proper intellisense when using multiple ThenIncludes

See this SO post.
I was trying another .Include(blah).ThenInclude(blah), and while intellisense worked for the first, the second only showed IEnumberable functions/methods which lead me to believe I had mistyped something or it wasn't supported somehow.
For example...
var reg =  _context.Registrations
  .Where(r => r.User.UserName == userName)
  .Include(r => r.Activities).ThenInclude(a => a.Task)
  .Include(r => r.Activities).ThenInclude(a => a.Responses)
  .FirstOrDefault();

The second a in the second ThenInclude did not show this as being a valid property.  Thanks to the contributor to my SO post I tried building and running it anyways and it worked fine.  VS lead me astray! ;)  Is this the proper place to report this?
VS Info...

Microsoft Visual Studio Professional 2015
Version 14.0.24720.00 Update 1
Microsoft .NET Framework
Version 4.6.01055
Installed Version: Professional

EF info (as per project.json & "References" tree control in VS)...

EntityFramework.Core (7.0.0-rc1-final)

Some more details...
Here are the two definitions of ThenInclude. The issue is that after calling .Include on a collection, IntelliSense uses the second overload.
public static IIncludableQueryable<TEntity, TProperty> ThenInclude<TEntity, TPreviousProperty, TProperty>(this IIncludableQueryable<TEntity, ICollection<TPreviousProperty>> source, Expression<Func<TPreviousProperty, TProperty>> navigationPropertyPath) where TEntity : class;
public static IIncludableQueryable<TEntity, TProperty> ThenInclude<TEntity, TPreviousProperty, TProperty>(this IIncludableQueryable<TEntity, TPreviousProperty> source, Expression<Func<TPreviousProperty, TProperty>> navigationPropertyPath) where TEntity : class;

This is unfortunate because chaining after calling Include on a collection is the primary use case for ThenInclude. After a reference, you have the option of just dotting thru within the Include call.

@divega to file an issue with VS

Here is a self-contained repro (i.e. no EF in the picture but just API mockups):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;

namespace ThenIncludeIntellisenseBug
{
    class Program
    {
        static void Main(string[] args)
        {
            var registrations = new List<Registration>().AsQueryable();

            var reg = registrations
              .Include(r => r.Activities).ThenInclude(a => a.Task);
              // type "a => a." and only ICollection<T> and Enumerable members appear
        }
    }

    internal class Registration
    {
        public ICollection<Activity> Activities { get; set; }
    }

    public class Activity
    {
        public Task Task { get; set; }
    }

    public class Task
    {
        public string Name { get; set; }
    }

    public interface IIncludableQueryable<out TEntity, out TProperty> : IQueryable<TEntity>
    {
    }

    public static class EntityFrameworkQuerybleExtensions
    {
        public static IIncludableQueryable<TEntity, TProperty> Include<TEntity, TProperty>(
         this IQueryable<TEntity> source,
          Expression<Func<TEntity, TProperty>> navigationPropertyPath)
         where TEntity : class
        {
            return default(IIncludableQueryable<TEntity, TProperty>);
        }

        public static IIncludableQueryable<TEntity, TProperty> ThenInclude<TEntity, TPreviousProperty, TProperty>(
            this IIncludableQueryable<TEntity, ICollection<TPreviousProperty>> source,
            Expression<Func<TPreviousProperty, TProperty>> navigationPropertyPath) where TEntity : class
        {
            return default(IIncludableQueryable<TEntity, TProperty>);
        }

        public static IIncludableQueryable<TEntity, TProperty> ThenInclude<TEntity, TPreviousProperty, TProperty>(
            this IIncludableQueryable<TEntity, TPreviousProperty> source,
            Expression<Func<TPreviousProperty, TProperty>> navigationPropertyPath) where TEntity : class
        {
            return default(IIncludableQueryable<TEntity, TProperty>);
        }
    }
}

This is now tracked as an Intellisense issue: https://github.com/dotnet/roslyn/issues/8237.

Btw the I am facing the same issue on mono (omnisharp) on mac

@ahmad-moussawi feel free to post this information to the Roslyn bug. It can help prioritizing the issue.

Closing as this is an external issue in Roslyn

@divega: @smitpatel is seeing this work correctly now. Can you confirm on your machine?

@smitpatel I can still repro this on my machine, both with EF Core and with the fake code from https://github.com/dotnet/roslyn/issues/8237. I have Visual Studio 15.3.5. Any differences you can think of?

@divega I can confirm that the issue is still active once again at Visual Studio 15.4.0

Would it be an option to have two differently named methods instead of two overloads?

This issue has been resolved in upcoming release of VS 16.1

This issue has been resolved in upcoming release of VS 16.1

I'm with VS 16.3.9 and still see it.
The difference with the example from Roslyn issue is that there the collection overload is defined as
this IIncludableQueryable<TEntity, ICollection<TPreviousProperty>> source

while in EF Core it is
this IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>> source

So when the navigation property type is ICollection<T> (or some other enumerable derived interface), the Intellisense does not offer T members initially. If the navigation property type is IEnumerable<T>, it works.

@powermetal63 - Please file an issue on roslyn repo.


[FLINK-25970][core] Add type of original exception to the detailMessage of SerializedThrowable.

SerializedThrowable will return itself as a stand in if an exception occurs when calling deserializeError(ClassLoader classloader). When this happens, the call stack printed by logger will not contain the class name of original exception.
Therefore, class name information is added to the detailMessage of SerializedThrowable  in this pull request.

Hi @WencongLiu,
I think the code changes show that you've understood the issue correctly. I have mainly two comments:

I'm not sure about the className(message) format. Notice that the original message could be long and contain line breaks. Maybe className: message is better.
CI report shows some test failures. Please take a look.

And you should not open a PR to release-1.14.3-rc1. Normally PRs should be opened to the master branch.


Update Fork and Branches challenges

These two challenges are some of the ones people have the most trouble with. This PR updates the text to hopefully be more clear and it updates the verify step in the Forks challenge to explicitly check that the user has set up their origin remote to point to their fork.
  What exactly needs to be input for branch name when you git push origin?.. when I viewed all my remotes are the same URL.. where do I find the URL for the branch I created?


Dates translations

Hi,
In which file can I find the names of the months?
I would like to translate them, thanks.

That's currently not possible, because Lychee uses date(). Should be changed in the future. Thanks for the request!

To format dates in other languages, you should use the setlocale() and strftime() functions instead of date().
On 22. Februar 2016 at 09:14:55, zikamatej<EMAIL_ADDRESS>wrote:

Hi,
In which file can I find the names of the months?
I would like to translate them, thanks.
—
Reply to this email directly or view it on GitHub.

The next version of Lychee will use strftime (thanks @qligier). Manually setting the correct locale information using setlocale should do the job. Could be placed in the api.php file. Can't provide any additional information as I never used setlocale, yet.
More is planned: https://github.com/electerious/Lychee/issues/207


Using String for Input

First.  Thanks for all the work on this project.  It is nicely done.
Second.  Hopefully I am not missing something obvious and wasting your time but given the following:
string txt_all = "1,2,3,4,5,6";
rapidcsv::Document csv_doc(txt_all, rapidcsv::LabelParams(-1, -1),
rapidcsv::SeparatorParams(delimiter[0] /* pSeparator /,
false / pTrim /,
rapidcsv::sPlatformHasCR / pHasCR /,
false / pQuotedLinebreaks /,
true / pAutoQuote */));
Can you help me see why this fails?   I get a RunTime Library error.   "This application has requested the Runtime to terminate in an unusual way...."
Using the exact some code with a file works fine.  I only have this problem with a "string".  Thanks.
Jim

Also, if I  submit this it works fine as well.
istringstream(txt_all)
Jim

Also, if you would be so kind...What would a GetRow() look like using an Index?  I have tried:
vector myvector;
myvector = GetRow(0);
myvector = GetRow<vector>(0);
myvector = GetRow(0);
myvector = GetRow(0);
myvector = GetRow<>(0);
myvector = GetRow(0);
etc.
All fail outright in VS2019 except myvector = GetRow(0);.  It compiles fine but I get the same error as mentioned above.
Also, I am on Win10, if that helps.
Thanks again.
Jim

Hi @jtaylorme - the Document() constructor accepts either a std::string containing a file path to a CSV file or a std::istream pointing to a stream of CSV data.
The way to read CSV data stored in a std::string is to use a string stream, as you've found. It's documented in the README as well.

I see now and how I misinterpreted the string overload.  Thank you.
Jim


Advanced Endpoint Configuration changes not getting saved in UI

Description:
In the UI when endpoint type is set to HTTP/SOAP and click on advanced configuration, then change the message content format. After saving the changes the change is not getting persisted.
Steps to reproduce:

Create an API
Go to endpoint configuration
Select HTTP/SOAP as endpoint type
Click on advanced configuration.
select "Representational State Transer (REST)" as the message content format.

Affected Product Version:
2.5.0
Environment details (with versions):

OS:
Client:
Env (Docker/K8s): Standalone

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

This is fixed in the latest