RFE: API change IPolyline should extends IConstraint

IPolyline should extends IConstraint.
Another possiblity is to completely remove IPolyline because all methods can be member of IConstraint.

I've run into a few annoying dependency issues with those two interfaces.  Maybe your idea of just getting rid of IPolyline is a good idea.

I'm not sure what I can do with this.
IConstraint extends IPolyline because all the polyline concept is less specific than the constraint concept. All constraints are polylines.  But a polyline can be something other than a constraint.
That being said, I don't think that the code I have that operates on polylines is sufficiently useful that anyone would want to apply it to other applications.   So I am considering just getting rid of the interface.
I am curious about why you want to see IPolyline removed.  Is it interfering with something you want to do?


[Question] Is there a way to check if media is playing?

There is no change in state, when the media is playing and when not.
So the question is whether it's possible to somehow check if Netflix (any other source) is playing or paused?

Unfortunately no, at least as I know.

Got it
Thanks


Not possible to use with GitHub for manifest repository when using Azure DevOps for CI/CD

I was not able to configure the GitOps Connector to work with Azure DevOps as CI/CD and GitHub for Manifests repository.
As far as I understand this is currently not possible to use it like this. The tool can be used only if both Manifests repository and CI/CD pipelines are on one - either GitHub or Azure DevOps, but not mixed.
Could you please confirm that?
If that's the case, could this be clearly stated in the documentation? Currently, the configuration have separate fields for gitRepositoryType and ciCdOrchestratorType which imply they can be set to different values and work.
From what I understand, to use Azure DevOps pipeline agentless waiting for deployment status - we need to push information about the callback to Git pull request properties, but setting properties is only available in Azure DevOps repositories and not in GitHub.
Could you suggest some workaround for this?

True. The reason why it's not possible is that you can provide only single PAT which is used for both orchestrator and repository. It's fairly easy to update that behavior so one can provide separate tokens.
However, even with implementing No 1, it still won't work due to the reason you mentioned. GH doesn't have PR properties. The method get_pr_metadata is not implemented for GH.

That's why's there are two different ways of using GitOps Connector:

With Azdo. Described here and here
With GitHub. Described here and here

PRs are welcome.


Do not alarm on absent token

If there's no token present on an auth request, we shouldn't trigger an alarm - this happens as a result of vulnerability scanners and occasionally developer testing/debugging (e.g. just opening https://giant.pfi.gutools.co.uk/api/search in your browser will fire this alarm).
We should also return a more specific message in the response, and in our logging.
Even though there's a jwtSession abstraction attached the to request object by the pdi.jwt library that we use, we have to check for the presence of the token header directly, because request.jwtSession gets initialised with some default properties if there's no actual JWT token in the request. This seems a little odd to me, but since it's in the library we can't control this behaviour.

 Investigate Giant failure alarms triggered by "Authentication failure: Failed to parse token:"

 Investigate Giant and Playground alarms that fired on Thurs 15th July and Mon 19th July


Saptarshi | Added google site verification to index.html

Added google site verification to index.html for verifying the website in google and help in indexing.
https://search.google.com/search-console/welcome

I will create another issue for verification once it is in prod.


403 errors

When trying to retrieve safe members, I get 403 errors.
cybr cli test# cybr logon -u clb10 -a ldap -b https://pim-qa.redacted.com
Enter password: Successfully logged onto PAS as user clb10.
cybr cli test# cybr safes list-members -s DAP_PCF_RITM0315107 | grep UserName
2021/01/14 08:08:44 Failed to retrieve a list of all safe members for DAP_PCF_RITM0315107. Failed to list members of safe 'DAP_PCF_RITM0315107'. Received non-200 status code '403'
cybr cli test# cybr safes list-members -s DAP_PCF_RITM0315107 | grep UserName
"UserName": "ChrisB"
"UserName": "Master"
"UserName": "Batch"
"UserName": "Backup Users"
"UserName": "Auditors"
"UserName": "Operators"
"UserName": "DR Users"
"UserName": "Notification Engines"
"UserName": "PVWAGWAccounts"
"UserName": "Vault Admins"
"UserName": "LOBUser_PCF"
"UserName": "GG_PIM_DAP_PCF_PacMan"
cybr cli test# cybr safes list-members -s DAP_PCF_RITM0315107 | grep UserName
2021/01/14 08:08:49 Failed to retrieve a list of all safe members for DAP_PCF_RITM0315107. Failed to list members of safe 'DAP_PCF_RITM0315107'. Received non-200 status code '403'
cybr cli test# cybr safes list-members -s DAP_PCF_RITM0315107 | grep UserName
2021/01/14 08:08:52 Failed to retrieve a list of all safe members for DAP_PCF_RITM0315107. Failed to list members of safe 'DAP_PCF_RITM0315107'. Received non-200 status code '403'
cybr cli test# cybr safes list-members -s DAP_PCF_RITM0315107 | grep UserName
2021/01/14 08:08:54 Failed to retrieve a list of all safe members for DAP_PCF_RITM0315107. Failed to list members of safe 'DAP_PCF_RITM0315107'. Received non-200 status code '403'
cybr cli test# cybr safes list-members -s DAP_PCF_RITM0315107 | grep UserName
"UserName": "ChrisB"
"UserName": "Master"
"UserName": "Batch"
"UserName": "Backup Users"
"UserName": "Auditors"
"UserName": "Operators"
"UserName": "DR Users"
"UserName": "Notification Engines"
"UserName": "PVWAGWAccounts"
"UserName": "Vault Admins"
"UserName": "LOBUser_PCF"
"UserName": "GG_PIM_DAP_PCF_PacMan"
cybr cli test#
Let me know if you need me to collect logs from anywhere.

First off, thank you for creating an issue. Getting feedback will help us create a more robust and solid product.
This seems backend related since a 403 is being returned.
I will attempt to replicate in my lab.
For the time being, what PAS version are you using?

First off, thank you for creating an issue. Getting feedback will help us create a more robust and solid product.
This seems backend related since a 403 is being returned.
I will attempt to replicate in my lab.
For the time being, what PAS version are you using?

We are running <IP_ADDRESS>

On Thursday, January 14, 2021, 12:14:55 PM EST, Andrew Copeland<EMAIL_ADDRESS>wrote:
First off, thank you for creating an issue. Getting feedback will help us create a more robust and solid product.
This seems backend related since a 403 is being returned.
I will attempt to replicate in my lab.
For the time being, what PAS version are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

We are running <IP_ADDRESS>

On Thursday, January 14, 2021, 12:14:55 PM EST, Andrew Copeland<EMAIL_ADDRESS>wrote:
First off, thank you for creating an issue. Getting feedback will help us create a more robust and solid product.
This seems backend related since a 403 is being returned.
I will attempt to replicate in my lab.
For the time being, what PAS version are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@infamousjoeg  Do you think the PAS version might be related to this error?

@infamousjoeg  Do you think the PAS version might be related to this error?

@cbarga Thank you for submitting this issue!
Upon reading our API documentation for v11.1, it would appear that only the v1 API endpoint is available for that version: https://<IIS_Server_Ip>/PasswordVault/WebServices/PIMServices.svc/Safes.
Our CLI currently uses only v2 API endpoints for sending requests. The List Safes v2 API endpoint was available in v11.1 of PAS, however, it was hidden due to still being in a beta testing phase.  The 403's you're experiencing will disappear after your next Core PAS upgrade.
I'll be sure to update our README.md for v0.0.6-alpha's upcoming release to reflect a recommended minimum Core PAS and Conjur version.
@AndrewCopeland -- we should keep this bug opened for others to be able to read the solution.  I'll close this after the README.md is updated.

@cbarga Thank you for submitting this issue!
Upon reading our API documentation for v11.1, it would appear that only the v1 API endpoint is available for that version: https://<IIS_Server_Ip>/PasswordVault/WebServices/PIMServices.svc/Safes.
Our CLI currently uses only v2 API endpoints for sending requests. The List Safes v2 API endpoint was available in v11.1 of PAS, however, it was hidden due to still being in a beta testing phase.  The 403's you're experiencing will disappear after your next Core PAS upgrade.
I'll be sure to update our README.md for v0.0.6-alpha's upcoming release to reflect a recommended minimum Core PAS and Conjur version.
@AndrewCopeland -- we should keep this bug opened for others to be able to read the solution.  I'll close this after the README.md is updated.


Axis points on touch

Hi, firstly thank you for creating a great and simple radar chart widget!
Do you have any plans to add ontouch or onclick event for the axis points ?  Or is there already a way I can determine which axis point has been clicked ?

Hi @windaddict10 !
Thank you for the comment.
Your question is very interesting. Actually, I can't remember I have ever needed to click on charts, therefore the library doesn't support such functionality yet.
This can be a nice improvement for future releases.

Thanks for the charts. They are customisable to a degree, can you add ability to change colours for label text like you have for gradient(startColor and endColor) and axisColor? :)


Inputting seed words from Ethereum Staking-Deposit-CLI should add wallets of staked ETH 2.0 to Ledger

Description
Describe your issue in as much detail as possible here.
Your environment

OS and version - Linux
branch that causes this issue - Any
Device (Nano S, Nano X, Ledger Blue) - Nano X

Steps to reproduce

Tell us how to reproduce this issue
Use Staking-Deposit-CLI, stake 32 Ethereum, input 24 seed words into a fresh Nano X, note that adding ETH Wallets to Ledger Live does not show the Staked 32 Ethereum

Where the issue is, if you know
Somewhere between this app and Ledger Live, the wallet does not detect the wallet from the words generated by Staking-Deposit-CLI

Which commands triggered the issue, if any

Adding wallet to Ledger Live
Expected behaviour
It should show the 32 Ethereum (or more) staked from Staking-Deposit-CLI wallet words
Actual behaviour
The account does not show any staked Ethereum
Logs
Available upon request
Proposed solution
Check generating 24 words from https://github.com/ethereum/staking-deposit-cli/releases/  << this project, add 32 ethereum staked and see if it comes up on Ledger Live / Ledger.

@jeffersonwarrior this is an enhancement request to be done on Ledger Live side, not here, thank you.

@adrienlacombe-ledger So does the Ethereum app natively support the 24 words generated by the Staking-Deposit-Cli? Because if it does not, then Ledger Live will not work.

It does but it won't achieve what you expect, if you want to see your staked ETH in Ledger Live, this is an issue with Ledger Live, not the ethereum nano app.

Moving to Ledger Live


Removing conditional returns and non factory calls

All internal DC creation limited to _factory calls, all functions either return a datacollection or don't return a collection.
Signed-off-by: Filip Haltmayer<EMAIL_ADDRESS>

Codecov Report

Merging #1171 (756f3cf) into main (967e2ed) will decrease coverage by 0.16%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##             main    #1171      +/-   ##
==========================================
- Coverage   63.00%   62.83%   -0.17%
==========================================
  Files         240      240
  Lines       11466    11457       -9
  Branches     1824     1821       -3
==========================================
- Hits         7224     7199      -25
- Misses       3775     3793      +18
+ Partials      467      465       -2

Impacted Files
Coverage Δ

towhee/functional/data_collection.py
85.64% <82.60%> (-1.02%)
:arrow_down:

towhee/functional/mixins/dataset.py
94.59% <100.00%> (ø)

towhee/functional/mixins/serve.py
84.70% <100.00%> (ø)

towhee/engine/task_scheduler.py
60.49% <0.00%> (-11.12%)
:arrow_down:

towhee/engine/graph_context.py
86.15% <0.00%> (-4.62%)
:arrow_down:

towhee/engine/operator_context.py
82.60% <0.00%> (-2.18%)
:arrow_down:

towhee/engine/operator_runner/runner_base.py
91.56% <0.00%> (-0.61%)
:arrow_down:

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 967e2ed...756f3cf. Read the comment docs.

I think it's better to make DC immutable, making it safe for multi-thread and distributed execution.

/lgtm


Add sdk env clear subcommand

Fixes #824
Please note that the changes introduced here could use some refactor. However at the time of submitting this work there's an ongoing PR #785 overlapping with this one and addressing just that. Therefore I'd rather wait to see it progress instead of repeating the same work.

From my POV #785 can be ignored as there are some currently unsolved problems which prevent implementing this.
When I will revisit #785 I could perform the refactoring within the scope of that ticket (or even create a dedicated ticket for that).

In such a case I will perform the refactor now that I've got myself covered with some tests

Any stoppers for this? 🙄

Hi @mperezi!
Looks fine to me! Wdyt @marc0der?

Great work @mperezi, thanks for the contribution!


Integration Not Found

Latest HAOS (2021.6.1) with lennoxs30: and cloud credentials in configuration.yaml and the directory lennoxs30 in custom_components.

s.

I’ll do some experimentation to see if I can get that error and what HA specifically looks for.  I think it just looks for the presence of  init.py
so something like this
haconfig/custom_components/lennoxs30/init.py
there should also be climate.py, s30api_async.py, manifest.json in that directory.
please post a screen shot of the directory.

Here you go:

That certainly looks correct.

Do you have other custom components that work?
This article talks about permission problems:
https://community.home-assistant.io/t/custom-component-not-found/99227
Basically it should use the string from the configuration.yaml file
lennoxs30:
and try to load from a directory called custom_components/lennoxs30

i have not tried it on 2021.6.1, i will do that tonite

Yes, several. File permissions are 744.

I tried in on 2021.6.1 last night and it works fine for me,  I’ll try a few more things later today.
Any information in the log file?  have you tried restarting the container?

Have it running after I updated to 2021.6.2. Just didn't restart enough I guess. Climate sensors are being created. However, sensors for inactive zones report as unavailable instead of current temp. Two sensors are created to describe the s30 and lennox zone.  I have an s30 in the Kitchen and have a climate sensors for Kitchen and one for South (the Kitchen thermostat zone), This may be due to my hap-hazard naming scheme.
Anyway,  it's running. I'll setup a few cards to monitor the output. Thank you for taking this on. Homekit Controller is problematic with my setup.

Great news.  I just had recreated the issue by putting the custom_component in without restarting.  I'll update those notes.
Please log issues for those other items and we can close this issue?
I'm actively working on the next set of things.  I only have 1 zone, so I've never seen a multi-zone system.  Really interested in understanding details of what works and doesn't

Will do.

On the issue with the two non working sensors.  We should be able to get it to work.
I'll need the following:

Turn debug on for this component in configuration.yaml - configuration is in the readme.
FIre up the lennox app on your phone if you have it (so we can grab some screen shots of what the app shows the data as)
Restart HA, wait for it to come up, let it run for ~5 minutes
Grab the log file
Grab some screen shots from the lennox app that shows the missing data
Create an issue and post that stuff with it.

I’ll get all that together and open a new issue.


Query for genome range with grch38 returns 500 status code

Describe the bug
For a specific request (which seems to be valid), annonars returned 500 error.
To Reproduce
Steps to reproduce the behavior:

Try this url: https://reev.cubi.bihealth.org/internal/proxy/annonars/annos/range?genome_release=grch38&chromosome=17&start=80104789&stop=80119881
Or this url: https://reev.cubi.bihealth.org/internal/proxy/annonars/annos/range?genome_release=grch38&chromosome=17&start=123&stop=1234
Or this one: https://reev.cubi.bihealth.org/internal/proxy/annonars/annos/range?genome_release=grch38&chromosome=16&start=68829738&stop=68829999

Expected behavior
Either the request is invalid, or there're some problems with the annonars
Additional context
Data used in request:
Genome release: grch38
chromosome: 17
start: 80104789
stop: 80119881
Funny, that by changing genome release - everything worked.
Here is the response message:
problem decoding protobuf from database (cf_name=gnomad_nuclear_data): failed to decode Protobuf message: AgeInfo.age_hist_hom_bin_freq: Record.age_info: invalid wire type: ThirtyTwoBit (expected Varint)

Fixed now. Note that this rolled out gnomad-genomes v4.1.


log error or fallback when geotransform present

see https://github.com/radiantearth/stac-browser/issues/222

log an error and fall back to tile server if configured. Otherwise, throw an error?

Do we have an example geotiff with a geotransform that we can use?

@philvarner

Sorry, I can't share it

No worries.

@DanielJDufour It seems that we have an example for this in #61 now.

@m-mohr , yes!


Topic listeners leakage

Redis version
7.2
Redisson version
3.40.3-SNAPSHOT
Redisson configuration
Production config:
sentinelServersConfig:
checkSentinelsList: false
sslEnableEndpointIdentification: false
readMode: "MASTER"
subscriptionMode: "MASTER"
subscriptionConnectionPoolSize: 100
subscriptionsPerConnection: 10
subscriptionTimeout: 1000
sentinelAddresses:
- "${redis_hosts_0}"
- "${redis_hosts_1}"
- "${redis_hosts_2}"
What is the Expected behavior?
all listeners are cleared after removal
What is the Actual behavior?
some subscribers remain active after removal
Additional information
We kept catching an error like this on production:
org.redisson.client.RedisTimeoutException: Unable to acquire subscription lock after Nms. Try to increase 'subscriptionTimeout', 'subscriptionsPerConnection', 'subscriptionConnectionPoolSize' parameters.

We raised the pool of subscribers and subscription timeout to 15 seconds (although in our scenario we would generally want to wait 100-200 milliseconds at most).
But errors still appeared, but not immediately, but after a few days of work.
It is important to note that at the same time on the server now about 0-2 subscribers, so there should not be a race for the subscription lock.
Began to suspect a subscriber leak, found several places with the leak in ours business logic, and the following test was found to reproduce the leak in redisson itself:
public class RacePubSubTest extends RedisDockerTest {

    @Test
    public void testSubscriptionsRaceWithLambda() throws ExecutionException, InterruptedException {
        final PublishSubscribeService subscribeService = ((Redisson) redisson)
                .getConnectionManager().getSubscribeService();
        assertThat(subscribeService.countAllListeners()).isZero();

        final RTopic topic = redisson.getTopic("topic");

        final int tasksCount = 100;
        final Runnable task = () -> {
            final MessageListener<Object> listener = (a, b) -> {};
            final int listenerId = topic.addListener(Object.class, listener);
            topic.removeListener(listenerId);
        };

        try (final var pool = Executors.newFixedThreadPool(2)) {
            final List<Future<?>> futures = IntStream.range(0, tasksCount)
                    .mapToObj(i -> task)
                    .map(pool::submit)
                    .collect(Collectors.toList());
            for (final Future<?> future : futures) {
                future.get();
            }
            pool.shutdown();
        }

        assertThat(subscribeService.countAllListeners()).isZero();
    }

}

This test failed (sometimes flap, if you increase the number of threads and tasks will fail constantly) on a fresh master on a branch from this pr: https://github.com/redisson/redisson/pull/6344
The most interesting thing is that to fix the test, all you have to do is replace the lambda:
final MessageListener<Object> listener = (a, b) -> {};

With an explicit instant:
final MessageListener<Object> listener = new MessageListener<Object>() {
    @Override
    public void onMessage(CharSequence channel, Object msg) {
    }
};

I discovered that the subscription service uses System.identityHashCode as id of listener and in this example jvm optimizes lambda creation and uses exactly 1 object with identical System.identityHashCode.
But I also see that in the library code the raw listener is wrapped in another object with explicit creation and supposedly there shouldn't be a problem with the same hashcode after that, but it seems there is. So far I haven't been able to figure out what exactly is going wrong here, so I bring an issue rather than a PR with fixing it.
I have also reproduced this bug with amazon coretto, openjdk, and liberica (21 versions if it matters).
Unfortunately even after fixing our leaks and replacing lambda with an explicit instance we still keep getting the subscription lock error, so I'm also attaching a PR (https://github.com/redisson/redisson/pull/6344) adding a way to calculate the number of active subscribers across all channels to set up monitoring and either confirm the existence of some other source of the leak or confirm that we need to dig in a different direction.

But I also see that in the library code the raw listener is wrapped in another object with explicit creation and supposedly there shouldn't be a problem with the same hashcode after that, but it seems there is.

hashcode of the listener and not a wrapper is used

It's a race-condition issue.

and there is the path of new listener:
. raw at RedissonTopic.addListener
-> raw at public RedissonTopic.addListenerAsync
-> wrapper at protected RedissonTopic.addListenerAsync
and in protected RedissonTopic.addListenerAsync
return System.identityHashCode(pubSubListener); for already wrapper pubSubListener and because of the identity hash code the hash code override from the wrapper is not used
Maybe I'm not seeing something, but with debugger I also see that the identity hash code from the wrapper is called

and in protected RedissonTopic.addListenerAsync
return System.identityHashCode(pubSubListener); for already wrapper pubSubListener and because of the identity hash code the hash code override from the wrapper is not used

You're right. This is the cause.

hashcode of the listener and not a wrapper is used

by the way it would seem logical to me if the code above worked correctly, i.e. using the same object as a listener many times looks useful especially in the context of jvm optimizations
especially if the listener is stateless too
otherwise, having written a lambda here, when using the lambda hashcode, I could spend a very long time debugging a test where I would get, for example, 0 subscribers after deleting only one of the many ones

duplicated hashcodes are allowed by JVM specification and we finally got them :)

I'll fix it

@mrniko
Today I ruled out the existence of a leak at our place by monitoring the number of subscriptions in the redis server itself
But I think I've been able to replicate what's going on here.
Here's a test bench where the listener creation time is severely degraded. We have some kind of non-zero duration call going on in the listener. That seems to be the issue here. I think we stole the redisson thread. Here is a code sample:
public class PubSubTest extends RedisDockerTest {

    public static class TopicWorker implements Runnable {
        private final RedissonClient redisson;

        public final Deque<Long> latencies = new ConcurrentLinkedDeque<>();

        public TopicWorker(RedissonClient redisson) {
            this.redisson = redisson;
        }

        @Override
        public void run() {
            try {
                final RTopic topic = redisson.getTopic(UUID.randomUUID().toString());
                final MessageListener<Object> listener = new MessageListener<Object>() {
                    @Override
                    public void onMessage(CharSequence channel, Object msg) {
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                    }
                };
                final Instant start = Instant.now();
                final int listenerId = topic.addListener(Object.class, listener);
                final Instant end = Instant.now();
                topic.publish(new Object());

                topic.removeListener(listenerId);
                latencies.addLast(Duration.between(start, end).toMillis());
            } catch (Throwable t) {
                System.out.println("Error: " + t);
            }
        }
    }

    @Test
    public void pubSubLatencyTest() {
        final int numTasks = 100;
        final int numThreads = 20;

        final TopicWorker worker = new TopicWorker(redisson);
        try (final var pool = Executors.newFixedThreadPool(numThreads)) {
            for (int i = 0; i < numTasks; ++i) {
                pool.submit(worker);
            }
            pool.shutdown();
        }

        final List<Long> latencies = new ArrayList<>(worker.latencies);
        latencies.sort(Long::compareTo);

        System.out.println("Subscribe latency:");
        final List<Double> percentiles = List.of(
                0.5,
                0.75,
                0.9,
                0.95,
                0.99,
                0.999,
                1.0
        );
        for (final Double percentile : percentiles) {
            final int index = Math.min(latencies.size() - 1, (int) Math.ceil(percentile * latencies.size()));
            System.out.println("q " + percentile + ": " + latencies.get(index) + " ms");
        }
    }

}

Output:
Subscribe latency:
q 0.5: 3 ms
q 0.75: 13 ms
q 0.9: 19 ms
q 0.95: 21 ms
q 0.99: 1013 ms
q 0.999: 1013 ms
q 1.0: 1013 ms

In this example, if the subscription timeout was 1 second, we would get an error 1% of the time in production.
org.redisson.client.RedisTimeoutException: Unable to acquire subscription lock after 1000ms. Try to increase 'subscriptionTimeout', 'subscriptionsPerConnection', 'subscriptionConnectionPoolSize' parameters.

Apparently it's bad to have long calls inside the listener, seems like it should be highlighted in the documentation

You can try to set Executors.newVirtualThreadPerTaskExecutor() for executor setting

did you try to remove Thread.sleep(1000); from the listener?

That slip is actually the problem
On the bench without the slip everything works extremely fast, it was just confusing when trying to figure out our problem.
But in our service listener can be relatively long, which I am demonstrating here by adding the slip.
In general, this bench shows that you can't do long jobs in the listener, because it can affect other requests -- the latency of subscribing to some other random topic suffers here.

To mitigate the problem with delays in listeners you need to apply the settings below:
        c.setKeepPubSubOrder(false); // messages order makes sequential handling and introduces a delay
        c.setThreads(64); // absence of free threads is also introduces a delay

Fixed


Make compact lifecycle more flexible to be overridden for sharded compaction

Introduced CompactionLifecycleCallback so that additional pre/post compaction callback can be plugged into compaction process as well as a way to introduce new populating block logic for Prometheus compact logic (see https://github.com/prometheus/prometheus/pull/11711).
Introduced BlockDeletableChecker so that extra check can be implemented to make sure compacted block can be actually deleted.
Introduced PartitionInfo as optional fields in block meta. This can be used for sharded compaction. For normal compaction, treat PartitionInfo.PartitionCount is equal to 1.

Signed-off-by: Alex Le<EMAIL_ADDRESS>

The upgrade of Prometheus in this PR is just letting compiling to success. I will create separate PR to upgrade Prometheus to lastest from main branch.

How would sharded compaction be implemented with these new interfaces? Can we also add documentation on how they should be used?

Hi @fpetkovski , I have updated Cortex side of change. Here is the example how sharded compaction uses those interfaces. In Cortex compactor, it would created Thaons compactor with ShardedCompactionLifecycleCallback (code). ShardedCompactionLifecycleCallback would return ShardedBlockPopulator (code) where the main sharded compaction logic is implemented.

Hi @fpetkovski , I updated the PR with extensions field in Thanos meta so that Cortex can plugin additional info needed for sharded compaction. Please take a look.


Enable easier embedded root version updates for client codebases

Description
Clients embed a version of root metadata as the initial source of trust into their client apps and typically into their source code repos. They should also update that version sometimes, and it seems this is not always happening  (see https://github.com/sigstore/sigstore/issues/1138)
The benefits of updating the embedded root are:

less network traffic when clients avoid downloading old root metadata
better client user experience (because less downloads)
slightly better security as well

There is a downside too:

updating the root metadata should not be done lightly or in an automated fashion as it is the source of all trust

Possible ideas to fix
To make updates easy and to minimize the mentioned downside, sigstore root-signing could probably make things easier for client projects. Some potential ideas:

maybe include a "suggestion to update embedded root" in some communications to client developers when root is updated
maybe create a reusable GH workflow that files an issue in the client github repo if the embedded root is not up-to-date ( see https://github.com/theupdateframework/specification/blob/master/.github/workflows/check-latest-spec-version.yml for an example of a similar workflow in the TUF spec repository -- this workflow is used in the TUF implementation repositories). This issue could document what should be updated and how the root should be verified to be correct.

cc @joshuagl

I like the idea of having an action client implementers can choose to use. I think we should do that and make noise in the Sigstore client meeting so that folks are aware.
We should create a short Markdown doc in the repo here that the issue and the meeting can link to in order to understand why updating trusted root metadata to newer versions is useful as well as how to do the update securely.

... create a reusable GH workflow that files an issue in the client github repo if the embedded root is not up-to-date

Thinking this through: We probably don't want to file the issue immediately when root-signing git changes: instead the trigger should be the published metadata changing. So the workflow process would be

periodically run a TUF client to get up-to-date local metadata cache from sigstore repository (this could be the sigstore client itself but a tiny TUF app included in the workflow might be easiest)
compare the fresh cached root to the clients embedded root (embedded root path is a workflow input)
file an issue if the files do not match (could make a PR as well but I'm not sure if that's too much automation?)
TODO: what do we suggest as the easiest way for client maintainers to fetch and store the new root? Running their own client and using the root file from their own local cache?


must provide WebUiSettings to run on Web

while adding multi image in the web, this error is shown...

Hello @PavanSN
Can you send me the error ?


Not working

Challenge Iterate Through an Array with a For Loop has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Example
var ourArr = [ 9, 10, 11, 12];
var ourTotal = 0;

for (var i = 0; i < ourArr.length; i++) {
  ourTotal += ourArr[i];
}

// Setup
var myArr = [ 2, 3, 4, 5, 6];

// Only change code below this line

var total = 0;
for ( var i = 0; i < myArr.lentgh; i++) {
  total =+ myArr[i];
}

@marcellmar thanks for the issue but if you get stuck or have questions with a challenge in the future, please first ask questions to the Help Room. GitHub issues are not for coding help. Hint: check the spelling of your methods and functions. You have a typo somewhere. Happy coding!


Error when running Cis analysis function

Hi,
When I am running the mentioned function, I get this error:
cis_results=cisAnalysis(my_obj,k=10)
Error in .local(object, ...) :
Initial model infeasible, log likelihood is 'NaN'; please provide better starting values.
Can you think about a reason?
Thanks

Have you looked at your raw data? Do you see a decrease in signal away from the bait?

I do see a decrease in signal as a function of distance from the bait.
Do this package assume anything about the mapping quality of the reads and the length of fragment ends?
Can you think about a reason why I can complete the near-bait analysis and not the far-cis one?
Thanks for your help!

No it does not - but have you checked if your sample passes the QC criteria? (as per van der Werken 2012). Also have you tried different values of k?

I read that the recommended values of k are 3-5 for near cis-analysis and 10 for far-cis.
Do you have any other recommendations?
Thanks!

Repeating my question here:
I read that the recommended values of k are 3-5 for near cis-analysis and 10 for far-cis.
Do you have any other recommendations?
Thanks!

If you look at supplementary figure 2 in the paper you can see the differences between several values of k for the cis analysis. The value of k determines the number of observed fragments in each window, so it really depends on your the coverage of your data. By increasing or decreasing the value you will either get interactions or high or low resolution.
Also as I asked above - did you check if your samples pass QC criteria?


Frida-ps and frida-trace works, but appmon fails both to attach or spwan process.

Hi @dpnishant and team,
I'm new to Frida and found by accident this nice project called Appmon. My mobile is Samsung Neo III with supersu and all works fine. I downloaded and installed frida and both frida-ps -U and frida-trace works with my target process.
However, when I try with appmon if fails as demonstrated below:
$ python appmon.py -a "com.MyTest.android" -p android --spawn 1

     ___      .______   .______   .___  ___.   ______   .__   __.
    /   \     |   _  \  |   _  \  |   \/   |  /  __  \  |  \ |  |
   /  ^  \    |  |_)  | |  |_)  | |  \  /  | |  |  |  | |   \|  |
  /  /_\  \   |   ___/  |   ___/  |  |\/|  | |  |  |  | |  . `  |
 /  _____  \  |  |      |  |      |  |  |  | |  `--'  | |  |\   |
/__/     \__\ | _|      | _|      |__|  |__|  \______/  |__| \__|
                        github.com/dpnishant

Now Spawning com.MyTest.android
[INFO] Attached to com.MyTest.android
[INFO] Building injection...
[ERROR] session is detached
Traceback (most recent call last):
  File "appmon.py", line 341, in <module>
    script = session.create_script(generate_injection())
  File "/Library/Python/2.7/site-packages/frida/core.py", line 182, in create_script
    return Script(self._impl.create_script(*args, **kwargs))
InvalidOperationError: session is detached

$ python appmon.py -a "com.MyTest.android" -p android --spawn 0

     ___      .______   .______   .___  ___.   ______   .__   __.
    /   \     |   _  \  |   _  \  |   \/   |  /  __  \  |  \ |  |
   /  ^  \    |  |_)  | |  |_)  | |  \  /  | |  |  |  | |   \|  |
  /  /_\  \   |   ___/  |   ___/  |  |\/|  | |  |  |  | |  . `  |
 /  _____  \  |  |      |  |      |  |  |  | |  `--'  | |  |\   |
/__/     \__\ | _|      | _|      |__|  |__|  \______/  |__| \__|
                        github.com/dpnishant

[INFO] Attached to com.MyTest.android
[INFO] Building injection...
[INFO] Instrumentation started...
 * Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
<IP_ADDRESS> - - [19/Aug/2017 22:40:24] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:25] "GET /static/img/logo.png HTTP/1.1" 304 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:38] "GET /monitor?app= HTTP/1.1" 301 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:38] "GET /monitor/?app= HTTP/1.1" 200 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:39] "GET /static/img/logo.png HTTP/1.1" 304 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:39] "GET /static/img/to-bottom.png HTTP/1.1" 304 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:39] "GET /static/img/to-top.png HTTP/1.1" 304 -
[2017-08-19 22:40:39,513] ERROR in app: Exception on /api/fetch [GET]
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Library/Python/2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "appmon.py", line 59, in serve_json
    response = db.read_from_database(db_name, index)
  File "/Users/strlbs/Downloads/MyTest/appmon/database/__init__.py", line 50, in read_from_database
    db = dataset.connect('sqlite:///./app_dumps/%s.db' % (db_path))
  File "/Library/Python/2.7/site-packages/dataset/__init__.py", line 42, in connect
    ensure_schema=ensure_schema, row_type=row_type)
  File "/Library/Python/2.7/site-packages/dataset/persistence/database.py", line 62, in __init__
    self.metadata.reflect(self.engine, views=reflect_views)
  File "/Library/Python/2.7/site-packages/sqlalchemy/sql/schema.py", line 3855, in reflect
    with bind.connect() as conn:
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 2091, in connect
    return self._connection_cls(self, **kwargs)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
    if connection is not None else engine.raw_connection()
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 2177, in raw_connection
    self.pool.unique_connection, _connection)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 2151, in _wrap_pool_connect
    e, dialect, self)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 1465, in _handle_dbapi_exception_noconnection
    exc_info
  File "/Library/Python/2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 2147, in _wrap_pool_connect
    return fn()
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 328, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 766, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 516, in checkout
    rec = pool._do_get()
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 1292, in _do_get
    return self.connection
  File "/Library/Python/2.7/site-packages/sqlalchemy/util/langhelpers.py", line 764, in __get__
    obj.__dict__[self.__name__] = result = self.fget(obj)
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 1264, in connection
    return _ConnectionRecord(self)
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 461, in __init__
    self.__connect(first_connect_check=True)
  File "/Library/Python/2.7/site-packages/sqlalchemy/pool.py", line 651, in __connect
    connection = pool._invoke_creator(self)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/strategies.py", line 105, in connect
    return dialect.connect(*cargs, **cparams)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/default.py", line 393, in connect
    return self.dbapi.connect(*cargs, **cparams)
OperationalError: (sqlite3.OperationalError) unable to open database file
<IP_ADDRESS> - - [19/Aug/2017 22:40:39] "GET /api/fetch?id=0&app=&_=1503193239398 HTTP/1.1" 500 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:50] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:50] "GET /static/img/logo.png HTTP/1.1" 304 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:50] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [19/Aug/2017 22:40:50] "GET /static/img/logo.png HTTP/1.1" 304 -
<IP_ADDRESS> - - [19/Aug/2017 22:41:25] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [19/Aug/2017 22:41:25] "GET /static/img/logo.png HTTP/1.1" 304 -

The second one appears to work, but if I go to the website (http://<IP_ADDRESS>:5000) no process appears (I can write MyTest) just the beginning, just the end and nothing appears, so the only solution is "next" without a target proxy. Consequently it displays an error and nothing is showed.
I'm using Mac (if it makes any difference).  AppMon Sniffer v0.1, Nishant Das Patnaik, 2016
Thanks.

This might help: https://stackoverflow.com/questions/4636970/sqlite3-operationalerror-unable-to-open-database-file


Test-PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

220 of 249 (88.35%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 90.123%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/agent.js
220
249
88.35%

Files with Coverage Reduction
New Missed Lines
%

lib/cache.js
2
95.45%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
1138

Relevant Lines:
1230

💛  - Coveralls


Add Datacite Content negotiation for schema.org metadata to dataset view

💡 Description

Add the following javascript to all dataset view pages:
$(document).ready(function() {
  var identifier = "https://doi.org/10.5284/1015681"; //for example 10.5284/1015681
  if (identifier === undefined) {
    return;
  }
  var doi = new URL(identifier);
  var url = "https://data.crosscite.org";
  url += '/application/vnd.schemaorg.ld+json/' + doi.pathname;

  $.ajax({
    url: url,
    dataType: 'text', // don't convert JSON to Javascript object
    success: function(data) {
      $('<script>')
         .attr('type', 'application/ld+json')
         .text(data)
         .appendTo('head');
    },
    error: function (error) {
      console.log(error.responseJSON);
    }
  });
});

https://gist.github.com/kjgarza/34ca6a866b4437bc1c07d84f208a01c4
Note: The JSP code will need to replace the DOI above with the DOI on the landing page (https://doi.org/10.5284/1015681). This should only be added to pages that have the actual DOIs (e.g. ignore for collections that point to parent DOI).
Most likely tightly coupled with https://github.com/NASA-PDS/pds-api/issues/45

This is, unfortunately, not as easy as it looks based upon the original way we were getting this DOI information from the backend. Deferring until probably never.


Proto for GUI admin

Write a proposition for grpc proto which will implement the current GUI admin api

[ ] Create a service for sessions
[ ] Create a service for applications
[ ] Create a service for tasks

Tasks
Applications


Add sequence diagram to docs

added sequence diagram to describe the flow across components to a read request to developer docs.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


README

MAKE IT

ADDED Readme file and a app demo video. Screencapify said I've reached the limit on videos recorded and has blocked any attempt to record a new video even if I delete the older videos. I've resorted to using VLC. Don't know if it'll work but clicking on the link will take you to the file in the repo...


$this->v8->executeString() needs to be echoed in ReactJS.php

I did a cURL on the page I set up to verify that PHP had indeed echoed both the markup and the JS, and what I found was that the JS was outputted, but the markup didn't get generated until the page loaded (curl request resulted in

).  When I inspected the table element, the data was there, so the JS initialized it.  If you view source immediately, you'll see an empty #page as well.
Since you have an output buffer in ReactJS::getMarkup(), you have to echo, like so:
ob_start();
*echo* $this->v8->executeString($js);
return ob_get_clean();

Once I added the echo and did a cURL request, I noticed that the markup was actually there before the JS had a chance to render it.
I'd put in a pull request, but I just wanted to verify that this was intended behavior and I wasn't missing anything.

This repo isn't super active so I'm not sure if you'll get a good response, but cc @stoyan for good measure.

@zpao if this repo is not active, do you know if this lib is still developed? So much noise about React these days, and I think to try it out with PHP, and google search gives this library as a first result.

It's not being used by us and it has basically not been updated since release (https://github.com/reactjs/react-php-v8js/commits/master). There is really not a ton to do here since the feature set is very small. It would be great to have some tests and then we can sort of coast.

What is the alternative? Not using anything or is it closed source?

We don't use this or anything like it.

@rickmurt Thats not true, because the executed JS Code (https://github.com/reactjs/react-php-v8js/blob/master/ReactJS.php#L109) contains a print() function which is a php-v8js special global function that does echo (or print which is basically the same in php) the result. So this should work. See the v8js js api: https://github.com/preillyme/v8js#javascript-api and the examples below.

good


tutorials: fix incipit tutorial

This PR adds some improvements for the incipit tutorial, including those proposed in #263 by @mfeustle .
This includes :

simplifying the note example in step 4;
simplifying and improving readability of the xml:ids used in the final step;
improving the explanation of the attributes used in the final step;
improving the explanation of the referencing mechanism with xml:ids in the final step;
fixing a typo in the title of the incipit tutorial in the Spanish translation.

Fixes #263

@martha-thomae May I ask you to have a look at the updated Spanish translations?

@martha-thomae Could you have a look please?


cmd/compile: go/defer call of external or //go:uintptrescapes function does not protect unsafe.Pointer arguments

This test program currently prints "ok FAIL FAIL ok ok": https://play.golang.org/p/KEf2cpdL_mA
@ianlancetaylor and I think unsafe.Pointer's safety rule 4 requires it to print "ok ok ok ok ok". Probably by rewriting the 2nd and 3rd call forms into the 4th and 5th, respectively.
We already have a similar rewrite for handling "go builtin(...)" and "defer builtin(...)", but that doesn't happen until "walk", but currently we handle keepalive in "order". We also handle //go:uintptrescapes calls in escape analysis, so it would be nice to rewrite before then too... except escape analysis is currently responsible for marking //go:uintptrescapes and "unsafe uintptr" assembly parameters.
Low priority. Not known to affect any real world code at the moment. I discovered this while exploring possible frontend simplification work.

@cuonglm Points out this is a duplicate of #24491.


As a user, I want to add a Gale/ECCO work to my Zotero library from the item page or the search results page, so that I can save references for later research or citation.

testing notes
Test importing a gale item from list view or from detail view — it should work the same as for HathiTrust materials. Metadata will be coming from the marc records (you can confirm based on the sid in the view url).
The only exception should be the records that don't have marc records in the set we were given.
dev notes
Builds on #36 and #35
If DigitizedWork.get_metadata has already been updated as part of #369, then this will likely work for the current implementation (MARC only) without further effort.

Tested with Holmes (CW0110145213) on detail view and it imported successfully. URL confirms metadata coming from MARC record:
(https://link.gale.com/apps/doc/CW0110145213/ECCO?sid=gale_marc&u=prin77918).
Also tested importing multiple items from list view (Bysshe) and it was successful.
Works without MARC records save as webpage (as expected).
One weird thing is that page count in Zotero doesn't match page count on our site or in ECCO? For example, the Zotero record for Holmes shows 18 pages, whereas on our site it says 189. This is happening with the Bysshe too, for instance this record is 523 pages but in Zotero it says 2. @rlskoeser thoughts?

@mnaydan good testing as always, catching the page number discrepancy! I looked at the MARC record for the Bysshe document you linked with 523 pages to check this. If I'm reading the MARC documentation correctly, page numbers would be included in the extent subfield (300 a), but that can include other extent information. For the Bysshe marc record, the contents of that field is "2v", presumably indicating 2 volumes — but I guess Zotero is just taking the numeric portion.  (We could check or ask on the zotero forums if you think this is important to track down.)
This raises an interesting possibility — and also gave me an idea about how to solve #399! We've always just served out the MARC records from HathiTrust as-is when offering metadata for Zotero harvesting. Now that I've worked with the pymarc more for the Gale import, I can see that it might not be too hard to tweak the original MARC records before we serve them out. In this case, we could put in the correct number of pages (and maybe we could add the volume number, too, where that's relevant).  A potentially more important improvement is that we could set the PPA item url in the MARC record, in addition to or instead of the source url that's there now.  If we want to pursue this we should track it as a new feature. I'm not sure what the impact is since I don't know how often people use the Zotero harvesting feature; but just updating the URL before serving out the MARC record is probably not too difficult.

@rlskoeser good sleuthing! How odd. I don't know if correcting the number of pages is worth our time (the other bib info is much more important to me in Zotero) -- but adding PPA URL would be a nice feature. I don't view it as "essential" though, and I'm not sure where this ranks to you in terms of our remaining dev time. I can open up a new feature for us so we don't forget, but deprioritize it? Or do you think it would be quick enough you'd rather just do it during this cycle?
In any case I can close out this feature since the functionality works (and I'm glad that testing this feature helped you solve the other one!)

@mnaydan I agree it's not essential. I think tracking it on a new feature would be good, because it would be good to add down the line. Maybe we can include it in the later round of work whenever I circle back to PPA development.


Remove some reflection usage

Motivation:
We've been using reflection as a way to abstract over Java API versions. Now that we're based on Java 8, some of this reflection usage is no longer necessary. In some cases, the APIs we were reflecting on are now directly available. In other cases, we'd like a little more performance and can call through method handles instead.
Modification:
Remove some reflection usage that was necessary when running on Java 6 or 7, and replace it with direct calls if the code is still needed. Replace the more performance sensitive reflection usage with MethodHandles.
Also remove the animal sniffer maven plug-in, because animal sniffer does not support signature polymorphic method calls.
See https://github.com/mojohaus/animal-sniffer/issues/67
Result:
Cleaner, and perhaps slightly faster, code.
Fixes https://github.com/netty/netty/issues/14009

Not all reflection usages have been replaced, because 1) reflect gives access to annotations, and method handles don't, and 2) some cases are just not performance sensitive so it's not worth the effort to change code that works.

@chrisvest The allocate uninitialized arrays method, if uses Methodhandle::invokeExact doesn't need to have any limit: it will just go faster in any case.
The limit in bytes was because reflective calls over intrinsic don't get a good treatment  (it's using some old code path, which was never fixed by https://openjdk.org/jeps/416 too!), but with MethodHandle this is not true!

@chrisvest The allocate uninitialized arrays method, if uses Methodhandle::invokeExact doesn't need to have any limit: it will just go faster in any case. The limit in bytes was because reflective calls over intrinsic don't get a good treatment (it's using some old code path, which was never fixed by https://openjdk.org/jeps/416 too!), but with MethodHandle this is not true!

Oh, you mean we can remove the UNINITIALIZED_ARRAY_ALLOCATION_THRESHOLD checks?

Additionally, I think we can target the private method instead of the public one -> https://github.com/openjdk/jdk/blob/9347bb7df845ee465c378c6f511ef8a6caea18ea/src/java.base/share/classes/jdk/internal/misc/Unsafe.java#L1385

The PlatformDependent method is public, so I think it's best if we keep the input validation checks.

Lot's of failures in EpollSocketHalfClosedTest.testHalfClosureOnlyOneEventWhenAutoRead, so that needs to be looked at.

The EpollSocketHalfClosedTest.testHalfClosureOnlyOneEventWhenAutoRead failures are not related to the changes in this PR, so I'm not letting that block merging.


[v1.7.x] Initial parameter loading via SiK radios in QGroundcontrol stuck

I've found a strange issue when initial parameter loading sometimes stuck when using SiK radio.
If I use another channel (for example UART for companion computer) it loads successful. When this happens it persists until controller reboot. Qgroundcontrol reboot doesn't help. I've don't seen this on PX4 v1.6.
 Issue still happens
qgc.log.zip

I've tried with RTS/CTS flow control on SiK radio - stuck still eventually happens

The key log entry is here:
ParameterManagerLog: "V:1 C:1" Giving up on (paramIndex: 165 retryCount: 6 )
QGC asked for that param 5 times. It never got it so it gave up. Nothing QGC can do about that from its end. All other params came across ok.


How to have string properties on custom objects

gobject.ext.defineProperty only allows ?[:0]const u8 but that type cannot be a property on a extern struct leading to the following error message when follwing the list example, but trying to have string type properties:
src/example.zig:7:10: error: extern structs cannot contain fields of type '?[:0]const u8'
    key: ?[:0]const u8,
         ^~~~~~~~~~~~~
src/example.zig:7:10: note: only pointer like optionals are extern compatible

example code
const gobject = @import("gobject");
const gio = @import("gio");

pub const Tag = extern struct {
    parent_instance: Parent,

    key: ?[:0]const u8,
    value: ?[:0]const u8,

    pub const Parent = gobject.Object;

    pub const getGObjectType = gobject.ext.defineClass(Tag, .{
        .classInit = &Class.init,
    });

    pub const properties = struct {
        pub const key = struct {
            pub const name = "key";
            const impl = gobject.ext.defineProperty(name, Tag, ?[:0]const u8, .{
                .default = "",
                .accessor = gobject.ext.fieldAccessor(Tag, "key"),
                .flags = .{
                    .readable = true,
                    .writable = true,
                },
            });
        };
        pub const value = struct {
            pub const name = "value";
            const impl = gobject.ext.defineProperty(name, Tag, ?[:0]const u8, .{
                .default = "",
                .accessor = gobject.ext.fieldAccessor(Tag, "value", ?[:0]const u8),
                .flags = .{
                    .readable = true,
                    .writable = true,
                },
            });
        };
    };

    pub fn new(key: []const u8, value: []const u8) *Tag {
        return gobject.ext.newInstance(Tag, .{
            .key = key,
            .value = value,
        });
    }

    pub fn as(self: *Tag, comptime T: type) *T {
        return gobject.ext.as(T, self);
    }

    pub const Class = extern struct {
        parent_class: Parent.Class,

        pub const Instance = Tag;

        pub fn as(self: *Class, comptime T: type) *T {
            return gobject.ext.as(T, self);
        }

        fn init(self: *Class) callconv(.C) void {
            gobject.ext.registerProperties(self, &.{
                properties.key.impl,
                properties.value.impl,
            });
        }
    };
};

i tried putting them into a private struct and keep that as a field behind a pointer, but then i run into:
/cache/src/gobject2/ext.zig:1157:29: error: expected type '?[*:0]const u8', found '?[:0]const u8'
            value.setString(contents);
                            ^~~~~~~~
/cache/src/gobject2/ext.zig:1157:29: note: optional type child '[:0]const u8' cannot cast into optional type child '[*:0]const u8'
/var/cache/robert/zig/p/12203bb2843d2b9db725edaaa9868a817e60dd71fba53f1e7b04b49d2d5bae90c057/src/gobject2/gobject2.zig:4115:63: note: parameter type declared here
    extern fn g_value_set_string(p_value: *Value, p_v_string: ?[*:0]const u8) void;

I agree the custom accessor is a clunky solution, since using private data is a pretty common occurrence due to limitations such as this one. I think the best solution to that part would be to have a gobject.ext.privateFieldAccessor function to make it a bit simpler to write, by taking care of the boilerplate. (I'll mark this issue as an "enhancement" to add that helper and use it in one of the example programs)
The second issue you ran into (with the string type mismatch) was fixed in #71, so will also be fixed in the next release.

I added the helper in 0d167981cfb59c518772c31117c82931d3359971, along with updating the "custom class" example to demonstrate how to use it. There is still some boilerplate involved (the private struct type and a pointer to its offset need to be passed), but it should be much better than writing the accessors completely by hand.

amazing :) i will try it out


Fix Verification

Description
Component Descriptors are now signed using the JsonNormalizationv2  algorithm.
This PR ensures this option is set when performing signature verification.
It also contains a number of fixes:

ensure authentication is performed when checking for new component versions
don't exit the reconcile loop early if expandReferences is not set to true.

eh, none of the checks are running.


Support Base blockchain

✅ Prerequisites

[x] Did you perform a cursory search of open issues? Is this feature already requested elsewhere?
[x] Are you reporting to the correct repository (magic-sdk)?

✨ Feature Request
Currently Base blockchain is becoming more popular, should we consider supporting Base blockchain in the UI Widget?

Hello @0xtrou ,
Thank you for the feature request. Base is currently supported for Dedicated wallets using the following public RPC URLs:

https://mainnet.base.org/
https://goerli.base.org/

You should add the RPC URL you are using to your app's settings in the Magic dashboard under your app's Content Security Policy. This way you can assure that these RPC URLs will work for your app as we continue to make changes to our own Content Security Policy and remove these public RPC URLs.

add RPC URLs to your Dedicated app's Content Security Policy

Base is not supported for Universal wallets and the Widget UI currently, even if you have added the RPC URL to your Dedicated app's content security policy.
We will take this feature request of supporting Base in the Widget UI under consideration and follow up in this Issue thread if we decide to provide this support.
Thank you!


Sentry_flutter package is Incompatible with package_info_plus ^4.0.0

Platform
Flutter Mobile
Obfuscation
Enabled
Debug Info
Enabled
Doctor
[✓] Flutter (Channel stable, 3.10.0, on macOS 13.3.1 22E261 darwin-arm64, locale en-IN)
• Flutter version 3.10.0 on channel stable at /Users/naveenvj/Developer/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 84a1e904f4 (7 days ago), 2023-05-09 07:41:44 -0700
• Engine revision d44b5a94c9
• Dart version 3.0.0
• DevTools version 2.23.1
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/naveenvj/Library/Android/sdk
• Platform android-33, build-tools 31.0.0
• ANDROID_SDK_ROOT = /Users/naveenvj/Library/Android/sdk
• Java binary at: /Applications/Android Studio-mac.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E222b
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.2)
• Android Studio at /Applications/Android Studio-mac.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
[✓] VS Code (version 1.76.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.60.0
[✓] VS Code (version 1.70.1)
• VS Code at /Users/naveenvj/Downloads/Visual Studio Code.app/Contents
• Flutter extension version 3.60.0
[✓] Connected device (2 available)
• macOS (desktop) • macos  • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
• Chrome (web)    • chrome • web-javascript • Google Chrome 113.0.5672.92
[✓] Network resources
• All expected network resources are available.
Version
7.5.2
Steps to Reproduce
Try using the latest package_info_plus 4.0.0 and Sentry flutter 7.5.2 it will show the error in the Expected Result
Expected Result
Because sentry_flutter >=6.13.1 depends on package_info_plus >=1.0.0 <4.0.0 and ui_conqur_fitness depends on package_info_plus ^4.0.0, sentry_flutter

=6.13.1 is forbidden.
So, because ui_conqur_fitness depends on sentry_flutter ^7.5.2, version solving failed.

Actual Result
Pub get must be updated without any incompatible version solving failure.
Are you willing to submit a PR?
None

Dupe https://github.com/getsentry/sentry-dart/pull/1440

Just waiting for approval https://github.com/getsentry/publish/issues/2237


Pub server crashes during compilation

Originally opened as dart-lang/sdk#21304
This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?

Launch Pub server
Use it for a while
It crashes while compiling

What version of the product are you using?
Dart Editor version 1.7.0.dev_02_00 (DEV)
Dart SDK version 1.7.0-dev.2.0
On what operating system?
Ubuntu 14.04
Please provide any additional information below.
Build error:
Transform Dart2JS on eChannel|web/designer.html_bootstrap.dart threw error: Out of Memory
/mnt/data/b/build/slave/dart-editor-linux-dev/build/dart/sdk/lib/_internal/compiler/implementation/compiler.dart 1131  Compiler.run.<fn>
dart:async                                                                                _Future._propagateToListeners.handleError
/mnt/data/b/build/slave/dart-editor-linux-dev/build/dart/sdk/lib/_internal/compiler/implementation/compiler.dart 2014  CompilerTask.measure
.                                                                                ...
.                                                                                ...
dart:isolate                                                                                _RawReceivePortImpl._handleMessage
Build completed with 2 errors.

 Comment by anders-sandholm

Added Area-Pub, Pub-Serve, Triaged labels.

This comment was originally written by<EMAIL_ADDRESS>
I am using only polymer transformer.
I am compiling 6 files. Two of them are big (Compiled size: > 3.0MB). Two
are medium sized (Compiled size: 600KB). Other two are negligible.

 Comment by nex3

What transformers are you using? How many compiled Dart files are you regularly accessing via the server?

 Comment by sigmundch

When this happens, how much memory do you have in your system? how much memory is the pub-serve process using?
Polymer transformers shouldn't be that heavy though. We have projects with more than 30 entrypoints and it's normally OK.
If you can, share with us what your pubspec.yaml looks like, and how many files are there in your repo under lib/ or web/. That would gives us an idea of how much work is being done. For example, even though .html files in lib are not entrypoints, we'll run them through the polymer linter.

Added NeedsInfo label.

 Comment by nex3

Polymer is a pretty heavyweight transformer; running it on six separate entrypoints can be very taxing for your system. Unfortunately there's not a good way for pub/barback to mitigate this automatically, since it has very little visibility into which transformers are likely to take many resources and which can run quickly.
I'm passing this over to the polymer team to see if they have any additional insight.

Removed Area-Pub, Pub-Serve labels.
Added Pkg-Polymer label.

This comment was originally written by<EMAIL_ADDRESS>
Hi,
Sorry for late response. I have attached my systems proc info and mem info. It is a quite powerful system. But pub server crashes very too often.
I have around 60 polymer elements in the project. And it uses a local library which has 50 other polymer elements. Other than that I use core_elements and paper_elements.
I haven't exactly seen how much memory it uses before it crashes. I will run top and let you know. But there is no effect or lag on the other software that i use. Everything else is smooth.
My pubspec.yml look like this:
dependencies:
  browser: any
  core_elements: 0.3.1+1
  crypto: any
  dockable:
    path: local_path
  html5_dnd: any
  intl: any
  lawndart: any
  paper_elements: any
  polymer: any
  web_components: any
transformers:

polymer:
    entry_points:
    - web/file1.html
    - web/file2.html
    - web/file3.html
    - web/file4.html
    - web/file5.html
    - web/file6.html

When I run pub upgrade, it outputs these packages:
  analyzer 0.22.4 (0.23.0-dev.13 available)
  args 0.12.0+2
  barback 0.15.2+2
  browser 0.10.0+2
  code_transformers 0.2.3+1
  collection 1.0.0
  core_elements 0.3.1+1 (0.4.0+2 available)
  crypto 0.9.0
  csslib 0.11.0+2
  custom_element_apigen 0.1.0 (0.1.1 available)
  dockable 0.1.6 from path local_path
  html5_dnd 0.3.6
  html5lib 0.12.0
  intl 0.11.9
  lawndart 0.6.5
  logging 0.9.2
  observe 0.12.1+1
  paper_elements 0.4.1 (0.5.0 available)
  path 1.3.0
  petitparser 1.2.2
  polymer 0.15.0+1 (0.15.1+3 available)
  polymer_expressions 0.13.0
  pool 1.0.1
  quiver 0.18.2 (0.19.0-dev.3 available)
  smoke 0.2.1+1
  source_maps 0.10.0
  source_span 1.0.0
  stack_trace 1.1.1
  string_scanner 0.1.1
  template_binding 0.13.1
  utf 0.9.0+1
  watcher 0.9.3
  web_components 0.7.1+2 (0.9.0 available)
  yaml 2.0.1+1
The dockable library is hosted here: https://github.com/tejainece/web_ide.dart
Let me know if you need more information.

Attachments:
procinfo.txt (7.88 KB)
meminfo (1.20 KB)


Documentation on how to run the project locally

We need instructions on how to install the needed tools and dependencies to run BoGL-Docs locally. Please address the following in the project's README.md:

What to install and how to install it.
How to run the project locally
This is so future people working on this project will have an easier time getting it running locally. For now you can just include instructions for Mac users (we'll write Windows instructions later).

I have a rough draft of this locally that I will show you at the meeting on Tuesday.

Published it into the readme


The gpu utilization is extremely high when rendering an empty fullscreen renderer

I'm running into performance issues when running my pixi app.
It kills the battery any device that's not plugged in at an alarming rate.
I started monitoring my gpu utilization and realized that the size of the renderer is directly proportional to the gpu utilization percentage.
Here is a fiddler of what I"m using at a baseline for pixi performance. https://jsfiddle.net/sweaver/eLhhbrmu/2/. Just make sure that the canvas is as large as jsfiddle will allow.
I have a new laptop with an integrated graphics card that idles at over 50% when running this
And I have a desktop with 2gb dedicated nvida graphics card that idles at 25-30% when running this.
This hardly seems acceptable, is there any way to bring the gpu utilization down?

I started monitoring my gpu utilization and realized that the size of the renderer is directly proportional to the gpu utilization percentage.

Absolutely, shaders run on the viewport. The larger the viewport the more pixels your frag shaders run on. With a resolution of 2, that is even more space the shaders have to run on.

I have a new laptop with an integrated graphics card that idles at over 50% when running this

It isn't idling, you are rendering frames, 60 of them per second. Just because the output is black doesn't mean the render process isn't running. If you want to not run render when idle don't call .render().

Hi there,
Thanks for sharing this! I have taken a look at what happens when a frame is empty. The only thing happening on the GPU each frame is the following 3 instructions :

I would recommend recreating the example using a vanilla webGL context so we have something to measure your results against.
Cheers!

So GPU use goes up as the sheer volume of pixels being rendered increases? This
is surprising why exactly?
There are plenty of things you can do:

Don't use such a stupidly big base canvas
Don't render at 60 fps
Don't render at all unless the scene has changed
Do everything you can to arrange assets properly to minimise draw calls

All of which needs doing on a case-by-case basis, i.e. are user-land
responsibilities.
And it's entirely possible that even after doing the above it still runs
hot because of things outside of your or pixis control (browser land GPU
code)
On Thursday, 11 February 2016, stephenweaver<EMAIL_ADDRESS>wrote:

I'm running into performance issues when running my pixi app.
It kills the battery any device that's not plugged in at an alarming rate.
I started monitoring my gpu utilization and realized that the size of the
renderer is directly proportional to the gpu utilization percentage.
Here is a fiddler of what I"m using at a baseline for pixi performance.
https://jsfiddle.net/sweaver/eLhhbrmu/2/. Just make sure that the canvas
is as large as jsfiddle will allow.
I have a new laptop with an integrated graphics card that idles at over
50% when running this
And I have a desktop with 2gb dedicated nvida graphics card that idles at
25-30% when running this.
This hardly seems acceptable, is there any way to bring the gpu
utilization down?
—
Reply to this email directly or view it on GitHub
https://github.com/pixijs/pixi.js/issues/2351.

--
Photon Storm Ltd.
http://www.photonstorm.com
Skype: richard.davey
Twitter: @photonstorm
Registered in England and Wales.
Company ID: 8036404
VAT Number: 136 4333 27

It's not that it's surprising that the gpu goes up when more pixels are rendered. I guess I expected that the gpu utilization would go down if nothing had changed. Like there was some optimizations in pixi that was using the requiresUpdate to only hit the gpu when changes were made.
Because all the examples that i"ve seen just use an un-optimized game loop, I just figure that was the suggested way of rendering, and pixi was handled optimizing the load on the gpu
I'm not familiar with webgl, which is why I've found using PIXI.js so helpful.
As far as the suggestions from @photonstorm

Isn't an option.
Last resort.
Is there anything built into pixi to help handle this, or is it up to the developer to do this? Also the interactive part of pixi seems to be tied to the game loop (not positive), So what can be done to get the interaction events when not rendering?
Is there a recommended way to arrange assets?

Here's a fiddle that I created.  https://jsfiddle.net/dcarlos/y4dLcd0j/
It doesn't have a recursive render loop.  Intead, it is calling render on the sprite during onDragMove.  The result is that the sprite renders but everything else is black.  I've tried using different combinations of clearBeforeRender and preserveDrawingBuffer.  If I have clearBeforeRender set to false and preserveDrawingBuffer set to true, I get this trailing render effect on the bunny.
Is there a way in PIXI to only re-render a specific area on the stage?  Possibly use dirty regions and a back buffer and blit the newly rendered regions onto the buffer.
We built an app that has a large-sized canvas with elements that are changing at a variable rate.  How can we achieve optimal performance without having to call render on the entire stage within a recursive animation loop?

You must have preserveDrawingBuffer to true; the reason you are getting the bunny trailing effect is because the screen is no longer being automatically cleared for you, which is actually what you want.
Say all of your bunny sprites are in one container. When you detect a change that will need a redraw you could

Iterate over all sprites figuring out which ones need to be re-drawn (whether it's because it has moved, or because of overlapping ).
Ones that need to be re-drawn, set renderable to true, otherwise set to false.
Manually clear the areas behind each of the 'dirty' sprites using their position and dimensions.
.render() the container.

Even though you've set renderable to false for the other sprites, because you are controlling the clearing of the screen, they'll still be visible
As for clearing the areas, Canvas 2d has clearRect, WebGL has clearColor - do a search for this.clearBeforeRender to see examples within pixi.
(disclaimer: never actually tried this method in pixi)

Is there a way in PIXI to only re-render a specific area on the stage? Possibly use dirty regions and a back buffer and blit the newly rendered regions onto the buffer.

You can implement this yourself with RenderTextures.


'sp-client-custom-fields-fix/lib/PropertyFieldCustomList' Doesn't show icons.

After the implementation the webpart is not showing the icons.
We are using ,
'sp-client-custom-fields-fix/lib/PropertyFieldCustomList'  WITH
(1) SPFX 1.14 and
(2) node 14.18.1
the output is same (Pls. refer the below screenshot)  for 'during debug mode (Gulp-serve)' and 'post deployment (Gulp-bundle) also
Screenshot as follows (it shows, icons are missing):

Expected:

Help!!!
Can someone pls. help towards resolution...?
@Meghaa25

is it Meghaa...? are you using SPFX 1.14 latest version...?

I am also experiencing the same issues for my web part and i'm using SPFx 1.14 as well. Kindly help!

@OlivierCC I have a case with this issue, is there a known workaround or fix?


Fix combined image events filters

fixes #14316
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

@runcom test fail

@LK4D4 fixing

Ping @LK4D4 (not sure if this should go in 1.7.1 also)

I think ok for 1.8
LGTM

LGTM


Could not load Paypal Form on Android

public void OnResponse(Java.Lang.Object parameter)         {             if (parameter is Java.Lang.Boolean)             {                 var res = parameter.JavaCast<Java.Lang.Boolean>();                 isReady = res.BooleanValue();                 initializeTcs?.TrySetResult(res.BooleanValue());             }         }
In the above code the isReady always comes as false on Android and on ios it works well and shows up PayPal form.
Is there anything m missing.
I followed this integration steps http://www.xamboy.com/2020/02/28/braintree-integration-in-xamarin-forms-part-3/
tried cloning this project but on android project is not deploying on device instead throws error. After updating the Android X lifecycle NuGet annd app started working but the above code still returns false

same problem


add integration tests

test downloading alpine, adding a package and so on. Test common use cases

Also install more complex (bigger packages) on main distributions. Install at least one package on each distribution. These tests would take time and be run every day in travis CI


PerfectGas EOS abstraction

Introduces an initial abstraction layer for the EOS used in the compressible formulation and closes #58 .  Note, that the ideal gas implementation of the EOS has been included in issue #66

Thanks I completely agree.  I'm hoping it becomes more clear with the ideal gas from TChem.


Reduce the scope of helper class

Description
TemporaryFile is only used in 1 .cpp file so it doesn't need to be part of SystemUtil. This also let me remove a few headers from SystemUtil.hpp which should result in a modest compile time improvement.
Tasks

[x] Tested on Linux
[x] Tested on Windows
[x] Tested on macOS
[x] Tested on iOS
[x] Tested on Android

SFMLBuildMaster: Build this please.


Functions that extract a value from a JSON-encoded string.

This PR implements functions that extract a value from a JSON-encoded string.
New functions

function
description

json_extract_string(expr,string...)
Extracts the String value from expr based on string arguments.

json_extract_long(expr,string...)
Extracts the Long value from expr based on string arguments.

json_extract_double(expr,string...)
Extracts the Double value from expr based on string arguments.

jsonpath_extract_string(expr,json-path)
Extracts the String value from expr based on json-path.

jsonpath_extract_long(expr,json-path)
Extracts the Long value from expr based on json-path.

jsonpath_extract_double(expr,json-path)
Extracts the Double value from expr based on json-path.

Examples
The json_extract_* family of functions extract a value from a JSON-encoded string.
SELECT json_extract_string('{"key1":"val1"}', 'key1')
-- Extract a value from a nested object
SELECT json_extract_string('{"key1":{"key2":"val2"}}', 'key1', 'key2')

The jsonpath_extract_* family of functions support JSONPath expressions referring to a JSON structure in the same way as XPath expression.
SELECT jsonpath_extract_string('{"key":[{"k":"v1"},{"k":"v2"}]}', '$.key[0].k')

FastJsonReader
The json_extract_* family of functions use FastJsonReader.
In order to improve extraction performance, I implemented light and fast parser called FastJsonReader.
In my environment, it is faster than Jsonpath in the case of extracting a scalar value. However, Jsonpath offers lots of functionalities.
Benchmark
I did benchmark test with the query below.
select v, count(*)
from (
    select json_extract_string(json_column, 'key') as v
    from test
)
group by v
order by count(*) desc

Benchmark 1 - Single Node, Small dataset
1 node / 6 core, 32G RAM, SSD
Sample rows: 445,283

Benchmark 2 - Cluster, Medium dataset
15 Historical nodes / 32 core, 256G RAM, NVME
Sample rows: 3247568

Benchmark 3 - Cluster, Large dataset
15 Historical nodes / 32 core, 256G RAM, NVME
Sample rows: 9614347

@asdf2014 @suneet-s
Can you please do a code review?

Thanks for the contribution @achimbab! The benchmark results look promising.
I have to spend some time to understand the changes better and hope to get a review out next week.
In the mean time, could you resolve the merge conflicts that exist now please. Also I skimmed the changes and noticed new SQL functions - to test that they are wired up correctly, could you add a test to one of the CalciteQueryTest classes - these are what I use to write "integration tests" for SQL functions so we can ensure these functions continue to work with each new release of Druid.

I force-pushed just to modify commit messages.

@suneet-s

I resolved the merge conflicts.
I added tests to CalciteQueryTest class.

Thank you.

@suneet-s
I fixed json_extract_* functions to unescape strings.

Thanks @achimbab I am reviewing this today!

@suneet-s
Hi, hope you are doing well. please let me know if there is something that I have to do in order to merge PR.
Wish you a happy christmas.


Linux Support and SPM

Removing Xcode for CI builds by using SPM on linux and Mac
Added Linux and Mac bash script to run each individual
Added initial documentation for SMP

Thank you  @harquail and @lyuha
Work in Progress

[WIP] Single Package for all the repo to replace ./xswift-test-spm script
Currently the SPM does not support multiple packages in one repo so the work around was to create a script
Improve documentation,  @bobdel sounded interested in this.
Update the Contribution readme specially around objC Foundation and Linux Foundation differences. On the mac swift silently uses foundation for String methods even when it is not imported.

@robtimp when you get a chance, could you take a look at this? I am getting ready to merge it.

I am going to merge this. Let me know if you notice anything wrong with it.


Inconsisten Brush stroke which changes with speed

This is a pretty annoying to be honest.

Using a drawing pen, it changes based on the speed at which I draw and I mean I don't get how this could be useful in any sense, if it was based on pressure that would be fine but it's based on speed

As you can see writing with a pen becomes immensely annoying and this has been the only thing that has kept me on my other drawing apps and not excalidraw for visual note-taking. :/ Really hope this issue gets fixed soon, OR has a fix. (Tell me if so)

What you are seeing is the similar pressure (based on the speed) that was introduced a while ago for a nicer hand-written feel. Though I agree it's likely more annoying than actually being useful (as opposed to the real pressure), hence we might either hide behind a toggle / setting (~a single one for both simulated and real pressure) or remove it completely.


Added new entry in context menu: 'save image as'

Description
Currently, to download an image (specifically a blob), the user needs to right-click on the image and select "Copy image" or "Copy image URL". Then they need to manually open a browser and paste the data in - and finally select whatever process/option to download the image. Instead, this context menu item does the same from within Ferdi.
Motivation and Context
Screenshots

Checklist:

[x] My pull request is properly named
[x] The changes respect the code style of the project ($ npm run lint)
[x] I tested/previewed my changes locally

The naming of the menu item is a bit misleading. It says Save Image As, but instead of displaying a Save As dialog, a notification about copying data to the clipboard is displayed. Alas, there seems to be no image data on the clipboard.
It looks like as if displaying the Save As dialog is somehow blocked for me.
(I'm testing with http://jsfiddle.net/nj82y73d/)

The naming of the menu item is a bit misleading. It says Save Image As, but instead of displaying a Save As dialog, a notification about copying data to the clipboard is displayed. Alas, there seems to be no image data on the clipboard.

I have now changed this text to Download image.

It looks like as if displaying the Save As dialog is somehow blocked for me.

Not sure why this is so. I am able to build on the mac - and took the screenshot pasted in the original description of the PR.

Not sure what's happening @kris7t . On the mac, this is working, and I am able to download images that start with blob protocol.

Maybe we could add this feature with an isMac guard, then (until we can figure out why doesn't it work on Linux)?

ok - doing that in a couple of mins.

@kris7t - done in the last commit. please review.


WFPREV-133 - Hooking up the build to use Graalvm.

Also added a .sh script to help with running in dev.

Tested by running build here: https://github.com/bcgov/nr-bcws-wfprev/actions/runs/12023618114/job/33517782709
and Curl: curl --location 'https://exxg94hoaf.execute-api.ca-central-1.amazonaws.com/pub/wfprev-api/'
--header 'Authorization: Bearer '
--header 'Cookie: JSESSIONID='


Re-enable FBF Test

Once the issue with XVFB and FireFox is fixed we should re-enable the FBF test.
Relevant bugzilla ticket:
https://bugzilla.mozilla.org/show_bug.cgi?id=700078
If someone is feeling ambitious we should come up with an easy test case for the graphics team.
Relevant tickets here:
#756

Looks like https://github.com/mozilla/pdf.js-bot/commit/f6bb6ce18643151b54d47aa55921052989a9a699 solves the issue


error upgrading kong

I've got the following error when i try to deploy to heroku right now.
remote: -----> Building Kong from https://github.com/mars/kong.git#0.7.0-external-supervisor.1
remote:
remote: Error: Could not find rock 'kong' in /app/.heroku
remote: fatal: ambiguous argument 'origin/0.7.0-external-supervisor.1': unknown revision or path not in the working tree.
remote: Use '--' to separate paths from revisions, like this:
remote: 'git <command> [<revision>...] -- [<file>...]'

Attempting to reproduce this error, I just ran a fresh deploy from the purple "Deploy on Heroku" button. My deploy succeeded; here's the log from the section where you encountered the error:
-----> Building Kong from https://github.com/mars/kong.git#0.7.0-external-supervisor.1
Error: Could not find rock 'kong' in /app/.heroku
Cloning into '/app/tmp/cache/heroku-kong-buildpack/kong-source'...
Note: checking out '0.7.0-external-supervisor.1'.

Can you provide further details about the situation where you encountered the error? What does "upgrading" mean in this context?

What does "upgrading" mean in this context?

the word indeed was not appropriate, i meant a deployment on an existing heroku app
I just tried from a fresh install and it worked, but re-deploying still doesn't

here are the full logs https://gist.github.com/jney/b3cd1f8015186f6c3e58584df86fa2a8

I've reproduced your error; will follow-up once I have more information.

I'm not sure why this began failing recently, but I applied a fix to make git fetch the correct Kong source code.
You can update your heroku-kong app to the Beta 5 release or to master to get the fix.
Thanks for filing this issue @jney.


pynetdicom3 install fails

Description
The installation fails with the following error:
Extracting pynetdicom3-0.9.0-py3.6.egg to /home/mespak/.conda/envs/giquant/lib/python3.6/site-packages
  File "/home/mespak/.conda/envs/giquant/lib/python3.6/site-packages/pynetdicom3-0.9.0-py3.6.egg/pynetdicom3/tests/use_cases.py", line 35
    def associate(...):
                    ^
SyntaxError: invalid syntax

pynetdicom3 0.9.0 is already the active version in easy-install.pth

Installed /home/mespak/.conda/envs/giquant/lib/python3.6/site-packages/pynetdicom3-0.9.0-py3.6.egg
Processing dependencies for pynetdicom3==0.9.0
Searching for pydicom==1.2.0.dev0
Best match: pydicom 1.2.0.dev0
Processing pydicom-1.2.0.dev0-py3.6.egg
pydicom 1.2.0.dev0 is already the active version in easy-install.pth

Using /home/mespak/.conda/envs/giquant/lib/python3.6/site-packages/pydicom-1.2.0.dev0-py3.6.egg
Finished processing dependencies for pynetdicom3==0.9.0

The error seems to be here:
https://github.com/pydicom/pynetdicom3/blob/0da1d6ccc90cab6bbb0d08ce2c14133f3da6d85d/pynetdicom3/tests/use_cases.py#L35
The line has been introduced with a very recent commit with AE API changes.
Expected behaviour
Installation succeeds.
Actual behaviour
Installation fails, pynetdicom3 is not installed.
Steps to reproduce
Follow the steps as described in the top-level readme file. (Clone, cd, python setup.py install).
Your environment
Please run the following and paste the output.
$ python -c "import platform; print(platform.platform())"
Linux-4.15.0-23-generic-x86_64-with-debian-buster-sid
$ python -c "import sys; print('Python', sys.version)"
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0]
$ python -c "import pydicom; print('pydicom', pydicom.__version__)"
pydicom 1.0.2
$ python -c "import pynetdicom3; print('pynetdicom3', pynetdicom3.__version__)"
pynetdicom3 0.9.1

Whoops, that file isn't supposed to be there.
Thanks

Should be fixed


[Feat] :  Adding Aero Acrobat game extension

Is your feature request related to a problem? Please describe.
It's just a new feature , it is not related to some issue.
Describe the solution you'd like

"Aero Acrobat" is an exhilarating arcade-style game that challenges players to navigate a courageous boy through a breathtaking ascent into the sky. With the help of the spacebar and four arrow keys, players must guide the boy upwards, maneuvering through a maze of obstacles and platforms.

How do we know when the feature is complete?
I will complete it within one day

@Sulagna-Dutta-Roy , I have currently 135 points from this project , this will be my last issue , I really enjoyed working with you and learned a lot from this project

Hey @Maana-Ajmera I appreciated your efforts and hardworking here and being supported all the time.
And aero actobat is already added here. Kindly raise one new Issue as I'm closing this #2167


Open to new trigger window

Hi guys, I've been using the "EditorForm.Initialize" command to open the editor form, but is there a way to have it open directly into the triggers / new trigger form?
At the moment I've got the editor opening but it opens on the "general" tab, so the user then has to click the Triggers tab, then on New.
I'd much prefer if it opened directly to the new trigger window. Is that possible?
Originally posted: 2015-04-10T20:02:41

There is not a simple property that will allow this. However you can use a sneaky method for doing this, though it has risks of internals breaking it in the future so definitely make sure you build in error handling.
using (TaskService mgr = new TaskService())
{
  var dlg = new TaskEditDialog(mgr.RootFolder.Tasks[0], false, false);
  try
  {
    TabControl tabs = dlg.Controls["taskPropertiesControl1"].Controls["tabControl"] as TabControl;
    TabPage triggerTab = dlg.Controls["taskPropertiesControl1"].Controls["tabControl"].Controls["triggersTab"] as TabPage;
    if (tabs != null && triggerTab != null)
      tabs.SelectedTab = triggerTab;
  }
  catch { }
  dlg.ShowDialog(this);
}

Originally posted: 2015-04-12T21:57:13

thanks dahall, that opens the window directly into the "Triggers" tab which is great, but is it also possible to have it open to the "New Trigger" window - instead of having to press the "New" button?
Not a big problem as they could just press the button, but would be nice.
Thanks and appreciate your help,
Originally posted: 2015-04-13T16:59:56

If you just need to create a new trigger, then use the TriggerEditDialog.
Originally posted: 2015-04-14T09:23:16


Radio button collections

The primitives for radio button inputs are already built into superform, but they don't quite work how Rails expects, which is to have a hidden field at the end with the current value that's set when no radio buttons are selected.
This is similar to how the select helper works, so I think they should share some code since there's a common pattern in Rails for a hidden field to be appended at the very end of a collection to serve as the "unselected" value.
Additionally, I think this code could actually be used for the select input since the current implementation doesn't assume users can select many different options.

Related to the PR at https://github.com/rubymonolith/superform/pull/33, which has changes requested to work with both select and input radio


Html5 documentation

Found some improper HTML formatting in the documentation.

<tt> is obsolete
<p> and <li> require closing tags
<a name='something'> is obsolete (used a div).

I didn't do any content edits.

uh looks like I hadn't learnt how to use git yet at this time


When a connection error occurs, tweetfeels does not attempt to reconnect.

Note: with Twitter's streaming API, you can keep a connection open indefinitely.
We need to be careful with reconnecting. If done too rapidly, it will cause the app to get banned from the api. The reconnection code needs to respond appropriately to Twitter's error messages and back-off reconnection if necessary.
Reconnect Guidelines
Error Codes

Here's a good starting point:
http://stackoverflow.com/questions/29582080/tweepy-make-stream-run-forever


HIVE-27890 FIx: Tez Progress bar not displayed in Beeline upon setting session level execution engine to Tez.

What changes were proposed in this pull request?
When executing queries via Beeline with the server-level execution engine set to MapReduce (MR) and the session-level engine set to Tez, the anticipated behavior involves the visibility of the Tez Progress bar. However, a discrepancy has been identified where the latest session value is not considered when instantiating the ProgressMonitorStatusMapper.
This proposed pull request (PR) addresses the issue by retrieving the value of the session-level configuration for HIVE_EXECUTION_ENGINE, as opposed to the server-level configuration in service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java.
The modification ensures that the instantiation of the ProgressMonitorStatusMapper is appropriately evaluated, with the TezProgressMonitorStatusMapper being instantiated when the Hive execution engine is set to Tez at the session level.
Why are the changes needed?
When queries are executed through Beeline and the server-level execution engine is configured to MapReduce (MR), while the session-level execution engine is set to Tez, it has been observed that the Tez Progress bar is not rendered in the output. This goes against the expected behaviour for the Tez Progress Bar. It should be rendered in the output.
Does this PR introduce any user-facing change?
No
Is the change a dependency upgrade?
No
How was this patch tested?
The test cases already exist. The visibility of the Progress Bar was tested by running Hive queries and changing the hive execution engine frequently to Tez and back to MR in several epochs.

+1,
Looks Good

@deniskuzZ @ayushtkn @abstractdog @sourabh912 Could you pls check?

patch makes sense, so if we run on tez, let's display the tez progress monitor by all means, but before making this patch happen, can't we reiterate on why server-side execution engine is configured to MR? MR is not supported anymore, so we're kind of hacking here:

we configure MR on HS2
we run queries on Tez (as MR is not supported), so configure Tez in the session
the 2 settings conflicts, but we're aware that we want to use Tez

+1 LGTM

Oops, missed to add the jira ID in the commit message !!


Removed the additional line

Proposed Changes

Tried out to see of the CI prow is flaky.

/test eventing-upgrade-tests

/test eventing-upgrade-tests

/retest

/test eventing-upgrade-tests