--target gives build error

Steps to reproduce
I'm trying to use the "patrol test" and "patrol develop" commands with the "--target" attribute but I cannot get it to work.
It's working on a coworkers PC but I cannot get it to work. With the exact same command.
As soon as I add the attribute I get some crazy build errors and I'm not sure if it's a bug or if it's just me. "patrol test" on its own, works perfectly.
Actual results
My command:
patrol test --target integration_test/critical_workflows/checklists/0002_Create_simple_with_each_question_type_test.dart

Command line result
PS E:\Projects\AppTestAutomated\AppNew> patrol develop --target integration_test\critical_workflows\photoDoc\0002_Create_simple_without_location_test.dart
You're using Patrol CLI 2.0, which has breaking changes.
Read the migration guide at https://patrol.leancode.co/v2.
Disable this warning by setting the PATROL_MIGRATED environment variable.

No device specified, using the first one (emulator-5554)
• Building apk with entrypoint test_bundle.dart...
        Invalid depfile: E:\Projects\AppTestAutomated\AppNew\.dart_tool\flutter_build\0b0d2e57aa91fea684b4d62ac17bf222\kernel_snapshot.d
        Invalid depfile: E:\Projects\AppTestAutomated\AppNew\.dart_tool\flutter_build\0b0d2e57aa91fea684b4d62ac17bf222\kernel_snapshot.d
        Unhandled exception:
        FileSystemException(uri=e:/Projects/AppTestAutomated/AppNew/integration_test/critical_workflows/photoDoc/0003_Create_full_2_of_each_doc_test.dart; message=StandardFileSystem only supports file:* and data:* URIs)
        #0      StandardFileSystem.entityForUri (package:front_end/src/api_prototype/standard_file_system.dart:34:7)
        #1      IncrementalCompiler._initializeExperimentalInvalidation (package:front_end/src/fasta/incremental_compiler.dart:1268:56)
        #2      IncrementalCompiler.computeDelta.<anonymous closure> (package:front_end/src/fasta/incremental_compiler.dart:325:17)
        <asynchronous suspension>
        #3      IncrementalCompiler.compile (package:vm/incremental_compiler.dart:75:50)
        <asynchronous suspension>
        #4      FrontendCompiler.compile (package:frontend_server/frontend_server.dart:595:11)
        <asynchronous suspension>
        #5      starter (package:frontend_server/starter.dart:99:12)
        <asynchronous suspension>
        #6      main (file:///C:/b/s/w/ir/x/w/sdk/pkg/frontend_server/bin/frontend_server_starter.dart:13:14)
        <asynchronous suspension>

        Target kernel_snapshot failed: Exception

        FAILURE: Build failed with an exception.

        * Where:
        Script 'E:\FlutterDev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1201

        * What went wrong:
        Execution failed for task ':app:compileFlutterBuildAppCenterDebug'.
        > Process 'command 'E:\FlutterDev\flutter\bin\flutter.bat'' finished with non-zero exit value 1

        * Try:
        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

        * Get more help at https://help.gradle.org

        BUILD FAILED in 36s
✗ Failed to build apk with entrypoint test_bundle.dart (Gradle build failed with code 1) (36.9s)
Exception: Gradle build failed with code 1
See the logs above to learn what happened. Also consider running with --verbose. If the logs still aren't useful, then it's a bug - please report it.
Exception: Gradle build failed with code 1
#0      AndroidTestBackend.build.<anonymous closure> (package:patrol_cli/src/android/android_test_backend.dart:67:9)
<asynchronous suspension>
#1      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)
<asynchronous suspension>
#2      AndroidTestBackend.build (package:patrol_cli/src/android/android_test_backend.dart:42:5)
<asynchronous suspension>
#3      DevelopCommand._build (package:patrol_cli/src/commands/develop.dart:193:7)
<asynchronous suspension>
#4      DevelopCommand.run (package:patrol_cli/src/commands/develop.dart:165:5)
<asynchronous suspension>
#5      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#6      PatrolCommandRunner.runCommand (package:patrol_cli/src/runner/patrol_command_runner.dart:320:18)
<asynchronous suspension>
#7      PatrolCommandRunner.run (package:patrol_cli/src/runner/patrol_command_runner.dart:264:18)
<asynchronous suspension>
#8      patrolCommandRunner (package:patrol_cli/src/runner/patrol_command_runner.dart:76:20)
<asynchronous suspension>
#9      main (file:///C:/Users/TorbenFlyvholm/AppData/Local/Pub/Cache/hosted/pub.dev/patrol_cli-2.1.0/bin/main.dart:6:20)
<asynchronous suspension>

test_bundle.dart - in case it is important
// ignore_for_file: type=lint, invalid_use_of_internal_member

import 'package:flutter_test/flutter_test.dart';
import 'package:patrol/patrol.dart';

// START: GENERATED TEST IMPORTS
import 'critical_workflows/photoDoc/0002_Create_simple_without_location_test.dart' as critical_workflows__photoDoc__0002_Create_simple_without_location_test;
// END: GENERATED TEST IMPORTS

Future<void> main() async {
  final nativeAutomator = NativeAutomator(config: NativeAutomatorConfig());
  await nativeAutomator.initialize();
  PatrolBinding.ensureInitialized();

  // START: GENERATED TEST GROUPS
  group('critical_workflows.photoDoc.0002_Create_simple_without_location_test', critical_workflows__photoDoc__0002_Create_simple_without_location_test.main);
  // END: GENERATED TEST GROUPS
}

Logs

Logs
<!-- Replace this line with your logs. Do not remove the backticks! -->

Patrol version
patrol: ^2.2.0
Patrol Doctor output

Patrol Doctor output
PS E:\Projects\AppTestAutomated\AppNew> patrol doctor
You're using Patrol CLI 2.0, which has breaking changes.
Read the migration guide at https://patrol.leancode.co/v2.
Disable this warning by setting the PATROL_MIGRATED environment variable.

Patrol CLI version: 2.1.0
Program adb found in E:\Android_SDK_HOME\Sdk\platform-tools\adb.exe
Env var $ANDROID_HOME set to E:\Android_SDK_HOME\Sdk

Flutter Doctor output

Flutter Doctor output

PS E:\Projects\AppTestAutomated\AppNew> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.10.5, on Microsoft Windows [Version 10.0.22621.2070], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.7.0 Preview 5.0)
[!] Android Studio (version 2021.3)
    X Unable to find bundled Java version.
[√] Android Studio (version 2022.1)
[√] VS Code (version 1.81.0)
[√] Connected device (4 available)
[√] Network resources

Hi @benjamin-inspectly, try providing absolute path to the test file. We have some problems with paths on Windows, it's related to this issue: https://github.com/leancodepl/patrol/issues/1256

Hi @jBorkowska
Thanks for replying so rapidly!
Unfortunately, I get the same error when I use the absolute path.
I tried these 2 commands but get below error as before. The "kernel"-files are both 0 bytes in case that means anything.
patrol develop --target E:\Projects\AppTestAutomated\AppNew\integration_test\critical_workflows\photoDoc\1001_Create_simple_with_location_test.dart
OR
patrol develop --target E:/Projects/AppTestAutomated/AppNew/integration_test/critical_workflows/photoDoc/1001_Create_simple_with_location_test.dart
You're using Patrol CLI 2.0, which has breaking changes.
Read the migration guide at https://patrol.leancode.co/v2.
Disable this warning by setting the PATROL_MIGRATED environment variable.
No device specified, using the first one (RF8R810Z1LP)
• Building apk with entrypoint test_bundle.dart...
Invalid depfile: E:\Projects\AppTestAutomated\AppNew.dart_tool\flutter_build\0b0d2e57aa91fea684b4d62ac17bf222\kernel_snapshot.d
Invalid depfile: E:\Projects\AppTestAutomated\AppNew.dart_tool\flutter_build\0b0d2e57aa91fea684b4d62ac17bf222\kernel_snapshot.d
Unhandled exception:
FileSystemException(uri=e:/Projects/AppTestAutomated/AppNew/integration_test/critical_workflows/photoDoc/0003_Create_full_2_of_each_doc_test.dart; message=StandardFileSystem only supports file:* and data:* URIs)
#0      StandardFileSystem.entityForUri (package:front_end/src/api_prototype/standard_file_system.dart:34:7)
#1      IncrementalCompiler._initializeExperimentalInvalidation (package:front_end/src/fasta/incremental_compiler.dart:1268:56)
#2      IncrementalCompiler.computeDelta. (package:front_end/src/fasta/incremental_compiler.dart:325:17)

#3      IncrementalCompiler.compile (package:vm/incremental_compiler.dart:75:50)

#4      FrontendCompiler.compile (package:frontend_server/frontend_server.dart:595:11)

#5      starter (package:frontend_server/starter.dart:99:12)

#6      main (file:///C:/b/s/w/ir/x/w/sdk/pkg/frontend_server/bin/frontend_server_starter.dart:13:14)

    Target kernel_snapshot failed: Exception

    FAILURE: Build failed with an exception.

    * Where:
    Script 'E:\FlutterDev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1201

    * What went wrong:
    Execution failed for task ':app:compileFlutterBuildAppCenterDebug'.
    > Process 'command 'E:\FlutterDev\flutter\bin\flutter.bat'' finished with non-zero exit value 1

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at https://help.gradle.org/

    BUILD FAILED in 9s

✗ Failed to build apk with entrypoint test_bundle.dart (Gradle build failed with code 1) (10.7s)
Exception: Gradle build failed with code 1
See the logs above to learn what happened. Also consider running with --verbose. If the logs still aren't useful, then it's a bug - please report it.
Exception: Gradle build failed with code 1
#0      AndroidTestBackend.build. (package:patrol_cli/src/android/android_test_backend.dart:67:9)

#1      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)

Just to make sure - does your app run without problems?

This looks similar to #1428

Just to make sure - does your app run without problems?

Yes, both in debug and if I use "patrol test" without arguments :)

+1 on this issue.
My app build fine, and i can start patrol test --flavor dev but not test cases are run.
If i try to add the path to my integration test it fails and wont build the apk.

+1 on this issue. My app build fine, and i can start patrol test --flavor dev but not test cases are run. If i try to add the path to my integration test it fails and wont build the apk.

For my case "patrol test --flavor XXX" executes all test cases :)

Can you confirm that this occurs only on Windows?

@bartekpacia  Hmm.. Good question! I don't have access to anything but windows at my company, but I'm cannot confirm it's not a problem on any other OS :/
Perhaps I can borrow a colleagues Mac in one of the following days when he are at the office then, if you need me to fully confirm.

Hi @bartekpacia and @jBorkowska ,
New discovery.. I don't know why, but suddenly "patrol test --target" works (from my original issue report), but the develop-command, as per below reply from me yesterday, still gives this kernel issue.
The question is, if there are any difference in that regard between the test and develop command? Hope this helps.
Current status
This works: patrol test --target integration_test\critical_workflows\photoDoc\1003_Create_full_2_of_each_doc_test.dart
This fails: patrol develop --target integration_test\critical_workflows\photoDoc\1003_Create_full_2_of_each_doc_test.dart
(on windows)
Old reply:

Hi @jBorkowska Thanks for replying so rapidly!
Unfortunately, I get the same error when I use the absolute path.
I tried these 2 commands but get below error as before. The "kernel"-files are both 0 bytes in case that means anything.
patrol develop --target E:\Projects\AppTestAutomated\AppNew\integration_test\critical_workflows\photoDoc\1001_Create_simple_with_location_test.dart

OR

patrol develop --target E:/Projects/AppTestAutomated/AppNew/integration_test/critical_workflows/photoDoc/1001_Create_simple_with_location_test.dart

You're using Patrol CLI 2.0, which has breaking changes.
Read the migration guide at https://patrol.leancode.co/v2.
Disable this warning by setting the PATROL_MIGRATED environment variable.

No device specified, using the first one (RF8R810Z1LP)
• Building apk with entrypoint test_bundle.dart...
Invalid depfile: E:\Projects\AppTestAutomated\AppNew\.dart_tool\flutter_build\0b0d2e57aa91fea684b4d62ac17bf222\kernel_snapshot.d
        Invalid depfile: E:\Projects\AppTestAutomated\AppNew\.dart_tool\flutter_build\0b0d2e57aa91fea684b4d62ac17bf222\kernel_snapshot.d
        Unhandled exception:
        FileSystemException(uri=e:/Projects/AppTestAutomated/AppNew/integration_test/critical_workflows/photoDoc/0003_Create_full_2_of_each_doc_test.dart; message=StandardFileSystem only supports file:* and data:* URIs)
        #0      StandardFileSystem.entityForUri (package:front_end/src/api_prototype/standard_file_system.dart:34:7)
        #1      IncrementalCompiler._initializeExperimentalInvalidation (package:front_end/src/fasta/incremental_compiler.dart:1268:56)
        #2      IncrementalCompiler.computeDelta.<anonymous closure> (package:front_end/src/fasta/incremental_compiler.dart:325:17)
        <asynchronous suspension>
        #3      IncrementalCompiler.compile (package:vm/incremental_compiler.dart:75:50)
        <asynchronous suspension>
        #4      FrontendCompiler.compile (package:frontend_server/frontend_server.dart:595:11)
        <asynchronous suspension>
        #5      starter (package:frontend_server/starter.dart:99:12)
        <asynchronous suspension>
        #6      main (file:///C:/b/s/w/ir/x/w/sdk/pkg/frontend_server/bin/frontend_server_starter.dart:13:14)
        <asynchronous suspension>

        Target kernel_snapshot failed: Exception

        FAILURE: Build failed with an exception.

        * Where:
        Script 'E:\FlutterDev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1201

        * What went wrong:
        Execution failed for task ':app:compileFlutterBuildAppCenterDebug'.
        > Process 'command 'E:\FlutterDev\flutter\bin\flutter.bat'' finished with non-zero exit value 1

        * Try:
        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

        * Get more help at https://help.gradle.org/

        BUILD FAILED in 9s
✗ Failed to build apk with entrypoint test_bundle.dart (Gradle build failed with code 1) (10.7s)
Exception: Gradle build failed with code 1
See the logs above to learn what happened. Also consider running with --verbose. If the logs still aren't useful, then it's a bug - please report it.
Exception: Gradle build failed with code 1
#0      AndroidTestBackend.build.<anonymous closure> (package:patrol_cli/src/android/android_test_backend.dart:67:9)
<asynchronous suspension>
#1      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)

Sorry for spamming... another discovery..
It seems as if I use "flutter clean" and "flutter pub get", I then have the opportunity to use ex "patrol develop XXX" and that works.
If I afterwards use "patrol test", then I'll get the "kernel"-error and then both "patrol test" and "patrol develop" fails - until I use "flutter clean" again.
I have tested this both ways, and it'll work in both "patrol test --target" and "patrol develop --target" right after I clean - but only the first one I choose. If I have used "patrol test --target" - then I need to clean before trying "patrol develop --target" and the other way around.
I don't know if this helps?

The cause of the first problem is that you don't have adb on your path. Run patrol doctor to verify it.
The second problem is actually a bug – see #1428. Workaround is here.

Closing because of lack of activity. Anyway, looks like it's been solved anyway.


Do you know if the microphone will ever work?

Hello, I would like to know if it is possible to activate options so that the microphone works with this plugin.

Yes, I have the same question. I want to use audiopen for my dictation. I always get the popup "you must allow your microphone" on mac. Obsidian itself can record audio.
I used Desktop and normal iframe settings both didn't work.
Hope this feature would be possible.

https://stackoverflow.com/questions/72024011/electron-app-not-asking-for-camera-and-microphone-permission-on-macos-monterey
I found this about electron and mac. Maybe that's what we need.


EOP: Test Latest Drun

Based on Latest RTS upgrade for EOP.

Closed in favor of https://github.com/dfinity/motoko/pull/4678


Stack Images won't work in Google Mail App

Describe the bug
The GMail App on Android will ignore any try to stack the Images.
Using the "fluid-on-mobile" Tag is ignored as using a defined width which corresponds to the display width.
Everything is just displayed smaller.
To Reproduce
Using tag:
<mjml>
    <mj-body background-color="#FFFFFF" >
        <mj-section direction="rtl">
            <mj-column>
                <mj-image width="250px" fluid-on-mobile="true" src="{{IMG_LINK}}"></mj-image>
            </mj-column>
            <mj-column>
                <mj-text font-size="18px" font-weight="bold" font-family="Roboto" align="center">
                    Test-Text
                </mj-text>
            </mj-column>
        </mj-section>
    </mj-body>
</mjml>

Using width:
<mjml>
    <mj-body background-color="#FFFFFF" >
        <mj-section>
            <mj-column>
                <mj-image
                    src="{{LINK}}"
                    alt="Alt-Text"
                    width="134px"
                    align="center"/>
            </mj-column>
            <mj-column>
                <mj-image
                    src="{{LINK}}"
                    alt="Alt-Text"
                    width="230px"
                    align="center"/>
            </mj-column>
        </mj-section>
    </mj-body>
</mjml>

Expected behavior
I expected, that the images in the Mail will stack.
Like they do in the preview, but they don't.
MJML environment:

OS: Debian
MJML Version 4.6.2
MJML App for Windows

Email sending environment(for rendering issues):
JavaMailer, Exim4
Affected email clients (for rendering issues):

Email Client Gmail (there could be more, it's the one I found the Bug)

Can you provide a screenshot of the issue ? Are you sure you have nothing altering the email ? Can you try with https://putsmail.com/ ?

Hi iRyusa,
thank you for your quick answer and sorry I took so long.
I tried it with putsmail and it worked. I guess it's a problem with the Java-Mailer then. I'll take a look at that next.
Thank you agin, we can close that issue then.


Add UpdateAll class method

I thought it would be simple to let JLed keep a static linked list of all known instances. This allows you to create an UpdateAll that gets all the objects that exist with one call.
There was one problem. Many of the examples use a global object and them make member calls against it:
JLed led(11).breathe(....).....;
Doing this causes the this pointer in the constructor to be incorrect. I'm not sure why.  I think this is a problem even without my changes, but since the existing constructor doesn't make use of the this pointer, no one notices it. Look at examples/multiled2 to see what I mean.
What I did not do was go back and patch all the other examples. However, if you don't call UpdateAll, it won't matter if the linked list is busted or not.

I had more time to look into this. The issue is that I have the comment above wrong. The global init looks like this:
JLed led = JLed(11).breathe....
This creates a temporary object which has a this pointer and then copies it (not constructs) it into led. So the this pointer changes but the linked list does not.
Answer should be to create a copy constructor so I'll push that up here in a few minutes.

Ok the copy constructor fixes it. Lightly tested but it appears to work ok and now doesn't break the other examples if you change them to use UpdateAll()

Ok the extremely pendantic lint is killing me and I'm out of time to go restructure my use of const in the copy constructor for the moment. Will fix now that I've munged all my whitespace to meet the lint rules. Sigh.

Hi, thanks for your efforts and the nice review on hackaday (guess you are the author).
As you found out, "JLed led = JLed(11).breathe(250);" creates a temporary object and then calls the copy ctor (and the dtor). Implementing these fixes the problem. Now that you fought the linter ;) (I use a vim plugin so I get instant feedback), there still needs to be unit tests to be implemented....
I was working in parallel on a less intrusive (i.e. without global state), optional "Update()" version, which takes an array of JLed objects to update (see branch https://github.com/jandelgado/jled/tree/add_update_all). This makes testing easier since there are no side-effects to consider, while having minimal overhead. Also, your are free to use Update()-all in case you need finer control on when to update what. Would that approach also meet your requirements? See the multiled demo for an example.

So finally support for UpdateAll (parallel and sequentially) will be added in JLed Release 4.0.0. I decided to choose a different, less intrusive approach. Anyway, thanks for your efforts and pointing out a gap in the lib!

Great! Thanks for closing the loop with me!


find previous

What is the feature you'd like to have?
An action, menu, and default hotkey for "Find Previous" to complement "Find Next"

+1 for a Find Prev keyboard shortcut mapped to the usual ⌘ ⇧ G by default, like every macOS app!


Extension runs in every project?

Thanks su much for building an extension for Biome ❤  That's really awesome of you, both Biome and Zed are so new, I didn't expect an extension would even exist!
One thing I noticed is that I'm getting Biome annotations in projects that don't use Biome, I didn't even know Biome can run without a config file.
I don't know Rust, but ChatGPT tells me that the extension script installs Biome if one isn't found in the depenedencies? Can we configure the extension to only run if the configuration file is found, or/and only if the extension exists in the dependencies?
Thanks!

One thing I noticed is that I'm getting Biome annotations in projects that don't use Biome, I didn't even know Biome can run without a config file.

Really?? It's literally in our homepage:  https://biomejs.dev/
The first snippet you see, runs from npx without any configuration 😅

Can we configure the extension to only run if the configuration file is found, or/and only if the extension exists in the dependencies?

Not sure if it's possible at the moment with the current status of zed extensions. I don't know if zed exposes an API to read settings.json to the extensions .

I was migrating from away ESLint while burnt out, so I jumped straight into docs, that detail slipped past me 😄 But nice!
Until Zed provides some configuration leeway, isn't it safe to assume that if you don't have Biome installed in your project then probably aren't using it? I feel like that's a safe compromise to make.
Otherwise I have to uninstall the extension when editing another project, and install it back when editing my Biome project.

Not sure if it's possible at the moment with the current status of zed extensions. I don't know if zed exposes an API to read settings.json to the extensions .

I did look into that before, zed seems to expose some LSP settings API for the extension author, but I wasn't able to get any further than that. However, my current workaround is to disable the biome LSP globally by default:
"language_servers": ["!biome", "..."]

Then enable in project setting .zed/settings.json:
"language_servers": ["..."]

That's a cool trick, and appears to be exactly what I wanted, thanks! 🥳

I suppose we can close this then :) Further configuration for this is more a zed issue.


Determine if we're running in Cygwin on Windows.

Solves #602.

This completely breaks NERDTree on Cygwin.
(When opening nerdtree it just says "NERDTree: No bookmark or directory found for:".)
My guess is that now NERDTree uses Windows style paths etc. in Cygwin as well, but Cygwin normally needs Unix style paths.
(BTW: On my Cygwin installation with the correct font the small arrow symbols work just fine.)
Therefore I'd suggest reverting this commit until a proper fix is found.
I'd be glad to test it on my machine (running vim in mintty/cygwin).

@sst6z, thanks for the feedback. The change has been reverted.


Force method names to string.

The allowed methods list is printed directly into the template. In my case this results in unicode representation of the method names: "[u'GET', u'OPTIONS']"
Forcing the names in the list to a string should solve this problem.

That works great! Thank you @docc :sparkles:


SWD-Recorder does not recognize Firefox ESR

Hello,
I have SWD Recorder running on two laptops, one using the regular release of firefox, and another one with the ESR (https://www.mozilla.org/en-US/firefox/organizations/faq/) release of Firefox.
The SWD with ESR fails when clicking on the "Start" button with the error message that it could not determine the version of FF from the registry.
Since FF 31, the ESR version has used a different Registry to the regular FF.  I think SWD should also look in that registry for FF.
https://bugzilla.mozilla.org/show_bug.cgi?id=1079229

Hi @Ricardo-Martinez,
Thank you for filing this bug.
Sorry, but I do not plan to fix this issue in the near feature. The fix for this issue would require to change the Selenium WebDriver default browser launching algorithm.
I really do not want to do that now.
Thank you,
Dima


feat(ui): rearrange table columns

This PR allows to rearrange the columns of the nodes table by dragging them around within the columns selection menu (ID is moved to 2nd column in this screenshot):

Love this! @ahochsteger

Pull Request Test Coverage Report for Build 554057566

0 of 49 (0.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.04%) to 19.852%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/nodes-table/nodes-table.js
0
2
0.0%

src/modules/ManagedItems.test.js
0
6
0.0%

src/modules/ManagedItems.js
0
41
0.0%

Totals

Change from base Build 553960379:
-0.04%

Covered Lines:
1996

Relevant Lines:
10308

💛  - Coveralls

If you are done here, feel free to squash and merge :)


never get the result

CPU: Cor i7 8th gen
GPU: 8GB
RAM: 40 GB
But when I ran the script, it ran into the local server but never finished its task. It continuously counts its time. Short to long text, I tried everything possible variation, but it never completed its analysis. Is there anything I need to adjust? Whatever the warning message, I already solved the PC configuration.

This is because Binoculars runs two 7B sized language models which could take forever on CPUs. I'm sorry but running LMs on the CPU is not recommended and this behavior is expected. I would recommend you use resources like Kaggle or Colab Notebook to get GPU access if you're constrained on resources.
You might wanna check out this HuggingFace tutorial to optimize LM inference on a CPU. Please feel free to send in PR for proper CPU support if you're able to optimize for it.
Closing this issue since not much I can do here. Thanks for your interest in the project. :)


[ISSUE #549] Unify request handler code style of tcp and http protocol

Fixes #549
Motivation

Unified TCP and HTTP code styles
Optimize code encapsulation and reduce coupling
More careful subcontracting and naming enhances readability

boot
Firstly, I divided the server into three layers:

The most basic layer is AbstractRemotingServer . It leverages Netty for the most basic communication server.
Then there are the protocol-layer servers that enable the runtime module to run simply, such as AbstractTcpServer and AbstractHttpServer.
Finally, there are EventMeshXxxServer that integrate multiple capabilities (typically a manager that assembles the capabilities to enhance the server) , such as EventMeshTCPServer and 'EventMeshHTTPServer`.

In my opinion, the most important part of the runtime module is the "processor" . The main component of the second-tier server is the "processor" . That is, declare the "processor" required for registration in the Layer 2 server AbstractXXXServer to build the layer server.
In layer 3 server, I prefer pluggable plug-in design. That is, in the process of extending the "processor" , if there is a function that requires other modules, add the manager of the corresponding function in this layer. The processor then retrieves the corresponding manager through the EventMeshXxxServer instance.
For example :

Registry is provided for cluster deployment of eventmesh servers.
The rest of the modules, such as 'security' and 'metric' , can be inserted into the corresponding manager in the tier 3 server.

Modifications
boot:

So I implemented TCP's second-tier server, AbstractTcpServer . I've used all of Netty's required handlers as AbstracTcpServer internal classes to better manage this tier of servers.
And registered "processor" in the third-tier server juts like EventMeshHTTPServer
I think the creation and use of threads is actually the basis for the server to run, so I put it on the second-tier server and used an interface ThreadPoolGroup to normalize it, the implementation classes of this interface can assemble the required thread pool.

core

Convert a task under the TCP protocol to a processor

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

LGTM

@qqeasonchen @harshithasudhakar  PTAL


Lokalise: Translations update

This pull request was initiated by Lokalise (user Stacey) at 2019-07-30 02:09:58

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


Add requirements.txt

requirements.txt must be added for the project, as it will make the development process easier, and it will ensure that whenever installed, users will have all the working dependencies.

@Swarnimashukla Can I work on issue under GSSoC21 label?

Hello, I am a GSSOC'21 participant and would like to contribute to this project.


remove evil global state shared by all schedulers

Running e2e now. (needed for #5336)

cc @davidopp @mikedanese @abhgupta

After a ridiculous amount of effort, I finished running e2e and it appears to have passed.

LGTM
Personally I think factories are pretty evil too :-). I'm not sure whether this PR is a big net improvement. But if you think it is worth the somewhat extra complexity it's OK with me.

Yeah I don't love this either but these Lister variables have to get made at scheduler creation time and not when the module in initialized.

@davidopp it would be great to label things with satus-lgtm -- I use that to scan the PRs to work out which ones may be mergeable. Thanks.

Satnam: The reason I didn't label it LGTM was that I was waiting for Daniel to confirm he thought adding this layer of indirection was worthwhile (sorry my comment with the LGTM wasn't clear).

Thanks for merging, my #5446 builds on top of this one.


Add basic Aggregation and Aggregate

Based on my understanding on our new View/ViewData/Aggregation/Aggregate, our current view-related data structures will need to have some huge changes. I'd like to share my thoughts before I move forward:
What we currently have
Currently we have the following classes related to view and aggregation:

Distribution contains summary statistics for a population of values, including mandatory members sum, count, mean, range, sum of squared deviations, and an optional histogram representing the distribution of values across specified buckets;
MutableDistribution is the class that actually records and holds the aggregated stats. It's a mutable class where new values will be added and summary stats (sum, count, etc.) will be updated;
DistributionAggregation describes data aggregations based on distributions. Currently the only usage of this class is to specify if there's a histogram for the aggregation, which makes this class a little redundant. All the other aggregation statistics (sum, count, etc.) will be recorded by default, and cannot be configured;
DistributionAggregate is the result (or snapshot) of applying aggregation to measured values. It contains statistics on sum, count, range and mean by default, and contains an optional histogram;
IntervalAggregation describes data aggregations based on time intervals. It contains number of sub-intervals, and interval sizes represented by Durations. However, in our new definition, there will be exactly one Duration for each IntervalView, so this class is now redundant;
IntervalAggregate contains summary stats over various time intervals. Currently Interval only contains sum and count. For the same reason above, there will be exactly one interval for each interval aggregate now. Moreover, in the new design, Interval will need to support all the stats, including histogram;
DistributionView is for distribution-base aggregations. Currently it has one DistributionAggregation;
IntervalView is for interval-based aggregations. Currently it has one IntervalAggregation, which only supports recording sum and count;
DistributionViewData contains a list of DistributionAggregates;
IntervalViewData contains a list of IntervalAggregates.

The proposed view-related class structure

In our new design, each View will have a sequence of Aggregations and a set of TagKeys. Here Aggregation refers to basic aggregation type, such as sum, count or histogram. Now views should be able to record any combination of aggregation types. For example, if we are only interested in recording count and don't need stats on sum, mean or anything else, we should be able to specify a view that only aggregates on count. Also, both DistributionView and IntervalView should support that.
As stated above, IntervalView will now only support one duration. To record stats on different durations, users need to specify multiple IntervalViews.
Aggregation and View are the description about how we want to aggregate on values/tagkeys, and they should be kept immutable. Aggregate and ViewData are conceptually snapshots of the former two, they should be also immutable. MutableAggregation will process values and update summary stats, and it's mutable.
Similarly, ViewData will contain any combination of Aggregates, corresponding to its definition in View.

Changes to be made

Split Distribution into independent basic Aggregations, e.g. sum, count, histogram, etc.
Split MutableDistribution into independent basic MutableAggregations.
Split DistributionAggregate into independent basic Aggregates.
Basic Aggregation types should expose factory methods so that users could define them in a View, while Aggregate should not be created by users, but should expose methods to get its internal value.
Distribution related stuffs (Distribution, MutableDistribution,  DistributionAggregation, DistributionAggregate) and Interval related stuffs (IntervalAggregate, IntervalAggregation) will all be removed, in favor of more generic Aggregation and Aggregate in this PR.
Both DistributionView and IntervalView will contain a list of basic Aggregations, instead of DistributionAggregation or IntervalAggregation. In addition, IntervalView will contain exactly one time window, which is its Duration.
Both DistributionViewData and IntervalViewData will contain a list of basic Aggregates, instead of DistributionAggregate or IntervalAggregate. In addition, IntervalViewData will contain exactly one time window, which is its Duration.

I have some questions:

Why are Aggregation and View mutable?  I thought that they only specified what data should be collected, and the implementation held the stats for each view or aggregation in separate, internal data structures.
Are IntervalView and DistributionView the same, except that IntervalView has a duration?  Should we combine them into one class that has an optional duration field?

Talked offline:

View and Aggregation should be kept immutable. Aggregation should just specify how we want to aggregate stats, and the implementation or some class similar to MutableDistribution will actually record and hold stats.
The only difference between IntervalView and DistributionView will be whether it has a Duration. Whether to combine them to one class is TBD.

Also add details on MutableDistribution

Codecov Report

Merging #450 into master will decrease coverage by 5.46%.
The diff coverage is 1.44%.

@@             Coverage Diff              @@
##             master     #450      +/-   ##
============================================
- Coverage     90.26%   84.79%   -5.47%
  Complexity      586      586
============================================
  Files           104      107       +3
  Lines          2127     2263     +136
  Branches        206      211       +5
============================================
- Hits           1920     1919       -1
- Misses          156      292     +136
- Partials         51       52       +1

Impacted Files
Coverage Δ
Complexity Δ

core/src/main/java/io/opencensus/stats/View.java
100% <ø> (ø)
1 <0> (ø)
:arrow_down:

...n/java/io/opencensus/stats/MutableAggregation.java
0% <0%> (ø)
0 <0> (?)

...src/main/java/io/opencensus/stats/Aggregation.java
0% <0%> (ø)
0 <0> (?)

...e/src/main/java/io/opencensus/stats/Aggregate.java
0% <0%> (ø)
0 <0> (?)

...main/java/io/opencensus/stats/MutableViewData.java
87.93% <100%> (ø)
2 <0> (ø)
:arrow_down:

...a/io/opencensus/trace/export/SpanExporterImpl.java
90% <0%> (-1.67%)
6% <0%> (ø)

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 83a0f91...37d33a4. Read the comment docs.

@songy23 Is the code ready for review now?

@sebright sure, PTAL (I'll add tests later).

Thanks for review! merging soon


PMP behavior when PMP is off and in U-mode

Observed Behavior
I found that the behavior is different between spike and ibex when transitioning from m-mode to u-mode with the mret instruction without setting pmp. In ibex, after the mret instruction, the fetch of the next instruction causes a pmp error. On the other hand, spike continues to operate without causing a pmp error even after the mret instruction.
In the implementation of ibex, if pmp is not set (PMP_MODE_OFF), region_match_all will be zero and u-mode access will unconditionally generate an error. This makes a difference between ibex and spike.  Is it the expected behavior to unconditionally raise a pmp error when pmp is not set?
https://github.com/lowRISC/ibex/blob/65287f7d7b5a9b0733f37c01b292b1de08656e5c/rtl/ibex_pmp.sv#L94-L95
https://github.com/lowRISC/ibex/blob/65287f7d7b5a9b0733f37c01b292b1de08656e5c/rtl/ibex_pmp.sv#L155-L160
Steps to reproduce the issue
I overwrote the program to example/sw/simple_system/hello_test/hello_test.c.
#include "simple_system_common.h"

#define MSTATUS_MPP_M (3 << 11)
#define MSTATUS_MPP_U (0 << 11)

void test() {
  return;
}

int main(int argc, char **argv) {
  // from M mode to U mode
  uint32_t mstatus;
  asm volatile("csrr %0, mstatus" : "=r"(mstatus));
  mstatus = (mstatus & ~MSTATUS_MPP_M) | MSTATUS_MPP_U;
  asm volatile(
      "csrw mstatus, %0;"
      "csrw mepc, %1;"
      "mret;"
      :
      : "r"(mstatus), "r"(test));
  return 0;
}

Build the processor with PMPEnable and compile the test program.
Run the test program with ibex and spike.
fusesoc --cores-root=. run --target=sim --setup --build lowrisc:ibex:ibex_simple_system --PMPEnable=1
make -C examples/sw/simple_system/hello_test
./build/lowrisc_ibex_ibex_simple_system_0/sim-verilator/Vibex_simple_system -t --meminit=ram,./examples/sw/simple_system/hello_test/hello_test.elf ]
spike --isa=rv32imc --log-commits -d -m0x10000:0x30000,0x100000:0x100000 --priv=mu ./examples/sw/simple_system/hello_test/hello_test.elf

From the ibex and spike logs below, you can find the differences after the mret instruction.

ibex log

174	        83	001003da	300027f3	csrrs	x15,mstatus,x0	  x0:0x00000000 x15=0x00000080
176	        84	001003de	7779	c.lui	x14,0xffffe	 x14=0xffffe000
178	        85	001003e0	7ff70713	addi	x14,x14,2047	 x14:0xffffe000 x14=0xffffe7ff
180	        86	001003e4	8ff9	c.and	x15,x14	 x15:0x00000080 x14:0xffffe7ff x15=0x00000080
182	        87	001003e6	00000717	auipc	x14,0x0	 x14=0x001003e6
184	        88	001003ea	f6670713	addi	x14,x14,-154	 x14:0x001003e6 x14=0x0010034c
186	        89	001003ee	30079073	csrrw	x0,mstatus,x15	 x15:0x00000080  x0=0x00000000
192	        92	001003f2	34171073	csrrw	x0,mepc,x14	 x14:0x0010034c  x0=0x00000000
194	        93	001003f6	30200073	mret
208	       100	00100000	34e0006f	jal	x0,10034e	  x0=0x00000000
214	       103	0010034e	e9fff06f	jal	x0,1001ec	  x0=0x00000000

spike log

core   0: >>>>  main
core   0: 0x00000000001003da (0x300027f3) csrr    a5, mstatus
core   0: 3 0x001003da (0x300027f3) x15 0x00000000
:
core   0: 0x00000000001003de (0x00007779) c.lui   a4, 0xffffe
core   0: 3 0x001003de (0x7779) x14 0xffffe000
:
core   0: 0x00000000001003e0 (0x7ff70713) addi    a4, a4, 2047
core   0: 3 0x001003e0 (0x7ff70713) x14 0xffffe7ff
:
core   0: 0x00000000001003e4 (0x00008ff9) c.and   a5, a4
core   0: 3 0x001003e4 (0x8ff9) x15 0x00000000
:
core   0: 0x00000000001003e6 (0x00000717) auipc   a4, 0x0
core   0: 3 0x001003e6 (0x00000717) x14 0x001003e6
:
core   0: 0x00000000001003ea (0xf6670713) addi    a4, a4, -154
core   0: 3 0x001003ea (0xf6670713) x14 0x0010034c
:
core   0: 0x00000000001003ee (0x30079073) csrw    mstatus, a5
core   0: 3 0x001003ee (0x30079073) c768_mstatus 0x00000000
:
core   0: 0x00000000001003f2 (0x34171073) csrw    mepc, a4
core   0: 3 0x001003f2 (0x34171073) c833_mepc 0x0010034c
:
core   0: 0x00000000001003f6 (0x30200073) mret
core   0: 3 0x001003f6 (0x30200073) c768_mstatus 0x00000080
:
core   0: >>>>  test
core   0: 0x000000000010034c (0x00008082) ret
core   0: 0 0x0010034c (0x8082)
:
core   0: 0x00000000001003c8 (0x000202b7) lui     t0, 0x20
core   0: 0 0x001003c8 (0x000202b7) x 5 0x00020000
:
core   0: 0x00000000001003cc (0x000002a1) c.addi  t0, 8
core   0: 0 0x001003cc (0x02a1) x 5 0x00020008

Thanks for the detailed report @mmxsrup I'm not sure Spike is doing the right thing here, from the RISC-V privileged spec:

If no PMP entry matches an M-mode access,  the access succeeds.  If no PMP entry matches an S-mode or U-mode access, but at least one PMP entry is implemented, the access fails

In effect if a core implements PMP and you wish to use U-mode you must use PMP. If your core doesn't implement PMP at all then U-mode still works.
Are you using the latest version of Spike? It could be worth filing an issue against the Spike repo and see if they agree with my interpretation of the spec.

@GregAC Thanks for the detailed explanation.
I'm using the latest version of spike.
From the description of the RISC-V privileged spec, I think the behavior of PMP in ibex is correct.
I'll submit this issue to Spike repo.

Since the reset values for the PMP registers are platform-defined, both Spike and Ibex are doing something technically valid here.

It seems that the cause is the difference in the initial value depending on the platform.


Test data for flexotherm exclusive@vrc700

15d5d4d8373bec8a39f148f8a9fe52fed7418743.zip
Thanks for making this! It works and I get all kinds of info from the API. When calling python3 -m myPyllant.export xxx yyy vaillant --country germany > test.json I get this error (in addition to a filled test.json):
Could not get MPC data
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/myPyllant/api.py", line 1052, in get_mpc
    response = await self.aiohttp_session.get(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/aiohttp/client.py", line 691, in _request
    await raise_for_status(resp)
  File "/usr/local/lib/python3.11/dist-packages/myPyllant/api.py", line 102, in on_raise_for_status
    response.raise_for_status()
  File "/usr/local/lib/python3.11/dist-packages/aiohttp/client_reqrep.py", line 1060, in raise_for_status
    raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 404, message='Resource Not Found', url=URL('https://api.vaillant-group.com/service-connected-control/vrc700/v1/hem/031a815a-0586-4fbf-8985-5af8428ca7ea/mpc')

Let me know if I can provide more info!

This should be fixed in the newer versions of the library!

Confirmed - no errors anymore. Thanks! Is there a way to find out which values can be queried, like historical usage data etc?

You can add -h to all CLI commands and read more on https://signalkraft.com/mypyllant-component/2-library/#usage


Suggestion Metric Integration

Create an extension of the base APIMetric class for use with Suggestion detection API.

Also remember to add to .yml configuration files.


Improve autoload performances by default

As seen on symfony/symfony-demo#490 (and it's certainly a well-known issue for developers using PHP Inspections EA Extended plugin for PHPStorm), having empty namespaces in psr-4 rules has an impact on performances.
Using this by default on the Standard Edition may encourage developers to add PSR-4 rules if they create new namespaces (for example if they want to create bundleless apps or other bundles, or components inside the same app, etc.).
What do you think about putting this in the SE?
Also, for best autoloading performances, it is recommended to use classmap-authoritative options (which adds optimize-autoloader implicitly). I added it in the composer.json but I'm not sure whether it's the best option to propose to Symfony newcomers (because composer install and update takes more time to execute).
For this have a question: should we recommend classmap-authoritative or optimize-autoloader (or nothing ❔) by default ?

Optimizing the autoloader should not be in the project-level composer.json. This is not a setting that you want to use in development. classmap-authoritative is particularly annoying in dev as it requires redumping the autoloader each time you add a class). optimize-autoloader is a bit better, but it still lead to weird errors when you delete a class (as the composer classloader will still assume the file exist and will try to require it when asking for the class).
Such settings should be turned on only in prod environments (and classmap-authoritative requires makign sure that your project works fine with it, which may not always be the case depending of what your code does)

To be clear, classmap-authoritative should be used in prod as soon as you can. And optimize-autoloader is just a must-have in prod. Not using it means you don't care about performance at all, as it is a performance boost without drawback (it has drawbacks in dev, but not in prod)

So you recommend nor classmap-authoritative nor optimize-autoloader for the SE?

@Pierstoval I never recommend putting them in the project itself (unless you never develop in it).
this setting should either be enabled in the system-level config on prod server (in $COMPOSER_HOME/config.json) or through the CLI flags in your deployment scripts.

@stof:

optimize-autoloader is a bit better, but it still lead to weird errors when you delete a class (as the composer classloader will still assume the file exist and will try to require it when asking for the class).

I find this argument very interesting: if you delete a class, it shouldn't be used in your application, therefore the class not found error would still be triggered by the autoloader, wouldn't it?
In this case, it means that optimize-autoloader would trigger errors only for mistakes that are already handled without optimizing the autoloader, so I would still suggest we may use it by default (instead of classmap-authoritative that sounds more production-specific)

@Pierstoval there are case like class_exists where passing a non-existent class to the autoloader is expected.
An outdated optimized autoloader will not be silent in this case, but will require the removed file.

Hmm... That makes me re-think about default autoload optimization in app. I may remove this part in this PR if it sounds too much for the SE.
By the way, what about the psr-4 changes? 😃

I suppose composer.lock should be updated.

I removed the classmap-authoritative part and updated the lock file hash

Composer now has a documentation page about optimizing the autoloader for production: https://getcomposer.org/doc/articles/autoloader-optimization.md

@stof Great! Then, I guess the Symfony documentation about deployment best practices can also link this article from Composer's website, and we can still review explicit PSR-4 autoload rule for AppBundle, I tend to continue thinking it's a good practice 😃

@Pierstoval linking to the composer doc from the Symfony one is the plan, yes. But we wanted to have the source of truth in the composer doc itself (as it is not specific to Symfony)

Then this PR needs to be reviewed 😸

Thank you @Pierstoval.


Add Notifications and increase Test Coverage

Codecov Report
Patch coverage: 91.66% and project coverage change: +18.01 :tada:

Comparison is base (15f8150) 73.98% compared to head (f2fa6d2) 92.00%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main       #7       +/-   ##
===========================================
+ Coverage   73.98%   92.00%   +18.01%
===========================================
  Files          17       20        +3
  Lines         123      150       +27
  Branches       11       11
===========================================
+ Hits           91      138       +47
+ Misses         29        7       -22
- Partials        3        5        +2

Impacted Files
Coverage Δ

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

src/types/index.ts
0.00% <0.00%> (ø)

src/datasource/datasource.ts
91.30% <80.00%> (-4.16%)
:arrow_down:

src/utils/notifications.ts
87.50% <87.50%> (ø)

src/api/annotations.ts
96.87% <100.00%> (+76.87%)
:arrow_up:

src/api/api.ts
100.00% <100.00%> (ø)

src/api/index.ts
100.00% <100.00%> (ø)

src/api/org.ts
100.00% <100.00%> (ø)

src/utils/index.ts
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Handling error on Avatar caching. Ignoring Exception

I'm trying to run Lets chat inside corporate network behind proxy.
Application crashes when Avatar caching is called. Problem is that there is no error handler for HTTP request. The error handler ignores the error as the calls to cache handle the situation where Cache does not contain user Avatar.
Ideally, it should be possible to setup HTTP Proxy for the HTTP calls to the external services. This pull request only fixes the very immediate problem of Crashing Application.
There should be a way to use http.get function with proxy.

Thanks for fixing this!
We're currently reworking the avatar support, so we'll also look into adding support for proxies too.

No worries. Great application BTW :)


time series plotting method

it would be really useful to have a .tsplot() method on the Dataset class that arranges plots for each available time period on the same figure

I've been playing with proplot-based solution that looks really nice and is easy to format for a variable number of years
as an example:
f, axs = plot.subplots(ncols=len(dc.gdf.year.unique()))

for i, year in enumerate(dc.gdf.year.unique()):

    dc.gdf[dc.gdf.year==1990].plot(column='median_household_income', ax=axs[i], scheme='quantiles', k=8, legend=True, legend_kwds={'ncols':1, "loc":"b"})
    axs[i].format(title=year)

axs.format(suptitle='Washington DC Median Income')
axs.axis('off')

resolved by #248


[Conversation Rendering] Remove panic flag on step w/o actions/contents

Description
Fixes https://github.com/dust-tt/tasks/issues/1267
Risk / deploy
na

PMRR


[nsapi] Fixed iar compilation issue with value initializer

Expression needed to init to zero a simple POD struct:
// Before (valid in C99/C++11/G++)
nsapi_addr_t addr = (nsapi_addr_t){}
// After (valid in C++03, invalid in C)
nsapi_addr_t addr = nsapi_addr_t()

cc @sg-, @c1728p9, @bridadan

/morph test

Looks good to me

Looks like some targets are too small to fit this code now (that's why there's a build failure).
I'm going to force the tests to run now from that build. I'll come back with the results when they finish.

Thanks @bridadan! At the very least it looks like the issue with iar was fixed.


Memory overflow by Mahalanobis detector

Hi,
The Mahalanobis detector is easy to experience memory shortage. In the example, CIFAR10 is used, which is 32x32. If we resize them to 224x224, which is de-facto in classificatio, it is easy to see memory overflow situation. Are there a way to calculate precision and etc. incrementally to avoid memory shortage?
Otherwise, what methods can we consider in order to avoid memory shortage issues?

I think the easiest way to reduce memory would be to reduce the batch size of the data loader that you use to fit the model.
Another method would be to extract the features manually and use the fit_features() method.

Ah, I got it. This should be possible. In Scikit-Learn, there is iirc sometimes a method called fit_partial(). We could add something similar.

I added a draft implementation in 5d8cdfaf9e58d24bb8ca5cce79efdc72ca18ebb5. However, it is not well tested yet. Would something like this work for you?

Right, fit_partial() is what I wanted. But, I will test it later. Thank you.

Okay, it contains several bugs at the moment, I will see when I can fix it.


[Feature Request] Asset Manager : auto-preview when selecting/clicking item

Would be less clicks, and easier on my wrist ;-)  to single-click and item to show the preview Not sure why we need double-click or have the Preview button at all?

Good point. I just copied the Popper behaviour there without thinking. But it feels like an unnecessary hassle.

Solved, 2.18.3


Add invoke command to This.invokeMethod.

Refactored invoke command from Name to Namespace
Added invoke command to This.invokeMethod fixes #115
Removed duplicate invoke method implementation as per #667
Added complete coverage unit tests for This.invokeMethod
Fixed deprecations on TestBshScriptEngine

Fix generated interface proxy recursion loop.
When a generated interface is used to create a dynamic proxy instance, access to its NS field gets obscured.
Removed a duplicate class lookup in BSHAllocationExpression eval method, which appears to have been there forever.
Fixed up some missing Class generics and added a few more debug messages.


Add ability to disable drag

Greetings,
This PR adds the ability to disable the drag function on a list. As a user, I want to be able to edit a sortable list(a collection of inputs for example), without it dragging when clicking and typing. This can be achieved by passing the allowDrag prop, and temporarily disable drag listeners.
If you are uninterested in this idea, I can whip something up to only allow dragging from a specific component. That may be more ideal.
Please let me know, thanks.

This was released as v1.1.0.
Thanks for the contribution 🚀


Fix provisioning regression

What
Fixed a build regression introduced in #451 and tidied up some provisioning settings.
Why
I removed the value $(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME) from Framework search paths thinking it was not being used for anything. The app also built just fine without it. However, it turns out that this is necessary if your scheme names are anything other than Debug or Release which ours of course are for Hockey Alpha and Hockey Beta.
Also set all of our framework provisioning settings to be the same (none/none) because there were some inconsistencies:

How
Added $(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME) back to Framework search paths, updated provisioning settings.

 Fix build regression

Tested on CircleCI:


build: always pull Docker images before building

TIL --pull exists on docker build.

Codecov Report

Merging #422 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #422   +/-   ##
======================================
  Coverage    85.2%   85.2%
======================================
  Files         109     109
  Lines        6854    6854
======================================
  Hits         5840    5840
  Misses        715     715
  Partials      299     299

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 3eca3f4...d6b1e1e. Read the comment docs.


Update information menu layout and UI

Need

Improve discovery and usability of information menu.

Approach

Reuse existing menu implementation for top-level menu items.
Implement submenu via Blueprint submenu functionality.
Pull social icons from mocks.
Follow existing UI patterns:

Inline styles for small/short style definitions.
Locally-scoped classes for components requiring larger set of style definitions (possibly for BlueprintJS overrides as well).

Definition of Done

Menu items match specification in mocks.
Information menu UI adheres to specifications in mocks.

UI implementation with overrides:


SMS Templates not being applied to SMS notifications

Describe the Issue:
For SMS notifications no templates are being applied. However the template values are accessible through the Notification Template Management API.
API response for SMSOTP template

Message Received for SMSOTP flow.

How To Reproduce:

Retrieve any SMS notification template value using Notification Template Management API.
Try the flow where the particular SMS template us used.
Observer that the template is not applied.

Expected behavior:

The template should be applied to the SMS being sent.

The release of this fix is blocked due to issue in jenkins build. This is tracked via

https://github.com/wso2/product-is/issues/21656


Simple tests for language server's parser

Detailed description
Having a test suite for the language server's parser is an easy way to catch regressions.
This testing method is currently really naive and lacks a lot of test cases, but it's a good base for us to build a good and robust test suite.
Please note that test file containing valid syntax that are prefixed with fixme_ are currently ignored. So CI won't complain on every PR.

Your checklist for this pull request

[x] I've read the Code of Conduct
[x] I've read the guidelines for contributing to this repository
[x] It builds and lints cleanly
[x] I've tested it to the best of my ability
[x] My commit messages provide a useful short description of what the commits do
[x] I've made sure that my commits are signed/verified

Closing issues

All review items should now be addressed.
There's plenty of more tests that need to be done.
My goal is to improve the test suite a bit more so contributors can easily add more test cases as they come up with them!


Show more metadata or link to video page on video blocks

Video blocks (when a video is included in a page) currently only show the title (if enabled) and the actual video. But users might want to see more metadata and share the video. We could either show this, in a collapsed-by-default box below the video. But I think it's more useful if we simply include a small link below the video saying "go to video page ->" or something like that. That solves all problems in one go.

+1 for "simply include a small link below the video saying "go to video page ->" or something like that."

+1 I would suggest to make the including of this link also editable (in the same way as the title). Meaning: Offer a checkbox when inserting/editing a video block saying: "Show link to video page blow video" (or something like that)


Update standard transformer udf doc

What this PR does / why we need it:
Update standard transformer UDF documentation
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

Checklist

[ ] Added unit test, integration, and/or e2e tests
[ ] Tested locally
[X] Updated documentation
[ ] Update Swagger spec if the PR introduce API changes
[ ] Regenerated Golang and Python client if the PR introduce API changes

Thank you mas @jials


Mask of background

Hello Mikaela,
I want to assure that you use -1 to denote background in the mask.
Thanks.

Hi,
Yes that's right.


Add Gitea secrets storage and management

Also needed for #13539

Does this close #12065?

Yes, this could be used to resolve that

Any update?

Any update on this?

@lafriks Could I pick up this PR?

And user documentation is missing.

I'm not a fan of adding the two features in this PR. One feature is the secrets storage and the other feature is a completly new encryption layer. While I'm fine with the secrets storage, the encryption layer is not optimal from my point of view. In the current state we will end up with two different "keys" in the config: the SECRET_KEY and a new MASTER_KEY. From a user perspective it's not clear what they do.
I could live with it if

the new encryption would replace the current secret.EncryptSecret / secret.DecryptSecret methods
it would default to plain and use the current SECRET_KEY as master key
it would migrate all current encrypted secrets to use the new encryption (git migration url, password, token and LDAP bind password)

That would be a clear path to a new system not noticeable for users. And since the above is a little bit of work I think both features should be seperate PRs.

Plan is to migrate all secrets to new storage but that would make this PR too large so plan is to make it step by step

I'm not a fan of adding the two features in this PR. One feature is the secrets storage and the other feature is a completly new encryption layer. While I'm fine with the secrets storage, the encryption layer is not optimal from my point of view. In the current state we will end up with two different "keys" in the config: the SECRET_KEY and a new MASTER_KEY. From a user perspective it's not clear what they do.
I could live with it if

the new encryption would replace the current secret.EncryptSecret / secret.DecryptSecret methods
it would default to plain and use the current SECRET_KEY as master key
it would migrate all current encrypted secrets to use the new encryption (git migration url, password, token and LDAP bind password)

That would be a clear path to a new system not noticeable for users. And since the above is a little bit of work I think both features should be seperate PRs.

I'm not a fan of adding the two features in this PR. One feature is the secrets storage and the other feature is a completly new encryption layer. While I'm fine with the secrets storage, the encryption layer is not optimal from my point of view. In the current state we will end up with two different "keys" in the config: the SECRET_KEY and a new MASTER_KEY. From a user perspective it's not clear what they do.
I could live with it if

the new encryption would replace the current secret.EncryptSecret / secret.DecryptSecret methods
it would default to plain and use the current SECRET_KEY as master key
it would migrate all current encrypted secrets to use the new encryption (git migration url, password, token and LDAP bind password)

That would be a clear path to a new system not noticeable for users. And since the above is a little bit of work I think both features should be seperate PRs.

The first, why we need to replace the two methods? I added a test for them and fixed a bug there.
The second, I have changed default value of MASTER_KEY to SECRET_KEY and max length is 32. Default provider is plain now which means defaultly secret value will be stored as encrypted data.
The third, I think we could do that in seperate PRs.

Looks like modules/secret/secret.go has aesEncrypt functions.

can there be an api for external services?

can there be an api for external services?

Good idea so we need an abstract layer for internal and external services.

This PR has currently secrets on Repo and Organisation level. Could you also add Secrets to the User level, that would apply to all personal Projects?

I have thought about that as well, but what would the benefit be?
When do you really need user global secrets?

The same as org secrets? Available for every repo.
The package registry may need secrets at the owner (user/org) level too. The Debian registry for example uses a gpg key to sign data which could be stored in the secrets.

Okay, yes that's makes sense.
Then let's remove the differentiation between users and organizations, and add it for all owners.

When do you really need user global secrets?

I need them. On GitLab I have a lot of personal projects. Mostly little tools. Almost all have a CI (mostly just publish to e.g.g PyPI on a new Release). a lot of them share the same secrets (e.g. PyPI credentials).  As GitLab does not allow secrets on User level, I need to add everything for each Repo new and when something changed, that means a lot of work for me, to change it for every single Repo. I'm currently moving to Codebreg, which uses Gitea. If you add add secrets management, it would be great to allow this on User level to save me a lot of Work. Of course, I could create a Org just for my personal projects, but that feels a little bit unnecessary.

Hi guys, I wonder if I can start a new PR with all commits kept?
I tried to fix problems ASAP to stop blocking #21937, and @lafriks kindly gave me access to push to his branch, but I still can't mark comments resolved or update the PR content to explain what I'm trying to do, because I'm not the poster. I think it's OK yet, but if we want to add more to this PR like "secrets for users" or "trimming whitespace", I think I can handle it faster with a new PR.
I know it will cause some inconvenience to reviewers, so I think it's also a good idea to merge this PR with some todos left, and start a new PR to finish them.
What do you think?

Hi guys, I wonder if I can start a new PR with all commits kept?
I tried to fix problems ASAP to stop blocking #21937, and @lafriks kindly gave me access to push to his branch, but I still can't mark comments resolved or update the PR content to explain what I'm trying to do, because I'm not the poster. I think it's OK yet, but if we want to add more to this PR like "secrets for users" or "trimming whitespace", I think I can handle it faster with a new PR.
I know it will cause some inconvenience to reviewers, so I think it's also a good idea to merge this PR with some todos left, and start a new PR to finish them.
What do you think?

I personally prefer to leave some todo like supporting user level secrets in next PRs and we can merge this one ASAP.

I think we can close this and switch to #22142

replaced by #22142


Unify both arvados-ansible and arvados-vm

It's just dropping the Vagrantfile into this repo, it does not force anyone to use it and it would avoid problems such as this:
ansible provisioner:
* `playbook` for the Ansible provisioner does not exist on the host system: /Users/romanvg/dev/arvados-vm/arvados-ansible/arvados.yaml
* `inventory_path` for the Ansible provisioner does not exist on the host system: /Users/romanvg/dev/arvados-vm/arvados-ansible/cluster-vm

Example: https://github.com/brainstorm/ansible-xnat

Yeah, makes sense actually. :+1:


unexpected end of json

Ionic version:  (check one with "x")
(For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[ ] 3.x
[ ] 4.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[ ] feature request
Please do not submit support requests or "How to" questions here. Instead, please use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Expected behavior:

Steps to reproduce:

Related code:

insert short code snippets here

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
insert the output from ionic info here

Hello! While we appreciate you opening an issue with us I am going to close this issue and ask that you open a new one that has the issue template filled out, please.
Or just edit this one and fill in the information so we have something to go on.
Thanks for using Ionic!


Convert to PSR-2

I think this is something that needs to happen so that we can come inline with the SS module standard. I'm thinking the 1.2.0 release is as good a time as any to do it but I'm opening this ticket to provide a place for discussion in case anyone has other ideas. I'll leave it for a few days before release and if there's any controversy or anyone has changes out that need time we can leave it for a later release.

The bulk of this is in place for 1.2.0. There are a few issues that won't be fully compliant until 2.0 though:

[ ] PSR-2 requires namespacing (at least according to phpcs) - this is slated for 2.0
[ ] We need to deprecate snake_case_methods and replace them with lowerCamelCase (both will be present until 2.0)
[ ] There are some lines that are too long (can be fixed any time)


update "annual data" answer with ethans feedback.

2nd go at this with feedback from #206

LGTM 👍


initial commit of source code

This is the initial commit for the code, we will have to make another commit to put the arXiv number in the readme (and later for the full reference when published), but otherwise it should be good to go.

I've made changes locally and will make a new commit and PR with the implemented changes (I don't know if there is a more graceful way to do this).


[FEATURE] Add link to documentation

We can add link to documentation for particular topic

Like for Components link to  https://reactjs.org/docs/components-and-props.html can be added to the place highlighted below

Actually, it's not aligned with the current purpose of this project.