Excessive buffering on live DASH stream (does not happen with dash.js)

Have you read the FAQ and checked for duplicate open issues?
Y
What version of Shaka Player are you using?
3.2.1
Can you reproduce the issue with our latest release version?
Y
Can you reproduce the issue with the latest code from master?
Y
Are you using the demo app or your own custom app?
Demo app
If custom app, can you reproduce the issue using our demo app?
Y
What browser and OS are you using?
Chrome 96 for Windows 10
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
https://d3b0cunbtfs49l.cloudfront.net/out/v1/0d53cb06a90e4626ac7fd29051b154f0/index.mpd
What configuration are you using?  What is the output of player.getConfiguration()?
Default config for custom content at https://shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;panel=HOME;build=debug_compiled
What did you do?
Just try to play above DASH live stream
What did you expect to happen?
Shaka player should play the stream ASAP.
What actually happened?
It took 10 seconds and more to play content. The same issue happens if I manually switch renditions, excessive buffering and stalling happen. The same stream plays without issue at http://reference.dashif.org/dash.js/v4.2.0/samples/dash-if-reference-player/index.html in the exact same network condition.

Can you test with v4.3.4? Thanks!

I no longer have access to the problematic live stream so I am not able to run more test. I will close this issue and re-open if we encounter this issue again. Thanks for your answer.


Refactoring the full project

Divide it into normal files, test files etc. Make a proper folder structure.

Done cac55b8


add minimum ios version

this allows the package to build and run in ios 13+, there might be more support to do for watch, or other platforms, but I think best to wait until somebody comes across the issue and can test it
for now, this seems to be building and running

closing until regression and ci setup


Blur in iOS causing Blacked image but works properly in android.

The local images and some remote images are producing a black image when loading which i think is due to the blur effect getting failed to render which is causing UX problems. It was working in 1.12.0 version.
Please fix it in iOS.
  <TurboImage
          source={require('../../Icons/New/SomeIcon.png')}
          style={styles.someStyle}
          resizeMode="contain"
        />

Cannot show video as its work based app.
Is there any way to switch the blur off ?

@duguyihou

The flicker is very evident and its causing a huge UX problem when the image is loaded for the first time. How to switch it off?

It seems without providing a blurhash or a placeholder - the black image does occur - so now i have to change 100+ files to include a common blurhash --- Please add this in the docs! Please!
This is a working production app in playstore and I tested in testflight so it wont go live to folks using it as I am doing this in QA - Testing phase.
Thanks - But please provide a solution to this and close this issue.

Plus - is there a way to style the blurhash to have like a rounded borders? same for the thumbhash.

@Gautham495

can you provide a reproducer?
are you talking about blur or fadeDuration? you can turn fadeDuration off by setting it to 0.

I commented the placeholder in the example and did not see any strange behaviour.
      <TurboImage
        source={{
          uri: item.url,
        }}
        style={styles.card}
        // placeholder={{ blurhash: item.blurhash }}
        resize={size}
        cachePolicy="dataCache"
      />
    );

https://github.com/user-attachments/assets/1917c65b-747f-4869-8d00-f86a284a72fa

I dont use a placeholder at all just this snippet
<TurboImage
source={require('../../Icons/New/SomeIcon.png')}
style={styles.someStyle}
resizeMode="contain"
/>
for all the images and i am getting a black flicker. Its in the latest version as well.

Here each image has a blurhash. In my case there is no blurhash which is leading to this black flicker.

What is the difference and performance difference between dataCache and urlCache. Please explain so i can try it out

@Gautham495
As I mentioned above, I did not use placeholder as well. I did not see black flicker.
      <TurboImage
        source={{
          uri: item.url,
        }}
        style={styles.card}
        // placeholder={{ blurhash: item.blurhash }}
        resize={size}
        cachePolicy="dataCache"
      />
    );

Then I tried it in your way. See the video. No black flicker.
      <TurboImage
        source={{
          uri: item.url,
        }}
        style={styles.card}
        // placeholder={{ blurhash: item.blurhash }}
        // resize={size}
        // cachePolicy="dataCache"
        resizeMode="contain"
      />

https://github.com/user-attachments/assets/8969eef5-8d3a-4a7e-9856-b790d375934c

https://github.com/user-attachments/assets/0c44a4e6-72c7-4287-b5c4-03b621382519
Here is the video of the working as well - You can see it is showing black placeholder when i change the image. Where i never applied any placeholder at all.

This is tested in real device as well.

@Gautham495
Can you show me the style applied to the image? If you set backgroundColor, both RN Image and TurboImage will have black flicker.
https://github.com/user-attachments/assets/b1be2070-c3b6-4a78-99a2-50b6719f07ed
https://github.com/user-attachments/assets/81412ddd-fa6d-43e5-b240-e8ccff1b90c2

Here  - i applied no bg here.
 <TurboImage
                source={require('../../Icons/S/S.png')}
                style={{
                  width: 30,
                  height: 30,
                  marginLeft: 10,
                  marginTop: 5,
                }}
                resizeMode="contain"
              />

And it flickers with a black bg.

@Gautham495
Okay, can you provide a reproducer? It is hard to debug since it works well in the example.

Do not take any offense bro - you are doing a wonderful job, the library works too good and properly but this is the only edge case I found which is hampering the UX.
Open source folks like you are god send so do not worry / feel that I am critising.  You are good at this.

@duguyihou I just fixed this by adding a
 <TurboImage
              cachePolicy="dataCache"
              placeholder={{
                blurhash: '',
              }}
              source={require('../../Icons/z/z')}
              style={styles.z}
              resizeMode="contain"
            />

And this does not produce the black bg.

But you should point this out in the docs please. Also do it for the animated and clearly explain difference between datacache and urlcache

And please make a social media presence so i can DM you regarding this library as this is going to production on monday and I do not want any surprising crashes on android and iOS.

You can also add it to the docs that we use your library as we load a lot of images and high performance is a must and your library can handle it.

@duguyihou I just fixed this by adding a
 <TurboImage
              cachePolicy="dataCache"
              placeholder={{
                blurhash: '',
              }}
              source={require('../../Icons/z/z')}
              style={styles.z}
              resizeMode="contain"
            />

And this does not produce the black bg.

It does not make sense to me. If you pass an invalided blurhash string, it will be ignored. Is that possible that share me the image's url and part of your code?

I used the dog images from your image set only as you can see here - first half is without blurhash and second half is with empty blurhash and it works. Tested in iphone XR - iOS 18.3
https://github.com/user-attachments/assets/d8e66ed5-a45c-432c-ada6-46eb315ec663

But you should point this out in the docs please. Also do it for the animated and clearly explain difference between datacache and urlcache

I will add this to the README if it is a bug and cannot be fixed.
Re animated, it is not a hard work to mention. just follow the docs to implement it.
Re dataCache and urlCahce,

dataCache: it will stay in disk forever as long as it does not reach the threshold
urlCache: it will respect the max-age in the response. docs[https://kean-docs.github.io/nuke/documentation/nuke/cache-layers#HTTP-Disk-Cache]

And please make a social media presence so i can DM you regarding this library as this is going to production on monday and I do not want any surprising crashes on android and iOS.

Sorry. I used Twitter before, but I removed all the accounts last year.

You have to have some social presence like atleast Linkedin.

In ios 17.5 its the same flicker issue and thats my real daily use phone and I tested it in production with Testflight build.

Can you modify the code in the example and reproduce it?

But you should point this out in the docs please. Also do it for the animated and clearly explain difference between datacache and urlcache

I will add this to the README if it is a bug and cannot be fixed.

Re animated, it is not a hard work to mention. just follow the docs to implement it.

Re dataCache and urlCahce,

dataCache: it will stay in disk forever as long as it does not reach the threshold
urlCache: it will respect the max-age in the response. docs[https://kean-docs.github.io/nuke/documentation/nuke/cache-layers#HTTP-Disk-Cache]

You will have to add this fix in the documentation for sure as i included it in around 180+ components in my app and think how weird it looked when the black bg was flickering lol. In android it works flawlessly.

In ios 17.5 its the same flicker issue and thats my real daily use phone and I tested it in production with Testflight build.

Can you modify the code in the example and reproduce it?

I used from your example code only.

In ios 17.5 its the same flicker issue and thats my real daily use phone and I tested it in production with Testflight build.

Can you modify the code in the example and reproduce it?

I used from your example code only.

But it does not have black flicker on my side.

So I think we have to ask other developers for the same and its mostly due to the native package issue rather than the library issue.

@Gautham495
Do you mind installing other versions and test it since you can reproduce it? You mentioned it works well in v1.12.0.

v1.12.1
v1.12.2
v1.13.0
v1.14.0 (this one is not necessary as you are using it)

Its fixed with the empty blurhash so its fixed for me now.

Sure, no problem. I will take a look if other people can reproduce it.

Thank you for your hard work in maintaining this library. Its a superb replacement to fast-image and I think this library will be a go to standard for years to come for bare react native projects.

Local Images are flickering when state updates in android only in production build. Can you check this out. But others work fine.

I am using datacache for local images as well is it a problem?

Local Images are flickering when state updates in android only in production build. Can you check this out. But others work fine.

Can you let me know what state updates? I realised an issue this week which happens when props changes for both iOS and Android. I am not sure if we are talking about the same one.

I am using datacache for local images as well is it a problem?

cachePolicy is only for remote urls. local images are already in the disk.

Yeah in android - if the state changes and the blurhash is provided - the image flickers showing the blurhash. This produces a bad UX to the app.

Closing it as I cannot reproduce it. Feel free to reopen it if you provide a reproducer.


Monitor pending timesheet approvals - way for HR to keep tabs on the managers

On Hold until specifics can be discussed and real data can be collected.


Change makefile capitalisation

(Merged to check https://github.com/jenkins-infra/helpdesk/issues/4142)


Bump jscodeshift-add-imports

Description
Bump jscodeshift-add-imports to 1.0.11 to mitigate vulnerabilities (e.g. https://github.com/navikt/aksel/security/dependabot/159)
Change summary
Bump jscodeshift-add-imports to 1.0.11

Gjorde jeg changeset-greiene riktig?


remove db.close()

remove db.close() because it's is not defined. "close()" is not a function of an instance of Db class from the official MongoDB driver API.

Summary

Test plan

Duplicate of #8333


[BrokenLinksH2] Fixed the link path

Deleted the non-existent image

Docs Build status updates of commit 6e3846b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/Object-Detection-using-Fast-R-CNN.md
:warning:Warning
View
Details

articles/Object-Detection-using-Fast-R-CNN.md

Line 2, Column 10: [Warning: duplicate-titles - See documentation] Title 'Object  detection using Fast R-CNN - Cognitive Toolkit - CNTK' is duplicated in: 'Object-Detection-using-Faster-R-CNN.md(2,10), Object-Detection-using-Fast-R-CNN.md(2,10), Object-Detection-using-Fast-R-CNN-BrainScript.md(2,10)'. Titles must be unique within a docset.
Line 12, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Object  detection using Fast R-CNN' is duplicated with other articles: 'Object-Detection-using-Fast-R-CNN.md(12,1), Object-Detection-using-Fast-R-CNN-BrainScript.md(12,1)'. First level headings must be unique within a docset.
Line 27, Column 92: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 28, Column 68: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 331, Column 91: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 389, Column 109: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 390, Column 98: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 391, Column 91: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 414, Column 96: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 415, Column 91: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 435, Column 11: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 443, Column 11: [Warning: duplicate-alt-text - See documentation] Alt text 'image' is duplicated. Within an article, alt text must be unique.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Global effort to fix broken links
@pkranen
The Content & Learning team is fixing broken links on docs.microsoft.com for the rest of H2. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only link fixes and does not change other content. I’d very much appreciate your timely review and feedback on the link changes I’ve suggested. Thanks!

#please-close


enum declaration order shouldn't matter

compiler error in  clean code (in arcade beta):
Cannot read property 'pxt' of undefined
https://makecode.com/_bTzKktVjKg8w

This now gives proper error as per https://github.com/microsoft/pxt/pull/6875 by @tballmsft

enum Foo {
    First,
    Last,
}

enum Bar{ Last=Foo.Last, Delete };

let x = Bar.Delete; // TS9210 - cannot compute enum value

Fixed.


Websocket problem

Creating a project with: drogon_ctl create project websocket
Following the steps from: https://github.com/drogonframework/drogon/wiki/ENG-04-3-Controller-WebSocketController
I am getting the following error:
/home/adriel/drogon/examples/websocket/controllers/EchoWebsock.h:7:18: error: ‘virtual void EchoWebsock::handleNewMessage(const WebSocketConnectionPtr&, std::string&&)’ marked ‘override’, but does not override
    7 |     virtual void handleNewMessage(const WebSocketConnectionPtr&,
      |                  ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/websocket.dir/build.make:90: CMakeFiles/websocket.dir/controllers/EchoWebsock.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/websocket.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

My main.cc is as follows:
#include <drogon/WebSocketClient.h>
#include <drogon/HttpAppFramework.h>

#include <iostream>

using namespace drogon;
using namespace std::chrono_literals;

int main(int argc, char *argv[])
{
    std::string server;
    std::string path;
    optional<uint16_t> port;
    // Connect to a public echo server
    if (argc > 1 && std::string(argv[1]) == "-p")
    {
        server = "wss://echo.websocket.org";
        path = "/";
    }
    else
    {
        server = "ws://<IP_ADDRESS>";
        port = 8848;
        path = "/chat";
    }

    std::string serverString;
    if (port.value_or(0) != 0)
        serverString = server + ":" + std::to_string(port.value());
    else
        serverString = server;
    auto wsPtr = WebSocketClient::newWebSocketClient(serverString);
    auto req = HttpRequest::newHttpRequest();
    req->setPath(path);

    wsPtr->setMessageHandler([](const std::string &message,
                                const WebSocketClientPtr &,
                                const WebSocketMessageType &type) {
        std::string messageType = "Unknown";
        if (type == WebSocketMessageType::Text)
            messageType = "text";
        else if (type == WebSocketMessageType::Pong)
            messageType = "pong";
        else if (type == WebSocketMessageType::Ping)
            messageType = "ping";
        else if (type == WebSocketMessageType::Binary)
            messageType = "binary";
        else if (type == WebSocketMessageType::Close)
            messageType = "Close";

        LOG_INFO << "new message (" << messageType << "): " << message;
    });

    wsPtr->setConnectionClosedHandler([](const WebSocketClientPtr &) {
        LOG_INFO << "WebSocket connection closed!";
    });

    LOG_INFO << "Connecting to WebSocket at " << server;
    wsPtr->connectToServer(
        req,
        [](ReqResult r,
           const HttpResponsePtr &,
           const WebSocketClientPtr &wsPtr) {
            if (r != ReqResult::Ok)
            {
                LOG_ERROR << "Failed to establish WebSocket connection!";
                exit(1);
            }
            LOG_INFO << "WebSocket connected!";
            wsPtr->getConnection()->setPingMessage("", 2s);
            wsPtr->getConnection()->send("hello!");
        });

    // Quit the application after 15 seconds
    app().getLoop()->runAfter(15, []() { app().quit(); });

    app().setLogLevel(trantor::Logger::kDebug);
    app().run();
    LOG_INFO << "bye!";
    return 0;
}

My final goal is to make a webpage at "localhost:8080" for example, that displays data from variables from a simple c++ application.

there are errors here in documentations. the virtual method signature should be
    virtual void handleNewMessage(const WebSocketConnectionPtr &,
                                  std::string &&,
                                  const WebSocketMessageType &) = 0;

@an-tao I still need to update the documentation regarding controllers & CMake, but I didn’t have enough time in the last couple of days. I should probably update the documentation of this signature, too, as I’ll be touching the docs anyway.

#941

@an-tao Could we close this since it's updated?

@an-tao Could we close this since it's updated?

Thank you very much!


ARM gitian builds

We currently only build ARM on travis, and the binaries there are discarded. Over the past year a couple of people have asked me for ARM builds (mostly to run it on a raspberry pi.) This came up again today, so I figured I'd raise it here to discuss it more openly.
The issue is 2-fold:

We currently don't have ARM gitian descriptors
We never build/test dogecoin-qt for ARM

@rnicoll / @langerhans any thoughts?

I've just posted on the Raspberry Pi forum...
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=131452

I have a few spare RPi's sitting around, if you can talk a shibe puppy through the process I'll try to help out.

I have an Odroid U2 I can test them against. All I really need is a new SD card to boot from. Otherwise I'd be okay with doing them. The Gitian descriptors should be fairly easy to handle.

up.
Currently building 1.14-branding for rpi3 as a docker image.

Nice!

I am able to build on arm64v8 in a docker image (using scaleway server) but for rpi3 and rpi2 so far it is a fail. It keeps crashing. I am trying just to build outside of docker but it is taking forever.

Also I want to do something similar to mimble wimble : https://github.com/mimblewimble/grin/blob/master/Dockerfile
It will make the image smaller.

For some reason I am not able to build dogecoin 1.14 with the wallet. I tried with db 5.3 and the recommended one db 5.1
Both times it just get stuck. I will try with 1.10 see how it goes.

Closing here as we actually ship both arm and aarch64 through Gitian now with 1.14.


Adopt Edit Context

Follow up of #204371 (exploration done in #207699).
This issue is about:

When available, use EditContext to react on user input
Use existing text area or new div elements to render content for screen-reader users

Advantages:

Very likely fixes many IME bugs
Simplifies IME handling in code

Disadvantages:

EditContext is not available on all platforms, in particular not on electron by default
EditContext does not improve accessibility directly (indirectly, by allowing to use divs to render the screen reader content)

text area code is complicated and needs to be adjusted for screenreader support

@aiday-mar Breaking things down (from our planning discussion):

[ ] Accessibility

[ ] Get NVDA set up and working well (Caps-Lock and Insert don't work out-of-the-box with Parallels)
[ ] Learn about how to operate NVDA

[ ] browse vs focus mode
[ ] system caret vs review cursor
[ ] jump to previous / next paragraph without moving the system caret

[ ] Understand the current pagination based text strategy
[ ] Propose a new implementation
[ ] Implement using  text content and browser selection

[ ] IME

[ ] Try out IME scenarios from https://github.com/microsoft/vscode/wiki/IME-Test

[ ] Try to see what others such as Outlook Web or Word Online do

Focus vs Browse mode:

Browse mode. Complex read-only documents are browsed using browse mode. This includes documents such as Mozilla Firefox documents, IE documents, Google chrome, edge. In browse document, the content of the document is made available in a flat representation that can be navigated using the cursor keys. For quicker navigation, NVDA provides single character keys to jump to certain fields. For example h for next heading, p for next text paragraph etc

NVDA tries its best to identify text paragraphs, but the algorithm is not perfect and makes mistakes at times. Additionally, this command is different from paragraphs navigation commands. Text paragraph navigation only jumps between text paragraphs, while paragraph navigation commands takes the cursor to the previous/next paragraphs regardless of whether they contain text or not.
By default when selecting text with the shift+arrow keys in browse mode, a selection is only made within NVDA’s browse mode representation of the document, and not within the application itself. This means the selection is not visible on the screen, and copying text will only copy NVDA’s plain text representation of the content. There is however a native selection mode which causes the document’s native selection to follow the browse selection.

Focus mode. Almost all keys are passed to the control. When in browse mode, NVDA will automatically switch to focus mode if you tab to or click on a particular control that requires it.

There are 4 ways to navigate a page with NVDA:

Navigate with the system focus. The system focus is the object which receives keys typed on the keyboard. The most common way of navigating around Windows with NVDA is to move the system focus using Windows keyboard commands like tab and shift+tab.
Navigate with the system caret. When an object that allows navigation and/or editing of text is focused, you can move through the text using the system caret, or the edit cursor. NVDA allows one to read parts of such a control (for example line by line) and to report the caret location.
Navigate through the objects. Object navigation allows you to move between different objects without moving the system focus or the system caret. An object is a single item such as a piece of text, button, checkbox, slider etc. The objects are disposed in a hierarchical view. Once you navigate on an object, you can review its content using the text review commands while in object review mode. By default, the navigator object moves along with the system focus. There are commands to move the navigator object focus to the system focus, or do the opposite.
Navigate with the mouse. NVDA by default reports the text that is directly under the mouse pointer. It can also be configured to announce the type of the object under the mouse.

Reviewing:

To review text either you can use the system caret or the review caret.

System caret. When focus reaches an object being able to hold a system caret, it allows us to move through the text with the keyboard arrows.
Review caret. The review cursor allows us to review text not requiring the system caret to be on the object in order to keep the editing position. It can also be used when generally there is no system caret. By default when the system caret moves, the review cursor follows along. NVDA allows to read the contents of the screen, current document or current object by character, word or line. You can decide to review the following:

current navigator object. Review the navigator object. For objects such as editable text fields, this will generally be the text content. For other objects, this may be the name or the value.
current document. This allows to review the text of the entire document. When moving around the document with review commands, the navigator object is automatically updated to the object found at the current review cursor position. This applies also to the screen review.
screen. Review text on the screen.

Some clarifying questions:

What is the difference between browse mode and object navigation?

Browse Mode

Document-Centric: Browse Mode is primarily used for web browsing. It treats web content like a document, making it easier for users with visual impairments to navigate web pages.
HTML Document Structure: In Browse Mode, NVDA interprets and presents web content in a structured way, similar to how a sighted user would experience a webpage. It identifies elements such as headings, links, lists, and form fields.
Linear Reading: Users can navigate through web content linearly, moving from one element to the next, such as links or headings, using keyboard commands like arrow keys, "H" for headings, and "K" for links.
Interactivity: Browse Mode allows users to interact with and activate web page elements like links and buttons by selecting them while in the mode.

Object Navigation

Element-Centric: Object Navigation is a more granular and fine-grained approach to navigating content. It is not limited to web browsing and can be used to navigate various application interfaces.
Objects and Elements: In Object Navigation, NVDA focuses on individual elements and objects within the content, such as buttons, checkboxes, text fields, and other interface elements, not just text and links.
Precise Navigation: Users can move through elements one at a time and interact with specific interface components in detail, making it useful for applications, dialog boxes, and software interfaces.
Detailed Information: Object Navigation provides detailed information about the currently focused element, including its role, state, name, and additional properties.

Some useful things learned from the user guide:

It is possible to learn and practise the location of the keys using NVDA+1. In this mode, pressing any input gesture will report the action and describe what it does.
There are different speech modes (talk), on-demand, off, beeps which control what information NVDA communicates through speech
You can turn on visual highlighting in order to have boxes representing the location of the system focus, the navigator object and browse mode caret.

Solid blue highlights a combined navigator object and system focus location (eg. Because the navigator object follows the system focus)
Dash blue highlights just the system focus object
Solid ink highlights just the navigator object
Solid yellow highlights the virtual caret used in the browse mode (where there is no physical caret such as in web browsers)

PR which is used to understand the TextHandler code https://github.com/microsoft/vscode/pull/224931/files

@meganrogge FYI using this new API in xterm.js might be helpful for accessibility.


"Strategy API" is undocumented.

Neither http://passportjs.org/ or this passport-strategy repo appear to describe the Strategy API. The first place I found it described was in the chai testing strategy README, where it says:

The callbacks correspond to Passport's strategy API: success(), fail(), redirect(), pass(), and error().

Huh! That makes sense, I've seen people use those methods in their custom strategies, and they all inherit from the abstract class provided by the passport-strategy module. But then I come here and I find only one method: authenticate.
So, per the chai-lib there's an API, but it seems to be undocumented.
Where can one find more detail on what's being patched into the strategy at runtime, what methods authors can rely on being available? I looked in the passportjs site, the wiki, issues, and this repo, and I have decent google-fu, but I honestly couldn't find anything other than the actual implementation:
https://github.com/jaredhanson/passport/blob/5334ee0fa52ab5f5225ddee695697432e0565679/lib/middleware/authenticate.js#L178
I think the API for strategy authors should be documented somewhere, as per comments in above file any authenticate() method can't be successful without using one of those 'augmented actions'. If it's not documented in this repo it should probably be linked to from here.
Apologies if it's documented and I missed it! I think having this called out could benefit Strategy authors -- as one example, in a multi-strategy situation, a strategy that can never call .pass() could be useless, but many authors are basing their strategies on 'passport-local' where .pass() isn't used, and may be unaware of the api.

I took a crack at documenting these augmented methods in #5. I did not know about the redirect and pass methods, though, so those are not covered. Thanks for making them known to me.

Would be great if someone could also create a link in the Passport website and readme.

These augmentations can be found here: https://github.com/jaredhanson/passport/blob/cfdbd4a762b51e339ebfea931d65bccbbde53282/lib/middleware/authenticate.js#L199


Add support for custom runs

Change log

Adds support for running custom evaluation methods via evaluate_XXX(..., method=YourCustomConfig, ...)
If a custom evaluation is not available when the results are loaded, gracefully fallback to the appropriate base class

This allows for running analyses like results.print_report() that are implemented on the base class even if the classes associated with the custom evaluation protocol are not available anymore/on the current machine

Adds support for "properly" configuring custom evaluation classes via a new fo.evaluation_config

This is exactly analogous to how custom annotation/similarity backends can be configured

Adds support for storing arbitrary custom runs on datasets via a new API

This is an extension of the annotation/evaluation/brain API for arbitrary user data

Custom evaluation example
import fiftyone as fo
import fiftyone.zoo as foz
import fiftyone.utils.eval.coco as fouc

class CustomDetectionConfig(fouc.COCOEvaluationConfig):
    pass

class CustomDetection(fouc.COCOEvaluation):
    pass

dataset = foz.load_zoo_dataset("quickstart")
dataset.persistent = True

dataset.evaluate_detections(
    "predictions",
    gt_field="ground_truth",
    method=CustomDetectionConfig,
    eval_key="custom",
)

Later in another session:
import fiftyone as fo

dataset = fo.load_dataset("quickstart")

print(dataset.get_evaluation_info("custom"))
results = dataset.load_evaluation_results("custom")
results.print_report()

Custom run example
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
dataset.persistent = True

config = dataset.init_run()
config.foo = "bar"  # add as many key-value pairs as you need

# Also possible
# config = fo.RunConfig(foo="bar")

dataset.register_run("custom", config)

results = dataset.init_run_results("custom")
results.spam = "eggs"  # add as many key-value pairs as you need

# Also possible
# results = fo.RunResults(dataset, config, "custom", spam="eggs")

dataset.save_run_results("custom", results)

Later in another session:
import fiftyone as fo

dataset = fo.load_dataset("quickstart")

print(dataset.get_run_info("custom"))
results = dataset.load_run_results("custom")
print(results)

@allenleetc sweet thanks! Let's wait to merge until we've had more design discussion. Specially around how to invoke custom evaluation methods from operators like @voxel51/evaluation/evaluate_model.


Fails to create branch/PR after generating patch: invalid continuation byte

The step Create Draft PR or push branch fails with the below error. It is a PHP 7.4 repository using Git LFS. Happy to provide any other details you may need. Would be great, in such cases, for resolver to simply attach the patch as an artifact to the action run, then we could at least apply it manually.
Run if [ "true" == "true" ]; then
  if [ "true" == "true" ]; then
    cd /tmp && python -m openhands_resolver.send_pull_request \
      --issue-number 80 \
      --pr-type draft | tee pr_result.txt && \
      grep "draft created" pr_result.txt | sed 's/.*\///g' > pr_number.txt
  else
    cd /tmp && python -m openhands_resolver.send_pull_request \
      --issue-number 80 \
      --pr-type branch \
      --send-on-failure | tee branch_result.txt && \
      grep "branch created" branch_result.txt | sed 's/.*\///g; s/.expand=1//g' > branch_name.txt
  fi
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.1[2](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:2).7/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/[3](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:3).12.7/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.7/x6[4](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:4)
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.7/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.7/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.7/x64/lib
    ISSUE_NUMBER: 80
    GITHUB_TOKEN: ***
    LLM_MODEL: ***
    LLM_API_KEY: ***
    LLM_BASE_URL:
    PYTHONPATH:
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line [5](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:5)00, in <module>
    main()
  File "/opt/hostedtoolcache/Python/3.12.7/x[6](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:6)4/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 489, in main
    process_single_issue(
  File "/opt/hostedtoolcache/Python/3.12.[7](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:7)/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 365, in process_single_issue
    apply_patch(patched_repo_dir, resolver_output.git_patch)
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 54, in apply_patch
    split_content = [x.strip(newline) for x in f.readlines()]
                                               ^^^^^^^^^^^^^
  File "<frozen codecs>", line 322, in decode
UnicodeDecodeError: 'utf-[8](https://github.com/**REDACTED**/**REDACTED**/actions/runs/11559530032/job/32174384426#step:10:8)' codec can't decode byte 0xd9 in position 23: invalid continuation byte
Copied repository to output/patches/issue_80

Hey @codegefluester , thanks! I agree that in the worst case, the branch should still be attached to the run. I'd be interested in taking a look when I have a moment, but it may take a little bit so I'd also welcome a PR!

I can try my luck, though I am not super proficient with Python so may not be able to do more than a "try-catch" solution - will give it a look regardless but also can't promise anything. Thanks for responding so quickly! It is actually working in our other repositories, the quality is a bit questionable with one of our TypeScript repos where it creates syntax errors, but it tries - happy to give this a go every other week!

Hi @codegefluester , I had OpenHands implement the try/catch solution. Things should be somewhat more robust now: #246

@neubig thanks for looking into this! I do however still see this failure in the GitHub action so maybe it is just something related to our repo? I'll have a quick go with a fork and see if that helps and will let you know how I made it work in the end.
Run if [ "true" == "true" ]; then
ERROR:root:  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 587, in <module>
    main()
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 575, in main
    process_single_issue(
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 424, in process_single_issue
    apply_patch(patched_repo_dir, resolver_output.git_patch)
  File "/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/openhands_resolver/send_pull_request.py", line 65, in apply_patch
    split_content = [x.strip(newline) for x in f.readlines()]
                                               ^^^^^^^^^^^^^
  File "<frozen codecs>", line [32](https://github.com/hotlaps/hotlaps-backend/actions/runs/11678876185/job/32519029964#step:10:33)2, in decode

ERROR:root:<class 'UnicodeDecodeError'>: 'utf-8' codec can't decode byte 0xd9 in position 23: invalid continuation byte
Copied repository to output/patches/issue_88

I don't think I am doing anything wrong in the workflow file, am I?
name: Resolve Issues with OpenHands

on:
  issues:
    types: [labeled]

jobs:
  call-openhands-resolver:
    uses: All-Hands-AI/openhands-resolver/.github/workflows/openhands-resolver.yml@main
    if: github.event.label.name == 'fix-me'
    with:
      issue_number: ${{ github.event.issue.number }}
    secrets:
      PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
      PAT_USERNAME: ${{ secrets.PAT_USERNAME }}
      LLM_MODEL: ${{ secrets.LLM_MODEL }}
      LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
      LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}

@neubig not ideal as a fix I guess but it unblocks us for now https://github.com/hotlaps/openhands-resolver/commit/813cef070a9870283225bb317432ac695ab1d919

Hey @codegefluester , thanks a lot for the pointer! I'd like to get this into the main codebase as the following note:

the change to UnicodeDecodeError to avoid catching general exception
the change to logger.error

            try:
                with open(old_path, "r", newline=newline) as f:
                    split_content = [x.strip(newline) for x in f.readlines()]
            except UnicodeDecodeError as e:
                logger.error(f"Error reading file {old_path}: {e}")
                split_content = []

If you wouldn't mind sending a PR to this effect I'd love to acknowledge your contribution, but if you'd prefer me to send it in I can do it too.

Cheers! Happy to contribute, will make those changes and send it your way later today.
Sent from my iPhone
On 5 Nov 2024, at 12:17, Graham Neubig @.***> wrote:

Hey @codegefluesterhttps://github.com/codegefluester , thanks a lot for the pointer! I'd like to get this into the main codebase as the following:
        try:
            with open(old_path, "r", newline=newline) as f:
                split_content = [x.strip(newline) for x in f.readlines()]
        except UnicodeDecodeError as e:
            logger.error(f"Error reading file {old_path}: {e}")
            split_content = []

Note

the change to UnicodeDecodeError to avoid catching general exception
the change to logger.error

If you wouldn't mind sending a PR to this effect I'd love to acknowledge your contribution, but if you'd prefer me to send it in I can do it too.
—
Reply to this email directly, view it on GitHubhttps://github.com/All-Hands-AI/openhands-resolver/issues/198#issuecomment-2456900489, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AABRZCUWUO2WEMO7IA4XFATZ7CSK7AVCNFSM6AAAAABQZKOFEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJWHEYDANBYHE.
You are receiving this because you were mentioned.Message ID: @.***>


Has anyone tried internationalization of validation messages using yup + i18next?

Has anyone tried internationalization of validation messages using yup + i18next?
Yup provides a way to do this using setLocale(), however it doesn't seem to work with RHF. For example, I have used setLocale like this:
yup.setLocale({
    mixed: {
        default: 'fieldInvalid',
        required: 'fieldRequired',
    },
    string: {
        required: 'fieldRequired',
    },
});

However, RHF seems to ignore it completely and I still get validation messages like "Email is a required field" instead of "fieldRequired" which I can send to i18next for translation.
Originally posted by @nareshbhatia in https://github.com/react-hook-form/react-hook-form/discussions/3808

I ran into the same problem here but I managed to fix it.
According to jquense you have to call setLocale before constructing the schema. I thought I was already doing this because I was setting the locale in the root index.tsx file of my project:
// index.tsx
import { render } from 'react-dom'
import { setLocale } from 'yup'
import { ptShort } from 'yup-locale-pt'

setLocale(ptShort)

render(<App />, document.getElementById('root'))

But it wasn't working. I don't know why.
So I just set the locale in the same file as the schema to be extremely clear about it:
// component.tsx
import { setLocale, object } from 'yup'
import { ptShort } from 'yup-locale-pt'

setLocale(ptShort)

const formSchema = object({
})

Now that works.
Unfortunately I don't think it's possible to share schemas between the backend and frontend using different locales because of this.

I ran into the same problem here but I managed to fix it.
According to jquense you have to call setLocale before constructing the schema. I thought I was already doing this because I was setting the locale in the root index.tsx file of my project:
// index.tsx
import { render } from 'react-dom'
import { setLocale } from 'yup'
import { ptShort } from 'yup-locale-pt'

setLocale(ptShort)

render(<App />, document.getElementById('root'))

But it wasn't working. I don't know why.
So I just set the locale in the same file as the schema to be extremely clear about it:
// component.tsx
import { setLocale, object } from 'yup'
import { ptShort } from 'yup-locale-pt'

setLocale(ptShort)

const formSchema = object({
})

Now that works.
Unfortunately I don't think it's possible to share schemas between the backend and frontend using different locales because of this.

Thanks @joaopaulobdac 👍🏻
@nareshbhatia maybe a possible solution/workaround

Thanks @joaopaulobdac 👍🏻
@nareshbhatia maybe a possible solution/workaround

A better solution would be returning a key from the validation object and then wrapping that key in t() in your component


Curve Lending bot fixes

[ ] Update mybot page if multiple collateral tokens are selected @joycehermosilla to share design

[x] my bot page crvUSD and collateral token are swapped

[x] we're not showing the risk ratio - it's always zero

[x] every time the view is refreshed the list sorting changes. With 2 bots they flip which one is the first and the second

[x] Change "Risk Ratio" to "Health Threshold" on the my bot page and on the start bot page

[x] On the my bot page show:

[x] borrowed amount
[x] Health (next to Health Ratio)

[ ] Update the expired bots - design to follow from @joycehermosilla

[ ] show status as "expired"
[ ] show collateral token
[ ] show risk ratio

@joycehermosilla Could you please share the designs for this ticket?


How to open the new window from page

Hello, I just started using this webview project, and I compiled the example by introducing the description, but on Linux system I found that I can't open a new window by clicking on the page in the open page, this confuses me, I want to know if this is due to the page The problem of js itself, such as target, or where is my webview demo environment set incorrectly, what is the other reason, I hope you can help me, thank you

Opening a new window or tab is not currently supported. You can read about why in this issue: https://github.com/webview/webview/issues/305

For the sake of simplicity and forward-compatibility with mobile platforms, only a single native window per app process is supported. For those, who have more complex use cases and the need of multiple windows there are two options: spawn a process per window and let them talk to each other via IPC, or create an external app loop on your own, then create as many native windows as you need and pass them into webview constructor. Passing a native window handle into webview constructor allows infinite customization of the window without bloating an API. However, in this the developer is in charge of managing such native windows. The library will only provide an embedded webview widget.

If you need a second window, you will need to program your own solution to create it.

ok ，thank you very much for the detailed answer， it helped me a lot


About your modification to python3.8

This is relevant to #16.  You remove the super of the customized dataloader, which causes the code cannot work well on python3.7. I can run pretty well with the old code. Just want to let you know about this issue.

Hi! Thanks for notifying. I looked into the issue but am unable to find a way to make the NamedTuple with overriding __getitem__ work in both Python 3.7 and 3.8. I am open to suggestions. For now I guess it's best to upgrade to 3.8 or roll back this change manually.


feat(build): add off-by-default DPP_USE_PCH option in CMake

Adds an option to use private PCH when building DPP from source.
Mostly useful on MSVC, makes the build take 30 seconds instead of 5 minutes.
Useful for contributors mostly 👀 as this only affects DPP itself due to being private, and does not propagate to dependents.
This does not affect vcpkg.

[x] My pull request is made against the dev branch.
[x] I have ensured that the changed library can be built on your target system. I did not introduce any platform-specific code.
[x] I have ensured that all methods and functions are fully documented using doxygen style comments.
[x] I tested my commits, by adding a test case to the unit tests if needed
[x] I have ensured that I did not break any existing API calls.
[x] My code follows the coding style guide (if you are not sure, match the code style of existing files including indent style etc).
[x] I have not built my pull request using AI, a static analysis tool or similar without any human oversight. Where I have generated this pull request using a tool, I have justified why this is needed.

I could add it to the vcpkg CMake as well, I'm just not familiar with vcpkg so I'm not sure how I'd test that 🤔

I could add it to the vcpkg CMake as well, I'm just not familiar with vcpkg so I'm not sure how I'd test that 🤔

yeah lets leave vcpkg alone. it works, and its fragile af. Lets not poke the hornets nest.


Creating REPL Classes using Reflection

Classes that are created in the REPL cannot be initiated using reflection (they show up with one argument when they should have 0).
A simple example is shown here
A normal class can be created without any problem
val testBasic = Try{classOf[java.io.ByteArrayOutputStream].newInstance()}
testBasic: scala.util.Try[java.io.ByteArrayOutputStream] = Success()

Making the classes in the REPL (even with a few tricks)
class TestClassA
object TestObjA {
    class TestClassB
}
object TestObjB {
    class TestClassC
}

Works fine with standard methods
val testA1 = new TestClassA
val testB1 = new TestObjA.TestClassB
import TestObjB._
val testC1 = new TestClassC
testA1: cmd2.INSTANCE.$ref$cmd0.TestClassA = cmd0$$user$TestClassA@65100245
testB1: cmd2.INSTANCE.$ref$cmd0.TestObjA.TestClassB = cmd0$$user$TestObjA$TestClassB@18654dc1
import TestObjB._
testC1: cmd2.INSTANCE.$ref$cmd0.TestObjB.TestClassC = cmd0$$user$TestObjB$TestClassC@54bd18ab

but not with reflection
import scala.util.Try
val testA2 = Try{classOf[TestClassA].newInstance()}
val testB2 = Try{classOf[TestObjA.TestClassB].newInstance()}
val testC2 = Try{classOf[TestClassC].newInstance()}

testA2: scala.util.Try[cmd4.INSTANCE.$ref$cmd0.TestClassA] = Failure(java.lang.InstantiationException: cmd0$$user$TestClassA)
testB2: scala.util.Try[cmd4.INSTANCE.$ref$cmd0.TestObjA.TestClassB] = Failure(java.lang.InstantiationException: cmd0$$user$TestObjA$TestClassB)
testC1: scala.util.Try[cmd4.INSTANCE.$ref$cmd0.TestObjB.TestClassC] = Failure(java.lang.InstantiationException: cmd0$$user$TestObjB$TestClassC)

See a more detailed example here. A similar problem is listed here

An example notebook (https://gist.github.com/kmader/d7299dc542cfab974b80)

Adding import special.wrap.obj in the cell defining the classes makes your example work, see https://gist.github.com/alexarchambault/d115ae3585d262f01700. This has the effect of modifying the way the kernel compiles the code of the cell, which in turn makes it easier to use the classes it defines reflectively or with macros.
This ought to be written in a doc somewhere, sorry it's not yet... I guess I'll write one for the next major version of jupyter-scala, which should be soon.

Perfect thanks!

@alexarchambault So, @keithschulze and I are updating the aforementioned notebooks to the latest version of the Jupyter Scala kernel, and the import special.wrap.obj declaration seems to no longer function after your big refactoring. Is there an equivalent way of achieving the same goal?


Coordination/reuse of copr (Fedora/CentOS) projects

https://twitter.com/mithro/status/1426666143914217474
Check this out @mithro / @unaimarcor … we could base the HDL images on CentOS and use the already existing pre-built packages. Cristian is also adding ppc64le so we got the three major archs going on (x64, arm64, ppc64le).
When riscv gets a stable image, it could be added too.

https://twitter.com/cbalint13/status/1426624389840257030
It can be, will do it right now for all future builds on weekly basis. Also will add ghdl & ghdl-yosys-plugin. You can also check VLSI packages (OpenLANE is WiP): https://t.co/RPJCii69Kk?amp=1

https://twitter.com/mithro/status/1426666143914217474
I believe @unaimarcor has CentOS based images for the HDL/containers too?

Since some communities use (need) CentOS based images, some months ago I added support for multiple "collections" in this repo; those being "debian/buster", "centos/7" and now "debian/bullseye". However, taking care of the Debian collections is already enough effort for myself, so I did not port all the dockerfiles to centos/7 (just base.dockerfile).
Actually, I am familiar with Fedora and dnf (that's the Linux desktop on my laptop and workstation), so I could help with that if some contributor wants to step in. But I don't have any motivation for dealing with Centos on my own and I found Fedora containers to be consistently larger (and slower) than Debian for the same purpose. I do use CentOS and Fedora containers for testing (see e.g. https://github.com/ghdl/docker/actions/runs/1134401041), but not for using the tools in CI.
Note that a different use case would be providing images here with build dependencies, which developers of OpenROAD, OpenLANE, VTR can use in their internal CI. That's not in the scope at the moment, but we might just publish those images (because we are using them internally).
With regard to https://copr.fedorainfracloud.org/coprs/rezso/VLSI/, I'm happy to see effort for having EDA tools packaged in rpm. There was an "spin" named Fedora Electronic Lab some years ago. That was very interesting because several EDA vendors did only support Red Hat officially, so it provided a nice alternative that was almost guaranteed to work and it provided lots of interesting open source EDA. I believe that "spins" were renamed to "labs" (https://labs.fedoraproject.org/es/), but the Electronic one did not survive.
The unfortunate part is that creating a project in copr is not different from creating a repo in GitHub.
I have a profile there (https://copr.fedorainfracloud.org/coprs/umarcor) and I evaluated it for GHDL.
Both copr and Actions provide CI based on "containers", which can be used for building rpm packages for multiple distributions. Therefore, the complexity is similar: writing and maintaining the (rpm) recipes. Hence, the challenge is fragmentation. A quick search for "yosys" reveals that:

https://copr.fedorainfracloud.org/coprs/chaseadam/asic/packages/

iverilog
klayout
magic
yosys

https://copr.fedorainfracloud.org/coprs/aimylios/fpga-tools-nightly/packages/

arache-pnr
ghdl
ghdl-yosys-plugin
gtkwave
icestorm
iverilog
nextpnr
openocd
trellis
yosys

https://copr.fedorainfracloud.org/coprs/aimylios/electronics/packages/

arachne-pnr
asco
ghdl
gtkwave
iverilog
kicad
kicad-nightly
libgnspice
mot-adms
openocd
yosys

https://copr.fedorainfracloud.org/coprs/g/embedded/yosys/packages/

yosys

https://copr.fedorainfracloud.org/coprs/tuksgig/yosys/packages/

yosys

https://copr.fedorainfracloud.org/coprs/fed500/Yosys/packages/

yosys

Conversely, in this repo, we provide more than 20 tools (and the list is increasing). We want to provide a consistent environment for using all or any of them, so that users can have the benefits of lightweight granular images but the sense of being on the same context. Similarly, conda-* and MINGW-packages support "a lot" of tools.
Therefore, rather than picking tools from copr repos "arbitrarily", it would be desirable if one copr project decided to cover all EDA tools; in coherence with this repo, MINGW-packages, conda-eda, etc.
In the mid term, the purpose of that copr repo should be to coordinate/communicate with Fedora maintainers. Precisely because the Electronics Labs spin existed, there is a background of maintainers which keep some EDA tools up to date. There are issues that might prevent some tools from being upstreamed, thus the convenience of having one copr repo as an entrypoint.
Should no one be willing to coodinate a single copr project, we might create hdl/rpm for coordination purposes.
With regard to reusing the content in this repo, coprs/rezso/VLSI uses pinned versions of the tools:

https://copr-dist-git.fedorainfracloud.org/cgit/rezso/VLSI/openroad.git/tree/openroad.spec
https://copr-dist-git.fedorainfracloud.org/cgit/rezso/VLSI/opensta.git/tree/opensta.spec
https://copr-dist-git.fedorainfracloud.org/cgit/rezso/VLSI/klayout.git/tree/klayout.spec
https://copr-dist-git.fedorainfracloud.org/cgit/rezso/VLSI/python-kivy.git/tree/python-kivy.spec

That is inconsistent with other tools in this repo. Hence, we might create collections "centos/8" and "fedora/35", copy the recipes and modify them so they use the master/main branches. Alternatively, the recipes in rezso repo might be modified (or duplicated). In ArchLinux, it is common to provide *-git variants of the packages. If they built bleeding-edge versions, we might consume their packages directly.
However, I am hesitant to create two new collections for a handful of new tools. There needs to be some willingness to port other tools, or otherwise contribute those to (one of) the Debian collections. Moreover, testing CentOS/7, CentOS/8, Fedora/35, etc. might make sense in copr; but here, we should stick to one collection for each "family of distributions", unless we get a bunch of active contributors. Currently we have debian-buster and debian-bullseye because we are in a transition/testing period (Bullseye was released last weekend). I expect to deprecate and stop building Buster images soon.
I believe the most desirable approach would be to have a copr repo and/or hdl/rpm, and enhance the documentation here to explain how users can create a custom container with packages from there.

FTR, a lot of new packages were added to https://copr.fedorainfracloud.org/coprs/rezso/HDL/packages/ in the last days. There are over a dozen tools now.

Hi @umarcor , @mithro
First thank you much for your time and effort picking the subject up !
Wasn't aware of this thread, until now, I also opened a small enlisting request #3
Allow me few details on why this COPR repo exist:

Official Fedora EDA/SIG is not alive (i landed there some early packages while was at RHat >14y ago)
Majority of packages cannot be made into official Fedora/EPEL (would be ideal) due to various license issues.
Those in the official RH/Fedora products lacks essential libraries (various issue) being in incomplete states.
Years ago started to pack my own EDA tools that now grow beyond my PC and found a free home: COPR
The repo is semi-automated, have some little script that can help update git->copr (except compile failure)
I also maintain a diverse (quite difficult) collection of packages from ML land having interest for TVM.
Booth VLSI & HDL have packages pending, VLSI waits openlane (having many dependees) and HDL still have some left.

My sole purpose was to automate a bit and publish things I gathered over time, copr is free and ideal for doing this, and other people may also benefit.
About quality: WorksForMe, the effort is to make "latest" but also "complete" tools (see e.g. nextpnr having all families of FPGAs even the upcoming fpga-interchange)
I agree with @umarcor, COPR is no different to GITHUB, fragmentation & forking can occur.
If anyone wants to co-maintain or find a better home (perhaps more official) I am all-in and very happy to help with the process as my time permits.
~Cristian.

With regard to reusing the content in this repo, coprs/rezso/VLSI uses pinned versions of the tools:

Hi @umarcor, @mithro,

The cron automation is published: https://github.com/cbalint13/copr-packages
Also cross mentioned this information on all COPR repositories (HDL, VLSI, ML).

Of course releng world is never perfect, will try keep improve there things or issues as they arise.
Thank you much !
~cristian.


refactor(remove): remove deprecated packages and update gulp to v4

remove deprecated packages and
update gulp to v4

Review it please.
Thank you

@Runrioter looks awesome 👍. Thanks!
I will test it and release a new version at the end of the week.

@RomanGotsiy  Thanks


Ability to paste JSON data

I want to be able to paste JSON data into the textarea and import it directly.

I'm going to use similar rules to https://lite.datasette.io/ here: https://github.com/simonw/datasette-lite/blob/fdeb6248d540f17fc0c50cc13ef47b714a9314e2/webworker.js#L134-L158
If the user gives an array of objects, I'll use that directly.
If they provide an object, I'll look through its keys trying to find one that is an array of objects and then select the longest one of those and use that.

I'll detect when the user pastes in JSON by looking for { or [ as the starting character, then checking to see if it's valid JSON using JSON.parse.

Used GPT-4: https://chat.openai.com/share/a38933bf-fa00-4906-8b0c-6b9158338b3e


Question on communication with share.ios.js and app.ios.js

Actually, this isn't an issue, just wonder how you communicate with share.ios.js and app.ios.js. I want to pass the value to the app.ios.js when data received in share.ios.js.
I'm new to RN, have tried events (Emitter) and global variables but neither works.
I think these components have separate JS environment ?

I just managed to share the user auth token for api calls between the app and the share extension
You have to enable groups in your app: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html
(see "Configuring App Groups section")
and then use this library https://github.com/wwayne/react-native-user-defaults
to store data that is accessible to both the app and the extension
one more ref: http://stackoverflow.com/questions/24118918/sharing-data-between-an-ios-8-share-extension-and-main-app

@iou90 for our app, what I did was using this module react-native-swiss-knife. I use the bucket feature of that one which enables me to share object between share extension and app. It works for both ios and android.
before you can do this, make sure you create a group as @balasan mentioned.

@balasan @alinz thx for helping! I'll give it a try with your advice.

@iou90 closing this issue and I'm assuming it got fix. reopen it again if you have the problem again.


Addressing some build issues with the previous commit for password en…

Addressing some build issues with the previous commit for password encryption:

The commit changed the name of the jar generated by gobblin-utility . I've reverted that change.
I've removed the Main-Class from the manifest since it is conceivable that we have other
CLI classes in the library.
I have added a helper bash script to run the password encryptor utility

LGTM.


Customer issue: Results not reported after plugin seems to run successfully

Describe the bug
Plugin v 2.1.3 claims to run successfully, but reports no Results for a single site
To Reproduce
While I cannot share the customer's codebase so I don't have repro steps, I can share some logs.  Their plugin output is verbose - but that seems to be the way of the plugin in general.  I can work with any dev who might pick this up 1:1 to give more info, or perhaps the customer whom I will share this report with will be willing to share more details publicly.
Expected behavior
After the plugin says "Generating results" and before it says "Killing Chrome instance", we'd expect the see a Results stanza.  But in this case, we don't:
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:status Auditing: Tap targets are sized appropriately
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:Runner:warn MetaElements gatherer, required by audit tap-targets, did not run.
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:status Auditing: Document has a valid `hreflang`
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:Runner:warn LinkElements gatherer, required by audit hreflang, did not run.
9:48:47 AM: Post processing - redirect rules
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:status Auditing: Document avoids plugins
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:Runner:warn EmbeddedContent gatherer, required by audit plugins, did not run.
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:status Auditing: Document has a valid `rel=canonical`
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:Runner:warn LinkElements gatherer, required by audit canonical, did not run.
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:status Auditing: Structured data is valid
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:status Generating results...
9:48:47 AM: Post processing done
9:48:27 AM: Tue, 07 Jun 2022 16:48:27 GMT LH:ChromeLauncher Killing Chrome instance 1760
9:48:27 AM:
9:48:27 AM: (@netlify/plugin-lighthouse onPostBuild completed in 4.8s)

Screenshots

Desktop (please complete the following information):
- I think this is irrelevant to this report :)
Smartphone (please complete the following information):
- I think this is irrelevant to this report :)
Additional context
Customer is a new user of the plugin so not sure what it should look like;  I as a Netlify employee have seen other plugin runs that do include a "results" stanza right in that spot in the logs.
Is there anything else the customer (or Netlify) can try, to debug this situation?

From the summary up top after every deploy, I see this in this particular build

@netlify/plugin-lighthouse ran successfully
Summary for directory 'public': undefined
I am running the plugin on a demo site myself and it runs as expected with v1 and v2 of the plugin.
https://app.netlify.com/sites/product-demo/deploys

Thanks for this report. We'll have a look and report back with any findings.

Can confirm my team is facing the same issue.
Note that we installed the plugin with the direct in-app installation link and not through netlify.toml

Also, in the deploy logs, it says .next undefined. Not sure if that is an issue but it seems it could be.

Same issue here. Let me know if I can provide you with any info to assist. 👍🏻

Hello all, we believe this issue has been resolved with the latest version of the plugin. If possible, can you please upgrade to the latest version of the plugin and verify if this issue has been addressed? If not, please let us know. Thank you!


Import format and let user pick duration for each format

In ConferenceHall, the user can add format for proposals.
We should:

Import those format into the events
Ask the user (optional) if he want to set the duration of each format, in munutes, during the creation of the event from ConferenceHall
Use this format duration when creating the "sessions" in database as durationMinutes

Closed by #16


Runtime.NewModule -> InstantiateModule and adds ModuleBuilder

This reverts Runtime.NewModule back to InstantiateModule as it calls
more attention to the registration aspect of it, and also makes a chain
of NewXX more clear. This is particularly helpful as this change
introduces ModuleBuilder which is created by NewModuleBuilder.
ModuleBuilder is a way to define a WebAssembly 1.0 (20191205) in Go.
The first iteration allows setting the module name and exported
functions. The next PR will add globals.
Ex. Below defines and instantiates a module named "env" with one function:
hello := func() {
	fmt.Fprintln(stdout, "hello!")
}
_, err := r.NewModuleBuilder("env").ExportFunction("hello", hello).Instantiate()

If the same module may be instantiated multiple times, it is more efficient to separate steps. Ex.
env, err := r.NewModuleBuilder("env").ExportFunction("get_random_string", getRandomString).Build()

_, err := r.InstantiateModule(env.WithName("env.1"))
_, err := r.InstantiateModule(env.WithName("env.2"))

Note: Builder methods do not return errors, to allow chaining. Any validation errors are deferred until Build.
Note: Insertion order is not retained. Anything defined by this builder is sorted lexicographically on Build.

thanks for the look! I'll do globals next which is how all of this started


Discord RPC Icon

What is your question?
What should I name my mod's Discord RPC icon?

change this to your icon name


Restore offline node performance

Revert "feat: Publish progress of processing the bagfile (#940)"
This reverts commit dd4d2af58b3a7f34b036abe5bf16b7d545b6e7d5.
Current performance of the offline node seems to be horribly broken after #940, as described in comment in #940. Please revert until fixed.

@alireza-hosseini has quickly identified the problem, thanks!


Watchdog

Implement basic watchdog timer functionality.
WIP until I test this on hardware and add an example. Ready to review.

Do you think the typestate in the WatchdogHandle pulls its weight? It looks like that makes the API somewhat less ergonomic than it could be

Do you have any suggestions for what else to do with this? I suppose we could always use the degraded mode, at the const of a u8 for each handle.


Visual Studio Implementation

This would be great for Visual Studio 2022 too.

Thanks for your feedback, please file that feedback for VS at https://developercommunity.visualstudio.com/home.


laravel still looking for old service provider

Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize

  [Symfony\Component\Debug\Exception\FatalThrowableError]
  Class 'Felixkiss\UniqueWithValidator\UniqueWithValidatorServiceProvider' no
  t found

Script php artisan optimize handling the post-install-cmd event returned with error code 1

I recently upgraded the package from version 2.* to 3 and faced this issue. I have already changed the name of the service provider on the config/app.php file. Very curious as to why it's happening. I am on laravel 5.4 btw, also funny thing is I managed to install it on my local homestead without any issues.

Have you tried composer dump-autoload?

Hey thanks for the quick answer. I tried it but it didn't work for some reason so i instead delete the files inside the bootstrap folder and it worked. Forgot the name of the exact file.


Minor git.py and git-branch.py improvements

Cleanup unused getpass import
Redact password on git push
Add helpstring for git log --oneline
Cleanup git remote output
Cleanup git branch output

@steljas you dont need to revert 939bd79. The Output does not interleave error appears sometimes (see discussion in pullrequest #207). Unless you modified the StaSh core, you can simply ignore this error.

Thanks @bennr01.  I'll revert the revert. :smile:

@ywangd Let me know if you need anything else to merge.  Thanks!


Add AncestryDNA

Would like to solicit example data (maybe via data selfie)

Closed with 6ae438d and https://github.com/PersonalGenomesOrg/open-humans-data-processing/commit/c7f66b99e5f4369a34a2e92383ac4afc716348df


Update versionist

Changelog-entry: Update versionist
Change-type: patch
Signed-off-by: Alex Gonzalez<EMAIL_ADDRESS>

@balena-ci I self-certify!


Add multiple uploading

It doesn't seem to work on iOS. Tapping the upload box does absolutely nothing, not even any errors in the console.

This should be ready to merge.


[Improve][Manager] Encryption saves all password fields

Description
Encryption saves all password fields.
InLong Component
InLong Manager
Are you willing to submit PR?

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

Code of Conduct

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

I will to submit pr


Owl with homepage link, also removed menu

Owl with homepage link, also removed unused menu

+1

:+1:


Can't execute transaction that has more confirmations than required.

Create Safe with 5 owners and threshold 2
Create tx with owner 1
Confirm tx with owner 2 and 3 but DON'T execute right away.
Now try to execute tx with owner 1
It'll not work.

Example Safe with that issue: latest tx on https://rinkeby.gnosis-safe.io/safes/0xca57093Df2ff3170Ddf2f223DED93a0Ddcc4426c/transactions
Let me know if you need more details.

https://github.com/gnosis/safe-react/blob/fff057d8e6f387acac12b7eb9653b460ab853a34/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/ApproveTxModal/index.jsx#L72 This should probably not check equals but >=

The transaction to execute the tx has gone through ok: https://rinkeby.etherscan.io/tx/0xa59c6c04a2bbf288c1338cc0ffef888a94bea6be7ed0ce9479a5d02811a0fcef (called the approveHash method)
The transaction detail the endpoint is returning is incomplete (see nulls in blockNumber, transactionHash, executionDate, executor):
  {
    "safe": "0xca57093Df2ff3170Ddf2f223DED93a0Ddcc4426c",
    "to": "0xca57093Df2ff3170Ddf2f223DED93a0Ddcc4426c",
    "value": "100000000000000000",
    "data": null,
    "operation": 0,
    "gasToken": "0x0000000000000000000000000000000000000000",
    "safeTxGas": 0,
    "baseGas": 0,
    "gasPrice": "0",
    "refundReceiver": "0x0000000000000000000000000000000000000000",
    "nonce": 1,
    "safeTxHash": "0x6a91e72315bf2b15fb66ba233be0e34950a91d9a161f1247454116418524f9af",
    "blockNumber": null,
    "transactionHash": null,
    "submissionDate": "2020-01-07T17:09:37.040111Z",
    "isExecuted": false,
    "executionDate": null,
    "executor": null,
    "confirmations": [
      {
        "owner": "0x39cBD3814757Be997040E51921e8D54618278A08",
        "submissionDate": "2020-01-07T17:09:48.890360Z",
        "transactionHash": "0x5af9eb727899caa20ea1dedabdc34208d003bf1a69357f62828802755c0e9c78",
        "confirmationType": "CONFIRMATION",
        "signature": null
      },
      {
        "owner": "0x00984CBdcAc32676d811f5bDB82bC50ae6dd6784",
        "submissionDate": "2020-01-07T17:10:15.380492Z",
        "transactionHash": "0x72c4fa9c8b689c7d1ae4cee5da72a7191aaf19d270c9d400b0f383b6559b0c81",
        "confirmationType": "CONFIRMATION",
        "signature": null
      },
      {
        "owner": "0x0e329fa8d6Fcd1ba0Cda495431F1f7CA24F442C2",
        "submissionDate": "2020-01-07T17:10:54.681146Z",
        "transactionHash": "0x0c7bf51ab66d70d0aa646efee7c3dfa57a17f1b36613f690995a85343f5b3a04",
        "confirmationType": "CONFIRMATION",
        "signature": null
      }
    ],
    "signatures": null
  }

the endpoint: https://safe-transaction.rinkeby.gnosis.io/api/v1/safes/0xca57093Df2ff3170Ddf2f223DED93a0Ddcc4426c/transactions/

https://github.com/gnosis/safe-react/blob/fff057d8e6f387acac12b7eb9653b460ab853a34/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/ApproveTxModal/index.jsx#L72
This should probably not check equals but >=

I didn't see your message, sorry. This makes complete sense

Another way to reproduce the issue, so we can test when gets solved:
1 - Have a Safe with a "3 out of 4" rule
2 - Modify the rule to make it "1 out of 4"
3 - Sign it with the 3 owners but do not execute it
4 - Create a new transaction, like a token transfer
5 - Same as before, sign it with every one. You should not be able to execute this one since the change of "Required confirmation transaction" is still pending to be excecuted
6 - Execute the "Required Confirmation transaction", now the safe requires only 1 owner to do transactions
7 - The last transaction, the one for the transfer of funds should be locked now. if a person tries to execute it it will just "approve it"


Data Science VM not available in Azure CSP subscriptions

We are providing Azure to Customer as Cloud Solution Partner. They are very much interested in both Windows/Linux Data Science VMs - however, it seems to be impossible to deploy images to CSP subscriptions.

When in Azure Marketplace, and trying to deploy - it says "Not allowed" when I want to deploy to CSP subscription.
As our all data sources are under this subscription, it would make no sense for us to create DS VM in another one.
Looking very much forward to help / suggestion here.
Wlodek

Sorry you are having this issue. Have you opened a support ticket with Azure from your Azure portal? If so, please let us know the ticket number. We will see if we can followup and see if there is something that can be done to remove this limitation.

Thanks a lot!
I do confirm that it works now - and I can deploy Linux Data Science VM (BYOL/CSP) to CSP successfully!
Just to let you know, sometimes I get stucked on last step:

But after retrying it some more times, finally it passed validation:

I very much appreciate your effort!
It would be also great if you could publish similar BYOL/CSP template for Windows DS VM as well.


Update bases to Ubuntu 22.04

Description
Update bases for all charms to Ubuntu 22.04.
Checklist

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have made corresponding changes to the documentation.
[ ] I have added tests that validate the behaviour of the software.
[x] I validated that new and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.
[ ] I have bumped the version of any required library.

LGTM, not the most exciting review laughing


test: Wrap proto string in std::string before comparison

Risk Level: Low
Testing: Unit
Docs Changes: N/A
Release Notes: N/A
Signed-off-by: James Synge<EMAIL_ADDRESS>

I looked at the log of the "ci/circleci: mac" failure, and it looked to be in setup of the build env, rather than building and testing the change. Could someone restart that build?

@jamessynge sorry, thought I had rerun it, slight change to CircleCI flow recently, hopefully should be done soon.


[Question]  How does authentication work?

I'm now trying to integrate authentication using auth0.  I have followed documentation provided by adding the following to the configuration file.
   "AuthenticationOptions": {
    "AuthenticationProviderKey": "Auth0",
    "AllowedScopes": ["read:item" ]
  }

and the audience and authority provided by Auth0 to Startup when calling AddJwtBearer.  I still get a 401.  I am using postman and passing the bearer token as the authorization in the request.  I feel like I am missing another key piece here or not understanding how it all works together.

@jlcarpenter set your log level to trace and see what gets output by Ocelot. Paste it here if it doesnt make any sense!
If you could paste the code where you add the auth0 stuff to startup minus any secrets as well that might help.

@TomPallister Here is my log

dbug: Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: Upstream url path is /api/values
dbug: Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: downstream templates are /v1/{everything}
info: Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: EndpointRateLimiting is not enabled for /v1/{everything}
info: Ocelot.Authentication.Middleware.AuthenticationMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: /api/values is an authenticated route. AuthenticationMiddleware checking if client is authenticated
warn: Ocelot.Authentication.Middleware.AuthenticationMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: Client has NOT been authenticated for /api/values and pipeline error set. Request for authenticated route /api/values by  was unauthenticated
warn: Ocelot.Authentication.Middleware.AuthenticationMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: Request for authenticated route /api/values by  was unauthenticated
warn: Ocelot.Responder.Middleware.ResponderMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: Error Code: UnauthenticatedError Message: Request for authenticated route /api/values by  was unauthenticated errors found in ResponderMiddleware. Setting error response for request path:/api/values, request method: GET
dbug: Ocelot.Errors.Middleware.ExceptionHandlerMiddleware[0]
requestId: 80000008-0005-fe00-b63f-84710c7967bb, previousRequestId: no previous request id, message: ocelot pipeline finished
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 253.7693ms 401

Here is my Startup Setup

services.AddAuthentication()
.AddJwtBearer("Auth0-KeyVault", x =>
{
x.Authority = "mydomain.auth0.com";
x.Audience = "https://api.mydomain.com/myapi";
if (_environment.IsEnvironment("Local"))
x.RequireHttpsMetadata = false;
});

It looks like my problem that right now I am trying to short circuit the authentication process.  I have not authenticated the user at this point, but was trying to simply take the bearer token provided in the Quick Start API by Auth0 and pass it along in the request.

@jlcarpenter Your config has Auth0 as your AuthenticationProviderKey and you are registering your auth handler with the key Auth0-KeyVault, Is this correct? Ocelot should fail to start under these conditions.
I'm not sure what you mean by short circuit? Have you solved this issue? :O

I have not resolved the issue.  When I say short circuit, I was saying that at this point I have not authenticated the user.  I am simply taking the bearer token provided by Auth0 and using it in the request.  I believe the problem by looking at the response and the code is that I do not have a user (much less one that has been authenticated) in the request.

Was able to resolve the problem! I included some code for AD authentication without realizing it.

@jlcarpenter good stuff :)


Fixed GuildProfile

I only noticed afterwards that you have a dev branch. I assume that you want the PR there. Just write whether it fits or I should take the other branch

Hey, I've fixed this by creating a module to declare the action types and using it in the store. I didn't merge your PR because I would have to rewrite on top of your entire code to keep it the way I like it, and you pushed the build files that should only be created by the CI.
I appreciate the PR, but I decided it would be better to write my solution to avoid trouble.
Thanks!

Yeah, that's fine. Glad you found a solution


Fix sentiment example test

Fixes #7100

Thanks for the fix. Was wondering if you could you motivate the introduction of the new test directory?

Simply it's inconvenience to be in separate directories if we're going to test it in CI.
That can be a separate PR if you prefer.

Thanks for the clarification. It sound to me like the scope is a bit widened although it makes perfect sense to run this test in the CI... How about discussing how to run them in the CI in a different issue, making this PR minimal?

OK. Removed the move of the file.

Jenkins, test this please.

Jenkins CI test (for commit 1e51687376af5ee52219ca2093161976d21e0ab1, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 1e51687376af5ee52219ca2093161976d21e0ab1, target branch master) failed with status FAILURE.

Failure is unrelated. LGTM!


Stream color picker bug

Repro:

From the three-dot stream menu, select "Change color".
Change to some other color and click "Confirm".
Change back to the previous color and click "Confirm".

Expected: Stream should change back to the original color.
Actual: Stream stays the second color; nothing happens when the original color is confirmed.

@zulipbot claim

@alya I have made a PR regarding this issue. Requesting a PR review.


ambiguous "you"

The term "you" in this article refers to the developer, but in the Coauthoring section, it refers to what end users do. Please rewrite that section so that it talks about users, not "you".

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

ID: 94ad7803-d4f7-a700-7c7f-204cd8f34e4a
Version Independent ID: 9c485bae-cab1-bdad-4c8e-baad2b12b22d
Content: Create custom functions in Excel - Office Add-ins
Content Source: docs/excel/custom-functions-overview.md
Product: excel
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@Rick-Kirkham Thanks for pointing this out.
@alison-mk Can you take a look?
Thanks.


Fix query transmute from table to archetype iteration unsoundness

Objective

Fixes #14348

Fixes #14528

Fixes the fundamental issue with the table vs archetype iteration optimization not being compatible with dynamic query filters

The table vs archetype iteration optimization switches between iterating over tables when all the query filters are dense;
However to get good performance, especially in QueryIter::next (used for iterating with for), this needs to be a compile time switch on D::IS_DENSE && F::IS_DENSE;
We thus need to setup this compiler time check in such a way that when dynamic query filters that require archetype iteration may be present then this compiler time check is false.
An alternative not explored in this PR would be to remove the table iteration optimization from QueryIter::next (while keeping it where a dynamic check is acceptable).

NOTE: this is a pretty big breaking change. Where possible I've tried to make the migration manageable by introducing type aliases and some conversions.

Solution

Introduce a new parameter M to Query, QueryState, QueryIter and other similar types, which contains a compile type switch on whether the query is static (i.e. its filters are only determined by the D and F parameters) or dynamic (e.g. the Querys produced by QueryBuilder and QueryState::transmute). The allowed types for M are StaticMarker and DynamicMarker, and a sealed trait used to limit parameter to only these two types.
I choose to default this type parameter to StaticMarker, meaning existing Querys that don't use dynamic filters will continue to benefit from the table iteration optimization, while however breaking the code for users that used dynamic filters. For making it easier to migrate to use DynamicMarker I introduced a DynQuery and DynQueryState type aliases.

The alternative would be doing the opposite, but this would be a silent performance regression for users not using dynamic queries, and will forever be a footgun to not use an hypothesis StaticQuery.

Introduce a new is_dense field in QueryBuilder which will reflect whether the dynamic filters are dense or not. This will have two uses:

It allows transmuting Query/QueryState with a static marker to one with a dynamic marker, where the crucial part is ensuring the the matched_storage_ids is still accessed in the same way; this also helps the migration between uses of these queries;
It allows using table iteration in situations where a dynamic check is not very costly, e.g. in QueryIter::for_each, hence limiting the performance difference to QueryIter::next.

Migration Guide

Query, QueryState, QueryIter and other Query-related types now have a third M generic parameter which is either StaticMarker or DynamicMarker, depending on whether dynamic filters are allowed or not, with StaticMarker as default;
It will not be possible to produce a Query with a StaticMarker from APIs that allow dynamic filters, like QueryBuilder, Query::transmute_lens and QueryState::transmute;
If you were using dynamic filters you can switch your Queryes to use the DynamicMarker; the DynQuery and DynQueryState type aliases can be used to make this shorter to type. This will basically restore the functionality to before this change, at the cost of a performance penality when iterating using for over dense queries (which were previously broken).

There are still a couple of TODOs here and there (mostly documentation) but I think the general approach is ready for feedback.

On the one hand, this is a good PR: the fundamental argument makes sense here, and moving this to a marker generic is likely to reduce the risk of this sort of error in the future. I much prefer adding another generic to either allowing the unsoundness to persist or regressing performance in the standard case.
On the other hand, I'm quite frustrated by the amount of tech debt accrued in service of sparse component storage in general: it's rarely used, benchmarks in real projects rarely support its use (because repeated component insertion and removal is rarely in the hot loop, but iteration is), and the level of internal complexity and risk it incurs is very large. The retained render world that #14449  is working towards further shifts the calculus towards "don't constantly spawn / insert huge numbers of components".
On the gripping hand though, there may be other interesting component storage strategies to explore. Ripping out the "multiple storages" may make those strategies harder to experiment with and limit our future options. We also don't have much useful benchmarking data on sparse set components yet, and no one has really put in any real work to optimize them.

I'm gonna close this PR for now and focus on #14615 which seems more robust and simplier, although technically less efficient. If that ends up being considered too inefficient I'll reconsider this approach.


Add nzbhydra2 chart

Is it nzbhydra2, or nzbhydra, or hydra2, or just hydra? 😆
I went with nzbhydra2

Thank you for these linters 👍

👍


Release 1.3.1

Coverage remained the same at 87.432% when pulling 5ea66d9a304edd5b43656c38417054748e79707f on release/1.3.1 into b1622a36674158e02beb8ddf0a999823806b99fd on master.


Make child windows resizable

Make it available to change size of Child Window.
By:
-grabbing borders
-using grip in corner

Using for example:
Height = ActualHeight * 20;
UpdateLayout();

is not changing anything

Is this possible?

Sorry, I know this was 8 years ago, but is it possible now?

It is possible but not out of the box. You will need to add the logic to you UserControl you want to show.

@timunie
I know you from Avalonia, how are you doing? =D

It is possible but not out of the box. You will need to add the logic to you UserControl you want to show.

My UserControl in that case is a Window. I just take the Window Content and put this in the ChildWindow content. The idea is to open a ChildWindow instead a Window as ShowDialog. Is it still possible to resize?

@timunie
I know you from Avalonia, how are you doing? =D

It is possible but not out of the box. You will need to add the logic to you UserControl you want to show.

My UserControl in that case is a Window. I just take the Window Content and put this in the ChildWindow content. The idea is to open a ChildWindow instead a Window as ShowDialog. Is it still possible to resize?

PS: I know it is not the best place to ask, but... MahApps/SimpleChildWindow is avaliable on Avalonia via XPF?

Hi @marcosgerene

I know you from Avalonia, how are you doing? =D

I'm fine, thx. Yeah I started using WPF and MahApps back than and it is and was a pleasure. But when M$ decided to not really invest in it anymore, I looked into alternatives for it.

My UserControl in that case is a Window. I just take the Window Content and put this in the ChildWindow content. The idea is to open a ChildWindow instead a Window as ShowDialog. Is it still possible to resize?

You could create a control named ResizeContainer (or what ever), add it as first child and your window content goes into resizeContainer.Content. Should be possible.

PS: I know it is not the best place to ask, but... MahApps/SimpleChildWindow is avaliable on Avalonia via XPF?

Oh I don't know this. Reach out to the team to get a demo license to test. But I maybe this is not so easy as it requires the Window to be MahApps style iirc. So probably easier to adopt the code to make it a real Avalonia control.


[JAVA-16202] Created new module (core-kotlin-6) and moved articles fr…

…om core-kotlin-2

retest this please


URI encode parts of the extension download URL

This fixes https://github.com/adobe/brackets/issues/8692.
The extension name and the extension version will now be URI encoded and all URL unsafe characters are replaced by their % encoded entities.

Closing. This got already deployed.


Material Inputs do not default to float labels

Material form fields, by default, before the user has interacted with them, should have the float label inline in the form field.
Because ngrx-forms is inserting a value into the field, the class .mat-form-field-should-float is being added to the mat-form-field element even if the initialState is set to '' or null for that property.
If the value of the property is an empty string or null, mat-form-field should not have the class .mat-form-field-should-float.

This was part of your material module configuration. My appologies.
{ provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: { float: 'always' } },

This is an excellent library, btw.


[release-2.9] upgrade golang/x/net to 0.17.0

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

/lgtm


Improve doc usage and instructions

Thank you for this great effort, I am using the old version and am trying to update the repo to the current version. However, the instructions do not seem very clear to me. Any further clarification on how to use these tools would be appreciated.
For ref : https://github.com/weecology/website

Closing due to no recent responses from the community. For support, please use the official support channels.


Mark?

Time to add Mark  to the list? :-)

Thanks for compiling such a list. I did not notice that there are so many JSON next around.
Glad to join the family! :-)

@henry-luo  Good luck with {mark}. Added to list, see https://github.com/json-next/awesome-json-next#objective-markup-notation---mark All the best. Cheers.

Thanks!


Supported Bee version is not updated in README

The current version still says that is intended to use with Bee 1.3.0.

Good catch, thank! I will update the Bee update workflow to automatically update this info as well.

Release v5.0.0 addresses this.


Widget not showing prices

Hello!  I love this tool, it is perfect for my needs.  Thank you for creating it!!
Unfortunately after about a week of daily use it no longer shows prices.  I've searched this board and seen similar issues over time; I've tried some of the past suggestions without success.  Any help or ideas would be greatly appreciated.
Thanks again for this great widget!

Hi!  Like mig27 above, I too really like the app but after power was unexpectedly cut @ my house & my computer shut down unexpectedly during outage, app has not retrieved any prices.
I tried to delete app & start with fresh install but app does not appear in uninstall list of programs, does not have an uninstall program in the program folder & manually removing program folder to trash does not remove my previously entered crypto amounts from the new install, nor does it allow a new install to open in a fresh new state (ie: new install will not retrieve prices either).
Please help! I would to have this app back in functioning condition. Thank you so much for the app & any help you can offer.

Sorry to hear you are having the same issue!  I am happy to report that this widget is again updating the prices for me.
Maybe this is only coincidence, but I powered my computer off for a week while I was on vacation, and when I returned I started the widget and it was retrieving prices again.  I realize that's not a very helpful or practical suggestion for you, but thought I'd throw it out there as a potential data point.
Best of luck getting it going again!  Fwiw I used the portfolio tracker at coinmarketcap as a temporary solution.

lol well I spoke too soon, this morning I started the widget and unfortunately it again is not retrieving prices.


complete names of executable scrips

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
let's say i have executable shell scripts in the current directory
-rwxr-xr-x aa-something.sh
-rwxr-xr-x aa-something-else.sh
...lots of other files and dirs...

when i type
> ./aa [Ctrl-T]
i expect to see a list of my scripts, but fzf shows anything but the scripts. am i doing something wrong? How do i make fzf complete a path to executable scripts? now it takes to type almost full filename for the scripts to show up in search even though i expect them to be on top of the list because i have indicated my intention to run it with ./ and it starts with the same chars.

when i type
> ./aa [Ctrl-T]
i expect to see a list of my scripts

Why do you expect it to do so? CTRL-T is not an ordinary shell completion. I suggest that you re-read https://github.com/junegunn/fzf#key-bindings-for-command-line


VideoProgressIndicator removes listener in deactivate lifecycle

For the VidoeProgressIndicator class, would it make more sense to remove the listener in 'dispose' vs. in 'deactivate'?
I ran into a problem where I push a route which issues a 'deactivate'. Then when I pop the route my progress indicator is disconnected (i.e. the listener has been removed). The listener gets added in 'initState', but  since the Widget that contains the VideoProgressIndicator isn't disposed, the initState is not called during the build-phase (i.e. the existing widget is re-inserted into the tree instead of being re-built).
(video_player-0.7.2)
flutter doctor -v
[√] Flutter (Channel dev, v0.10.1, on Microsoft Windows [Version 10.0.17134.345], locale en-US)
    • Flutter version 0.10.1 at C:\vmShare\flutter
    • Framework revision 6a3ff018b1 (9 days ago), 2018-10-18 18:38:26 -0400
    • Engine revision 3860a43379
    • Dart version 2.1.0-dev.7.1.flutter-b99bcfd309

[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at C:\Users\resch\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    X Android license status unknown.

[√] Android Studio (version 3.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 29.1.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[√] VS Code (version 1.28.2)
    • VS Code at C:\Users\resch\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 2.19.0

[√] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.0.0 (API 26) (emulator)

! Doctor found issues in 1 category.

Hi @glorpy
if you're still experiencing this problem, please create a new issue and provide the information required in the template.
Thank you