Improve to_initialize(mapping, graph)

The method is way too complicated and its implementation is very crude. We could do what it does with much fewer lines of code, and also more elegantly. For example, we should recursively search for variables that are inputs but computed at another scale, and it may even be possible to get the scale at which a variable is computed without giving it explicitly (just by searching for it as an output).
In this case we could have a method for MultiScaleModel with just the model, and without the mapping. Then our function would search for the variable at other scales, and if it finds several occurrences, it would guide the user on how to use the two-argument method of MultiScaleModel for the different possibilities.

Closed in f7de08bf253986c91257fe534f78b2a3bc242106


update wecross sdk version

Codecov Report

Merging #25 into dev will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##               dev     #25      +/-   ##
==========================================
+ Coverage     8.89%   8.90%   +0.01%
  Complexity      17      17
==========================================
  Files           13      13
  Lines          686     685       -1
  Branches        86      86
==========================================
  Hits            61      61
+ Misses         612     611       -1
  Partials        13      13

Impacted Files
Coverage Δ
Complexity Δ

...rc/main/java/com/webank/wecross/console/Shell.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...com/webank/wecross/console/common/WelcomeInfo.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

Continue to review full report at Codecov.

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


idea: Add a basic integration test setup

I want to contribute some features to this project - for this purpose I like to have tests available to make sure I don't break anything.
I added the same integration test setup as the one I use in https://github.com/mikavilpas/yazi.nvim using https://github.com/mikavilpas/tui-sandbox.
I originally wanted to use it only in my fork, but wanted to show the general idea anyway. So I understand if you don't want to include it in the project - I will use it in my fork in any case.
https://github.com/user-attachments/assets/a5fbcefa-aea7-42c2-b6d9-1e41fabaff67

Thanks for the suggestion, it's the first time I've seen a visual test of a neovim plugin with cypress, but it's a simple plugin and highly configurable, and probably won't extend the functionality since blink.cmp is not yet stable.
The tests added are wonderful, but the dependencies far outweigh the logic of the plugin itself.

That makes sense. Thanks for the kind words 🙂


need some visual feedback when the task is done (add post action to tasks)

Currently there is no way to tell if a script is running other than a spinning bar in the bottom which is hard to see. If the task doesn't spit any output than there is no way to know if it's still running or finished other than by looking at that bar. Would be nice to get something more visible and explicit.

This should be addressed using some postAction property on a task.

This postAction could also do some processing on the last line of the output so that a success of fail could be reported.

as mentioned in #12466 closed against this task, if post actions could trigger sound playback (for an alert) that would be useful, I arrived at this bug while searching for this functionality in the editor.

Also very interested in seeing a feature that would allow me to enable a sound playback on code completion/failure.

We now show task status in terminal tabs.


re-exporting Value type

Hello,
added one line to websocket.rs to re-export the serde json Value type; this is needed for proper manipulation with messages received from websockets.

Hi @quantverse  I believe you can directly use serde_json::Value after adding serde_json = "1" in your Cargo.toml right?

Hi @quantverse I believe you can directly use serde_json::Value after adding serde_json = "1" in your Cargo.toml right?

Yes, but that is actually what I want to avoid. I don't want to poison main project dependencies by adding something I don't really use. Or worse, it could happen that in future I will need to use different version of serde_json than you do, which would could potentially cause an epic problem.
With this simple line added you just expose the Value type you really use in TableMessage<T>, which is IMHO correct approach. Then anyone can pass Value they get from websockets to  other functions for further processing:
use bitmex::websocket::{Value};

pub fn map_quote(q: &Value) -> Option<Event> {
    let symbol = q["symbol"].as_str()?;
    let market = mex_to_market(symbol)?;
    let ask_price = Decimal::from_f64(q["askPrice"].as_f64()?)?;
    let ask_size = q["askSize"].as_u64()?;
    let bid_price = Decimal::from_f64(q["bidPrice"].as_f64()?)?;
    let bid_size = q["bidSize"].as_u64()?;

    Some(Event::Quote {
        venue: Venue::Bitmex,
        market,
        quote: Quote {
            ask: ask_price,
            ask_size,
            bid: bid_price,
            bid_size
        }
    })
}

Without exposing the Value type this is not possible.

Ok I'll merge it. Although I'm not feeling good about re-exporting types from existing libraries especially that Cargo now supports importing incompatible versions of the same library by giving them aliases.


[REQUEST] Profile Completion

IPB now has a profile completion section, would be awesome to see steam added to this

Part of this is actually done by the IPS 4.3 update. Albeit it won't add a visible field for the users steam page.


ios native share card image in header

hi,
Can you point me to a direction where i can find documentation to find how to implement the "ios native share image" that gets show, in the native card?
See this.
https://aws1.discourse-cdn.com/ionicframework/original/3X/4/c/4c62958be978a42909ef06c5f5909b53106b27e5.jpeg

After digging around a lot what i ended up with is: if you pass the first 3 parameters to the .share() function and 4th param if the link of the website you are sharing, then the og_image tag present in the head tag of your website will be rendered by the iOS13 Native Share card :)
2nd Parameter is the text for SUBJECT especially made for Email Apps. if you mention the 1st paramter then the API seems to make iOS13 always show the dummy image in the native share card.


Add and Initialize Toolbar in TempletedDialog

I'm trying to create a custom dialog that extends TempletedDialog . I can add it in through getTemplate but it doesn't behave properly, for example buttons I add through getTemplate disappear between builds for no apparent reason. I want to add the toolbar properly and have been looking into initToolbar, then adding buttons with getToolbarButtons.
Code:
@Serenity.Decorators.registerClass()
export class BugReportDialog extends Serenity.TemplatedDialog<any>{

    constructor() {
        super();
        this.dialogTitle = "Bug Report";

        //Just added these just in case I needed them but I don't think they're neccessary
        this.initToolbar();
        this.getToolbarButtons();
    }

    getTemplate() {
        return (
            "
" +
                "
" +
                    "Details:" +
                    "<textarea name='Notes' class='editor flexify s-TextAreaEditor' id='Bug-Notes-TextArea' rows= '6' cols= '60' style='color:black; margin-right:20px; margin-top:20px; margin-bottom:20px;'></textarea>" +
                "
" +
            "
"
        );
    }

    protected initToolbar() {
        super.initToolbar();
        this.toolbar = new Serenity.Toolbar($(".s-DialogContent .BugDialog"), {
            buttons: Array<Serenity.ToolButton>()
        });
    }

    protected getToolbarButtons() {
        var buttons = super.getToolbarButtons();

        buttons.push({
            title: 'test'
        });

        return buttons;
    }
}

This is the section that I think needs to be done properly but I haven't found any issues related to creating a toolbar in a TempletedDialog.
    protected initToolbar() {
        super.initToolbar();
        this.toolbar = new Serenity.Toolbar($(".s-DialogContent .BugDialog"), {
            buttons: Array<Serenity.ToolButton>()
        });
    }

I've been reviewing TempletedDialog and Toolbar while looking for other files that might have an example of creating a toolbar but haven't found anything yet.
Update: I did find ImageUploadEditor.cs but none of the c# has been able to be used.

I got it:
protected initToolbar() {
        super.initToolbar();
        $(".BugDialog").removeData('Serenity_Toolbar'); //I had to add this because I kept getting an error saying the the element already contained a 'Serenity_Toolbar'
         var buttons: Serenity.ToolButton[] = new Array();
        buttons.push({
            title: 'Send'
        });
        this.toolbar = new Serenity.Toolbar($(".BugDialog_Toolbar"), {
            buttons: buttons
        });
    }


Disable swap on E2E jobs

We prefer out-of-memory errors to timing-out jobs that we can't debug
and understand.
Signed-off-by: Miguel Angel Ajo<EMAIL_ADDRESS>

@tpantelis @mkolesnik @skitt @vthapar here's the swapoff, hopefully it will show us if it's really a memory issue
on the OVN slow jobs.


updated License

You have incorrectly filled out the bottom of the Apache 2.0 License with information about the authors of this project. This section of the license is just describing how you apply the license, and is not meant to be filled out.

Thanks!


Upgrade blst to v0.3.12

This PR upgrades blst to the latest version (v0.3.12) that was released last month.

Can you shortly describe how you do these upgrades? Just so that I can replicate and make sure I get the same results (in particular wondering about the golang headers).
Thanks!

Can you shortly describe how you do these upgrades?

Yes, of course. This is what I do:
Upgrade the blst submodule:
cd blst
git fetch
git checkout tags/v0.3.12
cd ..
git add blst

Copy new headers to Go bindings:
cp blst/bindings/blst*.h bindings/go/blst_headers
git add bindings/go/blst_headers

Thanks a lot! LGTM!


feat: Added 8.0.0 config handling

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 36.22%. Comparing base (5562cfa) to head (7e743f7).

Files with missing lines
Patch %
Lines

asconfig/utils.go
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #64      +/-   ##
==========================================
- Coverage   36.24%   36.22%   -0.02%
==========================================
  Files          23       23
  Lines        5615     5615
==========================================
- Hits         2035     2034       -1
  Misses       3441     3441
- Partials      139      140       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


CI: arm64 numpy now available

arm64 numpy is now available. Previous experience shows that CI via miniconda tends to be slower than via pip, so try the travisCI arm run with pip

Both the requirements install time and the overall runtime seem to be slower here. Which stage do you expect to run faster?

On a personal project setup was slower with miniconda than pip. That experience seems not to be repeated here. I think it's because pip installation of other (non arm) packages takes longer. I was looking for some kind of improvement towards streamlining the speed of aarch64 testing. I think the run time has a lot of variability.

In both the builds here, pip is quite a bit slower than conda. 140-170 s vs. around 80 s for conda. In the setup log it shows

Building wheels for collected packages: mpmath, Pillow, gmpy2, coverage

mpmath seems to not have wheels for any arch, so that's okay. The others do require some compilation though.

I assume coverage is only needed for the coverage builds so can be dropped.
Is Pillow actually used anywhere in the test suite? git grep PIL doesn't show anything, digging into the history shows it used to be used in scipy.misc.pilutil which has since been removed.

So, maybe try without those to see if it beats conda?

Follow-up merged in gh-12552. Thanks @andyfaff and @peterbell10


Consider rewriting the Lightbox and embed inside WebView

Rewriting the Lightbox and embed inside WebView will keep the view inside the HTML browser implementation.
The benefits will be:

authentication issues - will be resolved as we already successfully load the image inside the message list
caching - we already have the image, no need to reload
progressive loading - the default web behavior is better than ours (although caching might even eliminate this)

May I work on this @borisyankov ? Anything specific that I need to know?

That might not be ideal for new contributors.
Also, we need to discuss the viability and how good of an idea that is with @gnprice

Alright, thanks for letting me know!

Hmm, interesting idea! I agree this could be appealing.
Note that AFAICT there are no remaining issues with authentication. See #3124 -- it looks like the remaining issue is with properly following a redirect. But that's also an area where a WebView should save us from the sloppy bugs of random components from NPM.
(BTW, this is a perfect illustration of why it's super helpful to explicitly link to previous discussions, rather than just allude to them. We can't evaluate "authentication issues" as a possible benefit without looking at what we've previously discussed about specific issues.)
Another issue this might help us with is #2781.
Would you track down the previous GitHub issues, or Zulip chat threads, where we've discussed caching and progressive loading, and link them here? I'm pretty sure we have.
On the other side of the ledger:

This blocks on #2690 (or the task that PR represents) -- I wouldn't want to add significant new complexity inside the WebView before getting a decent handle on managing the complexity we have.
One potentially significant cost of this, in the complexity of the code, is that all the interaction the lightbox currently has with the rest of the app over normal React and Redux interfaces would need to be lifted onto the postMessage channel. I feel like that's a pretty significant source of complexity in the area where we do that today, for the message list. (Which we tolerate because the WebView gives us so much value there.)


[6.x] MySQL Aurora failover - DetectsLostConnections

We recently experienced a MySQL Aurora failover on production and noticed that our queue workers didn't restart.
When running the following code inside a Laravel command and then starting a failover inside RDS dashboard we see these exception messages:

SQLSTATE[HY000] [2002] Connection refused
SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement (SQL: update brand_daily_summary set deposit_count = 23 where id = 1)

    public static function testConnection($attemptReconnect = true)
    {
        $end = Carbon::now()->copy()->addSeconds(120);

        $lastSecondRun = null;
        $count = 0;

        while (Carbon::now()->lessThan($end)) {
            $now = Carbon::now();

            if ($lastSecondRun === null || $lastSecondRun !== $now->second) {

                \Log::debug('second: ' . $now->second);

                $count++;

                try {

                    $affected = \DB::table(DailySummary::TABLE)
                        ->where('id', 1)
                        ->update(['deposit_count' => $count]);

                    \Log::debug('affected: ' . $affected);

                } catch (\Exception $e) {
                    \Log::debug('Exception');
                    \Log::debug($e->getMessage());

                    if ($attemptReconnect) {
                        if (Str::contains($e->getMessage(), ['--read-only'])) {
                            \Log::debug('attempting to reconnect');
                            \DB::reconnect();
                        }
                    }
                }

            }

            $lastSecondRun = $now->second;
        }
    }

Maybe protected function causedByLostConnection is not the correct place to be handling the --read-only option exception message though as it is quite general?
Any thoughts on this?

Here is full output of log file while command is running and failover is happening
[2020-02-20 09:50:58] macbook.DEBUG: second: 58 [] []
[2020-02-20 09:50:58] macbook.DEBUG: affected: 1 [] []
[2020-02-20 09:50:59] macbook.DEBUG: second: 59 [] []
[2020-02-20 09:50:59] macbook.DEBUG: affected: 1 [] []
[2020-02-20 09:51:00] macbook.DEBUG: second: 0 [] []
[2020-02-20 09:51:00] macbook.DEBUG: affected: 1 [] []
[2020-02-20 09:51:01] macbook.DEBUG: second: 1 [] []
[2020-02-20 09:51:01] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:01] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:02] macbook.DEBUG: second: 2 [] []
[2020-02-20 09:51:02] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:02] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:03] macbook.DEBUG: second: 3 [] []
[2020-02-20 09:51:03] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:03] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:04] macbook.DEBUG: second: 4 [] []
[2020-02-20 09:51:04] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:04] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:05] macbook.DEBUG: second: 5 [] []
[2020-02-20 09:51:05] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:05] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:06] macbook.DEBUG: second: 6 [] []
[2020-02-20 09:51:06] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:06] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:07] macbook.DEBUG: second: 7 [] []
[2020-02-20 09:51:07] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:07] macbook.DEBUG: SQLSTATE[HY000] [2002] Connection refused [] []
[2020-02-20 09:51:08] macbook.DEBUG: second: 8 [] []
[2020-02-20 09:51:08] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:08] macbook.DEBUG: SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement (SQL: update brand_daily_summary set deposit_count = 23 where id = 1) [] []
[2020-02-20 09:51:08] macbook.DEBUG: attempting to reconnect [] []
[2020-02-20 09:51:09] macbook.DEBUG: second: 9 [] []
[2020-02-20 09:51:09] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:09] macbook.DEBUG: SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement (SQL: update brand_daily_summary set deposit_count = 24 where id = 1) [] []
[2020-02-20 09:51:09] macbook.DEBUG: attempting to reconnect [] []
[2020-02-20 09:51:10] macbook.DEBUG: second: 10 [] []
[2020-02-20 09:51:10] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:10] macbook.DEBUG: SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement (SQL: update brand_daily_summary set deposit_count = 25 where id = 1) [] []
[2020-02-20 09:51:10] macbook.DEBUG: attempting to reconnect [] []
[2020-02-20 09:51:11] macbook.DEBUG: second: 11 [] []
[2020-02-20 09:51:11] macbook.DEBUG: Exception [] []
[2020-02-20 09:51:11] macbook.DEBUG: SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement (SQL: update brand_daily_summary set deposit_count = 26 where id = 1) [] []
[2020-02-20 09:51:11] macbook.DEBUG: attempting to reconnect [] []
[2020-02-20 09:51:12] macbook.DEBUG: second: 12 [] []
[2020-02-20 09:51:12] macbook.DEBUG: affected: 1 [] []
[2020-02-20 09:51:13] macbook.DEBUG: second: 13 [] []
[2020-02-20 09:51:13] macbook.DEBUG: affected: 1 [] []

Is there any updates on this issue?. We are facing on the same one.
Will doing reconnect solves this issue?

okay. Thank you @IndexZer0. I will replicate the failover and check whether it fixes it.


SOLR-16659: Properly construct V2 base urls instead of replacing substring "/solr" with "/api"

https://issues.apache.org/jira/browse/SOLR-16659
Description
Update codebase to use methods that directly construct V2 urls instead of doing substring replacement on a V1 url.
I basically searched for occurrences of replace("/solr", replaceFirst("/solr" or replaceAll("/solr", and adjusted those.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

It feel weird to me that we go to ZkStateReader to build node URLs.  Conceptually, this seem like something that ought to exist at a higher conceptual layer.  On the other hand, ZkStateReader has become a kitchen-sink of anything relating to SolrCloud, and increasingly more and more things assume SolrCloud.  Yet its name has a low-level sounding name.  Hmm.


Hot-Restarts are stuck in flutter web after updating flutter to v3.7.1 and 3.7.3

Steps to Reproduce
I upgraded flutter to the latest version 3.7 on stable channel and this issue appeared. You can see flutter doctor -v upfront.
[√] Flutter (Channel stable, 3.7.1, on Microsoft Windows [Version 10.0.19045.2486], locale en-US)
• Flutter version 3.7.1 on channel stable at C:\FlutterSdk\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 7048ed95a5 (7 days ago), 2023-02-01 09:07:31 -0800
• Engine revision 800594f1f4
• Dart version 2.19.1
• DevTools version 2.20.1
• Pub download mirror https://pub.flutter-io.cn
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at C:\AndroidSdk
• Platform android-33, build-tools 33.0.1
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.3.5)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
• Visual Studio Community 2022 version 17.3.32922.545
• Windows 10 SDK version 10.0.20348.0
[√] Android Studio (version 2021.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
[√] VS Code (version 1.74.3)
• VS Code at C:\Users\MonoBit\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.58.0
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.2486]
• Chrome (web)      • chrome  • web-javascript • Google Chrome 109.0.5414.120
• Edge (web)        • edge    • web-javascript • Microsoft Edge 108.0.1462.54
[√] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
Here is flutter run -d chrome --verbose after entering 'R' to hotRestart I get the log below
[        ] DwdsVmClient: Attempting a hot restart
[        ] DwdsVmClient: Attempting to disable breakpoints and resume the isolate
[        ] DwdsVmClient: Successfully disabled breakpoints and resumed the isolate
[        ] DwdsVmClient: Attempting to get execution context ID.
[        ] DwdsVmClient: Got execution context ID.
[        ] DwdsVmClient: Issuing $dartHotRestartDwds request
[   +1 ms] ChromeProxyService: Destroying isolate
[        ] BatchedExpressionEvaluator: Closed
[  +31 ms] DwdsVmClient: $dartHotRestartDwds request complete.
[        ] DwdsVmClient: Waiting for Isolate Start event.
[   +5 ms] ChromeProxyService: Destroying isolate
[        ] ChromeProxyService: Destroying isolate

And every time I am seeing this error in my chrome console log

Refused to execute script from 'http://localhost:51565/user/main.dart.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

I think something is wrong here in the last then but even if so, That is so weird because it was working perfectly fine before.
 window.addEventListener('load', function() {
      var loading = document.querySelector('#loading');
      _flutter.loader.loadEntrypoint({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        }
      }).then(function(engineInitializer) {
        loading.classList.add('main_done');
        return engineInitializer.initializeEngine();
      }).then(function(appRunner) {
        loading.classList.add('init_done');
        return appRunner.runApp();
      }).then(function(app) {
        // Wait a few milliseconds so users can see the "zoooom" animation
        // before getting rid of the "loading" div.
        window.setTimeout(function() {
          loading.remove();
        }, 200);
      });
    });

@mhbdev
This probably should be fixed by https://github.com/flutter/flutter/pull/118684, so I suggest you to switch to latest master and try the scenario again to see what you get.

Hey, I have had the exact same issue for 2+ weeks. I constantly upgrade flutter to the newest versions. @darshankawar my problem is this:
I open a project in VSCode. I run it using the terminal (for flutter web i.e. flutter run -d chrome) or I run it by pressing ^F5. I see my app on the web, it's working fine. Then when I change the code a little (even adding a space somewhere) and press save, VS code says "Performing hot restart..." and then the web app shows the loading icon and never finishes loading. So I try to press reload/restart again and I get this error: Reload already in progress, ignoring request
Here's my flutter doctor -v results:
`
taufiqhusain@Taufiqs-Airbook kokkatoo % flutter doctor -v
[✓] Flutter (Channel stable, 3.7.3, on macOS 13.1 22C65 darwin-arm64, locale en-US)
• Flutter version 3.7.3 on channel stable at /Users/taufiqhusain/Documents/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision<PHONE_NUMBER> (31 hours ago), 2023-02-08 15:46:04 -0800
• Engine revision 248290d6d5
• Dart version 2.19.2
• DevTools version 2.20.1
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
• Android SDK at /Users/taufiqhusain/Library/Android/sdk
• Platform android-33, build-tools 32.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14C18
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
[✓] VS Code (version 1.75.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.58.0
[✓] Connected device (2 available)
• macOS (desktop) • macos  • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
• Chrome (web)    • chrome • web-javascript • Google Chrome 109.0.5414.119
[✓] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
`
Any idea how to solve this?

@mhbdev This probably should be fixed by #118684, so I suggest you to switch to latest master and try the scenario again to see what you get.

I upgraded flutter to version 3.7.3 and it seems the problem is solved with nested routes

@mhbdev This probably should be fixed by #118684, so I suggest you to switch to latest master and try the scenario again to see what you get.

It is not fixed yet! I am on the latest release of flutter version 3.7.3 and the issue still exists

I found out that this is happening in debug Mode when I am using nested routing and there is a usage of usePathUrlStrategy therefore I changed this and rewrote that, in a new way :
if(kReleaseMode) {
    usePathUrlStrategy();
}

@mhbdev does it still work on release mode if u refresh the page? Like if you refresh the browser a few times, it doesn't get stuck like that anymore?

@mhbdev This probably should be fixed by #118684, so I suggest you to switch to latest master and try the scenario again to see what you get.

It is not fixed yet! I am on the latest release of flutter version 3.7.3 and the issue still exists

I can confirm that I still have the error with this version as well.

I found out that this is happening in debug Mode when I am using nested routing and there is a usage of usePathUrlStrategy therefore I changed this and rewrote that, in a new way :
if(kReleaseMode) {
    usePathUrlStrategy();
}

I did not know what the variable "kReleaseMode" contains. So I commented out setPathUrlStrategy(); and it seems to have a positive effect.
The question for me is whether the error is in Flutter itself or the extension url_strategy.

@mhbdev
I am unable to replicate this using latest stable 3.7.3 using a demo app. Although I am not using VSCode, I tried the same using AS and running the web app on mac + chrome.
Can you try the same using terminal / command line directly instead of through VSCode and see if you still get same behavior or not ?

I found out that this is happening in debug Mode when I am using nested routing and there is a usage of usePathUrlStrategy therefore I changed this and rewrote that, in a new way :
if(kReleaseMode) {
    usePathUrlStrategy();
}

I did not know what the variable "kReleaseMode" contains. So I commented out setPathUrlStrategy(); and it seems to have a positive effect. The question for me is whether the error is in Flutter itself or the extension url_strategy.

I used kReleaseMode check to disable setPathUrlStrategy(); on debug mode therefore the error disappears when there is no urlStrategy. commenting that out will do the same.

@mhbdev I am unable to replicate this using latest stable 3.7.3 using a demo app. Although I am not using VSCode, I tried the same using AS and running the web app on mac + chrome.
Can you try the same using terminal / command line directly instead of through VSCode and see if you still get same behavior or not ?

I am also using Android Studio and I am on Windows. I tried the terminal and still the same event happening. The only way to bypass that hot-restart hanging problem is to refresh the browser manually.

@mhbdev does it still work on release mode if u refresh the page? Like if you refresh the browser a few times, it doesn't get stuck like that anymore?

Yes I tried that out and this kReleaseMode thing is only used to prevent urlPathStrategy in debugMode you can also use kDebugMode to neutralize its functionality. I am using this .htaccess file to handle endpoints on my server. This might be helpful for release mode.
This snippet will redirect all incoming endpoints to /#/{requestedEndPoint} and it is working perfectly fine in release mode.
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.html [L]
</IfModule>

It is not fixed yet! I am on the latest release of flutter version 3.7.3 and the issue still exists

I can confirm that I still have the error with this version as well.

@mhbdev @Quantentunnel I meant to verify on latest master version to see if this fix has any effect on the behavior you are seeing.
flutter channel master
flutter upgrade

It is not fixed yet! I am on the latest release of flutter version 3.7.3 and the issue still exists

I can confirm that I still have the error with this version as well.

@mhbdev @Quantentunnel I meant to verify on latest master version to see if this fix has any effect on the behavior you are seeing.
flutter channel master flutter upgrade

Seems to be working for me now. It's not in stable channel yet?

It is not fixed yet! I am on the latest release of flutter version 3.7.3 and the issue still exists

I can confirm that I still have the error with this version as well.

@mhbdev @Quantentunnel I meant to verify on latest master version to see if this fix has any effect on the behavior you are seeing.
flutter channel master flutter upgrade

That is solving the problem. This is really weird that this kind of issues are happening in stable channel latest releases. Thanks for your help.

The fix is being cherry picked to stable: https://github.com/flutter/flutter/issues/120197 so please subscribe to this issue. Once this is merged, a new hotfix stable version will be available with the fix.
Closing this issue since this is fixed in master.

I am still stuck in this state on hot-restart.

I think something is wrong here in the last then but even if so, That is so weird because it was working perfectly fine before.
 window.addEventListener('load', function() {
      var loading = document.querySelector('#loading');
      _flutter.loader.loadEntrypoint({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        }
      }).then(function(engineInitializer) {
        loading.classList.add('main_done');
        return engineInitializer.initializeEngine();
      }).then(function(appRunner) {
        loading.classList.add('init_done');
        return appRunner.runApp();
      }).then(function(app) {
        // Wait a few milliseconds so users can see the "zoooom" animation
        // before getting rid of the "loading" div.
        window.setTimeout(function() {
          loading.remove();
        }, 200);
      });
    });

I think I need to add more details that are noticeable

I am using auto_route and this case only happens when I am hot-restarting from an inner route like dashboard/first or dashboard/second which is implemented via AutoTabsRouter.
By Deleting the endpoints from localhost:xxxx/dashboard/first and reloading localhost:xxxx the lock of hot-restart will be broken but I am still having the same issue for next hot restarts.

This does not help for me.  It shows the following in the logs and in the browser the loading indicator at the top re-appears, but it is still stuck in that state. I am using  go_router: 3.1.0.

I tried with Visual Studio code and hot-restart works. It does not work with IntelliJ based IDEs. Android Studio 2022.1.1 and IntelliJ 2022.2.3 both have this issue.

I switched to master channel latest release with that fix you mentioned but something odd is happening in my release version. I am getting these errors in chrome console

Should open another issue for this?

I switched to master channel latest release with that fix you mentioned but something odd is happening in my release version. I am getting these errors in chrome console
Should open another issue for this?

I found out that the errors are occurring because of --dart-define=FLUTTER_WEB_CANVASKIT_URL=/dashboard/canvaskit/ but I have to mention that this parameter was already working fine on the stable channel version 3.7.3. Any idea why is this happening?

I switched to master channel latest release with that fix you mentioned but something odd is happening in my release version. I am getting these errors in chrome console
Should open another issue for this?

I found out that the errors are occurring because of --dart-define=FLUTTER_WEB_CANVASKIT_URL=/dashboard/canvaskit/ but I have to mention that this parameter was already working fine on the stable channel version 3.7.3. Any idea why is this happening?

Note: dashboard is a subfolder in my host so the base-href is /dashboard/

Is it not an asset of the flutter toast library?
fluttertoast
toastify.js

I switched to master channel latest release with that fix you mentioned but something odd is happening in my release version. I am getting these errors in chrome console
Should open another issue for this?

I found out that the errors are occurring because of --dart-define=FLUTTER_WEB_CANVASKIT_URL=/dashboard/canvaskit/ but I have to mention that this parameter was already working fine on the stable channel version 3.7.3. Any idea why is this happening?

Note: dashboard is a subfolder in my host so the base-href is /dashboard/

Is it not an asset of the flutter toast library? fluttertoast toastify.js

I think I have to go back to stable channel because there are several issues here in master channel.
by removing --dart-define argument the error has been disappeared. I checked my assets folder in release built files and folders and I am sure that my font is in the right place.


getXY throws exception if XY not exists

It seems that get operations (not sure if this is a general behaviour) throw an exception if the requested object doesn't exist. I don't think this is good and in my opinion the get request should just return null or Optional.empty if the requested object doesn't exists.
The problem here is the following:
If I want to get an object that may or may not already exist. If it exists it should just be returned but if it doesn't exist it should be created and then returned.
In my eyes this is a common use case.
If for example I want to get a specific group that may or may not exists but that definitely should be returned.
I can try to get the group groupApi.getGroup(...) but if it doesn't exist this will throw an exception so something like the following doesn't work:
Optional<Group> groupOptional = Optional.ofNullable(groupApi.getGroup(...));
if (groupOptional.isPresent())
    return groupOptional.get();

I can just try to create the group groupApi.addGroup(...) but if the group already exists this will also throw an exception.
The only thing that can be done is something like the following but that is in my eyes very bad design:
try {
    return groupApi.getGroup(...);
} catch (GitLabApiException e) {
    if (e.getHttpStatus() == 404)
        return groupApi.addGroup(...);

    throw e;
}

I think throwing a exception when someone tries to create something that already exists is a correct behaviour but throwing an exception if the requested object doesn't exists isn't good.
Just returning null or Optional.empty would make much more sense. Returning an Optional also would force everyone to check if the request returned anything.
I did see that the GitLab API does throw a 404 Group Not Found exception. But I'm not sure if it makes sense to propagate this error further into the Java API.
@gmessner What do you think about this change request? Does this behaviour has another reason than that the GitLab API does it like this? Is there a better way than I'm doing it?

So sad that I can't use new version of the gitlab4j-api because I use Java 7 in my project and I can't migrate to Java 8 in current moment.

@istsergey
I'm sorry to hear that, but I believed it was time, especially considering Java 7 was end-of-lifed nearly 3 years ago (April 2015).  No updates since then unless you are an enterprise and are paying Oracle for support.


add additional custom_filter examples

Added two examples that further demonstrate how to use the custom_filter parameter. These examples should make it easier to understand how to filter out specific feature keys and options.
Examples expand upon the existing New York subway example, and reuses code from this Stack Overflow answer:
https://stackoverflow.com/a/66320085
Also added a link to the relevant Overpass API documentation for additional help.

@AndyCarnevale tests are failing.


prevent etd and controlplane roles for windows machines

#4986

Converting this to WIP while I add #5058


[Bug] Publications not loading

Packages & versions

Library Media 0.11
Describe the bug

Recent weeks do not load either the watchtower or oclm.
Reproduction steps

N/A
Expected behavior

N/A
Additional context

N/A

So they've changed the implementation yet again. It looks like the current steps are now needed in addition to the downloading of the catalog itself:

Download the JSON from https://app.jw-cdn.org/catalogs/publications/v4/manifest.json
Extract the current key which is some uuid

If uuid already exists in downloaded info then stop here

Download the current delta JSON from https://app.jw-cdn.org/catalogs/publications/v4/{uuid}/signed-delta.info.json.gz, extract it
Loop through the keys, the JSON is an object with keys like:

"1941978": {
    "created": "2021-05-19T05:20:33+00:00",
    "nameFragment": "delta.1941978.jwl.zip",
    "signature": "76de376b5e4159066fb0771f102870a12498e37e8ee4db89d7d486674a278d76",
    "size": 23287
  },

For each file, if it is downloaded then skip
Download the delta from https://app.jw-cdn.org/catalogs/publications/v4/{uuid}/{nameFragment}, extract it
Delta is a list of SQL commands, run each command sequentially on the media catalog

Hopefully that will result in all the necessary publications being available.


Cleans up NPC and Human YAML and adds tags for Teleportable and FootstepSound

About the PR
Closes #3370.
Tags Teleportable and FootstepSound.
Also ties all mobs to the simplemobbase like they should be.
I did some RSI simplification to account for this, which is the reason they have changes.

@SweptWasTaken need a way for tiles to have assigned footstep noises now and I guess an override for footwear? Different issue though just seeing the tag made me think.

Aight, tags are now functional. This should be mergeable.


Seperating org.wso2.carbon.consent.mgt feature into frontend and backend

$subject
Merge after https://github.com/wso2/carbon-consent-management/pull/222

Decided not to rename core.feature.default.json

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4131249838

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4131249838
Status: failure

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.5 out of 6 committers have signed the CLA.:white_check_mark: Thisara-Welmilla:white_check_mark: hwupathum:white_check_mark: nisho06:white_check_mark: ImalshaG:white_check_mark: piyarathnalakmali:x: jenkins-is-stagingjenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4131361615

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4131361615
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/4131426701

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/4131426701
Status: success


CFP: FIPS build of Cilium

Cilium Feature Proposal
Is your feature request related to a problem?
Yes.
If so, please describe the problem
We are looking to deploy Rancher within a FedRamp environment and Rancher RKE2 only has a FIPS compliant Canal build. We are looking at Cilium as a possible alternative.
Describe the feature you'd like
A FIPS build of Cilium.
Include any specific requirements you need
(Optional) Describe your proposed solution
Please complete this section if you have ideas / suggestions on how to implement the feature. We strongly recommend discussing your approach with Cilium committers before spending lots of time implementing a change.
For longer proposals, you are welcome to link to an external doc (e.g. a Google doc). We have a Cilium Feature Proposal template to help you structure your proposal - if you would like to use it, please make a copy and ensure it's publicly visible, and then add the link here.
Once the CFP is close to being finalized, please add it as a PR to the design-cfps repo for final approval.

Thanks for the feature proposal. I think it would make sense to accept any patches that make it easier to produce FIPS-compliant builds of Cilium.


example full with files failing

cd /Users/apple/workspace/go/src/github.com/go-playground/universal-translator/examples/full-with-files && go run main.go
go: finding github.com/go-playground/pure/examples/middleware/logging-recovery latest
go: finding github.com/go-playground/pure/examples/middleware latest
go: finding github.com/go-playground/pure v4.1.1+incompatible
go: finding github.com/go-playground/pure/examples latest
go: downloading github.com/go-playground/pure v4.1.1+incompatible
go: extracting github.com/go-playground/pure v4.1.1+incompatible
go: finding github.com/go-playground/form v3.1.4+incompatible
go: downloading github.com/go-playground/form v3.1.4+incompatible
go: extracting github.com/go-playground/form v3.1.4+incompatible
build command-line-arguments: cannot load github.com/go-playground/pure/examples/middleware/logging-recovery: cannot find module providing package github.com/go-playground/pure/examples/middleware/logging-recovery

woops, I renamed the directory to _examples a while back, must have missed an import

fixed in the following release https://github.com/go-playground/universal-translator/releases/tag/v0.17.0


Implement translations for Superset assets

Superset has some amount of translation built in, but I haven't found much documentation about it. I think we need to add some capability into the OARS plugin itself to translate the dashboard and chart names if nothing else. We should be able to do this using the typical openedx translations project to get files in, but will probably have to find a way to roll our own project for doing the replacement at Tutor build time, and it will probably only support 1 language per install unless I misunderstand how Superset naming works.

As far as I know there is no support for dashboard translation: https://github.com/apache/superset/issues/13030

Yes, this would be something that we would implement at the OARS level that would translate the names as part of the Tutor jinja replacement, before they are created in Superset

I had an idea that I'm exploring:

Get the user language from a cookie, API call, or whatever. Important to be tied to the open edx platform.
At the authentication level assign two basic roles: Open edX which has minimal permissions and Open edX - {language} which has access to the translated dashboards for the given dashboards.
At the import level per a given asset (dashboard/charts) and a language, generate the assets with the corresponding translations.

This should be implemented for the course staff, and other roles like admins, data science, etc. would not be covered

+1 for region aware dashboards with automatic translation


build and use

how to build and use this project, Please
i create video conference , and i use Node-Webrtc  for help routing all stream from each client. but every server have 18 more connection my service always hang dan every connection will diconnected.
i don't know what is wrong in my code
this my code repository

I would love if you could tell me what was wrong

added Readme.md, please check it

I don't use node-webrtc so I don't know how to use node-webrtc.
This project is full scratch SFU implementation for node.js

how to use turn server?

Because SFU are usually located in a global IP environment, SFU do not usually use TURN.
Therefore, it is the client side (e.g. browser) that needs to TURN setting.
https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/urls#Examples

can you teach me, how you routing each stream?


Errors in async blocks are propagated too slowly

If an error is thrown in an async block, it propagates to the zone's error handler much more slowly than one thrown in a non-async context. For example:
    import 'dart:async';
    void main() {
      runZoned(() async {
        scheduleMicrotask(() => throw 'in microtask');
        throw 'in async function';
      }, onError: (error, stackTrace) {
        print("caught $error");
      });
    }
this prints:
    in microtask
    in async function
which is not expected, since "in async function" is thrown before "in microtask". Compare to the version without async:
    import 'dart:async';
    void main() {
      runZoned(() {
        scheduleMicrotask(() => throw 'in microtask');
        throw 'in async function';
      }, onError: (error, stackTrace) {
        print("caught $error");
      });
    }
and the version that runs the entire body in a microtask:
    import 'dart:async';
    void main() {
      runZoned(() {
        scheduleMicrotask(() {
          scheduleMicrotask(() => throw 'in microtask');
          throw 'in async function';
        });
      }, onError: (error, stackTrace) {
        print("caught $error");
      });
    }
both of which print
    in async function
    in microtask
as expected.
This is very important for testing (among other things), where errors have to be handled specially and users have strong expectations for their consistent ordering.

Fixed in f2d08149fdeb5e67db1b3b4e4284cbac5a83169c.

Thanks, @floitschG !!!


Backport "HBASE-28770 Support partial results in AggregateImplementation and AsyncAggregationClient (addendum)" to branch-2

This addendum is only for branch-2.6. It is intended to enable binary compatibility for an existing client that implements its own AsyncTable, when upgrading from 2.6.0 to 2.6.1.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 44s

Docker mode activated.

-0 :warning:
yetus
0m  5s

Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m  6s

branch-2 passed

+1 :green_heart:
compile
0m 22s

branch-2 passed

+1 :green_heart:
javadoc
0m 20s

branch-2 passed

+1 :green_heart:
shadedjars
5m 46s

branch has no errors when building our shaded downstream artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 54s

the patch passed

+1 :green_heart:
compile
0m 22s

the patch passed

+1 :green_heart:
javac
0m 22s

the patch passed

+1 :green_heart:
javadoc
0m 18s

the patch passed

+1 :green_heart:
shadedjars
5m 40s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
8m  8s

hbase-client in the patch passed.

29m  0s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6354

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 61f13a2385d1 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 7cd89fdb7cdf4d0de77a95b22bde96910c66c3c1

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/testReport/

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

modules
C: hbase-client U: hbase-client

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/console

versions
git=2.34.1 maven=3.9.8

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 11s

Docker mode activated.

-0 :warning:
yetus
0m  5s

Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 58s

branch-2 passed

+1 :green_heart:
compile
0m 26s

branch-2 passed

+1 :green_heart:
javadoc
0m 25s

branch-2 passed

+1 :green_heart:
shadedjars
6m 45s

branch has no errors when building our shaded downstream artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 17s

the patch passed

+1 :green_heart:
compile
0m 24s

the patch passed

+1 :green_heart:
javac
0m 24s

the patch passed

+1 :green_heart:
javadoc
0m 22s

the patch passed

+1 :green_heart:
shadedjars
5m 57s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
8m 18s

hbase-client in the patch passed.

32m 29s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6354

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 76e5bb32a3ab 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 7cd89fdb7cdf4d0de77a95b22bde96910c66c3c1

Default Java
Temurin-1.8.0_412-b08

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/testReport/

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

modules
C: hbase-client U: hbase-client

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/console

versions
git=2.34.1 maven=3.9.8

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m  7s

Docker mode activated.

-0 :warning:
yetus
0m  5s

Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 58s

branch-2 passed

+1 :green_heart:
compile
0m 50s

branch-2 passed

+1 :green_heart:
javadoc
0m 42s

branch-2 passed

+1 :green_heart:
shadedjars
8m 43s

branch has no errors when building our shaded downstream artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 20s

the patch passed

+1 :green_heart:
compile
0m 31s

the patch passed

+1 :green_heart:
javac
0m 31s

the patch passed

+1 :green_heart:
javadoc
0m 24s

the patch passed

+1 :green_heart:
shadedjars
8m  8s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
9m 14s

hbase-client in the patch passed.

39m 32s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6354

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 8fab538d8460 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 7cd89fdb7cdf4d0de77a95b22bde96910c66c3c1

Default Java
Eclipse Adoptium-11.0.23+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/testReport/

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

modules
C: hbase-client U: hbase-client

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6354/1/console

versions
git=2.34.1 maven=3.9.8

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

This message was automatically generated.


Merge upstream

Summary

Massive PR merging upstream main

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (0da7dcb) 85.84% compared to head (e5a9575) 85.87%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
+ Coverage   85.84%   85.87%   +0.02%
==========================================
  Files         171      171
  Lines       20035    20016      -19
==========================================
- Hits        17200    17188      -12
+ Misses       2835     2828       -7

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@zombieobject I feel so shamed by it


Object Inspector Crashes when Reloading Page

From<EMAIL_ADDRESS>on 2013-02-26T20:08:58Z
Spyder Version:  2.2.0beta2 & beta3
Python Version:  2.7.3
Qt Version:      4.8.3, PyQt4 (API v2) 4.9.5 on Windows 7
What steps will reproduce the problem?

Start Spyder
Interrogate an object (I used 'range?' in either a plain python, or IPython window)
Right click in object inspector, and select reload. What is the expected output? What do you see instead? I don't know what to expect, but I do not expect a crash to desktop What version of the product are you using? On what operating system? Windows 7 Spyder 2.2.0 Beta3 for sure, not sure about linux yet.

Please provide any additional information below
.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1285

From<EMAIL_ADDRESS>on 2013-03-01T13:30:23Z
Perhaps reload should be repurposed (it sounds like you're saying reload is intended to only redraw the html created in the past)? I noted that reload doesn't refresh the content if the docstring has been changed. This feature would be nice to have, especially when trying to format the docstring with the inspector's output in mind.
Also, I noted this bug doesn't crash to desktop with my older python stack. Reload simply does nothing with the setup below, though IPython also doesn't work, so it isn't running (of course, because it's only version 0.10).
Spyder Version:  2.2.0beta3
Python Version:  2.7.2
Qt Version:      4.7.4, PyQt4 (API v1) 4.8.6 on Windows 7

From ccordoba12 on 2013-02-27T06:58:10Z
Not happening for me on Linux.
Reload can't do anything because the page is generated on the fly, it's html injected to the widget and then erased. So the best thing to do is just deactivate the reload option.
Labels: OpSys-Windows MS-v2.2

From ccordoba12 on 2013-03-17T06:51:59Z
This issue was updated by revision f4283d437a28 .
Staus: Fixed

From ccordoba12 on 2013-03-16T10:09:01Z
Reload can't do nothing because there is no page to be reloaded :)
As I said, we just copy the html generated by Sphinx into the widget, that's all.

From ccordoba12 on 2013-03-17T06:52:45Z
Status: Fixed

From<EMAIL_ADDRESS>on 2013-03-18T09:06:50Z
Status: Verified


handler.rs missing in vectorlink-quantizer?

I'm trying to build VectorLink from the generic_storage branch and getting an error because of the mod handler in vectorlink-quantizer/main.rs. Is there a missing handler.rs file?

This could very well be a missing file, but I don't think you need this particular project to build. All you really need to build is vectorlink itself.
How are you trying to run this build?

@matko, thanks, I was just testing to see whether there was a difference in running the app directly (e.g., vectorlink load ...) vs. using Nix, but it seems the results are the same (i.e., not working as expected).

Closing this here, as it should not be relevant to getting entity resolution working.


Let users specify the Mesos role for each Marathon app

In the future, frameworks will be able to register with multiple roles.  When this happens, we'll want the ability to tell Marathon which role's resources to use to launch tasks for each app.
Frameworks are currently offered resources associated both with the registration role and the default (*) role.  We already allow users to choose what role to register as (via the --mesos_role flag).  The current behavior is to ignore the role associated with each resource offer when launching tasks.  A per-app role would already be useful to distinguish between these sets of resources.
Currently, and even more so in the "future" scenario, a --default_roles flag could tune the scheduler behavior when inspecting offer roles.  For example given that a Marathon scheduler is registered with role A, receiving offers assiciated with roles A and *, the administrator may want to control the default roles for apps that do not specify per-app roles.
cc @cmaloney @pyronicide
To summarize the proposal:

[ ] Introduce a --default_app_roles command line flag to Marathon that defaults to * if no value for --mesos_role is supplied and *,A if --mesos_role A is supplied.
[ ] Introduce a mesosRoles (or similarly named) attribute to the App definition to control the role-associated resources to use for launching tasks for that app.  Validation should ensure that the value is either * or the role that Marathon used to register with Mesos.

@ConnorDoyle MESOS-1763 seems not to be a priority, as @tnachen said, do you plan to focus on it?

Can you elaborate on the use case for that, please?
Thats what I understood from what @adam-mesos was writing to us:
Context:

you want to mark certain slaves hosts as public
you create a special "public" marathon instance of these hosts
you might have any number of other marathon instances

You need the following properties:
A) tasks created by other marathons (non "public" ones) will never be launched on the public hosts, either by accident or on purpose
B) you can launch tasks on the public hosts via the special marathon instance. That might be the default for that marathon or you will have to specify that role explicitly in the app definition.
C) you do not want to have a separate mesos cluster for the public nodes but reuse masters/zookeepers
B) and C) can be achieved by using attributes and the associated constraints. A) is the difficult and new part. Unfortunately, I have not a good understanding of the mesos roles idea yet, so I am not able to judge if that's the concept you would want to use for this.

Here's a summary of a chat we had:
The use case is that we need a way to do external -> internal routing to marathon apps. To manage this with mesos, we're introducing a new class of slaves that have a "public" role. Those slaves will have external ip addresses and some ports open. The public role will ensure that anyone who hasn't registered under that role cannot schedule on those slaves.
We need marathon to be aware of roles, so that when it registers as "public", we can create an app definition that will only ever be scheduled on a slave with a "public" role. All existing app definitions will be guaranteed to never be scheduled on a "public" slave.

Ok, I guess that we can solve this by adding a "resourceRole" attribute to app definitions. If unset, tasks will be launched on resource offers from mesos of any role. If set, only resources with that role will be considered for launching the tasks.

@pyronicide's comment that I deleted by accident:
Here's a summary of a chat we had:
The use case is that we need a way to do external -> internal routing to marathon apps. To manage this with mesos, we're introducing a new class of slaves that have a "public" role. Those slaves will have external ip addresses and some ports open. The public role will ensure that anyone who hasn't registered under that role cannot schedule on those slaves.
We need marathon to be aware of roles, so that when it registers as "public", we can create an app definition that will only ever be scheduled on a slave with a "public" role. All existing app definitions will be guaranteed to never be scheduled on a "public" slave.

If I understand it correctly, mesos will only offer "" resources to a Marathon instance by default. You can choose the role of a Marathon instance with the "--mesos_role" CLI option, in that case you see "" resources and resources of the specified role.
If you configured your slave to offer all its resources with role “public”, only frameworks that have the role “public” will see these resources. So, you do not have to worry about any unspecialized marathons launching tasks on “public”.
To launch tasks on “public”, you could launch a special marathon instance registered with the role “public”. To prevent it from starting your apps on "*" resources you could use additional attribute constraints. You just have to make sure that you can identify your "public" slaves by attributes as well, for example by specifying --attributes='network:public' for that slave and using the corresponding constraint, e.g. "network:LIKE:public".

@kolloch one drawback to an attributes-based solution is that it isn't enforceable via the built-in framework authentication mechanism as is possible with roles.

Another user case (that is my case right now):
I am using Qubit Bamboo as my service discovery, I run one instance in every slave I have, so my apps access only localhost. The communications between apps are always using the service discovery. I have to assure that port 8080 is free to launch the service discovery, but Mesos usually offer 8080 to another apps. I'm changing my actual config to two marathons, one will use resources(*) with the usual 31000-32000 ports and the another one setting the role with the 8080 port available

I think https://github.com/mesosphere/marathon/issues/1015 can be solved using roles too.

an attributes-based solution ... isn't enforceable via the built-in framework authentication mechanism as is possible with roles.
It's true that Mesos already provides an ACL for what roles a particular framework principal registers as, but we can add more ACLs as necessary. There is currently no ACL stating which roles a particular slave principal is allowed to reserve resources for, not which attribute keys a slave can use. But we could add either of those. Since attributes are not used by resource accounting, and are a part of every resource offer, I see no reason (yet?) why we'd want to prevent certain framework principals from seeing a particular attribute.

I think that the public/private node use case can already be solved with a combination of reserved resources for the public role to prevent (enforceable via ACLs) non-public frameworks from getting public resources, and attributes-based constraints (hand-set by app admin) to prevent the public Marathon from launching these special apps on nodes/resources not labelled public. I don't see an urgent need for this feature based on that use case.
gomes' use case seems like it can be solved with a framework-level role reservation too, so I don't think it calls for app-level roles either.

I am not completely sold on the vision of using a set of DMZ nodes (edge routers) with Mesos.
Yet, I think that this feature could be useful in other use cases as well. A user might want to designate a share of resources for the role "production" to ensure that other tasks (e.g. test tasks) do not consume all resources. Untouched frameworks should never launch tasks on resources of role "production" (that is how it works today). Additionally, if we use one Marathon both for production and test tasks, the default should be to launch tasks on resources other than of role "production" (not possible today). Only the tasks of an app that is specifically designated as production should run on role "production" (not possible today).
Connor's approach (slightly adapted)
@ConnorDoyle's proposal would also support the use cases above. I reiterate that approach with examples and slightly different field/CLI option names below:

Introduce an optional attribute acceptedResourceRoles in the app definition which allows an array of role names as strings. All resources which have any of the specified roles are considered for launching tasks of that app. Resources with other roles are ignored.
We also would allow a global Marathon-wide default for the acceptedResourceRoles attribute with --default_accepted_resource_roles as a comma-separated role list. If --mesos_role A is used, we default to --default_accepted_resource_roles=*,A to preserve the current behavior. If --mesos_role is not used, we default to --default_accepted_resource_roles=*.

Application to use cases
In the edge routing use case with public nodes we can use "acceptedResourceRoles": ["public"] for publicly visible apps and "acceptedResourceRoles": ["*"] for private apps. We probably wouldn't specify the latter explicitly but use a Marathon-wide default of --default_accepted_resource_roles=*.
In the production resource use case we can use "acceptedResourceRoles": ["production", "*"] for production apps and use the default of --default_accepted_resource_roles=\* for everything else.
Validation
Both the global default and the app definition attribute should be validated. The --default_accepted_resource_roles setting is validated at startup. Only "*" and a potentially specified --mesos_role are allowed. The "acceptedResourceRoles" attribute is validated on every app definition change. An empty array is rejected because that would mean that no offer would ever match. Otherwise we allow only roles for which we potentially see resource offers. Currently that's "*" and the role that the user specified by --mesos_role (if any).
Alternative constraint-based approach
A related concept that we have in Marathon are constraints. These work on attributes and the hostname. We could extend that to roles. I discussed that today with colleagues intensely, @lloesche & @aquamatthias, yesterday with @drexin. If a user does not supply constraints or doesn't explicitly provide a role constraint, we would to need to add this default constraint. Unfortunately, this approach feels awkward because you do not only narrow down the choices but you actually want to use this to segment the cluster. Therefore, without further ideas, we rejected that approach.
Label-based approach
@lloesche quite likes the usage of labels in the google cluster definitions. So instead of directly coupling app definitions to roles, you could use rules to do that. These rules would assign accepted resource roles based on the labels. This approach hinges on whether we could come up with a good rule language for that.

It sounds like the design of this only allows 1 --mesos_role, so you can kinda get your * or public, but you only get those two?
Mesos allows a csv of roles to have registered with the master. It sounds like individual frameworks can only register 1 other role? :(

Mesos only allows frameworks to have one role currently (See: https://issues.apache.org/jira/browse/MESOS-1763). So you can give just the one named role. The "*" resource in Mesos is the general / common resource pool which every resource has access to.

This doesn't work.  Tried specifying a mesos-role for Marathon that was responsible for launching docker images associated with that one role and the images would never come up.  Once the role specifier was removed from Marathon and the mesos-slaves, everything launched fine.

As per my understanding, we can start marathon with single role only (specified as mesos_role flag). Can we supply multiple mesos_roles at the beginning like role1, role2 ... roleN and specify each job to be run as one of these roles?

The first words of this ticket are "In the future," which links to https://issues.apache.org/jira/browse/MESOS-1763 which is still unresolved.
Latest news is that we're investigating hierarchical roles in addition to just a flat list per framework.

Sorry I missed the link.
Thanks a lot for sharing the update. Looking forward to this feature.


(WIP) First cut at removing ImStr from the API.

Ulimately we're going to still transition to the imgui sized str branch here, but this means if there's some reason that doesn't pan out or can't be used universally (if it doesnt mix with docking or other branches or w/e) then it doesn't actually impact the API.
Concretely this version copies strings to a smallvec<[u8; 128]>, in order to NUL terminate them without allocating in common cases.
This has a nice benefit: it having this buffer means we can take allow users to pass in e.g. format_args!(...) directly, and we can use it as the scratch space, conveniently avoiding allocations for cases where you dynamically build the text on a widget, which is nice.
Basic idea

all functions taking &ImStr to move to trait AsImStr.
trait AsImStr is implemented for all &T: AsRef<str> + ?Sized (e.g. references to AsRef types — this handles a lot of things, including &str, &String, &ImStr, &ImString, ...
trait AsImStr is also implemented for fmt::Arguments (not as a reference).
(not done yet) ImStr/ImString are deprecated, but will be kept around (possibly with a much smaller API surface) since y'all don't update shit ever (we still support winit 0.19 in this code... 😭).

The long term goal is for us to transition (possibly behind a feature) to the string_view branch, but this change is intended on making whether or not we use that branch an implementation detail that doesn't matter too much (it's pretty cheap either way).
Open questions:

I'd like a better name than AsImStr. If ImStr goes away, why should this be called that? This ends up showing up in a lot of our function signatures, so we should try to do a good job here.

Needs user-facing docs. I'd like to solve the other questions here first tho to avoid writing them multple times.

Docs on the implementation stuff need cleaning up a lot

I kind of half-explained how the macro and such works in like 4 places in the hope that one of them stuck.
It's not even that complex — it's just weird looking and almost only happens inside a macro.

We could probably generalize to implementations of Display rather than AsRef + format_args. Should we?

This is more flexible... Or, it looks that way. I think in reality, it doesn't give you anything that format_args doesn't also give you, but it might give you that in a cleaner way that's likely to be understood by a larger portion of Rust users...

Con: ommitting to this might make it hard to get benefits from the string_view branch (we'd need specialization).

Con: It also might be confusing if you pass an integer in an argument that takes a string, and it's accepted because it's Display-able, or w/e...

Pro: it likely helps solve the issue around "this shows up in all our func sigs, so it would be nice if users had a clue what it was" (how many APIs take a format_args! directly?)

More generally: there something other than Display that's better for our case? (Note that we're still limited by coherence — it's very easy to come up with a set of things that would be nice if they worked, but they do not)

Is it worth the trouble at all? I think yes, but @sanbox-irl was skeptical, and has more experience with using imgui from Rust, so maybe this doesn't actually help.

Does this hit any unanticipated issues with type inference? If it tends to fail to resolve, that would defeat the point, largely...

...

Also, note that I only translated a few parts, @sanbox-irl indicated he might take the rest up but no rush, I might get the rest of them later today, it also might be worth deciding some of the above questions first. That's why this is a draft PR tho. (nm, clicked wrong button)

I think it's worth it. I'll need to take a closer took tomorrow at all of this, but the idea is thrilling! lol a world of imgui-rs WITHOUT im_str. A magic world

Is it worth the trouble at all

Sorry, this wasn't referring to doing this at all, but the approach I took in the patch (as opposed to just accepting, say, impl AsRef<str> everywhere). Sorry, that was super unclear.

No, it was! I actually meant, now that I'm looking at this, I think it's worth the effort to accept format_args. The notion of that becoming free now that it's infront of me has made me very greedy

I don't have any strong opinions on the implementation, but if this means ui.button(im_str!("This")) becomes ui.button("This") then.. :partying_face:

I'd like a better name than AsImStr. If ImStr goes away, why should this be called that?

I am very likely missing some detail, but.. if ImStr goes away, wouldn't AsImStr also be deleted?
As in on the mystical day when ImString goes away, I imagine the function signature would become fn button(label: &str) -> ... { or something along those lines?

ahh fair. we've had some discord conversations that have gone over it. here's the thought:
we occasionally have some label which is a formatted string. For example, let's say you're outputting this button:
if ui.button(&format!("Entity {}", entity_id)) {}
This forces an allocation per call by the user. The current im_str macro actually does this!
However, we realized here, that we can actually prevent that for a significant number of short strings (a very long string will need to be allocated stuff) by using the format_args! macro:
if ui.button(format_args!("Entity {}", entity_id)) {}
When thom says above that I was initially against this complexity, that's because I thought most people never would know about format_args (it's mostly used in macros). So in the above, right now, the big win is that we never actually need to allocate that string -- we just write it into our backing buffer directly, and then hand that off to imgui like normal.
So we need a trait like AsImStr that we use in the parameter, so we can take &str, probably String (though that's a little suboptimal though would nice to take), and the output of format_args
What do you think about all that @dbr ?

The As naming convention is generally considered to be "free". From a naming perspective, I think it should be IntoImStr.
Although I'm strongly in favor is moving away from im_str! / ImStr / ImString, I don't know if using SmallVec here is ideal. It should prevent most allocations with labels, but the text functions will likely allocate frequently.
I think a better solution is to just keep a cache of text buffers in the Context (and could possibly be reset per frame or at the users request to reclaim the memory).
#[derive(Debug, Default)]
struct TextBuffers {
    // Assumes no imgui function needs more than 5 strings in use at the same time
    buf: [Vec<u8>; 5],
}

impl TextBuffers {
    /// Create a null-terminated string from `text`. The pointer remains valid until the next
    /// call to `c_str` with the same `index`, the `TextBuffers` is dropped, or `reset`
    /// is called.
    fn c_str(&mut self, index: usize, text: &str) -> *const std::os::raw::c_char {
        fn set_text(buf: &mut Vec<u8>, text: &str) -> *const std::os::raw::c_char {
            buf.clear();
            buf.extend_from_slice(text.as_bytes());
            buf.push(0);
            buf.as_ptr() as *const _
        }
        set_text(&mut self.buf[index], text)
    }

    fn reset(&mut self) {
        for buf in self.buf.iter_mut() {
            *buf = Vec::new();
        }
    }
}

Into's not totally accurate either, and long term the goal is to switch to the string_view branch, which would make the "As" name more accurate, and remove the allocations (and copies)
However, unless the string_view branch becomes the only branch, there's no way for us to (efficiently) support stuff like:

linking to custom builds of Dear ImGui
linking to other freature branches, such as the Docking branch
etc

Which we'd like to support, unless we come up with an API that can work in either.
 It's worth noting that the Text apis already don't work ideally with this design, which only really works for immutable string inputs, so that's why not much progress has been made, need to come up with a solution for it.

Can there be an escape hatch to allow users who don't need hand holding so that they can pass pre-checked strings themselves? I'd rather just pass strings that I format from a bump allocated arena. And the worst thing that happens if I forget a null terminator is probably a segfault, and I'm entirely willing to live with that possibility. It really doesn't scare me. At least allowing the users to make the choice to take care of things themselves in addition to an easier option where things are "just handled" is a generally a good idea IMO.
We use the imgui library extensively at work, so this would be fairly useful for us.
Side note, is there a chance of stack overflow from having a bunch of SmallVecs be created inside a string heavy function?

Note: It's unlikely this is the exact approach I'll take — I think the idea of using a scratch buffer is a better idea.
That said:

Side note, is there a chance of stack overflow from having a bunch of SmallVecs be created inside a string heavy function?

No, because the stack will be cleared after each one is used.

Also, even in the current version of the patch, IIRC, the smallvec isn't used if you pass in an already nul-terminated string (Well, I'm pretty sure this is the case — it should be, but it's been a while since I looked at this code, and can't at the moment). This property will still be true if/when I change it to use cached buffer, which would allow the zero cost solution you're describing.
We'd still check for the nul-terminator for you, but that's literally trivial — checking the last byte of a slice.
Anyway, I have planned getting back to this and some other open source stuff next week, after I'm done recovering from vaccine 2.

Actually, I thought about this again, why not just retain a single ImString and write into that rather than use a SmallVec? imgui copies the string immediately anyway. I'm about to do this myself as a workaround in the meantime.

This is what I mean by using a cached buffer.

You're commenting too quick for me, lol.


TomcatNG: Add support for systemd

The service provider needs to support systemd on systemd hosts

This has been fixed on master


Test YAML validity for each PR

YAML is a fickle beast, and it is very easy to make a typo. We should validate the YAML with a github action on PR to catch this.

https://github.com/marketplace/actions/yamllint-github-action ?

https://github.com/marketplace/actions/yamllint-github-action ?


Enabled cost models toobar test

Enabled cost models toobar test.
Localized cost models create wizard button -- based on https://github.com/project-koku/koku-ui/pull/2169

Codecov Report

Merging #2173 (fb64756) into react-intl_changeover (0bfedab) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@                  Coverage Diff                   @@
##           react-intl_changeover    #2173   +/-   ##
======================================================
  Coverage                  69.85%   69.86%
======================================================
  Files                        407      407
  Lines                       7440     7442    +2
  Branches                    1594     1595    +1
======================================================
+ Hits                        5197     5199    +2
  Misses                      2209     2209
  Partials                      34       34

Impacted Files
Coverage Δ

src/locales/messages.ts
100.00% <ø> (ø)

...Models/costModelsDetails/createCostModelButton.tsx
67.56% <100.00%> (+1.85%)
:arrow_up:

Continue to review full report at Codecov.

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


Remove ExtractWinInetValues function

Following the upgrade to the TraceEvent library, the ExtractWinInetValues function which did some custom parsing of various WinInet events appears to no longer be necessary. This is a very significant performance win because the objects being passed in are dynamically typed. It is the most expensive function in the exe, typically taking 50-60% of CPU time (measured after upgrading to the latest TraceEvent library).
In a separate branch (https://github.com/amiyagupta/wpt-etw/tree/examine-extract-wininet-values) I've added logging that compares fields before and after ExtractWinInetValues updates them and prints out stats before exiting. In the vast majority of cases the existing field is overwritten by an identical string. In the few cases where the before and after strings do not match, the original string is more correct than the one it is being replaced with.
All the cases where the before and after strings do not match fall into two categories:

Extra trailing characters in ServerName field in WININET_TCP_CONNECTION/Start
Extra leading characters in the AddressList field update in WININET_DNS_QUERY/Stop

TcpConnectionStart ServerName modified from
nav.smartscreen.microsoft.com
to
nav.smartscreen.microsoft.com\

DnsQueryStop AddressList modified from
<IP_ADDRESS>;<IP_ADDRESS>;<IP_ADDRESS>;<IP_ADDRESS>;
to
5 <IP_ADDRESS>;<IP_ADDRESS>;<IP_ADDRESS>;<IP_ADDRESS>;

Some example statistics I gathered while I had the version with logging running and browsing around a large number of popular websites:
HeaderOverwrites: 0, HeaderOverWritesWasted: 0
DnsQueryStartOverwrites: 459, DnsQueryStartOverwritesWasted: 459
DnsQueryStopOverwrites: 454, DnsQueryStopOverwritesWasted: 454
DnsQueryStopAddressOverwrites: 454, DnsQueryStopAddressOverwritesWasted: 441
TcpConnectionStartOverwrites: 821, TcpConnectionStartOverwritesWasted: 779
SendRequestStopOverwrites: 2109, SendRequestStopOverwritesWasted: 2109
ConnectStopLocalAddressOverwrites: 0, ConnectStopLocalAddressOverwritesWasted: 0
ConnectStopRemoteAddressOverwrites: 0, ConnectStopRemoteAddressOverwritesWasted: 0

Should mention I've also verified that network details like request/response headers, DNS lookup time, IP address fields continue to work with this change.

Awesome!


"First two commits"

https://medium.com/livefront/the-first-2-commits-every-android-project-should-have-e8a245ac86

Codecov Report

:exclamation: No coverage uploaded for pull request base (av/extract-scheduler-clock@f7e440d). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head f69181b differs from pull request most recent head a56771b. Consider uploading reports for the commit a56771b to get more accurate results

@@                      Coverage Diff                      @@
##             av/extract-scheduler-clock      #41   +/-   ##
=============================================================
  Coverage                              ?   32.15%
=============================================================
  Files                                 ?       18
  Lines                                 ?      650
  Branches                              ?       90
=============================================================
  Hits                                  ?      209
  Misses                                ?      430
  Partials                              ?       11

Continue to review full report at Codecov.

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


Margins too wide on smaller displays

Thank you for making this theme, it is easily my favourite logseq theme.
I copied and pasted the the main.css contents onto my android device to test the theme. However I found that it added wide margins to each page and so really reduced the screen real-estate for text. It would be great if the margins could be reduced on small devices.
(I also tried main2.css)

@HarvsG Glad to hear, thanks for your feedback! I really appreciate it!
In fact I haven't tested the layout on mobile devices yet. I'll investigate the page margin issues ASAP and will submit a new version soon. Will let you know when the release is available.
Thanks again for reporting. Feel free to report any other issues!

Sorry for the delay, being very busy atm. I will work on a fix very soon.

No worries, I know what it's like trying to maintain open source stuff when you have a full life!