Cannot enable scheduled task by pointer

System
OS: Windows, IDE: Atom/PlatformIO, Board: ESP8266EX
Please see the two affected files below, which are referenced in the explanation. I know pretty much nothing about C++ (Python and C# background)
Problem
I've got a task with an anonymous function to disconnect and shut off the ESP8266's WiFi. This task is added to the scheduler during setup().
I'm able to call enableDelayed() on this task within setup(), and as expected, the task runs after the delay.
However, when task->enableDelayed() is called by pointer, the task is enabled (scheduler->timeUntilNextIteration(*task) reports the correct delay on the "/shutdown" http page, which is within the same scope the task is enabled) then destroyed, as the pointer scheduler->timeUntilNextIteration(*task) reports -1 on the "/" http page afterwards.
I've tried a bunch of different ways to restructure the code (and even tested passing a boolean through, which was not destroyed, and was updated as expected on both http pages) so I'm not too sure what I'm missing here.
Main.cpp
#include "TaskScheduler.h"

ESP8266WebServer httpServer(80);
LoopOperationHandlers loopOperationHandlers;
Initialisation initialisation;
Scheduler scheduler;
Task shutdownTask(2000, 0, [](){ WiFi.disconnect(true); });

void setup() {
    Metrics::millisBoot = millis();
    pinMode(PIN_LED_BLUE, OUTPUT);

    scheduler.init();
    scheduler.addTask(shutdownTask);

    initialisation.wifiSetup(loopOperationHandlers);
    initialisation.httpServerSetup(&httpServer, &scheduler, &shutdownTask);  // Passing the mem addr/pointer for task 'shutdownTask'
}

void loop() {
    scheduler.execute();
    loopOperationHandlers.wifiConnectedStatus();
    httpServer.handleClient();
}

Initialisation.cpp
#include "TaskSchedulerDeclarations.h"

class Initialisation {
    public:
        void wifiSetup(LoopOperationHandlers loopOperationHandlers){
            loopOperationHandlers.wifiConnectedStatus();
            WiFi.mode(WIFI_STA);
            WiFi.setAutoConnect(true);
            WiFi.setAutoReconnect(true);
            WiFi.config(
                IPAddress(192,168,3,DEVICE_ID),
                IPAddress(192,168,3,1),
                IPAddress(255,255,255,0)
            );
            WiFi.begin(WLAN_SSID, WLAN_PASSWORD);
        }

        void httpServerSetup(ESP8266WebServer* httpServer, Scheduler* scheduler, Task* shutdownTask){
            httpServer->on("/", [=]() mutable {
                httpServer->send(200, "text/plain",
                    "Uptime: " + String(millis() - Metrics::millisBoot)
                    + "ms\nWiFi Handshake: " + String(Metrics::millisWifiConnected)
                    + "ms\nSignal Strength: " + String(WiFi.RSSI())
                    + "dB\nFree Memory: " + String(ESP.getFreeHeap())
                    + "\nNext Shutdown: " + String(scheduler->timeUntilNextIteration(*shutdownTask))
                );
            });
            httpServer->on("/shutdown", [=]() mutable {
                shutdownTask->enableDelayed();                     // enableDelayed called by pointer here
                httpServer->send(200, "text/plain",
                "Powering off...\nenabled=" + String(shutdownTask->isEnabled())
                + "\ninterval=" + String(shutdownTask->getInterval())
                + "\niterations=" + String(shutdownTask->getIterations())
                + "\nfirstRun=" + String(shutdownTask->isFirstIteration())
                + "\nlastRun=" + String(shutdownTask->isLastIteration())
                + "\nnextRun=" + String(scheduler->timeUntilNextIteration(*shutdownTask)));
            });
            httpServer->begin();
        }
};

Hi,
Shouldn't ShutdownTask be defined with 1 iteration, not 0?
Task shutdownTask(2000, TASK_ONCE, [](){ WiFi.disconnect(true); });
Also, I am not using the lambda methods since they are not supported by Arduino IDE for most of the boards (AFAIK only ESP toolchain supports them).
Why can't you use static methods instead of the "initialization" class?  Plus all of the parameters that you are passing are already static global - so why not just use them?
Something like:
#include "TaskScheduler.h"

ESP8266WebServer httpServer(80);
LoopOperationHandlers loopOperationHandlers;
Initialisation initialisation;
Scheduler scheduler;
Task shutdownTask(2000, TASK_ONCE, &shutdownCB);

void setup() {
    Metrics::millisBoot = millis();
    pinMode(PIN_LED_BLUE, OUTPUT);

    scheduler.init();
    scheduler.addTask(shutdownTask);

    initialisation.wifiSetup(loopOperationHandlers);
    initialisation.httpServerSetup(&httpServer, &scheduler, &shutdownTask);  // Passing the mem addr/pointer for task 'shutdownTask'
}

void loop() {
    scheduler.execute();
    loopOperationHandlers.wifiConnectedStatus();
    httpServer.handleClient();
}

        void wifiSetup(LoopOperationHandlers loopOperationHandlers){
            loopOperationHandlers.wifiConnectedStatus();
            WiFi.mode(WIFI_STA);
            WiFi.setAutoConnect(true);
            WiFi.setAutoReconnect(true);
            WiFi.config(
                IPAddress(192,168,3,DEVICE_ID),
                IPAddress(192,168,3,1),
                IPAddress(255,255,255,0)
            );
            WiFi.begin(WLAN_SSID, WLAN_PASSWORD);
        }

        void httpServerSetup() {
            httpServer.on("/", [=]() mutable {
                httpServer.send(200, "text/plain",
                    "Uptime: " + String(millis() - Metrics::millisBoot)
                    + "ms\nWiFi Handshake: " + String(Metrics::millisWifiConnected)
                    + "ms\nSignal Strength: " + String(WiFi.RSSI())
                    + "dB\nFree Memory: " + String(ESP.getFreeHeap())
                    + "\nNext Shutdown: " + String(scheduler->timeUntilNextIteration(&shutdownTask))
                );
            });
            httpServer.on("/shutdown", [=]() mutable {
                shutdownTask.enableDelayed();
                httpServer.send(200, "text/plain",
                "Powering off...\nenabled=" + String(shutdownTask->isEnabled())
                + "\ninterval=" + String(shutdownTask->getInterval())
                + "\niterations=" + String(shutdownTask->getIterations())
                + "\nfirstRun=" + String(shutdownTask->isFirstIteration())
                + "\nlastRun=" + String(shutdownTask->isLastIteration())
                + "\nnextRun=" + String(scheduler->timeUntilNextIteration(*shutdownTask)));
            });
            httpServer.begin();
        }

void shutdownCB() {
    WiFi.disconnect(true);
}

Ideally I wanted to separate the sketch across several files to make it easily repurposeable... given the advice above though I think refactoring the sketch would be the best way forward.
Thanks

You can still use separate files - just not the lambda functions and static methods instead of class objects.


License?

What is the license for this code? Is it available for incorporation into other projects?

yes, assume MIT license.


GUI VERY BADE

Be Simple ..
Make it easy it will be strong...
Too much talk is useless...
You must immediately rearrange the site
Oraganization  Oraganization  Oraganization   Oraganization  Oraganization  Oraganization  Oraganization  Oraganization  Oraganization .............................................

Um, okay?

I spent a long time patching some bandaids on the existing website last month. It's far from perfect but it will do until we can get a fresh and clean site For F7. I don't want to waste too much time developing a new site for F6 right now.

I spent a long time patching some bandaids on the existing website last month. It's far from perfect but it will do until we can get a fresh and clean site For F7. I don't want to waste too much time developing a new site for F6 right now.

Hi Joe.
I see you a lot around here, looks like you are doing most of the maintenance and other work from what I can see. I would like to talk with you about the direction of F7 and what I can do to assist. I'm sort of in the dark here about the direction of 7 but I suspect 7 needs to work both as a standalone framework but also be compatible to be dropped into other build frameworks. I am using Foundation 6.5.x with Vue 3 using the Vite build system and it works quite well, but it's a bit of a hack to get it working right.
I'd like to see how I can be of help here as I'd love to see a 7 come to fruition. Would you be willing to have a short conversation with me on the matter? If so, shoot me an email and I'll send you my cell. If so, it's<EMAIL_ADDRESS>Thanks.


Adding Display Specifiers objects analysis

This PR adds analysis of Display Specifier objects in the Configuration naming context.
Modified Display Specifiers can add new menu contexts in the ADUC admin tool, which may make execute arbitrary code unwittingly to administrators.
Here is an example when the user-Display Display Specifier is modified:

(Remote files can also be executed this way).
This PR compares current values of adminContextMenu of every Display Specifier to extracted default values.
When there is a mismatch, it is reported as output like other commands (example in JSON format):

After running this function in a real AD environement, I realized Display Modifier values are MUCH more heterogeneous than a default AD. I am going to review my code to check if dangerous files could be run through DM instead of comparing to default values.


Create initial visualisation of schools data

Depends on #27 - Pushed from Sprint2 to sprint 3 as we didn't get clarity in time to take this forwards.
Visualisations & page specs defined: https://docs.google.com/document/d/1ZdXZC95WARxoFyI1vMYiCjvNQhpbrD2SBKknzQMnjg8/edit (ask Michelle if you have any questions on this)
Before closing item, please create a new ticket to develop the text for this page.

Contact at L23 is on leave until Monday 13th, and therefore cannot identify a unique identifier for schools activities at this point in time.

Any news on this @ODILMichelle

We have the information outlined here which helps us understand the unique identifier for schools activities: https://github.com/open-innovations/leeds-2023/issues/27
However we are still blocked by not yet understanding exactly how L23 will be adding data to Airtable. It is still unknown whether, for events engaging pupils from multiple schools, there will be one entry for each school (allowing us to visualise pupils engaged by ward), or one entry for the event (which will not allow this).
I don't know whether that blocks you entirely from proceeding with this work.

Let's see what the data looks like when extracted and make a call then

I think given the latest comment on https://github.com/open-innovations/leeds-2023/issues/27, we're likely to be able to proceed anyway

@gilesdring / @taz-chiles to discuss Tues 4th

Confirmed from L23:

L23 will improve their historic data quality picking up the points we previously flagged to them
They have added a teacher audience field which allows us to calculate true number of pupils. As this has just been added (last 10 mins or so) historic data hasn't been amended, but I will work with L23 on this. (raising another ticket shortly)
They have created a view for us to use to capture all events (raising another ticket on this shortly)
Previous 'test events' have been removed from the data today. This means the data we have on github is not the most up-to-date version.

Blocked by #101 and #102. Will need to update data in community engagement stats based on new output.

I'll make a start at building the page and some initial visualisations over the next couple of weeks though, recognising that some of the data will likely change once the above updates have been made.
Headline statistics:

Cumulative pupils engaged with
Number of schools engaged with
Percentage of schools engaged with (not sure on how best to do this, will look into it)

Line chart:

Engagement by week

Hexmap:

Percentage of schools engaged with in each ward (will have to look into how we can do this - would need a list of all schools per ward)

Will catch up with @ODILMichelle next week to make sure we're happy with these being the starting point

I think this can be considered unblocked - we have a viable set of data - which might improve as the view improves or we are able to correct the transformation e.g. remove teacher data from the aggregate.

Regarding percentage of schools, we have a list of all schools within Leeds & their postcodes (and I believe their wards), thanks to L23. Will dig this out and/or ask me for it @taz-chiles before you start.
As added as a comment on the agreed spec, I think the Headline stat should be 'Engagements with Young People', rather than 'Pupils Engaged with', despite us agreeing the latter title with L23 previously.

@taz-chiles, List of schools has been added to Sharepoint
I was incorrect - it's schools & wards, not schools, wards and postcodes.

@taz-chiles looking at the list of schools in more detail, it appears that there are some duplicates in the spreadsheet I shared above e.g. John Jamieson which is marked as both a SILC and Primary school. As such, using the total number of schools as 320 (total number of row items) will give us some incorrect results.
Happy to identify these challenges and take them back to L23 so that we can get a de-duplicated list? Let me know if this is useful.

@ODILMichelle Thanks for digging out the spreadsheet and taking a look - yes I think going back to them would be useful , we wouldn't want to present the wrong percentage or have to make any assumptions about which rows are duplicates. I can still build out the page though, anticipating that some of the data will change.

Contacted L23 about the list of schools and will update when I hear back.
I think this only blocks part of the ticket, however, and progress can still be made in terms of generating a hexmap of the numbers of young people engaged, and the first headline figure. Let me know, @taz-chiles if you disagree as I might have missed something!

@ODILMichelle thanks for getting in touch with them! I have started building the page showing the 3 headlines and the engagement by week line chart. Will work on the hexmap this week
@gilesdring to process the schools data, I've added a separate script that will need to be added into the DVC pipeline - I'd need to get pipenv or similar installed so that I can run and amend existing scripts with DVC so let's chat about this when you return?

@ODILMichelle I've added some initial stats and visualisations to the page. I'm going to spend a bit of time cleaning up the code and checking over the figures, but feel free to let me know your initial comments on the page.
I also saw that Chris has responded about the duplicate schools so I'll apply the comments from his email

Update schools reference data with schools table from airtable

I was about to close this ticket & noticed one small issue.

I'm looking at this at the moment to get the updated ref data. I'll pick this up too


Analysis server has broken navigation link from enum .values

Repro: using an editor with Dart analysis server integration (like IntelliJ), find a reference to the .values getter of an enum class (for example, HintActionKind.values on line 14 of pkg/nnbd_migration/lib/src/hint_action.dart).  Click on the identifier values and ask the editor to navigate to the definition.
Expected result: the user should be navigated to the declaration of the enum.
Observed result: the user is directed to the top of the file containing the enum.

It looks like there is a similar problem for .index.

possibly related:  https://github.com/dart-lang/dartdoc/pull/2660

@jcollins-g Interesting!  I discovered this issue in the process of trying to diagnose a similar issue with the migration tool.  Perhaps we can find a way to have a single bug fix that is shared by all three tools.

For the navigation piece, the problem is that each identifier is resolved to a synthetic element, which by definition has no source offset (so we return -1 from offset). I'm not thinking of a good way to handle this generally, so I suspect this will need to be handled on a case-by-case basis.

For the navigation piece, the problem is that each identifier is resolved to a synthetic element, which by definition has no source offset (so we return -1 from offset). I'm not thinking of a good way to handle this generally, so I suspect this will need to be handled on a case-by-case basis.

This is why I didn't file an analyzer issue originally; since it was a synthetic element causing the problem I simply assumed I'd have to special case it similarly to other synthetics.   I don't know how to handle it generally -- I know what would work for me, which is referring to the location of the element that implied the synthetic element -- but I don't know what the consequences are outside of dartdoc to making such changes.

That's an interesting possibility. I'm not sure whether it would make the API easier or harder to use. Some tools would still need to be aware of the fact that the element is synthetic and my concern is that it would be much easier to write invalid code that doesn't crash and hence gives no indication that it's producing the wrong results. Having a negative offset might actually allow bugs to be caught sooner.
If we don't change the current semantics of offset, we could consider defining a new getter (navigationOffset?) that would have a semantics that both the navigation producer and dartdoc could use.

One issue with navigationOffset is that it provides you only with partial information. You get the offset, but you don't know why. For an implicit getter the reason is that you should navigate to the corresponding property, and here to an enum constant.
What if we return the navigationElement instead, which is guaranteed to have a non-negative offset (for unnamed libraries the navigation element is the defining unit, and the offset is zero)? Unfortunately I don't how to express in types that the offset is non-negative, or positive. So, it would be just a convention.

That's even better. It's more general than my original proposal, though, so perhaps a more general name such as nonSyntheticElement would be in order. (There are probably plenty of places in analyzer, server and linter that do the "if this is a synthetic getter return the field" kind of logic that have nothing to do with navigation and could be simplified by such a getter.)

That's even better. It's more general than my original proposal, though, so perhaps a more general name such as nonSyntheticElement would be in order. (There are probably plenty of places in analyzer, server and linter that do the "if this is a synthetic getter return the field" kind of logic that have nothing to do with navigation and could be simplified by such a getter.)

Yes, some places in dartdoc could be cleaned up a bit with this too.
Perhaps inducingElement or generatingElement or similar could be possible alternative names.  Some way to convey "the element that caused this synthetic element to be created".

... this synthetic element ...

Maybe I'm being too picky, but in case we're not thinking of the same thing ... I was thinking that we'd want this getter on all elements and that non-synthetic elements would return themselves. Then clients don't need to ask whether the element is synthetic before using the getter. (Similar to Element.declaration.)

Well, inducingElement does not contradict the goal for it to return itself for non-synthetic elements, might be a matter of documenting it correspondingly.
Ideally I'd like to avoid using the word element, because we already return Element. It would be declaration, but we already use it.

https://dart-review.googlesource.com/c/sdk/+/203080


Please Update pens! [6.3.1]

I have made the updated pens!
<!-- Please only file either bugs or any feature request that you would like to suggest for Foundation on GitHub. If you've got a more general question about how to use Foundation, we can help you on the Foundation Forum: http://foundation.zurb.com/forum -->

#### How to reproduce this bug:

1. Step one
2. Step two
3. Step three

#### What should happen:

#### What happened instead:

#### Test case:

<!-- Give us a link to a CodePen or JSFiddle that recreates the issue. -->

- [CodePen with Foundation 6.3.0 and MotionUI](http://codepen.io/IamManchanda/pen/vgemXR)
- [CodePen with Foundation 6.3.0, Flexbox grid and MotionUI](http://codepen.io/IamManchanda/pen/xgXdRq)

- [CodePen with Foundation 6.3.1 and MotionUI](http://codepen.io/IamManchanda/pen/LWGZxR)
- [CodePen with Foundation 6.3.1, Flexbox grid and MotionUI](http://codepen.io/IamManchanda/pen/zZrBEv)

cc / @kball @rafibomb

Just do a PR on the .github/ISSUE_TEMPLATE.md file.

Thanks @Deckluhm .... i didn't knew buddy!


Barrier sync example

I wrote an example with a barrier.

@frewsxcv thank you for your review.
Should I rebase it?

Should I rebase it?

Yep, looks great! Thanks!

Thanks for the review!


Smart Contract

Hi team,
I had a look at the smart contract.

I would suggest to remove the PKH of normal  users. The key in the map searching for the entry should be the hash of the VC.
In order to be consistent we could also remove the pkh of the companies. The issuer can be identified by the hash of the VC.
multiple VCs can be presented at once and I suggest to transfer the VC of the company also to every individual vault (in altme) of users.
A user could then always present both VCs at the same time and the verifier backend could then just search using the VC hash not leaking pkh information.
The company VC could be stored in the gx credentials DB
The user VC should be deleted after the download in the alte vault AND the approval of the company admin
Please have a look at this example FA2 contract to figure out if we could handle the log entries as tokens? here

Those are my thoughts to be discussed.
Best regards
Carlo

quick thoughts on this:

Yes, that was always intended. That is a mistake made in the hurry to implement the design. The comment in the contract code still indicates this. Good catch.
If you mean removing it from the index, then yes. But we cannot remove it from the log entry right now. We do not have access control on writing log entries and rely on checking that the person issuing the log transaction is the same as the issuer (when verifying a VC or when updating the log entry). Also, anyone datamining the chain could keep track of what address issued what log transaction anyway.
Would potentially make sense.
Yes, this would be a better option in terms of privacy. On the other hand, it does degrade user experience. Especially with plans to potentially have more intermediate issuers, such as departments, every employee might now need to keep track of a hand full of VCs in his trust chain and needs to remember to manually choose all of them for every presentation process.
At least some info on the company VC needs to be stored so the GX Credentials operator knows what credential to revoke in case of trouble. So keeping the full credential might be the easiest and also a reasonable solution.
Removing every trace of issuances for Employees through the system should be doable and is worth pursuing.
Generally, we could. I am interested in pursuing this at a later time. Making log entries transferable might be a solution for employees leaving a company and handing over the right to revoke to their successor.

@jfelixh I think the contract in the repo is different then the one on better call dev? https://better-call.dev/ghostnet/KT1AgNNsgQRigNTmLcQrhGPZafvdmvnLXXAZ/storage

The contract code on this repo is up to date. The contract you linked is a very early test deployment of an unfinished contract, if iirc. The specific deployment I use for testing is here for reference: https://better-call.dev/ghostnet/KT1KHhpL9Pk9DVh5GDnikH4Gx1kQ6NMb3GmC/storage

Did you see this here? https://spherity.github.io/vc-ethr-revocation-registry/

Outdated in light of the coming architecture changes for improved revocation.


truncated test output

This is trivial, but some of the test output is so long, it's hard to get back up to the stack trace in my shell.  This truncates it.

lgtm


Add detekt

#3  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @ksharma-xyz and the rest of your teammates on  Graphite


Feature request for enabling read requests cross region retry and at the same time makes it go to the write region (dynamic, not a fix value) first

Is your feature request related to a problem? Please describe.
For now, to enable the cross region retry during an outage, we need to manually add the ApplicationRegion(ApplicationPerferredRegion) in the CosmosClientOptions. But if we do this, and a failover happens, we have to update this property and restart the service to make the read request by default going to the same region as write request (For consistency reason). If it's service-managed failover, the read request will always go to the read region first since we may not even aware of this. And this will increase the chance that the write haven't been synced to the read region and we get 404 for read. There is no way to change it excepting for restarting the service.
Describe the solution you'd like
By default, without the CosmosClientOptions.ApplicationRegion configured, the read request will first be executed in the write region as current behavior. If an outage happens, the read request should be able to by default retry on the read region instead of keeping routing to the write region.
Describe alternatives you've considered
Give user a configuration to let the read request always go to write region(dynamic, not a fix value) first even the write region changes(due to failover or other reason), and at the same time have cross region retry is enabled if an outage happens.
Additional context

If an outage happens, the read request should be able to by default retry on the read region instead of keeping routing to the write region.

The SDK does this on outages. But "outage" is a generic word that can describe many scenarios that materialize in different ways.
Could you please share what is the definition in terms of errors/exceptions you are seeing that you are describing as outage?

@ealsur  The SDK only does this if the ApplicationRegion or ApplicationPerferredRegion is configured. But if this property is configured, then, if a manual failover occurs, the read requests will be executed in the read region not write region. And in this case, it amplifies the possibility of can't read your write.
Previously we didn't configure this value so in the outage our read availablity is affected in the write region outage. So we add this configure, but found out that if we do the manual failover, it increases many cases that we can't read the write. We would really like to have an option to "first-read always be performed from the write region only, and at the same time the cross region read request retry is enabled".

I'm still confused. Yes, there are some scenarios where the PreferredRegions are required and that is publicly documented: https://learn.microsoft.com/azure/cosmos-db/nosql/troubleshoot-sdk-availability#transient-connectivity-issues-on-tcp-protocol, but not all of them.

The SDK only does this if the ApplicationRegion or ApplicationPerferredRegion is configured.

That is not entirely correct. There are scenarios where the conditions will make the SDK mark regions on the local map as unavailable and skip them, like HttpRequestException handling, or a 403/1008 or 403/3 from the service and refresh the account routing map. If the region is indeed marked as unavailable during the outage, then it might not be returned on the account information and then it's not visible to the client.

if a manual failover occurs, the read requests will be executed in the read region not write region. And in this case, it amplifies the possibility of can't read your write.

In that case, assuming Session consistency, the service will return 404/1002 if the read region is not up to speed with the session token, and would make the SDK retry the read on the write region.

Previously we didn't configure this value so in the outage our read availablity is affected in the write region outage

Can you please share some error logs/exceptions so we can understand what happened on the outage? Like I previously said, in a distributed system, an outage can be materialized in different ways and different error conditions. Understand which is the one that affected you would help guide this feature request.

In previous Australia east zone outage(Aug 30, 2023), before the Service-managed failover take effects, we received many 408 and 503 statuscode for a long time. And there are also many HttpRequestException(SocketException(10060)) that are keep retrying in the same region (the outage write region) Please see this link for the metrics we hit very long respone time for each single request: https://github.com/Azure/azure-cosmos-dotnet-v3/issues/4006#issuecomment-1718996070. I tried to searched but the detailed log can't be found now since it's too long from that time.
At that time, we didn't configure our applications with ApplicationRegion or ApplicationPerferredRegion. So seeing from our applications' metics, our read API availability is also being affected.

That is not entirely correct. There are scenarios where the conditions will make the SDK mark regions on the local map as unavailable and skip them, like HttpRequestException handling, or a 403/1008 or 403/3 from the service and refresh the account routing map. If the region is indeed marked as unavailable during the outage, then it might not be returned on the account information and then it's not visible to the client.

Not sure if I get it. Do you mean that even we don't configure ApplicationRegion or ApplicationPreferrdRegion, we will still have cross-region retry for read request in the outage? I know for 403.3 it will retry on other available write region since write request can only be executed in the write region, but for read requests it's not what we observed in the outage. They seem sticked in the write region without cross region retry.
What we basically want is a configurable option that "first-read always be performed from the write region only, and at the same time the cross region read request retry is enabled" which is similar to a mix of this two: https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/troubleshoot-sdk-availability#:~:text=Expand table-,Account type,Primary region,-Note

Let me try to take some of the things apart:

408s - If you are getting a 408 out of the SDK, it would mean Write receive timeout (that's the case as far as I know) and these are not retried: https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/troubleshoot-sdk-availability#transient-connectivity-issues-on-tcp-protocol
503s - These are the ones where our public documentation calls out that are only retried if Preferred Regions are specified. If the feature request is for these, then we can scope the request to this for analysis.
HttpRequestException - The SDK in this case refreshes the account information. In the case of the outage you mention, the problem was that the account information was still saying the region in outage was a valid region to be used. This is the part where I mention that not all outages are the same. The SDK drives out of the account information, ideally, if the outage is identified, then the service will react accordingly by not including that region. This is being constantly improved by the service team.

Do you mean that even we don't configure ApplicationRegion or ApplicationPreferrdRegion, we will still have cross-region retry for read request in the outage?

As I mentioned, this varies from outage to outage, that is why I wanted to understand a bit better. What I say is that there are scenarios where the SDK does not required Preferred Regions. 403/3 can happen during write region transition and during that time, the service will also return the second region where the write endpoint is transitioning as part of the account information, and the SDK will use that without you having to specify any preference. For 403/1008 is similar.

What we basically want is a configurable option that "first-read always be performed from the write region only, and at the same time the cross region read request retry is enabled" which is similar to a mix of this two

If the ask is a configurable option, wouldn't that option be the Preferred Regions? Or is the ask that without any setting, the retry happens on 503s on the next available region for read operations?

ApplicationPreferredRegion can't meet the requirement that "first-read always be performed from the write region only, and at the same time the cross region read request retry is enabled". Take what we hit as an example, we do a manual failover, then previous write region will now become a read region, but read requests will still be executed first in this read region, not current write region.
For 408s and HttpRequestException, can you explain a bit more about it?
When ApplicationRegion or ApplicationPerferredRegion is not set:

The read requests 408 will be retried, but will it contains cross region retry if the retry on the primary region keeps failing?
HttpRequestException: if the SDK identified the region has outage, the service react by not including that region. Will service then retry it on other region than the primary region? But this seems conflict with what you previously mentioned: https://github.com/Azure/azure-cosmos-dotnet-v3/issues/4006#:~:text=For initialization%2C there,CosmosClientOptions.ApplicationRegion.

first-read always be performed from the write region only, and at the same time the cross region read request retry is enabled

Basically what you are asking is what I mentioned that without any setting, the retry happens on 503s on the next available region for read operations. Adding a setting for this behavior sounds confusing for users? But if that is the ask, the team can certainly review it (I'm mainly trying to get clarity from this thread).

The read requests 408 will be retried, but will it contains cross region retry if the retry on the primary region keeps failing?

408s are not retried. They refer to Write Receive timeouts. I mentioned it on my previous comment.

HttpRequestException: if the SDK identified the region has outage, the service react by not including that region. Will service then retry it on other region than the primary region? But this seems conflict with what you previously mentioned

The SDK does not identify outages. It can identify conditions that might mean that either there is an outage or the client machine is having connectivity issues. There is no way for the SDK to know about outages. There are conditions (server responses like 403/3 or 403/1008) and network conditions (timeouts, DNS resolution failures). HttpRequestException means the client cannot resolve or cannot connect to the Cosmos DB Gateway endpoint. In some scenarios, when there really is an outage and is identify by the service, the Gateway will remove the outage region from the account information. When the SDK refreshes the account information, it will receive that the region is no longer part of the account and not use it, the SDK can only route requests part of the account information.
I want to reiterate here the point, the SDK does not know about outages. In fact, what you described could also mean that connectivity on a machine is fully cut off on the HTTP and TCP connectivity and that would not be an outage. It drives routing decisions based on what the service tells it (account information) and the user preference.
What I want to try and take out of this thread and all the discussion is that your ask is a way for the SDK to, regardless of being a setting or not, use other regions if possible even if the preferred regions are not set, for cases when it leverages the preferred regions for availability attempts. Would that be the case?

This Issue might also be related https://github.com/Azure/azure-cosmos-dotnet-v3/issues/3906

Really thank you a lot for your very detailed explanation!

What I want to try and take out of this thread and all the discussion is that your ask is a way for the SDK to, regardless of being a setting or not, use other regions if possible even if the preferred regions are not set, for cases when it leverages the preferred regions for availability attempts. Would that be the case?

Yes. This would be great!
For us, what we want is a way to achieve "read always go to write region first, even if a manual failover happens, the read request still go to the new write region first, and at the same time it can leverages preferred regions (or any available regions for availability retry attempts)" As the client already know every available regions, it would be really great (and maybe more intuitive?) that the SDK can automatically do some availability retry attempts on those region for higher availability.

408s are not retried. They refer to Write Receive timeouts. I mentioned it on my previous comment.

408s are not retried even for read requests? But I see this doc, the SDK will retry read 408 and 503 as they are idempotent?https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/conceptual-resilient-sdk-applications#:~:text=For read operations%2C the SDKs will retry any timeout or connectivity related error.

But I see this doc

The doc there is generic and not specific to any language. 408s are related to timeouts, the .NET SDK retries timeouts, in .NET they materialize as TaskCanceledException for HTTP or TCP timeouts (IO exceptions) on Direct mode requests. These are retried for read request.
The difference in .NET is that the 408 is thrown on a receive timeout for a Write operation to the application. We cannot throw the IO exception, so it gets converted to a 408.
I don't want to edit your comment at the top, but could you add the summarization there of the discussion?

Sry for the late response. I have updated the first comment. Please help review to see if more context is needed.

Gentle ping. Do we have any update about this feature request?

@blankor1 team planning takes into account feature requests, at the moment, the team is already engaged in deliverables and we can account for new feature requests in the next semester. This issue was created in April, the team should take it in to consideration for the next planning cycle.

Hi, may I ask the progress of this feature request? Will it be planned and implemented in this semester?
For now, there is no way for us to dynamically detect the region failover during the runtime and change the ApplicationRegion without downtime which makes "Change write region" a risky operation for us.

@ealsur Any update for this? Thanks!


JS Transaction needs sentence restructure

See: https://github.com/arangodb/docs/pull/1371

Thanks, adjusted in https://github.com/arangodb/docs/commit/8f822671cef2dec45ac6848d91c5193247e0b20d


/bin/sh: context: command not found

Hi,
I am using mac and just installed Standalone ConText  by following http://wiki.contextgarden.net/Mac_Installation#Standalone_ConTeXt
but when i run make, it gave /bin/sh: context: command not found.
So the pdf version is not showing up.

Can you run context from the command line, i.e. when you type context in a terminal, does it say command not found or something else?
You may need to manually add context to your $PATH variable.

Oh Tahnks! Indeed, the path of context is not configured properly.
It is working now.


keep key/value ordering

Current coverage is 100.00%

Merging #48 into master will not affect coverage as of 37f9834

@@            master     #48   diff @@
======================================
  Files           24      24
  Stmts          246     246
  Branches        53      53
  Methods          0       0
======================================
  Hit            246     246
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 37f9834

Powered by Codecov. Updated on successful CI builds.


renamed actions for better visibility

Pull Request Test Coverage Report for Build 875045548

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

Totals

Change from base Build 875041748:
0.0%

Covered Lines:
980

Relevant Lines:
1198

💛  - Coveralls

Pull Request Test Coverage Report for Build 875045548
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build 875041748:
0.0%

Covered Lines:
980

Relevant Lines:
1198

💛  - Coveralls


Issues with Zbb tests in rv32i_m suite

I may be missing something here but I think the Zbb tests are being generated incorrectly. For example, for CLZ:
TEST_RD_OP(clz, x31, x31, 0x00000000, 0x55555555, x1, 0, x2)

0x55555555 has 1 rather than 0 leading zeros. Infact the correctval for all tests of clz, cpop and ctz are 0.

I am guessing this is a case where the actual result doesn’t match the
result parameter in the macro.
The test itself doesn’t care what the result is, since ACTs merely compare
the result with what Sail will compute.
The macro has a result parameters generated by CTG, but ( for arcane
reasons I don’t understand) this is a best effort only, and defaults to
zero if it doesn’t know what the result should be. Tests pay no attention
to that value (since the real computed result is generated by Sail)- unless
the assertion macro is enabled for debug.
We really should have either a warning if that value is non-zero for ops
where CTG doesn’t know the answer or we should augment GTG with the correct
answer (assuming there is only one answer).
On Monday, October 21, 2024, neworderofjamie @.***>
wrote:

I may be missing something here but I think the Zbb tests are being
generated incorrectly. For example, for CLZ:
TEST_RD_OP(clz, x31, x31, 0x00000000, 0x55555555, x1, 0, x2)
0x55555555 has 1 rather than 0 leading zeros. Infact the correctval for
all tests of clz, cpop and ctz are 0.
—
Reply to this email directly, view it on GitHub
https://github.com/riscv-non-isa/riscv-arch-test/issues/540, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJSSWLJMK7Q72XCUINLZ4UZPNAVCNFSM6AAAAABQKU2YMOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGYYDGMRQGA2DANY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

The correctval value is placed by CTG without actually calculating it, but the macro TEST_RD_OP(defined here) is not using correctval while checking the result. Since the tests are signature based, so the accuracy of the tests depends on if signatures (results) are matching with Sail and Spike.

Thanks for all your responses. In short, as the manual says, correctval generation is WIP in CTG and results are normally verified by comparing the in-memory output to Sail (as such in the Sail plugin, the RVMODEL_IO_ASSERT_GPR_EQ which TEST_RD_OP uses via TEST_CAST to check correctval is empty)

We should add to the list of things to do a tool to back-annotate tests
with Sail results
(which will only work for tests that are implementation option
independent....
On Wed, Oct 30, 2024 at 4:03 AM neworderofjamie @.***>
wrote:

Thanks for all your responses. In short, as the manual says, correctval
generation is WIP in CTG and results are normally verified by comparing the
in-memory output to Sail (as such in the Sail plugin, the
RVMODEL_IO_ASSERT_GPR_EQ which TEST_RD_OP uses via TEST_CAST to check
correctval is empty)
—
Reply to this email directly, view it on GitHub
https://github.com/riscv-non-isa/riscv-arch-test/issues/540#issuecomment-2446611692,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJR6QW6QX6MR22FLK4DZ6C4HTAVCNFSM6AAAAABQKU2YMOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGYYTCNRZGI
.
You are receiving this because you commented.Message ID:
@.***>

Closing this one as problem was discussed.


Add redirect using IndexRoute example

@ryanflorence added example showing redirect with IndexRoute.
Relates to: https://github.com/rackt/react-router/issues/1814#issuecomment-138045435

thanks! I updated to recent api changes and rebased as abe6ac5

Awesome thanks!


Integrate the timer into the training loop

Updated the TrainerHparams, Trainer, and State, to take max_duration instead of max_epochs. However, for the time being, it is required that max_duration be in epoch units. This will be required until state.max_epochs is no longer used by anything.
Updated the state to store an instance of Timer. Added helper getters to the state for backwards compatibility with the previous API. Added deprecation warnings
Updated the Timer to allow comparisons directly between the timer object and instances of Time. These statements are now equivalent  (timer <=other) == (timer.get(other.unit) <= other)
Updated the Timer to track the number of batches, samples, and tokens in the current epoch. Tracking batches is required for state.batch_idx; and it'd be good to provide equivalent functions for samples and tokens
Updated the Time to allow for integer comparisons. The same units will be assumed. These statements are now equivalent  (time <= 10) == (time <= Time(10, time.unit)
Updated the rest of the codebase -- mainly tests and hparam files -- to use these new APIs
Removed the old Time parsing logic from the composer.optim.scheduler

Ah, that was meant to be a Comment not an Approve -- defer to @jbloxham and @abhi-mosaic for approvals on this PR

Yeah, Duration isn't like the rest of the timing units. It's nice to have it be part of the Time class as it supports similar operations, like loading from a time string, and addition / comparison of like units, even though division and multiplication behave differently.


Card links

Hello @justinwhall,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Tag CDR release

Release notes s/b added to changelog (#115)

blocked on #181

closed as per #205


Macpie/ch10173/multi packet issues lots of late packets

Fix for https://github.com/helium/router/issues/396

I did testing on staging. It is much better then before. Before I rarely could get 2 hotspots. :)

I see few potential issues now:

There are still Dropped packages, but less then before. Will increase of wait time help to solve this?
I see more of double packets. Packets from some hotspots are late for 3-10s, and are sent as new Uplinks.  Even if someone didn't buy Multiple packets, he will get this and will need to pay. These are known as Repeated packets, and should be thrown away according to LoRaWAN specs (security). (see photo - Uplink 19)
Sometimes there are 12-15 hotspots, sometimes just 3-4. Device is at same position and sending each 2 minutes. Is it Console problem, or hotspots are busy with something so they miss packet? (see photo - Uplinks 20 and 21 for few, and then 22 for many)

It seems like you are down linking (or acking) on every packet. The improvement here was only for uplink with no downlink in return. We will discuss a way to improve this also.


Creates multiple notifications

First, thanks so much for making this, I really like it! My apologies for not making a pull request but I'm not set up for development here (just a Chromebook...)
I notice you've left the notification ID empty in chrome.notifications.create, so every new track creates a new notification. That may be your desired behaviour, but if I'm reading the documentation right, if you set a value for notification ID the function will clear any previous notification when a new track plays.

That's a good idea. I'll look into this.

Close issue?


ISIS-3053: Click on no-arg Action with ARE_YOU_SURE Semantics does nothing, when has Tooltip

Client side Javascript issues: incompatible wicket-stuff-bootstrap-confirm and bootstrap-popover

Now fixed in 'master'.


Automatic updates made by cve-rsus-validate-submit Github Action

Autmatic PR by https://github.com/DIVD-NL/cve-rsus-validate-submit
I autmatically expired some reservations for you. If you don't want that to happend, create an reservations.lock file anywhere in the reservations directory and add the CVE ID of reservations you don't want me to expire to it. You can use # style comments in this file.

Test, close


Add neuronx cache registry

This extends the neuronx caching for decoder models to store the cached neuron configurations under a specific registry folder for each neuronxcc compiler version.
aws-neuron/optimum-neuron-cache/
└── neuronxcc-<IP_ADDRESS>+f631c2365
    └── registry
       ├── hf-internal-testing
       │   └── tiny-random-gpt2
       │       └── 8019d93dd8eda6d8da82.json
       └── mistralai
            └── Mistral-7B-Instruct-v0.1
                └── b12f53f65aebf02fdfa9.json

This also adds a helper and CLI command to lookup cached configurations for a specific model_id.
The output looks like this:
$ optimum-cli neuron cache lookup mistralai/Mistral-7B-Instruct-v0.1
*** 1 entrie(s) found in cache for mistralai/Mistral-7B-Instruct-v0.1 ***

task: text-generation
batch_size: 1
num_cores: 2
auto_cast_type: bf16
sequence_length: 2048
compiler_type: neuronx-cc
compiler_version: <IP_ADDRESS>+f631c2365
checkpoint_id: mistralai/Mistral-7B-Instruct-v0.1
checkpoint_revision: 9ab9e76e2b09f9f29ea2d56aa5bd139e4445c59e

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


[Bug]: js_run_devserver() sandbox does not remove deleted files

What happened?
The sandbox created by js_run_devserver() does not remove files deleted while the dev server is running.
Version
Development (host) and target OS/architectures:
Output of bazel --version: bazel 7.2.1
Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file:

bazel_dep(name = "aspect_rules_js", version = "2.0.0-rc6")
bazel_dep(name = "rules_nodejs", version = "6.2.0")
bazel_dep(name = "aspect_rules_ts", version = "3.0.0-rc0")

Language(s) and/or frameworks involved: TypeScript, Vite
How to reproduce
See: https://github.com/walkerburgin/js-run-devserver-repro
Clone https://github.com/walkerburgin/js-run-devserver-repro
Run pnpm dev (or ibazel run //apps/foo-app:dev) and grab the js_run_devserver sandbox location:
  VITE v5.3.1  ready in 83 ms

  ➜  Local:   http://localhost:8080/
  ➜  Network: use --host to expose
  vite:resolve 0.27ms build/ts/App.js -> /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/App.js +0ms
  vite:resolve 0.15ms ./SideEffect -> /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/SideEffect.js +1ms
  vite:resolve 1.62ms /build/ts/App.js -> /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/App.js +1s
  vite:resolve 0.14ms ./SideEffect -> /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/SideEffect.js +6ms
  vite:resolve 0.48ms /@vite/client -><EMAIL_ADDRESS>+6ms
  vite:resolve 0.10ms @vite/env -><EMAIL_ADDRESS>+4ms

Inspect /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/:
➜  ls -l /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/
total 32
-r-xr-xr-x  1 wburgin  staff   89 Jul 24 15:58 App.js
-r-xr-xr-x  1 wburgin  staff  164 Jul 24 15:58 App.js.map
-r-xr-xr-x  1 wburgin  staff   94 Jul 24 15:58 SideEffect.js
-r-xr-xr-x  1 wburgin  staff  158 Jul 24 15:58 SideEffect.js.map

Delete SideEffect.tsx and observe that ibazel rebuilds, but SideEffects.js is not mentioned in the output:
iBazel [4:02PM]: IBAZEL BUILD SUCCESS
IBAZEL_BUILD_COMPLETED SUCCESS
Syncing 11 files && folders...
Syncing 11 other files && folders...
Skipping file apps/foo-app/node_modules/vite since its timestamp has not changed
Skipping file node_modules/ts-bazel-plugin since its timestamp has not changed
Skipping file node_modules/typescript since its timestamp has not changed
Skipping file node_modules/vite since its timestamp has not changed
Skipping file node_modules/@bazel/ibazel since its timestamp has not changed
Skipping file apps/foo-app/vite.config.mjs since its timestamp has not changed
Skipping file apps/foo-app/package.json since its timestamp has not changed
Skipping file apps/foo-app/index.html since its timestamp has not changed
Skipping file apps/foo-app/src/App.tsx since its timestamp has not changed
Skipping file apps/foo-app/build/ts/App.js since contents have not changed
Skipping file apps/foo-app/build/ts/App.js.map since contents have not changed
0 file synced in 1 ms

Re-inspect /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/:
➜  ls -l /private/var/folders/dt/89md32m53r31bbz6kn64qbl00000gp/T/js_run_devserver-FMhRHv6XAoVP/_main/apps/foo-app/build/ts/
total 32
-r-xr-xr-x  1 wburgin  staff   89 Jul 24 15:58 App.js
-r-xr-xr-x  1 wburgin  staff  164 Jul 24 15:58 App.js.map
-r-xr-xr-x  1 wburgin  staff   94 Jul 24 15:58 SideEffect.js
-r-xr-xr-x  1 wburgin  staff  158 Jul 24 15:58 SideEffect.js.map

Note that SideEffects.js is still present in the sandbox, and therefore still visible to Vite!
Any other information?
No response

Fixed by https://github.com/aspect-build/rules_js/pull/1873. Released in v2.0.0-rc9.


feat(storage): [proposal] generic cache interface

Which Problems Are Solved
We identified the need of caching.
Currently we have a number of places where we use different ways of caching, like go maps or lru.
We might also want shared chaches in the future, like Redis-based or in special SQL tables.
How the Problems Are Solved
Define a generic Cache interface which allows different implementations.
A example implementation using go maps is provided.
Additional Changes

none

Additional Context
Related to https://github.com/zitadel/zitadel/issues/8130

I found the issue with the limits integration tests. Limits use their own aggregate ID, not the instance's. The instance is the resource owner. That means that limit config updates did not invalidate the instance cache.
I will rethink the invalidation part and post back when it's ready.

Now I pass the aggregate through statement, so we can choose on which field to invalidate the cache. Limits needs to use the resource owner as instance ID.


pyvmomi Install VMware Tools.

Hi Team,
I'm trying to install VMware tools using pyVmomi driver and getting below error.
"Cannot complete operation because VMware Tools is not running in this virtual machine."
Steps which I tried:

vmObj.MountToolsInstaller()
vmObj.UpgradeTools()

After mounting the Installer, do i need to use UpgradeTools method to Install the VMware tools? I'm not sure if UpgradeTools() provides a functionality of fresh installation.
Can some one please help me with the solution??
Thanks
Srini

Hi ,
vm.UpgradeTools_Task()  method is required to  Install the VMware tools.

Hi @srinivasguttur is this issue resolved? Can we close this?
Thanks

vm.UpgradeTools_Task() fails when no tools are present, hence the message:
"Cannot complete operation because VMware Tools is not running in this virtual machine."
Should mounting the disc with vm.MountToolsInstaller() trigger the automatic installation?

Should mounting the disc with vm.MountToolsInstaller() trigger the automatic installation?

I believe this depends on your operating system settings. For example, in Windows you can configure autorun (manually) but this will probably launch the graphical installer which requires someone to click "Next, Next, Finish" to actually install the software.


The imported project "C:\Program Files (x86)\MSBuild\Reporting Services\Microsoft.ReportingServices.MSBuilder.targets" was not found.

Dear Experts,
We're using TFS 2015 U3,
Sql Server 2012
SSDT (All BI templetes were installed) and VS professional 2015 U3 in my environment.
We're trying to build SSRS project using TFS, but we got below error.
Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Reporting Services\Microsoft.ReportingServices.MSBuilder.targets" was not found. Confirm that the path in the  declaration is correct, and that the file exists on disk.
Please help to solve this error and also share the step by step documentation for SSRS deployment using TFS (Could't find in Githug).
Thank You.
Satheesh

Which version of MSBuild are you using and what is the project type and framework version?
Could you compare the .NET Framework versions locally and on the build server?
Actually this is not related to our Extension which only has the purpose of deploying. It expects a succesfully built project as input.

@RRGGSS can we close the ticket?


text folding problem

Hi, please try the piece of code as follow: the feature of folding is disorder when code has the brackets and brace nesting structure.
{
    "aaa": "index.html",
    icons": [
           {"src": "res/img/icon1.png"},
           {"src": "res/img/icon2.png"}
     ],
    "ddd": {
             "aaa": "aaa",
             "bbb": "bbb"
     }
 }

Eclipse WTP JSON is now included inside Eclipse Jee Neon. It was improved a lot. So please try with Eclipse Jee Neon and if you have a bug, I suggest you that you post to eclipse bugzilla.


API documentation

The wiki page mentioned in the community support paragraphs redirects to the project page: https://github.com/zmartzone/liboauth2
Is there any documentation available somewhere to describe the API for developers?

the code is MVP, the documentation is virtually non-existent and needs time and volunteers

If what needs documented is REST, I'd love to chip in!

Hello. I have just started learning about REST API documentation and wanted to know if I can assist @GreatGhostsss in the documentation?
This might help the work get finished soon and I will also be able to learn more about REST APIs and their documentation process.

Dear contributors,
Is there any progress for documentation?
I am waiting long time to use this library but there is no single complete example to describe the usage and no any api references...

this library is primarily used as a utility in end-products developed and maintained by my organization; it is not yet ready for independent usage, exactly because of the lack of documentation and the not-yet-finalized state of the APIs


Cloudinary is not compatible with Laravel 9

When I tried to update my laravel 8 app to 9
it says Cloudinary is not compatible with Laravel 9.

I started recently working on  a new laravel 9 project and  cannot install the package.
cloudinary-labs/cloudinary-laravel 1.0.0 requires php ^7.0 -> your php version (8.0.13) does not satisfy that requirement.

Same here, this is what am getting while i try to install cloudinary
PS D:\> composer require cloudinary-labs/cloudinary-laravel
Using version ^1.0 for cloudinary-labs/cloudinary-laravel
./composer.json has been updated
Running composer update cloudinary-labs/cloudinary-laravel
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires laravel/framework ^8.54, found laravel/framework[v8.54.0, ..., 8.x-dev] but the package is fixed to v9.2.0 (lock file version) by a partial
update and that version does not match. Make sure you list it as an argument for the update command.
  Problem 2
    - cloudinary-labs/cloudinary-laravel 1.0.0 requires php ^7.0 -> your php version (8.1.3) does not satisfy that requirement.
    - cloudinary-labs/cloudinary-laravel[1.0.1, ..., 1.0.2] require php ^7.2 -> your php version (8.1.3) does not satisfy that requirement.
    - cloudinary-labs/cloudinary-laravel[1.0.3, ..., 1.0.4] require illuminate/support ~6|~7|~8 -> found illuminate/support[v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev, v8.0.0
, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require.
    - Root composer.json requires cloudinary-labs/cloudinary-laravel ^1.0 -> satisfiable by cloudinary-labs/cloudinary-laravel[1.0.0, ..., 1.0.4].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

There is a pull request for the Laravel 9 update here that I really hope gets merged soon:
https://github.com/cloudinary-labs/cloudinary-laravel/pull/55#issuecomment-1030666777
You can follow the instructions in this comment to use this PR in the meantime.

It's compatible now. Please check the latest version.


improving the autocomplete

While working with Bootstrap3 we need to add a lot of divs with a lot of classes so it would be great if a this would be an option, div.hello would be expanded to

, would save a lot of time

While I can certainly see the usefulness of this, in your case, It seems better suited for it's own plugin.

Valid point :+1: Actually I was pondering about it, maybe when I have time in the future I'll fork your repo and  modify to suit my purpose :)

There is a plugin for that actually, https://atom.io/packages/emmet, works like a charm


merge: stage to master

merge: stage to master

:tada: This PR is included in version 0.32.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[$500] New line indicator does not show up if report is directly opened but unread count increases - Reported by: @parasharrajat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Copy the report url.
Close the app.
Go to device 2 and send few messages to that report.
Go back to device 1 and open that report via url.
Note that Unread count is there and chat is marked as bold but no newline marker.

Expected Result:
There should be a New Message line marker.
Actual Result:
There's no New Message line marker
Workaround:
None needed, visual issue.
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.16-6
Reproducible in staging?: Yes
Reproducible in production?: Yes
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/44479856/143299494-8897e8c7-0f9f-4297-816f-a1e544521a93.mp4
Expensify/Expensify Issue URL:
Issue reported by: @parasharrajat
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1637769518434800
View all open jobs on GitHub

Triggered auto assignment to @pecanoro (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Triggered auto assignment to @NicMendonca (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Triggered auto assignment to @parasharrajat (Exported)

Triggered auto assignment to @NikkiWines (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Upwork job post: https://www.upwork.com/jobs/~012c9eddf65166689f

Doubled job to $500 since there haven't been any proposals yet: https://www.upwork.com/jobs/~012c9eddf65166689f

Proposal:
https://github.com/Expensify/App/blob/a3b530ed7e3b7dc93e7c28b6f871bb6426d9764f/src/libs/actions/Report.js#L649-L655
To trigger  "setNewMarkerPosition(reportID, oldestUnreadSeq)"
I think we should only check on "updatedReportObject.unreadActionCount > 0" and not with "lodashGet(allReports, [reportID, 'newMarkerSequenceNumber'], 0) === 0".
Also, const oldestUnreadSeq = updatedReportObject.maxSequenceNumber -  lastReadSeqNumb + 1;  should be getLastReadSequenceNumber(reportID) + 1

The reason for the indicator not showing up is:
We are trying to access Report data before it be given by API in Report:
https://github.com/Expensify/App/blob/de5d2ba79fa86fa3510009ed618b88e0b1f4c5fa/src/libs/actions/Report.js#L1137-L1139
As we don't have lastReadSequenceNumbers, it returns undefined, that results in the indicator not showing up.
PROPOSAL
We need to know when data is received so we can access Report.js without getting undefined from it.
SOLUTION
We should add a boolean prop to track when Report is able to be accessed with ONYX inside ReportActionsView.js
isLoadingReportData: false

like what we already do with ReportActions:
https://github.com/Expensify/App/blob/de5d2ba79fa86fa3510009ed618b88e0b1f4c5fa/src/pages/home/report/ReportActionsView.js#L93
We can use this prop to track when ReportData is ready with ONYX:
isLoadingReportData: {
            key: ONYXKEYS.IS_LOADING_REPORT_DATA,
            initwithStoredValues : false,
        }

like what we already do with ReportActions:
https://github.com/Expensify/App/blob/de5d2ba79fa86fa3510009ed618b88e0b1f4c5fa/src/pages/home/report/ReportActionsView.js#L590-L594
Finally, when we receive data from Report, we need to refresh the indicator by calling:
this.updateLocalUnreadActionCount();

So we need to add to shouldComponentUpdate():
if (nextProps.isLoadingReportData !== this.props.isLoadingReportData) {
            return true;
}

And we need add to componentDidupdate();
if(this.props.isLoadingReportData !== prevProps.isLoadingReportData){
            this.updateLocalUnreadActionCount();
}

Thanks for the proposal. Looking into them....

Ok, thanks for the proposals guys.
Here are a few questions
@K4tsuki

I think we should only check on "updatedReportObject.unreadActionCount > 0" and not with "lodashGet(allReports, [reportID, 'newMarkerSequenceNumber'], 0) === 0".

Why do you think so? It seems you haven't understood the problem yet.
@mateusbra
It seems that it will work but I still have doubts about taking that path. There could be other (easier) ways of handling this.

@parasharrajat  yeah I misunderstood the problem. I thought the problem about marker not showing up on last unread message when navigating between room.

@parasharrajat I think the path my proposal takes is necessary once we need to know when Report Data is ready, so we can refresh the indicator.

Ok, I think we can go with @mateusbra proposal. I don't see any side-effect of doing it ATM.
But I will delegate the decision to @NikkiWines .
:ribbon: :eyes: :ribbon:

I agree with @parasharrajat, @mateusbra's proposal looks good 👍

Doubled job to $500 since there haven't been any proposals yet: https://www.upwork.com/jobs/~012c9eddf65166689f

Proposal posted in UpWork!
I'll make the PR as soon as possible once my proposal be accepted within UpWork! 👍

@mateusbra hired!

📣 @mateusbra You have been assigned to this job by @NicMendonca!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

PR ready for review!

PR still open

No update on PR since 4 days.

Looks there has been movement on the PR last week 👍

Looks like there has been movement 2 days ago 👍

Still being worked on. Latest update here.

This issue has not been updated in over 15 days. @NikkiWines, @parasharrajat, @NicMendonca, @mateusbra eroding to Monthly issue.
P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

PR has been merged

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.46-3 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/6764

If no regressions arise, payment will be issued on 2022-04-06. :confetti_ball:

paid! 🎉


Width breakpoint issue on smaller devices

Extension version: master
VSCode Version: 1.72.2
OS: Windows 10

Steps to Reproduce:

Using a 12 inch device
Resize left sidebar to ~236px

Note that although @daviddossett increased the width to 1280px in #4050 after I originally reported the issue in #4052 it turned out to be not caused by this change.

I'm not able to repro this. This looks unrelated to the width of the layout given that the main content is expanding indefinitely. Are you only seeing this on that specific device?

I'm not able to repro this. This looks unrelated to the width of the layout given that the main content is expanding indefinitely. Are you only seeing this on that specific device?

I only have one device (Surface Pro 7). Maybe you can reproduce it there.

And this was not happening before? I don't have access to that device so it will be hard for me to see the root cause. The main layout is using a grid with the main timeline content set to 1fr. It should shrink until the content reflows if the sidebar is expanded.

you either made the sidebar a bit wider or messed up the grid layout.

Happy to review a PR that solves for this. What I'm seeing in your screenshot is not possible for me to reproduce, even simulating a Pro 7 in dev tools.

@Thomas1664 Could you share that particular PR with me? I fixed an issue in #4078 that could be related here.

https://github.com/microsoft/vcpkg-tool/pull/695


Increase timeouts for linux web engine builders to 90mins.

These builders are very close to the time limit causing timeouts from time to time.

@godofredoc I merged sharding recipe change. Looks like it's working without any issues for a few days now. Can we revert this PR?

@godofredoc I merged sharding recipe change. Looks like it's working without any issues for a few days now. Can we revert this PR?

Sound good to me, thanks!


Add initial parking_lot_core tests

This library could use more tests, to be more robust. This was one of the things pointed out in the review of the integration into std in https://github.com/rust-lang/rust/pull/56410
WTF::ParkingLot has a number of tests we can take inspiration from. And this is somewhat of a port of some of those tests. However, when I ported it 1:1 I found a race condition, so I had to implement the semaphore a bit differently.
I also got away without the tests relying on a working mutex or condvar implementation. Because we can't make the parking_lot_core tests depend on the higher level parking_lot, nor do we want to depend on locking primitives in std if we aim to become the base for those implementations one day.

LGTM. Do you think it would be possible to extend these to cover unpark_filter and unpark_requeue? Or would this be better done as a separate set of tests?

I'm aiming for adding more tests. So we at least touch the entire public API of parking_lot_core at least once. Not sure if those would use the semaphore, probably not(?)
And I felt I should add what WTF::ParkingLot was testing first, and then extend once we have agreed this type of testing is sane.

bors r+


Formulas in Set-ExcelRange

How to pass formulas in Set-ExcelRange:
1.Count users name in format: "name. surname"
2.Count cells with content: "brak"
3.Count how many percent of point 1 is in point 2 -> example: ((1)/((1)+(2)))*100

Sorry, It seems like my bad.
Excel is corelated with(sorry for English) country settings. It seems like in USA Excel the comma(,) is separator between function arguments. In my version it is semicolon(;).
I think it is important to write it in docs.(I suffer for a week)


Make code examples

Use PotatoCSS framework to create a several examples pages as an example.

Do you have any particular requirement ?
I created a basic sample page (see #36) using the classes provided in your CSS but maybe you expect something more elaborated ?

@Crocmagnon I've just checked your PR. This is okay for documentation, but the thing is that I already made this file, in order to test the framework on my local machine. Personally, I would like to see several examples of landing pages.

Hm okay, I understand. Like "real world" example pages ? 🤔
Could you be just a little bit more specific ? 😊

@Crocmagnon One-page statics html/css template would be nice. Should clean and minimal. You can find inspiration here


Remove alpine images

It has been planned for some time to remove the alpine images as we now have distroless that are better suited for the same purpose, and as it adds some maintenance overhead.
We have some contention for diskspace in envoy's CI builder, and the distroless images have been around for a while, so now would seem to be the time to remove.
related tasks:

[x] Remove alpine build CI
[x] Remove alpine info from docs
[ ] Add discontinuation notice on dockerhub

Does it mean we will not have envoy:alpine?

Does it mean we will not have envoy:alpine?

yep. The distroless image is smaller, more secure, easier to maintain, so this one has kinda become obsolete

Would be good to complete this and remove Alpine (and then follow up with Moonjit removal).

so alpine status is that its removed (at least the envoy alpine image) from any usage in the repo
re the dockerhub message - i dont have permissions to update this directly (cc @lizan)
im happy to close out this bug, as there is a more general issue with metadata on dockerhub (#19784 ) which this could be handled as part of

Yeah let's call this complete and we can track other improvements in different issues. Thank you all!

@phlax @lizan Any chance that the https://hub.docker.com/r/envoyproxy/envoy-alpine/tags can be updated to reflect the current status of deprecation/dropped support on DockerHub? I see this ticket originally had a related task that was never completed that makes it look like an active project if you view on DockerHub directly?

@nickblake-cambia yep - i can fix this - ill take a look tomorrow


No control over deserialisation errors when mapping Array<T: Mappable>, Dictionary<String, T: Mappable>, etc.

Let's say we have the following:
class User: Mappable { ... }

class Service: Mappable {
    var users: [User]?
    . . .

    func mapping(map: Map) {
        users <- map["users"]
        . . .
    )
}

If we have some validation in the User's init? and it failed for some of the elements this goes unnoticed by Service - the flatMap used in mapArray silently skips the users that fail to map properly to User objects. If the value for the "users" key is a JSON array the users <- map["users"] mapping always succeeds even if some (or all!) elements failed to deserialise and Service has no way of checking for that.

Unfortunately at the moment there is no error messaging available. This is a feature that I hope to add in the future.


Add AdminClient

Please add Factory for org.apache.kafka.clients.admin.AdminClient

@cricket007 thanks for the suggestion! Seems like a good idea.

@cricket007 See #15


Use Stackblitz for demo

I ported the demo to Stackblitz:
https://stackblitz.com/edit/ngx-drag-and-drop-lists
Suggest to change Official Demo to Stackblitz-based instead of Heroku-based, so users can fiddle around with the code and see live changes.

Thats pretty cool. Thanks.

awesome man, thanks!!


Fix incorrect PHPDoc type and remove unused property

Avoids error when using the library in a codebase with static analysis.
Also updated PHPUnit configuration to fix deprecated schema warning.

@sam-osborne Can you review this, please?


Issues with running AutoHiC on two datasets

Hello,
I've been trying to run AutoHiC for two datasets from scratch. In both cases bwamem, juicer, 3d-dna steps seem to finish correctly, at least they didn't report any critical errors. But on the later stages both runs failed with different errors:
The first dataset is for an insect Nudaria mundana. The error is
File /lustre/scratch123/tol/teams/tola/users/kk16/autohic_data/ilNudMud1/result/AutoHiC_ilNudMud1/autohic_results/3/ilNudMud1.final.hic cannot be opened for reading
Indeed there is no such file but the folder contents are
$ls ilNudMud1/result/AutoHiC_ilNudMud1/autohic_results/3/
black_list.txt				       ilNudMud1_lines.final.assembly  ilNudMud1_lines.final.hic
ilNudMud1_lines.cprops			       ilNudMud1_lines.FINAL.assembly  ilNudMud1_lines.mnd.txt
ilNudMud1_lines.final.asm		       ilNudMud1_lines.final.cprops    png
ilNudMud1_lines.final_asm.scaffold_track.txt   ilNudMud1_lines.final.fasta     test.assembly
ilNudMud1_lines.final_asm.superscaf_track.txt  ilNudMud1_lines.FINAL.fasta

Another one is a high-coverage dataset for a protist Eimeria maxima, where the error is
│ AutoHiC/src/utils/get_chr_ │
│ data.py:127 in hic_loci2txt                                                  │
│                                                                              │
│   124 │   │   chr_len_list_sorted[chr_index + 1][0] = chr_len_list_sorted[ch │
│   125 │                                                                      │
│   126 │   #                                                                  │
│ ❱ 127 │   chr_len_list_sorted[0][0] = 0                                      │
│   128 │   if hic_len is not None:                                            │
│   129 │   │   chr_len_list_sorted[-1][1] = hic_len                           │
│   130 │   else:                                                              │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │            chr_dict = {}                                                 │ │
│ │        chr_len_list = []                                                 │ │
│ │ chr_len_list_sorted = []                                                 │ │
│ │             hic_len = None                                               │ │
│ │       redundant_len = 200000                                             │ │
│ │            txt_path = 'aut… │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
IndexError: list index out of range

The log files are attached.
autohic_ilNudMud121106.txt
autohic_pxEimMaxi123763.txt
I wonder if it's possible to get some help with troubleshooting?
Many thanks!

Thanks for your feedback. The first bug will be fixed in the next version. It is caused by the genome format. You can use seqkit to split the genome sequence into 80 base sets on one line and run AutoHiC again. Regarding the second error, could you please provide me the file /lustre/scratch123/tol/teams/tola/users/kk16/autohic_data/pxEimMaxi1/result/AutoHiC_pxEimMaxi1/autohic_results/chromosome/chromosome.png, which will help me DEBUG

Thanks for the quick reply. The file is attached

Thanks for the documentation, it seems the problem has been solved. This image is the final global interaction heatmap of the chromosomes. AutoHiC will infer the number of chromosomes from this image. However, it seems that the chromosome data cannot be determined from the image. This resulted in an AutoHiC runtime error, which is currently being fixed. But as you can see from the heatmap, the assembly results are very bad, so AutoHiC cannot correct the errors and split the chromosomes. It is recommended to check the data for problems.

Thanks for the quick reply. The file is attached

Could you please specify the size of the genome, the size of the Hi-C data, animal or plant, diploid or polyploid?

This is very strange. AutoHiC also included diploid Lepidoptera in the testing process, but the assembly results were much better than what you provided. I suspect that the scaffolding results are too poor or the amount of Hi-C data is insufficient. Hope this helps.

It was a protist genome of 45Mb. HiC data is high coverage but there is a possibility that it's problematic.

I can confirm with the row length 80bp in FASTA files the pipeline works correctly.
Thank you for your help.
I've got AutoHiC results for a couple of datasets and would like to access the FASTA file for the assemblies labeled in .html file as 'Before adjustment'. From the code it seems like it should be the 3d-dna assembly with the lowest estimated number of 'Translocation' + 'Inversion' error. I wonder what happens when the corresponding sums are equal at different iterations (but they differ in 'Debris' number)?
Also, what would be the best way to extract the FASTA file for it?
Thank you.
gfHygPuni3.result.html.zip
ilMicArun2.result.html.zip

Thank you for your feedback. First of all, judging from your result report, the effect of ilMicArun2 is relatively good, but it seems that there is something wrong with the final number of chromosomes, and it may need to be manually adjusted according to your actual situation. The result of gfHygPuni3 seems not very good, I don't know why.

I can confirm with the row length 80bp in FASTA files the pipeline works correctly. Thank you for your help.
I've got AutoHiC results for a couple of datasets and would like to access the FASTA file for the assemblies labeled in .html file as 'Before adjustment'. From the code it seems like it should be the 3d-dna assembly with the lowest estimated number of 'Translocation' + 'Inversion' error. I wonder what happens when the corresponding sums are equal at different iterations (but they differ in 'Debris' number)? Also, what would be the best way to extract the FASTA file for it? Thank you.
UPD: I also wonder if it's possible to tell what are the scaffold names for the HiC maps in the 'Location' field under 'Error adjustment' section.
gfHygPuni3.result.html.zip ilMicArun2.result.html.zip

Under the folder of the genome sequence before adjustment, named X..FINAL.fasta and X.rawchrom.fasta
AutoHiC determines the number and sum of errors for each adjustment. The result with the lowest number of errors is finally selected. The genome hic files and the genome results of each alignment are located in the autohic_results directory.
The best results are saved in the same directory as the report. （X_autohic.fasta）
As for the customized sequence name, you can get it from the json file in the autohic_results directory. You can refer to this link: https://github.com/Jwindler/AutoHiC/blob/main/example/detail_result.md

Thank you for reply. The errors reported in ilMicArun2.result.html are only present in autohic_results/0/inversion_error.json and autohic_results/0/idebris_error.json. However autohic_results/0 doesn't contain any fasta files. Which fasta files should be referred in this case? Thanks.

The first results are in the hic_results/3d-dna directory, 0, 1 and 2 have no fasta files. AutoHiC will adjust and generate fasta files based on the best results. If you want to get the fasta files of 0,1,2, you can get the x.assembly file from the hic_results/3d-dna directory and use the following command to generate the fasta file:
bash run-asm-pipeline-post-review.sh -r adjusted.assembly genome.fasta merged_nodups.txt
Please specify the absolute path of each file
run-asm-pipeline-post-review.sh in 3d-dna folder
adjusted.assembly is output from onehic.py
merged_nodups.txt is output from Juicer


[Feature] Renderers as components

First of all thanks for awesome table management solution!
But I have experienced that custom renderers, that passed to columns rendered not as components but pure functions.
So I cannot create custom component, like a class and pass it to column
class UserCell extends Component<CellProps<User>>{
  render() {
      .....
   }
}

If I need to pass it to the column I need to do
{
  Header: 'User',
  Cell: (props: CellProps<User>) => <UserCell {...props} />
}

It would be more convenient to have an ability just pass a class (or stateless component) directly to column and do not need to render them from funciton. Also its more performance friendly solutions -> because react would optimize rendering of components, itstead of pure functions that just returns jsx.

You appear to be using some sort of type system.  ReactTable is pure javascript and has no direct support for Flow Type or TypeScript (any of that support is external to ReactTable).

@gary-menzel
Its no matter that Im using typesystem, Its about Cellprop, which is actually pure function, but would be better if it would be a component. You are rendering Cell ascolumn.Cell(props)`, but you can render it like
const { Cell } = columnt
return <Cell {...props} />

I have the same issue. I fixed it with export default of a function, which return my component:
{
  Header: 'Name',
  Cell: InputCell
}

InputCell.jsx
class CellInput extends React.Component {
  ...
  render () {
    const { value } = this.props.row;
    return (
      <input value={value} />
    );
  }
}

export default row => <InputCell row={row} />;

But it would be more simple to only export a class

^ This was really helpful, thank you. It would be nice if this was added to the documentation, showing that you can supply a custom cell formatter in this manner.


Nearby uploads occasionally fail

Summary:
As mentioned at #1749 , occasionally uploads via Nearby fail. This happened once to me while testing #1749 and another time while testing #1800 . It does not happen for uploads via ContributionsActivity.
Steps to reproduce:
Upload via Nearby map or list, several times.
Add System logs:
Unfortunately I did not manage to get logs for this. But it might be reproducible by others, as it appears to be random
Device and Android version:
Android 8.0.0 Samsung Galaxy s7
Commons app version:
Current 2.8-release
Would you like to work on the issue?
Preferably not

Do you think this can be related with #1878 ? Maybe some uploads occasionally fail?

Seems to be fixed as a part of upload/nearby refactor


[Feature] Add iceberg connector on flink 1.15

Description
[Feature] Add iceberg connector on flink 1.15
Use case
[Feature] Add iceberg connector on flink 1.15
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

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

Can I claim this issue？@EMsnap

@hejiay thanks.

Iceberg source on flink 1.15 https://github.com/apache/inlong/issues/8643

Iceberg source on flink 1.15 https://github.com/apache/inlong/issues/8643


Bug fix in yield type checking of calls to introduction procedures

This PR does the following:

fixes bug in yield type checking when introduction procedures are used;  bug fix required unifying ASpec and BSpec automata into a single automaton that checks yield bracketing.
renames instrumentation to introduction to match the terminology we have settled on.

I have renamed ParenthesisSpec/Check to BracketSpec/Check.


Hello, I need your help in installing my mobile device information credentials. I cannot do this by myself.

Open an issue here for technical questions on how to implement Attribution Reporting API code, or questions on the docs or demo for this API. For questions on how to fulfil a certain use case with the API, file an issue in the spec repository instead.

Hello, I need your help in installing my mobile device information credentials. I cannot do this by myself.


Sudo permissions

Description
Right now the application needs to execute some commands with administrator permissions. To do this it asks via gui for permissions for each command.
This is a problem because if there are too many operations to be performed via admin, the user has to enter the administrator password too many times.
Possible solutions
There are two possible solutions:

run the app with administrator permissions or with permissions to write to certain protected directories
Merge where possible all commands that need adminsitrer permissions into sh scripts and run the script with admin commands so that the password is only asked once

there seems to be no method (convenient for the user) of running the application with administrator permissions (is it also unsafe?)
open discord discussion on tauri channel:
https://discord.com/channels/616186924390023171/1227662081055133736

There seems to be no convenient way to start the entire application as root. Proceed with the creation of the sh scripts

A sidecar with sudo permission was implemented. There are now some issue with icons installation (some apps don't follow the convention). Try to find out a general solution


Validate on submit

Hi Adam, thank you for the library. Simple stuff, no fuss.
Do you think is possible to add a flag, blurTouch={Bool} default: true, to control the blur validation? I only want to validate on submit, and that will do it.
P.S. I actually had to fork and add the flag myself but if you're ok with it, I can make a PR.
Update: No, that will not do it. It's more complex than that it seems. Everything is happening real time, on change, what I need is to validate at submit (not on change or on blur, or on componentWillReceiveProps). So I have to change quite a bit of code for this to happen.

@adiospace Sorry for the delay in my response.  Could you possibly used the touched prop for this?  Basically always have it be set to false for every field, then when an invalid submit is attempted, set them all to true?
something like: https://www.webpackbin.com/bins/-Kjn9tXOTUhm540cKrTC

No worries, I actually ended up doing something pretty similar. 👍


Suggestion: Aggro ranges.

Been using this plugin for a couple of days and everything's working really well.
I do have an idea however, which could be really useful in deep dungeons: Displaying aggro ranges on all mobs nearby.
Proximity & Sound - a 10y circle while Sight is just a 10y cone.
Assuming that detecting aggro types automatically is too complex a Draw Circle/Cone toggle similar to Quick Block could be used and it's up to the user to load current objects and assign cones/circles to various mobs.
Even if such a feature isn't planned, your plugin is very useful and i'm thankful for it.

I don't think type of aggro is easily obtained. I can look into this.

I've been looking at how DeepDungeonDex did it and it seems they use a list of mob ids and each one has an aggro type attached.
It could display something like this but for all targets instead of just the one currently targeted

Getting a very basic circle doesnt seem to be a big issue. Going to see what I can do for colors.

I've been using it for a couple of hours and makes life incredibly easy.
Also the precise radius seems to be just 10 + gameObject.HitboxRadius. Halving the hitbox radius makes it less accurate for large mobs such as dragons.
PoTD mimics do have a lager radius ~16y but honestly it's not worth making exceptions just for them. Their aggro range in HoH is normal.

Adjusted to the slightly larger hitbox radius. Currently don't have much per-mob settings available so likely won't do exceptions as of right now.

Has been updated with a check to turn the aggro circle off if the enemy is in combat => if the enemy 'has their weapon equipped'. Seemed to be working in eureka and overworld but havn't tested in deep dungeons.

Actually, could I suggest an exception for the Mimics from PotD? It actually is a bit helpful. <_<
HoH Mimics aren't different from regular mobs.

Aggro radius feature has been updated to include opacity and color changing settings in the settings menu. An exception was made for what I believe is POTD mimics, but may be different on higher floors. Considering this request mostly complete, just pending individual mob settings (hopefully via that mobData.txt).

Okay, I'll double check it later, cause I did notice it was off on my last climb. 99% of the time if there's a mimic from an Alteration you'll have to fight it cause they cover a whole room lol.

Very neat plug in idea.  I just checked it out in potd.  Just a couple ideas.  The mob aggro type changes would be awesome.  It would be neat to have a color assigned for the proximity circle, sound circle and sight cone.  Ability to hide mob names but keep aggro indicators (option to keep mimics and korragans still).  Ability to only show aggro from mobs targeted.  Ability to color trap types different colors.  Ability to only render aggro elements in a certain proximity.  Ability to hide individual elements in general.  Example to certain runners silver chests, hoard locations and return locations are not needed.  Again awesome stuff just trying to come up with ideas to declutter the radar a bit to make it easier to read etc.

Managed to complete both PoTD and HoH and this plugin was a huge help.

I am fairly certain the sight cone is actually 90 degrees, it just takes a little bit for mobs to spot you. If you step inside the 90degrees cone and wait a bit you'll get aggroed.

As far as i'm concerned aggro ranges worked perfectly for me and i'm extremely grateful. Many thanks for your work KangasZ.

Managed to complete both PoTD and HoH and this plugin was a huge help.

I am fairly certain the sight cone is actually 90 degrees, it just takes a little bit for mobs to spot you. If you step inside the 90degrees cone and wait a bit you'll get aggroed.

As far as i'm concerned aggro ranges worked perfectly for me and i'm extremely grateful. Many thanks for your work KangasZ.

Lol you are totally correct with the 90 degrees, I double checked it with the mob aggro plugin turned on.  I'm not sure how I got it in my head it was less but mentally before this plugin I was envisioning a very skinny cone in my head for the last couple of years.

Kept this issue around for so long. Radar now has knowledge of what type of aggro a mob has. I hope this helps and future iterations to come


skip unexpected character from PHP

skip unexpected character (code 65279) from PHP

this commit is not clear to me. what is the purpose? if this is simply solve a very specific use case, I do not see the need to address it in the upstream code.


ui: draw lane change indicator

resolve https://github.com/commaai/openpilot/issues/24638
changing lane:

pre-lanechange&blocked

NOTICE: the images need to be redesigned, and I'm not good at it. these two images were just something I randomly put together.

Thanks @deanlee! We're still finalizing the design, so gonna convert to a draft until that's ready.

Thanks for implementing this, but unfortunately, we haven't been able to finalize this design yet. I'll reopen this once we have.


Use yarn instead of npm

Couldn't find a way to force zero to use yarn to install packages

You are right. Zero uses npm as of now. The relevant code is here.
I have yet to explore this. Will Yarn make installing and boot any faster? If so, we can def go for this change.

It can be faster in some cases, but I don't have benchmarks on hand. The main reason for me is that the package resolution algos are slightly different.
I ran into an issue where the latest npm was not able to resolve my package that I had installed via github with yarn add whoaa512/jsx-pdf#58feebf
I was able to workaround it by downgrading to npm 5.2.0 after following this thread
However this could have been avoided if I had the ability to use yarn or better yet if zero detected that I was using yarn.lock and automatically used yarn similar to how sindresorhus/np works
I'm in a bit of a crunch mode at the moment but I'll probably try to circle back to this exploration in a few weeks.

Benchmarks here do suggest that yarn is ~50%+ faster in terms of speed. We could migrate totally to yarn since both npm and yarn use package.json to create lock files and node_modules.

This can be used in place of

I really like that npm is the main option for most developers. I wouldn't go to yarn if it was to leave npm completely.
For example there is overhead in installing yarn and learn differences between yarn and npm, which some people do not want to deal with, even if you win 50% of time when installing dependencies (which you shouldn't be doing often anyways !)

Yea I agree with @antoninadert, my hope is that it would be an opt in deal.

Zero now comes with yarn as dependency in v1.1. User can still use npm install if they want but zero will use yarn and generate yarn.lock file. I think that solves this.


Allow setting the Zipkin LocalEndpoint per-span

This is needed for rare cases when the logical endpoint differs from
the process submitting the span, for example Istio.

Going to take a different approach with Istio


Added home redirect to brand name

Have added an home redirect to the brand name. Referencing to issue no. #96 . Thank you

Resolve the conflicts @Suhaani07


add support for mysql 5.7.x

linux/osx support landed, need to do some refactorings for windows support as 5.7 has quite some changes.

completed with #4