Fixed content takes up too much real estate in /learn UI on zoomed viewports

Describe the Issue
WCAG SC 1.4.10 requires that the user be able to zoom up to 400% on a 1280x1024 viewport and still be able to use the page "without loss of information or functionality". The image below shows a Step zoomed in 400% on a 1280x1024 viewport.

While technically the argument can be made that the UI is still functional at 400% the user is only able to see about three lines in the editor because the fixed content above takes up about 2/3's of the viewport height.
I'm opening this issue to brainstorm ways we might be able to give the user more space below the fixed content, which I think really means how do we allow the user to hide at least some of the fixed content.
Affected Page
Steps/Challenges in the /learn UI
Steps to Reproduce

Open any Step in the RWD cert or Challenge in either the JS Algorithms or JS Front End certs.
Make the browser viewport as big as possible, or at least 1280x1024px.
Use the browser's zoom mechanism to zoom in to up to 400%. This should trigger the "mobile" layout.
View the Code tab.
Notice how the fixed content takes up a considerable amount of the height of the viewport allowing only a few lines in the editor to be displayed at one time.

Expected behavior
Put a mechanism in place that allows the user to temporarily hide at least some of the fixed content at the top of the page (the more the better). The user should be able to activate this mechanism with either the keyboard, mouse, or touch. While it might be nice to provide this mechanism on the "desktop" layout, I think it is only essential for the "mobile" layout.
Screenshots
No response
System
The image above was taken on:

Device: Desktop
OS: Fedora 36
Browser: Edge
Version: 110

Additional context
No response

I suppose an alternative to hiding the fixed content itself would be to allow the editor to take up the entire view port height by superimposing it over all other content on the page. I think we would want to allow this functionality for all the tabs.

We can add the ability to open the code panel in different window like the preview page, so we can focus fully on mobile 🤔.
I can create a quick PR for refactoring this panel https://github.com/freeCodeCamp/freeCodeCamp/issues/48925, after refactoring it adding 3rd button that collapse the page should be easier.
It should be simple to implement it in CSS too, because the button will be toggle button, I think aria-pressed can be added, and aria-pressed is true, the other section have 1px width and height.

We can make the breadcrumbs show up in the instructions and the code tab could be a dropdown.
In addition, we could take the breadcrumb and turn it into a list of block challenges in a side drawer.
The side drawer could be accessed from a button that appears in the universal main navigation on challenges.

The refactoring to grid makes the buttons hide behind the navbar when user scroll, it helps but it doesn't fix the issue.
https://user-images.githubusercontent.com/88248797/218111088-60186953-cdaa-40e3-b44a-ebea5121cf73.mp4

We can make the breadcrumbs show up in the instructions and the code tab could be a dropdown.
In addition, we could take the breadcrumb and turn it into a list of block challenges in a side drawer. The side drawer could be accessed from a button that appears in the universal main navigation on challenges.

This sounds cool 🤔, I am in favor of it.
Note: we have to mindful while adding, because the component affect the old JavaScript certification. 👍

The files selection could be dropdowns of the code tab.
We need to check the analytics on the breadcrumbs usage as if they're not used frequently then remove it.

Here are the improvements I suggest for the viewports under 600px
1- remove the file selector when there is only one file, and turn the files selector into a dropdown.
2- put the breadcrumb in the dropdown navigation under the search.

viewports under 600px

I just want to clarify, it is the height of the viewport we are concerned about here, not the width.

put the breadcrumb in the dropdown navigation under the search.

I like this idea and I think it would work. At a 1280 x 1024 viewport, this transition happens at around 220% when the editor is taking up about 60-70% of the viewport height. So this would happen in plenty of time before the editor window gets too small.

I understand that the height is the issue, but to simplify the problem it might help to think about it in terms of the desktop and mobile layout. Please feel free to proceed with what you have in mind.

What if we remove this entire block of the index.html component? This takes up a lot of space and it'll reduce the fixed content on the screen
Also, we can make the breadcrumb show on hover Leaving only the part that shows (code, preview, and console). Another option might be reducing the padding and border for the component.

It seems like there are a few ways to address the limited vertical space when the viewport is this small.

reduce margin and padding for fixed content on mobile
hide breadcrumbs on mobile
hide filename (maybe under a toggle or a picker)
a button to fullscreen the code
dropdown to hide/show all the navigation elements
side drawer for navigating the challenges

Reducing the margin and padding and hiding the breadcrumbs when the viewport is small both seem straightforward. I will open PRs for each of those, and if those solve the issue, then great.
here is a link to a prototype
The other changes seem more involved, it'd be great to have feedback on which direction to go before I start on implementation.
I'm a new contributor to the project, so let me know if this is the right approach.

After opening the #54978 PR, I noticed that with 600px threshold, unexpected behavior occurring, which is mentioned in the comment here.
To avoid the behavior, the 900px threshold was suggested and I also agree the one.
Also, The branch was tested in 400% zoom on Chrome browser, and now the user is able to see about five lines in the editor (I actually do not know this is enough but increased from three), with the fixed content above the editor takes up about less than 1/2 of the viewport height, as shown in below image.

400% zoomed view of multifile editor

So, can we push the 900px thresh without any other accessibility or design concern?

Thanks.

@Sembauke Sure thing. I will take an in-depth look again this weekend and let you know.

closing this as decayed, please open a new issue if you're still interested.


ntr: increased number of unattached kinetochores

descendant of
FYPO:0004213	abnormal attachment of mitotic spindle microtubules to kinetochore
PMID:18256284
(note to self, term request moved to comment)

increased number of unattached kinetochores FYPO:0005411

edit file: c8a3c80b1ab0ad92eff599604216ff22314cb836
release: bc216a53995af2ca206b7dc3a28293bf8f3b978b


Improvements

[ ] Migrate Logging to new way

https://github.com/ExTBH/JodelEmproved/commit/77f36e0fcf6b4ca4bb3471d05d129c58f8c1f604

F

Wth is wrong with you


Keycloak 25.0.0

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

It seems that some tests related to requiredActions are now failing because Keycloak 25 now requires that a required action with the given providerId actually exist:
Keycloak 24.0.5
vs.
Keycloak 25.0.0

I gave this a quick spin and added the required dummy extensions to the test execution.
See: https://github.com/thomasdarimont/keycloak-config-cli/commit/31a894f35e972af2cf292ebccf90ea1e3b35831b
With this I "only" get 40 failed tests out of 355.
There seem to be a few incompatible changes in the admin-client libraries and more strict validation on authorization resources... but that's something for another day.

Hi @thomasdarimont,
thanks a lot for that insight, next time I need to catch the BadRequestException and display the error message. Do you think, it may be possible to include the extensions in a kind that doesn't require extension of the CI-scripts?
Unfortunately I am short on time right now, I guess I won't finish the task :(
Best Regards
Jonas

Thanks @jonasvoelcker and @thomasdarimont for your contributions. It would be nice to finish Keycloak 25 Upgrade as quick as possible.
The current state works on a Keycloak 25 instance. However, a lot of tests are still failing. @thomasdarimont somehow your fix does not work on my machine.
Maybe you can give some insights, on what to do next?

Hi @daviddavidgit,
I am pretty sure that I won't be able to finish the task in the next few days. Also I am sure that it needs some decision about where the tool aims at. Do we want to test with custom Required Actions or not? If we change the tests to standard RAs the extension idea of @thomasdarimont would not be needed.
@francis-pouatcha @st3v0rr What do you think about this?

I think it's fine to change the tests since "unknown" required actions are now considered invalid by Keycloak 25.
How about either excluding the individual tests for 25+ or use an existing required action that's not enabled by default?

I analyzed one of the other failing tests ImportClientsIT#shouldUpdateRealmAddAuthorization and it's related to Do not export ids when exporting authorization settings

Hi @bohmber,
I've invested some time on that issue now. I don't see any chance we got to keep that functionality working as the ResourcesResource only has the id-method to get the ResourceResource. If we don't have the id at hand we are kind of lost.
Do you mind to open an issue in the Keycloak-Repo so we might get some alternative or a revert?
Best Regards
Jonas

Hi @thomasdarimont, do you maybe know a solution for the missing id to get the ResourceResource at hand? Or could you maybe speed up things if it is an actual error inside keycloak?

Issue created in keycloak https://github.com/keycloak/keycloak/issues/30519

Hi @st3v0rr @francis-pouatcha, could we please review this one?

Thanks for picking this up again! Just noticed that the version number is still 5.x in the branch, but main is already on 6.x.

Just tested this locally, works great with Keycloak 25.0.1! Great work:
services:

  keycloak:
    image: quay.io/keycloak/keycloak:25.0.1
    environment:

      # Keycloak Admin User
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin

      # Feature config, see: https://www.keycloak.org/server/features
      KC_FEATURES: preview

      # Disable specific features
      #      KC_FEATURES_DISABLED: "device-flow"

      # Logging, see: https://www.keycloak.org/server/logging
      KC_LOG_LEVEL: INFO

      # External frontend hostname, see: https://www.keycloak.org/server/hostname
      KC_HOSTNAME: localhost
      KC_HTTP_PORT: "8080"
      KC_HTTP_ENABLED: "true"
      KC_HTTP_RELATIVE_PATH: "/auth"

      KC_METRICS_ENABLED: "true"
      KC_HEALTH_ENABLED: "true"

      # Log Keycloak success events to the console
      KC_SPI_EVENTS_LISTENER_JBOSS_LOGGING_SUCCESS_LEVEL: "info"
      KC_SPI_EVENTS_LISTENER_JBOSS_LOGGING_ERROR_LEVEL: "warn"

      # Additional JVM options
      JAVA_OPTS_APPEND: "--show-version"

      # Enable Remote Debugging
      DEBUG: "true"
      DEBUG_PORT: "*:18787"

    ports:
      - 8080:8080   # HTTP
      - 8443:8443   # HTTPS
      - 18787:18787 # Java Remote Debug

    command:
      - "--verbose"
      - "start-dev"

  keycloak-config:
    #image: quay.io/adorsys/keycloak-config-cli:6.0.2-22.0.4
    image: docker.io/library/keycloak-config-cli:5.12.1-25.0.1-SNAPSHOT
    environment:
      KEYCLOAK_AVAILABILITYCHECK_ENABLED: "true"
      KEYCLOAK_AVAILABILITYCHECK_TIMEOUT: "180s"
      # see: https://github.com/adorsys/keycloak-config-cli/blob/v5.0.0/CHANGELOG.md
      IMPORT_FILES_LOCATIONS: "/config/*" # IMPORT_PATH: "/config"
      IMPORT_CACHE_ENABLED: "true" # IMPORT_FORCE: "false"
      IMPORT_VAR_SUBSTITUTION_ENABLED: "true" # IMPORT_VARSUBSTITUTION: "true"
      IMPORT_VALIDATE: "true"

      # See https://github.com/adorsys/keycloak-config-cli#log-level
      #LOGGING_LEVEL_KEYCLOAK_CONFIG_CLI: "DEBUG"
      # Note: the above does not work but _KCC does
      LOGGING_LEVEL_KCC: "DEBUG"

      # Veeeeery verbose HTTP log!
      #LOGGING_LEVEL_HTTP: "DEBUG"

      #LOGGING_LEVEL_ROOT: "DEBUG"
      LOGGING_LEVEL_ROOT: "INFO"

      KEYCLOAK_URL: "http://keycloak:8080/auth"
      KEYCLOAK_USER: "admin"
      KEYCLOAK_PASSWORD: "admin"
    volumes:
      - ./realms:/config:z

Example realm config file:
realms/test.yml:
realm: test
enabled: true
displayName: "Test"

One thing that is still missing is to configure the unmanagedAttributePolicy.

I'm at a conference today, so next week might be better to speak via teams.
If the UPConfig is missing, we could just copy the class into the lib and use a custom rest call to set the config.
Alternatively we could just keep the existing
private Map<String, List<Map<String, Object>>> userProfile;

And add special handling for a map entry like "unamangedAttribitePolicy":[ {"value":"ENABLED"}] -> flatten that value when rendering the json.
This would allow us to support the ne property without having to introduce the type.
The dedicated userProfile config option was introduced to make it easier for user to config user profile without using the clumsy component syntax.

Hi @bohmber, I've adapted the proposal from @thomasdarimont, if you see any problem in it, I might also roll it back. But I guess we should find a permanent solution, which fits all needs then ;)

Hi @jonasvoelcker, looks ok so far, thanks

@jonasvoelcker that works for me too! Thank you very much :)


starship: 0.20.1 -> 0.20.2

Motivation for this change
v0.20.2 of Starship was released.
I've also included a commit which adds myself to the maintainers of this package - I've now submitted a handful of PRs to update it (#70385, #69501 and #68922) and I'm happy to help with the continued maintenance of this package. @bbigras are you OK with this?
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @bbigras

@GrahamcOfBorg build starship


Append '.cmd' when needed for an executable on the path

For most nodejs-based language servers, this will allow globally installed servers like "lsp-tsserver" to be found without having to add ".cmd" in the client config for Windows.

Coverage decreased (-0.06%) to 28.153% when pulling da0089cd7fe08fa59ad9f85b034a724b72399e6d on feature-cmd-wrappers into 8c933b82862735bd2788e9b0d0d5feffcc3d5d75 on master.


Tweak the way DaynaPort inet is displayed to the user

Presently, when you attach a DP device without parameters you get a default inet=<IP_ADDRESS>/24 parameter. However, this inet address range is irrelevant for DHCP / piscsi_bridge setups. We've had several instances now when users have been confused by this parameter and configured their clients with a static IP in this range rather than letting their router's DHCP server assign the address.
This ticket is for changing how we display the inet parameter in clients to decrease the risk of misunderstanding.

The network setting that is displayed for the DaynaPort device in the web-interface seems to be hardcoded, because even after changing the setup for the WLAN config as described in https://github.com/PiSCSI/piscsi/issues/1387 I still see <IP_ADDRESS>/24 displayed on the web-interface.

@fdanapfel Did you pass iface parameters when attaching the daynaport device? Either with the -f parameter of scsictl or the FILE object of piscsi proper (upon startup).
One example of the syntax in the man page: https://github.com/PiSCSI/piscsi/blob/main/doc/piscsi_man_page.txt

@rdmark No, as you can see in https://github.com/PiSCSI/piscsi/issues/1387 I'm attaching the DaynaPort device with the following command:
scsictl -i 6 -c attach -t scdp -f wlan0

@fdanapfel Right, so if you want to override the default <IP_ADDRESS>/24 you need to pass a different parameter to piscsi or scsictl as per the above.

@rdmark Yes, I'm aware of this. But the point is that if I manually remove the IP-Address from the piscsi0 interface and delete the bridge the web interface should no longer show the IP-address.


fix(window-start): check if window start is a function before executing

To resolve the bug that causes the application to crash when building with the message: window.start is not a function.

I think it would be safer to wrap everything in if (typeof window !== "undefined")

Roger!

I'm taking this PR opportunity to make a small correction regarding the badges. I've changed the type of the children from "string" to React.ReactNode. Is this okay with you?

I'm taking this PR opportunity to make a small correction regarding the badges. I've changed the type of the children from "string" to React.ReactNode. Is this okay with you?

Sure but why children is now optional ? IMHO it should be a required param.


Update deploy-template.md

Improvement for: https://github.com/MicrosoftDocs/azure-docs/issues/74724
Document now represents correct flow as users develop an ARM template.

@jameswestall : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@mamccrea @surbhijain16 @gachandw Could you review this community contribution and let us know whether and when it can be merged? Thanks!

#sign-off

@mamccrea: I'm sorry - only the author of this article, @gachandw, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@ktoliver - @surbhijain16 has been reviewing this PR and has confirmed that no further action needs to be taken. Can we please merge it?

@mamccrea You bet. Thank you both for following up on the pull request.


Return URLs with ? not properly parsed

When the return URL looks like
https://localhost:6001/#/home?id_token=...&access_token=...&token_type=Bearer
&expires_in=3600&scope=...&state=...&session_state=...

then I get the following JSON from getFragment()
{
  "home?id_token": "...",
  "access_token": "...",
  "token_type": "Bearer",
  "expires_in": "3600",
  "scope": "...",
  "state": "...",
  "session_state": "..."
}

obviously, the home? part should not be in this json. Apparently the issue is because the method getFragment, which parses everything after the # sign, instead of everything after the ? sign:
    getFragment() {
        if (window.location.hash.indexOf("#") === 0) {
            return this.parseQueryString(window.location.hash.substr(1));
        } else {
            return {};
        }
    };

it should probably look like:
    getFragment() {
         const questionMarkPosition = window.location.href.indexOf('?');
         if (questionMarkPosition >= 0) {
             var queryString = window.location.href.slice(questionMarkPosition + 1);
             return this.parseQueryString(queryString);
        }

        if (window.location.hash.indexOf("#") === 0) {
            return this.parseQueryString(window.location.hash.substr(1));
        }

        return {};
        }
    };

thanks for this. This fix will land in the next release in a few days.

apparently, this is not a bug. according to the OpenID standard, Hash routing is required, so the Angular App has to use HTML5 routing.

The new readme contains some info about how to use the new version (just landed) with both, HTML5 routing and hash routing. If Angular uses hash routing, we need to perform one more step in order to prevent Angular from replacing the hash with the tokens before the library has a chance to grab it.


[Test]: Golden Test Fails on CI(Same Platform)

Steps to Reproduce

Run  flutter test --update-goldens on local machine
Run flutter test on CI machine

Expected results:
Test should pass
Actual results:
Test fails
IsolatedDiff

Logs
The following TestFailure object was thrown running a test:
  Expected: one widget whose rasterized image matches golden image "goldens/welcome.png"
  Actual: _WidgetTypeFinder:<exactly one widget with type "LocalizedLytApp" (ignoring offstage
widgets): LocalizedLytApp>
   Which: Golden "goldens/welcome.png": Pixel test failed, 0.32% diff detected.
          Failure feedback can be found at /Users/jenkins/vstsagent/_work/3/s/test/failures

When the exception was thrown, this was the stack:
#0      fail (package:test_api/src/frontend/expect.dart:154:30)
#1      _expect.<anonymous closure> (package:test_api/src/frontend/expect.dart:128:9)
#13     MatchesGoldenFile.matchAsync.<anonymous closure> (package:flutter_test/src/_matchers_io.dart)
<asynchronous suspension>
#14     MatchesGoldenFile.matchAsync.<anonymous closure> (package:flutter_test/src/_matchers_io.dart)
#15     AutomatedTestWidgetsFlutterBinding.runAsync.<anonymous closure> (package:flutter_test/src/binding.dart:921:22)
#18     AutomatedTestWidgetsFlutterBinding.runAsync (package:flutter_test/src/binding.dart:919:26)
#19     MatchesGoldenFile.matchAsync (package:flutter_test/src/_matchers_io.dart:72:20)
#20     _expect (package:test_api/src/frontend/expect.dart:117:26)
#21     expectLater (package:test_api/src/frontend/expect.dart:76:5)
#22     expectLater (package:flutter_test/src/widget_tester.dart:406:10)
#23     main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/jenkins/vstsagent/_work/3/s/test/widget_test.dart:43:15)
#34     FakeAsync.flushMicrotasks (package:fake_async/fake_async.dart:192:32)
#35     AutomatedTestWidgetsFlutterBinding.runTest.<anonymous closure> (package:flutter_test/src/binding.dart:1102:19)
(elided 35 frames from dart:async, dart:async-patch, and package:stack_trace)

flutter doctor -v on CI machine
[✓] Flutter (Channel master, 1.18.0-9.0.pre.123, on Mac OS X 10.15.4 19E287, locale en-DK)
    • Flutter version 1.18.0-9.0.pre.123 at /Users/jenkins/vstsagent/_work/3/flutter
    • Framework revision a48a51b0ff (56 minutes ago), 2020-05-05 09:54:21 -0700
    • Engine revision 494a63c411
    • Dart version 2.9.0 (build 2.9.0-3.0.dev cab69e7706)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/jenkins/Library/Android/sdk
    • Platform android-29, build-tools 28.0.3
    • ANDROID_HOME = /Users/jenkins/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4.1, Build version 11E503a
    • CocoaPods version 1.9.1

[!] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.41.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1

[!] Connected device
    ! No devices available

! Doctor found issues in 2 categories.

flutter doctor -v on local machine
[✓] Flutter (Channel master, 1.18.0-9.0.pre.122, on Mac OS X 10.15.4 19E287,
    locale en-DK)
    • Flutter version 1.18.0-9.0.pre.122 at /Users/b044560/Development/flutter
    • Framework revision 9a99403ad2 (15 hours ago), 2020-05-04 22:29:02 -0400
    • Engine revision 95ecd9a405
    • Dart version 2.9.0 (build 2.9.0-5.0.dev e7bebea059)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/b044560/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/b044560/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4.1, Build version 11E503a
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build
      1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.44.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.10.1

[✓] Connected device (3 available)
    • Nota’s iPhone  • 00008030-001470DE010A802E • ios            • iOS 13.3.1
    • Web Server     • web-server                • web-javascript • Flutter
      Tools
    • Chrome         • chrome                    • web-javascript • Google
      Chrome 81.0.4044.129

• No issues found!

Hi @838
according to the docs

When running flutter test locally without the --update-goldens flag, your test will pass, as it does not yet have a baseline for comparison on the Flutter Gold dashboard. The test will be recognized as new, and provide output for validation.

so it is possible that the issue is within the code
and the test is passing in one occasion for the reason mentioned above
can you please provide a reproducible minimal code sample.
Thank you

I'm having similar issue with Github Actions when testing widget with golden tests, I'm running 1.17 stable Flutter on MacOS and using Ubuntu with Github Actions:
Example widget:
import 'package:flutter/material.dart';

class ShowErrorWidget extends StatelessWidget {
  const ShowErrorWidget(
      {Key key, @required message, @required retryFunction, icon})
      : _message = message,
        _retryFunction = retryFunction,
        _icon = icon,
        super(key: key);

  final String _message;
  final Function _retryFunction;
  final IconData _icon;

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: _retryFunction,
      child: Center(
        child: Padding(
          padding: const EdgeInsets.all(28.0),
          child: Column(
            children: <Widget>[
              Icon(
                _icon != null ? _icon : Icons.error_outline,
                color: Colors.red[200],
                size: 50,
              ),
              Text(_message),
              Text('Retry?'),
            ],
          ),
        ),
      ),
    );
  }
}

Test file:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:presentation/widgets/show_error_widget.dart';

import 'widget_tester_app.dart';

extension SetScreenSize on WidgetTester {
  Future<void> setScreenSize(
      {double width = 540,
      double height = 960,
      double pixelDensity = 1}) async {
    final size = Size(width, height);
    await this.binding.setSurfaceSize(size);
    this.binding.window.physicalSizeTestValue = size;
    this.binding.window.devicePixelRatioTestValue = pixelDensity;
  }
}

void main() {
  testWidgets('Widget golden test', (WidgetTester tester) async {
    await tester.setScreenSize(width: 414, height: 736);
    await tester.pumpWidget(
      WidgetTesterApp(
        child: ShowErrorWidget(
          message: 'Ops..',
          retryFunction: null,
        ),
      ),
    );

    await expectLater(
      find.byType(ShowErrorWidget),
      matchesGoldenFile('showErrorWidget.png'),
    );
  });
}

Github Action used:
# This is a basic workflow to help you get started with Actions

name: Flutter tests runner

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

 A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
    # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
    - uses: actions/checkout@v2

    - name: Flutter action
      uses<EMAIL_ADDRESS>
    - name: Run presentation test
      run: |
        cd app/presentation
        flutter pub get
        flutter test

Error from Github:
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure object was thrown running a test:
  Expected: one widget whose rasterized image matches golden image "showErrorWidget.png"
  Actual: _WidgetTypeFinder:<exactly one widget with type "ShowErrorWidget" (ignoring offstage
widgets): ShowErrorWidget>
   Which: Golden "showErrorWidget.png": Pixel test failed, 0.27% diff detected.
          Failure feedback can be found at
/home/runner/work/StopPoking/StopPoking/app/presentation/test/widgets/failures

probably the same as https://github.com/flutter/flutter/issues/36667
Looks like it's different between osx and linux.

Found the difference 🎉
On OSX default font smoothing is enabled, and It looks flutter 1.7 is using that setting too in tests... So quickfix is disable "Use font smoothing when available"

Don't know yet if there is a way to disable it

It worked for me with font smoothing and using macos-latest and flutter 1.17.0 stable on Github Actions

On OSX default font smoothing is enabled, and It looks flutter 1.7 is using that setting too in tests... So quickfix is disable "Use font smoothing when available"

@krispypen
Nice catch 👏,
I also confirm that it does fix the issue by disabling the "font smoothing" on both Dev and CI platform(macOS).

Hi @838
given your last message I feel safe to close this issue,
if you disagree please write in the comments and I will reopen it.
Thank you

Is there a way to do this programmatically or by passing an argument to flutter test?

@derolf
You disable the FontSmoothing option by running this command:
'defaults -currentHost write -g AppleFontSmoothing -int 0'

So, I am actually kinda happy with the following workaround. It removes all texts, but renders yellow boxes instead:
///
/// This is a customized `PaintingContext` that allows the re-render the entire `RenderObject`-tree and remove all texts.
///
/// Usage:
/// ```
///    final layer = OffsetLayer();
///    final paintContext = MyPaintContext(layer, Offset.zero & renderObject.size, removeTexts: true);
///
///    paintContext.paintChild(renderObject, Offset.zero);
///    paintContext.stopRecordingIfNeededX();
///
///    final image = await layer.toImage(Offset.zero & renderObject.size);
///```
///
class MyPaintContext extends PaintingContext {
  MyPaintContext(ContainerLayer containerLayer, Rect estimatedBounds, {required this.removeTexts}) : super(containerLayer, estimatedBounds);

  final bool removeTexts;

  void stopRecordingIfNeededX() => stopRecordingIfNeeded();

  @override
  void paintChild(RenderObject child, Offset offset) {
    if (removeTexts && child is RenderParagraph) {
      final Paint paint = Paint()..color = Colors.yellow;
      canvas.drawRect(offset & child.size, paint);
      return;
    }
    child.paint(this, offset);
  }

  @override
  PaintingContext createChildContext(ContainerLayer childLayer, Rect bounds) => MyPaintContext(childLayer, bounds, removeTexts: removeTexts);
}

@TahaTesser should we close this? I think Flutter goldens should not fracture depending on a macOS System Preferences default setting.

I just stumbled on this and noticed that the workaround of disabling the "Use font smoothing" on the general settings of the MacOS don't work anymore because on the latest Big Sur, that option was removed.
But I have found a command that can be used on the terminal for the same effect, I am leaving this command here in the hope that it will help people facing this same issue
$ defaults -currentHost write -g AppleFontSmoothing -int 0

I'm totally ignorant to how the rendering works in Flutter. Are we unable to disable font smoothing during golden tests? Are we unable to paint text spans as rectangles like with the shim shown above?

It would be nice to inject a mocked font painter into Flutter. Actually that shouldn’t be too hard.

I reopen subject,
This not working when disable font smoothing by :
$ defaults -currentHost write -g AppleFontSmoothing -int 0
I still have differences in goldens between macOs and my CI.
Mac OS : MacOs Big Sur 11.5.2
Gitlab CI : cirrusci/flutter:latest
Flutter : 2.5.1

I'm also having this issue. Local and CI on same macos version, tried both font smoothing settings.

I confirm it's still not working on Flutter 3.3.9, even if I disabled AppleFontSmoothing, on CI with macos-12.
So we can't use golden test in CI actually.

Can it be a good thing to add a diff tolerance for golden comparison ?
I made a https://github.com/PiotrFLEURY/custom_comparator POC that makes golden tests pass if the diff percentage exceed a specified tolerance value (0.05% for example).
I think that it can be a good compromise for teams composed of members coding on various OS and using a CI on another one.
In this POC, a Golden test generated on Ubuntu 22.04 can be successfully executed and compared to the Linux generated golden file even on Windows, MacOS and different version of Ubuntu.
https://github.com/PiotrFLEURY/custom_comparator/actions/runs/3557887513
What do you think ?

I tried to author a PR where each golden test had it's own tolerance setting, but a few days prior a global tolerance setting was added. I think tolerance on individual goldens is a good escape hatch for a seemingly difficult problem to solve.

We also ran into this issue, but decided not to go the tolerance setting route and instead change our CI process to the following before merging in a feature branch:
1- Generate goldens using master branch
2- Run the golden test in the feature branch
3- Check for anomalies
Always using the same machine.
The reason we did this is because we found cases where the error % due to platform differences can be higher than the error % from numerical errors we'd like to catch in Strings shown on the app (in the order of 1% vs 0.05%).

@raladdin so you dont commit your goldens am I right?

@raladdin but what do you do when diff is expected? f.e I did some changes in ui because of redesign. do you just ignore that your tests failed or smth else?

We also ran into this issue, but decided not to go the tolerance setting route and instead change our CI process to the following before merging in a feature branch:
1- Generate goldens using master branch
2- Run the golden test in the feature branch
3- Check for anomalies Always using the same machine.
The reason we did this is because we found cases where the error % due to platform differences can be higher than the error % from numerical errors we'd like to catch in Strings shown on the app (in the order of 1% vs 0.05%).

Why not create a new option to the flutter test command ?
This way, the process explained by @raladdin could be usable out of the box in any use case (dev laptop + CI)
Maybe
flutter test --golden-ref main

where --golden-ref is the option to specify the GIT reference for golden files generation
and main is the GIT reference (commit, branch, tag...)
The most complicated part is about the GIT operations to perform in order to generate the goldens without losing any ongoing change.
Any opinion ?

We also ran into this issue, but decided not to go the tolerance setting route and instead change our CI process to the following before merging in a feature branch:
1- Generate goldens using master branch
2- Run the golden test in the feature branch
3- Check for anomalies Always using the same machine.
The reason we did this is because we found cases where the error % due to platform differences can be higher than the error % from numerical errors we'd like to catch in Strings shown on the app (in the order of 1% vs 0.05%).

Why not create a new option to the flutter test command ? This way, the process explained by @raladdin could be usable out of the box in any use case (dev laptop + CI)
Maybe
flutter test --golden-ref main

where --golden-ref is the option to specify the GIT reference for golden files generation and main is the GIT reference (commit, branch, tag...)
The most complicated part is about the GIT operations to perform in order to generate the goldens without losing any ongoing change.
Any opinion ?

Hi everyone !
I digged into this idea using same principle as @raladdin and searching for a one shot solution.
I recently discovered git worktree command which allow to use multiple git branches a time and this will definitely be useful for this use case
I wrote a POC shell script to test this workflow
https://gist.github.com/PiotrFLEURY/046076ce4b807930387cb97eee4e29bc
This script can help to check if your local changes (or your branch) break something compared to a specific git reference or branch.
The only thing that this will not catch will be breakings from the Flutter or Dart SDK itself because of the systematic golden files generation
This solution requires golden files are ignored by your git repository
I wonder if we can include it in the Flutter CLI


Batch states now include running, complete, and failed

Fixes #710
Batch is complete when all jobs are in a final (stable) state and is failed if all jobs are in the failed state.
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Presumably this will need a DB upgrade, yeah?

Oh yeah, nice catch @kofalt.
@hkethi002 we could import the function you use to determine status and just iterate over the batch items.

Changes look good.

Requires SDK signoff


Issue with Sheet Component

In this code when I am clicking on submit button and if the validation fails the sheet gets closed automatically, is there a solution for that
const Reject = ({
  trigger,
  isOpen,
  setOpen,
}: {
  trigger: React.ReactNode;
  isOpen: boolean;
  setOpen: React.Dispatch<React.SetStateAction<boolean>>;
}) => {
  const { setNotification } = useNotification();

  const [hasTalked, setHasTalked] = useState<string>();

  const [isRejecting, setIsRejecting] = useState<boolean>(false);

  const onRejectCAFirm = async (e) => {
    setIsRejectingCAFirm(true);

    if (hasTalked === undefined) {
      setNotification({
        show: true,
        valid: false,
        title: 'Error',
        message: 'Please tell us whether the call was done or not.',
      });
      return false;
    }

    const body = {
      x: hasTalkedToCA,
    };

    console.log({ body });

    setIsRejectingCAFirm(false);
    return true;
  };

  return (
    <Sheet open={isOpen} onOpenChange={setOpen}>
      <SheetTrigger asChild>{trigger}</SheetTrigger>
      <SheetContent onClick={(e) => e.stopPropagation()}>
        <SheetHeader>
          <SheetTitle>Not a good fit?</SheetTitle>
          <SheetClose className="rounded-sm text-neutral-4 hover:text-neutral-1 transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none">
            <X className="h-6 w-6" />
            Close
          </SheetClose>
        </SheetHeader>

                Did you speak to{' '}
                {caFirm.users.find((user) => user.isAdmin).user.name}?

              <RadioGroup
                className="gap-4"
                value={hasTalkedToCA}
                onValueChange={(value) => setHasTalkedToCA(value)}
              >

                  <RadioGroupItem value="yes" id="yes" />

                    Yes

                  <RadioGroupItem value="no" id="no" />

                    No

              </RadioGroup>

        <SheetFooter className="grid grid-cols-2 space-x-0">
          <Button
            variant="secondary"
            className="rounded-none border-none w-full h-full"
            onClick={() => setOpen(false)}
          >
            Cancel
          </Button>
          <Button
            className="rounded-none border-none w-full h-full"
            onClick={(e) => {
              e.stopPropagation();
              onRejectCAFirm(e);
            }}
          >
            {isRejectingCAFirm ? <Spinner /> : 'Submit & Reject'}
          </Button>
        </SheetFooter>
      </SheetContent>
    </Sheet>
  );
};

It seems like the issue you're facing is that when the validation fails and the error notification is shown, the sheet closes automatically. This behavior might be happening because the onClick event on the submit button is calling setOpen(false) when the Cancel button is clicked. To prevent the sheet from closing when validation fails, you can conditionally set setOpen(false) only when the validation succeeds.
Here's how you can adjust the code:
`<Button
variant="secondary"
className="rounded-none border-none w-full h-full"
onClick={() => {
// Only close the sheet if validation succeeds
if (onRejectCAFirm()) {
setOpen(false);
}
}}

Cancel
`
By wrapping setOpen(false) within the condition that checks if onRejectCAFirm() returns true, the sheet will only close if the validation is successful. If the validation fails and onRejectCAFirm() returns false, the sheet will remain open, allowing the user to correct the validation error.
I hope it works well for u <3

Nope it does not seems to solve the problem here

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Change the package name as babel-plugin-react-docgen

This allows others to discover babel plugin on NPM.
And it's sounds nice :)

Done


fix typescript annotations

I was getting some errors from the typing, so I fixed it.
node_modules/@yimura/scraper/index.d.ts:10:1 - error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.

10 const Constants = {
   ~~~~~

node_modules/@yimura/scraper/index.d.ts:10:19 - error TS1254: A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.

10 const Constants = {
                     ~
11   SearchTypes,
   ~~~~~~~~~~~~~~
12   YoutubeURL: URL.prototype,
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 }
   ~

node_modules/@yimura/scraper/index.d.ts:11:3 - error TS2693: 'SearchTypes' only refers to a type, but is being used as a value here.

11   SearchTypes,
     ~~~~~~~~~~~

node_modules/@yimura/scraper/index.d.ts:92:10 - error TS1040: 'async' modifier cannot be used in an ambient context.

92   public async search(query: string, options?: SearchOptions): Promise<Results>;
            ~~~~~

Thanks for your contribution, I don't use TypeScript so I rely on community contributions for typescript annotations.
I will merge it into master and try to publish it asap.

Your changes have been pushed to npmjs.

@Yimura  thanks for your fast response !


jar-dependencies-0.1.15 appears to be required for successful install of fast-rsa-engine 0.1.0

Just tried to do a simple gem install but was getting an error.
1.7.19@fast-rsa master ~/···/lookout/fast-rsa-engine> ruby --version
jruby 1.7.19 (1.9.3p551) 2015-01-29 20786bd on Java HotSpot(TM) 64-Bit Server VM 1.8.0_05-b13 +jit [darwin-x86_64]

Here's the message I was receiving:
1.7.19@fast-rsa master ~/···/lookout/fast-rsa-engine> gem install fast-rsa-engine
Fetching: fast-rsa-engine-0.1.0-java.gem (100%)
  jar dependencies for fast-rsa-engine-0.1.0-java.gemspec . . .
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
	at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory -<EMAIL_ADDRESS>
After installing jar-dependencies-0.1.15 the same gem install works.
1.7.19@fast-rsa master ~/···/lookout/fast-rsa-engine> gem install fast-rsa-engine
Fetching: fast-rsa-engine-0.1.0-java.gem (100%)
Successfully installed fast-rsa-engine-0.1.0-java
1 gem installed

@blaines there's also some issues with the utilization of fast-rsa-engine on older versions of JRuby like 1.7.19, which I believe has been fixed in the latest HEAD

this is kind of weird since Unsupported major.minor version 51.0 means some spawning of java picks up a java6
not sure why installing jar-dependencies ahead should/could help. let's if I can reproduce this somehow

I don't think I have a java6 but maybe I don't know everything that is installed...
1.7.18 master ~> ls -al /Library/Java/JavaVirtualMachines/jdk1.
jdk1.7.0_45.jdk/ jdk1.7.0_51.jdk/ jdk1.8.0_05.jdk/

@blaines Apple ships by default with a JDK6 compatible JVM (IIRC), so perhaps the system Java is being used somehow


Day3 grading

This includes all the parts for grading for day 3 including feedback.
May need a bit more testing (we are on it), but for the correct results we checked and it worked.

@HuangJunye Here is the pull request as promised


samples: cfb: remove unused variable and fix style

Remove unused variable and fix style.

Codecov Report

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

@@           Coverage Diff           @@
##           master   #13057   +/-   ##
=======================================
  Coverage   48.63%   48.63%
=======================================
  Files         313      313
  Lines       46436    46436
  Branches    10710    10710
=======================================
  Hits        22585    22585
  Misses      19395    19395
  Partials     4456     4456

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 2e6892c...ae5dfae. Read the comment docs.


publish dry-run is using wrong version of workspace dependency

I'm using this config:
% cat release.toml
tag = false
consolidate-commits = true
consolidate-pushes = true
shared-version = true
pre-release-commit-message = "Release {{version}}"

and this command:
cargo release 0.15.0 --workspace

I intend to update all crates in the workspace to 0.15.0 and upload them to crates.io. The previous release was 0.14.2, publishing fails like this:
% cargo release 0.15.0 --workspace
[2021-10-16T12:22:48Z WARN  cargo_release::config] Negative config values are deprecated (`no_`, `disable_`)
[2021-10-16T12:22:50Z INFO  cargo_release] Update rebuilderd-common to version 0.15.0
[2021-10-16T12:22:50Z INFO  cargo_release] Fixing rebuildctl's dependency on rebuilderd-common to `=0.15.0` (from `=0.14.2`)
[2021-10-16T12:22:50Z INFO  cargo_release] Fixing rebuilderd's dependency on rebuilderd-common to `=0.15.0` (from `=0.14.2`)
[2021-10-16T12:22:50Z INFO  cargo_release] Fixing rebuilderd-tests's dependency on rebuilderd-common to `=0.15.0` (from `=0.14.2`)
[2021-10-16T12:22:50Z INFO  cargo_release] Fixing rebuilderd-worker's dependency on rebuilderd-common to `=0.15.0` (from `=0.14.2`)
[2021-10-16T12:22:50Z INFO  cargo_release] Update rebuilderd to version 0.15.0
[2021-10-16T12:22:50Z INFO  cargo_release] Fixing rebuilderd-tests's dependency on rebuilderd to `=0.15.0` (from `=0.14.2`)
[2021-10-16T12:22:50Z INFO  cargo_release] Update rebuilderd-tests to version 0.15.0
[2021-10-16T12:22:50Z INFO  cargo_release] Update rebuildctl to version 0.15.0
[2021-10-16T12:22:50Z INFO  cargo_release] Update rebuilderd-worker to version 0.15.0
[2021-10-16T12:22:50Z INFO  cargo_release] Running cargo publish on rebuilderd-common
    Updating crates.io index
   Packaging rebuilderd-common v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/common)
   Verifying rebuilderd-common v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/common)
   Compiling autocfg v1.0.1
   Compiling libc v0.2.104
   Compiling cfg-if v1.0.0
[...]
   Compiling reqwest v0.11.5
   Compiling rebuilderd-common v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/target/package/rebuilderd-common-0.14.2)
    Finished dev [unoptimized + debuginfo] target(s) in 1m 27s
   Uploading rebuilderd-common v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/common)
warning: aborting upload due to dry run
[2021-10-16T12:24:18Z INFO  cargo_release] Running cargo publish on rebuilderd
    Updating crates.io index
   Packaging rebuilderd v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/daemon)
   Verifying rebuilderd v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/daemon)
   Compiling libc v0.2.104
   Compiling proc-macro2 v1.0.30
[...]
   Compiling actix-web v3.3.2
   Compiling rebuilderd-common v0.14.2 [NOTE: this is the previous release of a workspace dependency!]
   Compiling diesel_migrations v1.4.0
   Compiling rebuilderd v0.14.2 (/home/user/repos/kpcyrd/rebuilderd/target/package/rebuilderd-0.14.2)
error[E0432]: unresolved import `rebuilderd_common::VersionCmp`
 --> src/sync.rs:4:37
  |
4 | use rebuilderd_common::{PkgRelease, VersionCmp};
  |                                     ^^^^^^^^^^ no `VersionCmp` in the root

[...]

Some errors have detailed explanations: E0061, E0308, E0432, E0560, E0609.
For more information about an error, try `rustc --explain E0061`.
error: failed to verify package tarball

Caused by:
  could not compile `rebuilderd` due to 14 previous errors

Isn't this a duplicate of #335?


Question: Why swap_remove?

I see you use swap remove here https://github.com/mrhooray/kdtree-rs/blob/master/src/kdtree.rs#L268, I was wondering why is that, if you iterate over a vector using swap remove, you'll pop the first element and make the last element first, and so forth, this will end up on removing the first element and then exhausting the array in reverse order.
What's the algorithmic difference with like iterating over the points in forward order, or in reverse order using pop for instance?

None. Using into_iter wod have work just as well. I think I did it that way in some branch.


chore: bdd-spring-1575477447 to 0.0.1

chore: Promote bdd-spring-1575477447 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[DOC] Monitoring metrics are misnamed

Change in the documentation
This page shows:
flagd expose following metrics,
http.server.duration
http.server.response.size
http.server.active_requests
feature_flag.flagd.impression
feature_flag.flagd.evaluation.reason

Typo: expose should be exposes
The metrics are misnamed:

http.server.duration is actually # TYPE http_server_duration_seconds histogram
http.server.response.size is actually # TYPE http_server_response_size_bytes histogram
http.server.active_requests is actually # TYPE http_server_active_requests gauge
feature_flag.flagd.impression is actually # TYPE feature_flag_flagd_impression_total counter
feature_flag.flagd.evaluation.reason is actually # TYPE feature_flag_flagd_evaluation_reason_total counter

We should consider adding a line to this page to say "These metrics will only appear after the first flag evaluation"

Hey @agardnerIT, I've fixed the typos. The documented metric names are correct and follow OTel's recommended naming convention. However, Prometheus, Dynatrace, and likely others have different metric naming requirements. I've added a disclaimer that the metric names may be transformed by the consuming monitoring tool.


Improve handling of CLI versions

This PR bundles together a few commits that improve how the Action handles what CLI version is being used. In particular:

We can cache the result of codeql version to avoid spawning the process many times. This will be important since the later changes will result in us using the version much more frequently.
A few flags that are only available in recent CodeQL CLIs are moved to be behind a version check, so we can be compatible with older versions. @henrymercer I'd be very keen to have your eyes on this commit to let me know if you foresee any issues with not passing those flags (we don't need full functionality, but we shouldn't break either).
The Action now checks that the CodeQL version is above a constant of CODEQL_MINIMUM_VERSION that records the oldest version we support. This is currently set to 2.3.1 when some breaking changes to how the tracing environment is configured occurred.
The PR checks now also test against the oldest supported version in addition to the version in the toolcache, the latest release, and the latest nightly build.

I think the integration tests workflow is in need of some refactoring now that I have added this additional complexity to it, but I propose delaying this to a later PR.

However I'm unsure whether --sarif-category works without --sarif-group-rules-by-pack

I would be very surprised if these had an effect on each other, so I think this change is fine.


⚠ Bofrost.at has degraded performance

In 452e7f2, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2426 ms

Resolved: Bofrost.at performance has improved in 2cfc1e2.


Nested Validation

Hello,
I'm using angular-formly to fill a step by step(material accordion) form. In each step user has to fill some required field inside the accordion.  Please see in the attachment for reference.
Problem
When user clicks on submit button without filling required field i want to highlight the particular accordion.
Example In the attached image there are 6 steps(accordions) where in each steps there are some required fields to be filled. If any of the required field is missing in any of the accordion like in step 5 Name is missing. Therefore, on clicking proceed to review button step 5 accordion header should be highlighted.

Not sure how your form is built but the main idea is that each step has its own form where you can check its validity and get the invalid index that allows you to nav or open the invalid step.


Revert BLS public key and signature in BlockProducerInfo (#567)

Current dependencies on/for this PR:

feature/proof-of-stake

PR #570

PR #575

PR #576   👈

This comment was auto-generated by Graphite.


Parse paths aside from imports like jest.unmock('~/some/file')

When using jest tests, I often get a case like this:
jest.unmock('../../../classes/feed.js');
import Feed from '~/classes/feed';

I can use the nice project-relative path in the import statements, but not in the unmock paths.
I think this is not specifically related to a jest usecase, but rather a general issue.
Is it possible to include some functionality that allows the use of '~/...' in such cases? Maybe something like jest.unmock(pathToRoot('~/classes/feed.js'))?

Hm.. if it's okay to use every time the pathToRoot function you can just create some function which replaces the ~ with the basic path.
You could use the plugin/helper.js functions.. :)

Thanks, I'm gonna try that. Closing this for now, assuming it's going to help me ;)


Some datasets are not found

Trafikkdata - Statistikk for example.

After generating new pdf parse events all data was persisted


feat: increase performance by no longer using Git stashes

This experimental rewrite no longer uses git stashing, thus increasing performance.
It also renames the --no-stash option to --no-reset, but leaves the former as a hidden option (with warning) for backwards compatibility.

This would address issues we have with lint-staged in a monorepo when running the script in parallel.

This would address issues we have with lint-staged in a monorepo when running the script in parallel.
.. Or would it? :-D

@wbern do you mean running lint-staged itself in parallel? The problem is the patch filename is static...
Does running lint-staged --no-stash speed it up? I don't think this improves anything if you're already doing that.

I haven't tried with no stash, just started investigating.
Yes, we want to run lint staged in parallel but git stash ate our code

@wbern in the meantime, maybe you can try running with --no-stash to see if it improves performance. Be aware that it will not revert changes on error and leave the working as-is in case of failures (and linters have edited files).


Silence error

When i put invalid datas to $validator->check(), nothing happens. For example, array instead of object.

#41 was merged May 28, 2013


Adds customizer to discover and react to unknown change sets

Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[x] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
Adds a Customizer to be used in Spring that allows to discover change sets that are not known to an application. Typically this can be used to prevent an application's startup as described here: https://github.com/spring-projects/spring-boot/issues/42699 as experienced in this scenario:
1. An application with Liquibase was updated from version 1 to version 2 on Kubernetes.
2. The application started up and applied a new Liquibase change set.
3. The startup failed for different reason and an automatic rollback was applied.
4. Version 1 of the application came back up, seeing the change set of version 2.
5. The application started but misbehaved in a rather destructive manner due to an unforeseen consequence of the new data model in combination with the old SQL.

Things to be aware of
This listener has become possible after the Customizer API was introduced.
Things to worry about
I am not entirely sure if this is correct with the details of Liquibase's API, but it worked for my tests.
Additional Context
This solves an actual production issue that I experienced. The Spring team suggested a convenience configuration might be added to Spring Boot if this feature is maintained within Liquibase.

Do I need to sign some CA to make this fossa scan step work?

Do I need to sign some CA to make this fossa scan step work?

Don't worry, we need to fix this one for contributed PRs.

I tested locally, at least. I am not entirely sure if ContextRefreshedEvent is the right event, but I think it is. Possibly, one could ask the Spring team for feedback. @wilkinsona, what do you think?

As I understand the problem, it could occur in any situation where Liquibase is used and a rollback of an application deployment doesn't also rollback the database change sets such that the old app's left looking at the new schema. With this in mind, I don't see a need to couple this enhancement SpringLiquibase and its Customizer callback. Could it not be implemented with "plain" Liquibase, thereby broadening its benefit and also making it easier to test?

I agree that this might be a better approach. The main reason to bind this to SpringLiquibase was the way it was discovered. The class could however just implement the Consumer interface, too, and offer similar functionality independently of an integration.
This way I could also write tests.
Should I adjust this PR?

Tests would be nice!
But regarding usage, I can't imagine other use cases for it. As for command line and Maven we already provide the unexpectedChangesets command, and if you use liquibase as a library you can use the same code that was added here. Also having unexpected changesets not always means that you have a problem, so we can't take any action for the user besides warning him. But by refactoring and moving some code to liquibase-standard you can add any tests that you want !

I think more of being able to integrate it with micronaut and quarkus, for example. Those could certainly make use of this if it was plain Liquibase.

@filipelautert Here is a new suggestion, that I think offers a better abstraction without requiring the use of Spring. I also added tests.

I pushed the suggestion to this branch: https://github.com/raphw/liquibase/tree/integration-change-set

I pushed the suggestion to this branch: https://github.com/raphw/liquibase/tree/integration-change-set

@raphw sorry for the delay to answer and thanks for the new branch. Seems a better approach, can you merge it to your master so we have it in this PR?

Super. Merged!

I am wondering. In:
        liquibase.getDatabaseChangeLog().getChangeSets().stream().map(changeSet -> new ChangeSetInfo(
                changeSet.getId(),
                changeSet.getFilePath(),
                changeSet.getAuthor())).forEach(applied::add);
        liquibase.listUnexpectedChangeSets(contexts, labelExpression).stream().map(changeSet -> new ChangeSetInfo(
                changeSet.getId(),
                changeSet.getChangeLog(),
                changeSet.getAuthor())).forEach(unexpected::add);

Will changeSet.getFilePath() be the same as changeSet.getChangeLog()? Before I called changeSet.getChangeSet().getFilePath(), but I am not sure if that is the same or which one should be used.

Will changeSet.getFilePath() be the same as changeSet.getChangeLog()? Before I called changeSet.getChangeSet().getFilePath(), but I am not sure if that is the same or which one should be used.

Yes, they should be always the same , so this fix is fine!


Update to Fabric 1.21

Fabric (i think) supports Quilt too, so the mod can be used on both loaders.
Will (probably) support Sinytra Connector whenever it updates.
Maybe works with other Minecraft versions? I removed any mc version limitations but i'm not sure how the fabric loader will handle the mod.

Please make the PR merge into the 1.19-quilt branch, otherwise the code diff is unreadable...

ah my bad, i changed it now

Merged into new branch fabric-1.21


improved logging

Deployed a running version and had a locust run. Traces now only contain our own log entries
<EMAIL_ADDRESS>@msimecek  would be great if you can review and give feedback if these traces are ok or should we move even more to debug()?


WIP: Add OPENSSL_PIC again

This is experimental, to see if it makes a difference to Travis

Experiment over, closing


error: inflate: data stream error (incorrect data check)

Describe the bug
After factory reset and backup openpilot folder under data, I git clone a copy and plan to checkout master-ci.
cd /data
mv openpilot openpilot.backup
git clone https://github.com/commaai/openpilot.git
Then I receive error as:
**
root@localhost:/data$ git clone https://github.com/commaai/openpilot.git
Cloning into 'openpilot'...
remote: Enumerating objects: 45, done.
remote: Counting objects: 100% (45/45), done.
remote: Compressing objects: 100% (39/39), done.
error: inflate: data stream error (incorrect data check)iB/s
fatal: pack has bad object at offset 3891079: inflate returned -3
fatal: index-pack failed
**
Expected behavior
I expected to git clone.
Device/Version information (please complete the following information):

Device: [comma two]
Version: [0.8.2]

This is not an openpilot issue, but make sure your device has enough memory and a stable internet connection.


Make Shake more applicative

Reading through the documentation, I notice multiple admonitions that you should use fewer calls to need so that things can be built in parallel. We have a name for this pattern and it is called an applicative functor. Shake should be able to take advantage of code which does not use monadic bind and is applicative, to automatically coalesce calls to need.

I'd argue that the Haxl project has a name for this pattern, but actually, Haskell doesn't - everyone expects >> and <*> to be roughly the same, and having different levels of parallelism between them is confusing, albeit mostly allowed by the semantics (but not super much when you have IO). I put some notes https://github.com/ndmitchell/shake/issues/269#issuecomment-115613931, but it probably deserves to be an FAQ.

Yeah, I've noticed that Simon Marlow has been doing some work to support this in Haxl, e.g. applicative do: https://ghc.haskell.org/trac/ghc/wiki/ApplicativeDo
It is true that Haskell historically hasn't made a good distinction between these two operators. However, with AMP, I think that the standard library is getting a lot closer at supporting "applicative programming", and this is something that can be solved with user training. Simon Marlow might be able to say more about this.

To my mind, anyone who writes two need operations on subsequent lines, assuming they will be fused together automagically, should probably write a comment stating their expectations. As a result, you might as well just write one need, and simplify the code and intentions.
That's not to say that if this becomes the expected semantics that I can't adjust in future - the Shake interface leaves room both ways. However, in my experience writing Shake builds, there's rarely a problem with insufficient parallelism and I don't often see excessive sequential needs which have real performance impact.
Tagging this ticket website, since I think it can be resolved by making a coherent argument and putting it in the FAQ. If that argument isn't coherent enough to convince people then we can revisit.

I decided in the end my argument was that Shake is about writing and doing a few operations in each rule, Haxl is the opposite, which leads to the difference. Argument below and on the website:
In Shake, need xs >> need ys will build xs in parallel, then afterwards build ys in parallel. The same is true of need xs *> need ys, where *> is the applicative equivalent of >>. In contrast, Haxl will execute both arguments to *> in parallel. For Shake, you are encouraged to merge adjacent need operations (e.g. need (xs++ys)), and where that is not possible (e.g. when using askOracle) use parallel explicitly.
Shake could follow the Haxl approach, but does not, mainly because they are targeting different problems. In Haxl, the operations are typically read-only, and any single step is likely to involve lots of operations. In contrast, with Shake the operations definitely change the file system, and there are typically only one or two per rule. Consequently, Shake opts for an explicit approach, rather than allow users to use *> (and then inevitably add a comment because its an unusual thing to do).


Codeunit 22 new event on procedure InitCorrItemLedgEntry

Hi,
We need a new event on Codeunit 22 procedure InitCorrItemLedgEntry :
.....
 OnBeforeInsertCorrItemLedgEntry(NewItemLedgEntry, OldItemLedgEntry, ItemJnlLine);
        NewItemLedgEntry.Insert();
        OnAfterInsertCorrItemLedgEntry(NewItemLedgEntry, ItemJnlLine, OldItemLedgEntry);

        if NewItemLedgEntry."Item Tracking" <> NewItemLedgEntry."Item Tracking"::None then
            ItemTrackingMgt.ExistingExpirationDate(NewItemLedgEntry, true, EntriesExist);

       // > New event
          if NewItemLedgEntry."Item Tracking" <> NewItemLedgEntry."Item Tracking"::None then
               OnExistingManufactDate(NewItemLedgEntry, EntriesExist);
       // < New event

....

 [IntegrationEvent(false, false)]
    local procedure OnExistingManufactDate(var NewItemLedgEntry: record "Item Ledger Entry"; var EntriesExist: Boolean);
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Missing selenium completion

@karthiknadig thank you for your reply! Yes, I have tried to use the extension pylance, when I input "driver.f" it will prompt "driver.find_element_by_xpath", but when I continue to reference the method ".sent", it still doesn't give any prompt.
Originally posted by @jill123-cc in https://github.com/microsoft/vscode-python/issues/13333#issuecomment-686985869

The library in question there is Selenium, which is a pretty dynamic library as it's dealing with parsing and processing HTML.
Copying the screenshot from the above:

Hi!!
I will revive this topic, because i have the same issue.
if you try to use autocomplete (intellisense) over a WebElement object, the Pylance doesn't show you any information.

But, if you run the script this will be work fine, but you must "guess" how to call the methods from a WebElement, and this is not funny

Even, if you print the type of the driver.find_element* you will have a WebElement:

Even, the pydoc works!

And you could press Ctrl + click on the method and you will go to the WebElement Class and see the methods like click(), clear(), send_keys(), etc.

Could you help me with this issue?

The selenium library provides no type information in the form of type stubs or inlined type annotations. Pylance will do its best to infer type information for libraries that don't include it, but there are limits to type information that can be inferred through static analysis. You can see when you hover over the find_element_by_xpath method that Pylance was not able to infer its return type, hence the Any type.
We encourage library maintainers to provide type information with their libraries. Increasingly, they are doing so. This makes the editing experience better for everyone regardless of the language server or type checker you are using.
If selenium is a library that you rely upon, please consider filing an issue with the selenium library maintainers and ask them to add type information to their package. We've written this guidance for library maintainers who are looking to add type information.

Thanks @erictraut
I will check this on the Selenium Community and report it
Thanks so much!

Selenium type stubs were recently added to typeshed. However, these stubs are still quite incomplete. Pylance bundles all typeshed stubs, so any improvements to these stubs will help. If you're knowledgeable about selenium, you could contribute improvements to these stubs directly to the typeshed project.

Moving to the type stub repo.


improve keyboard shortcuts

PR Checklist

Please check all that apply to this PR using "x":

[ ] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[ ] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number:
What is the current behavior?
Keyboard shortcuts are limited
What is the new behavior?
Changed left and right arrow keys to move 5 in time, added J and L to move 10 and K for pause. Also added up and down keybinds for 5% volume change, now mimicking other platform's keyboard shortcuts
Other information

[ ] Swap seek duration with arrow keys?

If we are going to add j and l, would it better to make them +/-10s instead, and lower the arrow keys (more commonly-used) to +/-5s?  This has been suggested in another issue and would match the other platform.

[ ] Up/Down would also scroll the page.

I wanted to do up/down for volume in the past, but the current approach would also scroll page down.  I think we are listening to the event at too high up of a component.

[ ]  Up/Down would also scroll the page.

I wanted to do up/down for volume in the past, but the current approach would also scroll page down.  I think we are listening to the event at too high up of a component.

Yeah I noticed that, but it works great on fullscreen mode!


Create unique().md

I'll do it as soon as possible
On Sun, 6 Oct, 2019, 11:34 AM Bhupesh Varshney<EMAIL_ADDRESS>wrote:

@Bhupesh-V requested changes on this pull request.
Don't use HTML syntax inside the READMEs, see other examples.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Bhupesh-V/30-seconds-of-cpp/pull/151?email_source=notifications&email_token=AFZNBDFLQJZJHXZ2EIBHK73QNF5XLA5CNFSM4I4MRNX2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHAGEPA#pullrequestreview-297820732,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFZNBDG7HE4COBRZJPGQVOLQNF5XLANCNFSM4I4MRNXQ
.


Test use relative path

Codecov Report

Merging #141 (e15229a) into main (60a892f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #141   +/-   ##
=======================================
  Coverage   81.95%   81.95%
=======================================
  Files          56       56
  Lines        3392     3392
=======================================
  Hits         2780     2780
  Misses        612      612

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 60a892f...e15229a. Read the comment docs.


"oc dev_tool audit"'s "resource" option needs double dashes

"oc dev_tool audit"'s "resource" option needs double dashes.  If left out, the command silently does the wrong thing.  So the command as documented is wrong.

/remove-lifecycle stale

/ok-to-test

/assign @mfojtik

/reopen

/remove-lifecycle rotten

/assign mfojtik
ping @mfojtik


GitHub: Add link

The GitHub page should show a link to https://random-group.olafneumann.org/ by updating either the GitHub settings and/or the README.md file.

Added link to repo description


Great work! I wonder if seeclick-MiniWob checkpoint and Miniwob 2.8k data are released :)

Hi,
The 2.8K MiniWob training data has been released at https://github.com/njucckevin/SeeClick/blob/main/agent_tasks/readme_agent.md. And I will upload the SeeClick-miniwob checkpoint for testing soon.

Really thx for sharing!

The SeeClick-miniwob is now released.


Add waltermark

how add watermark?

This functionality is not part of the plugin. You will need to create this functionality yourself.


how to download the dataset ?

same issue here

您好，我已经收到您的邮件，谢谢。

You can download YouTube videos using https://youtube-dl.org/, with YouTube video-ids that were provided in json/*.

youtube-dl --extract-audio --audio-format mp3 <video URL> # You can download mp3 directly from youtube

Also, I would like to share the dataset, but due to copyright issue, I cannot.

font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

Hi, my dear guys, what’s ur problem ? Please be brave, do not care the fuck copyright, just share it.Here we go.

<PHONE_NUMBER>

<EMAIL_ADDRESS>

---- Replied Message ----

     From

<EMAIL_ADDRESS>

     Date

    06/7/2023 09:34

     To

<EMAIL_ADDRESS>

     Cc

<EMAIL_ADDRESS>        ,

<EMAIL_ADDRESS>

     Subject

          Re: [clovaai/lookwhostalking] how to download the dataset ? (Issue #7)

You can download YouTube videos using https://youtube-dl.org/, with YouTube video-ids that were provided in json/*.
youtube-dl --extract-audio --audio-format mp3  # You can download mp3 directly from youtube
Also, I would like to share the dataset, but due to copyright issue, I cannot.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

您好，我已经收到您的邮件，谢谢。


Multi-network shared control plane workload labels update

Please provide a description for what this PR is for.
fixes: #16476
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

based on #16500

@hzxuzhonghu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-lint-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-lint-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-lint-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-lint-master

istio-unit-tests-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-lint-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-lint-master

istio-unit-tests-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-unit-tests-master

istio-racetest-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-racetest-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-lint-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-lint-master

istio-unit-tests-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-unit-tests-master

istio-racetest-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-racetest-master

istio-codecov-master
8075cef64a86f3c4cf1a6244f0897c445cf0821c
link
/test istio-codecov-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

This triggers a race, can you take a look? https://github.com/istio/istio/issues/16737

ok, i will have a look.

I'm not sure it's something we document at all, would we really need to
deprecated it? in order to modify labels that means you are using Pods
directly which I don't think is common at all. Seems like something that
wouldn't be too controversial to get rid of?
On Sun, Sep 1, 2019, 7:41 PM Zhonghu Xu<EMAIL_ADDRESS>wrote:

@hzxuzhonghu commented on this pull request.
In pilot/pkg/proxy/envoy/v2/eds.go
https://github.com/istio/istio/pull/16501#discussion_r319792467:

@@ -489,6 +477,29 @@ func (s *DiscoveryServer) WorkloadUpdate(id string, workloadLabels map[string]st

adsLog.Infof("Label change, full push %s ", id)
s.ConfigUpdate(&model.PushRequest{Full: true})
I agree there is really a rare case changing labels. But as this is a
feature lived long ago, it is not easy to deprecate this and eventually
remove it.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/16501?email_source=notifications&email_token=AAEYGXIBS4CKDTUADECVCJDQHR4MTA5CNFSM4IO3RJCKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCDKNIWA#discussion_r319792467,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEYGXLFORRXHHZGHIHWRCDQHR4MTANCNFSM4IO3RJCA
.

I will file an issue to discuss.

opened #16743 to have a discussion.


Debug navmesh throws errors if navmesh is not pre-baked

Godot version
3.x
System information
manjaro linux
Issue description
In case of runtime 3D navmesh baking it's pretty normal to not have pre-baked (empty) navmesh when running the scene.
If one enables Debug->Visible Navigation flag in the above situation, 2 non-critical errors are being thrown:
ERROR: Condition "array_len == 0" is true.
   at: mesh_add_surface_from_arrays (servers/visual_server.cpp:1065)
ERROR: Condition "len == 0" is true.
   at: add_surface_from_arrays (scene/resources/mesh.cpp:797)

Steps to reproduce

Create a 3D scene with intact NavigationMeshInstance
Enable Debug->Visible Navigation flag
Run the scene

Minimal reproduction project
N/A

Fixed by #59846 and #59893


Update API so it's a drop in replacement for the Mixpanel JavaScript SDK

The library currently opts to simplify the APIs into plain english. E.g., mixpanel.people.set has become mixpanel.setUserProperty.
We should use the same naming conventions and class structure so the library can be a drop in replacement instead

Alternatively, we should consider making no-persistence-mixpanel as small as possible, and allow for each method to be tree-shakable. E.g., if a project only uses mixpanel.track then we should support treeshaking of all the other methods


Biomarker reports only run on facets with DEGs, but could run on all

All the other reports need to be run on display_facets, which are only the facets that have DEGs. But tgx-ddi could and should be run on all. This will be a quick fix to render_DESeq_report.parallel.R.

Closed by PR #247


feat: Add Clippy as a dev dependency

Fixes #1: Add Clippy as dev dependency
This PR introduces Clippy, a linter for Rust, to help clean up the codebase across the board.

Hey @SeanPrashad, thanks for getting a head start on this! Love clippy, looking forward to getting it integrated into the project.
Unfortunately I'm not going to be able to take this PR, as installing clippy as a project dependency through crates.io has been deprecated since v0.0.300 and the recommended installation method is to rustup component add clippy-preview on a Rust version 1.29 or later.
I think we should focus efforts on #5 and #3 for now, and I'd be very happy to take a PR for #3 that sets Travis up as suggested by the clippy docs.


[D415] Does the IR data I obtained contain visible spectrum band information?

Hi there,
Currently I was trying to use the D415 IR data for Face anti-spoofing. I noticed that the depth module actually is consist of two imager without IR filter. This means the left imager can provied IR data.
What I'm curious about is that:
Does the IR data I obtained contain information from the visible brand?
Since the left imager can also return the RGB data.
Does the IR data is generated simply by RGB2GRAY using the RGB data from left imager?
or just extract the red channel of RGB data from left imager as IR data?
From the datasheet, we know that left imager don't have a IR filter, but
is there any special design on its bayer filter?
Does the left imager using the RGGB or some special designed bayer filter like RGBI(infrared)?
Thank you very much!

Hi @thraster  The infrared image does not use RGB data at all.  The left sensor is capable of outputting an RGB image from the left infrared imager on certain RealSense camera models (D405, D415, D455) but that is a separate mode from the infrared image.
The left and right imagers can provide an infrared image.  Depth frames are constructed using images from both infrared imagers, which is why D415 is called a 'stereo' depth camera.
At https://github.com/IntelRealSense/librealsense/issues/1070#issuecomment-366405803 a RealSense team member advises that the D415 has a Bayer pattern filter to extract color but it does not block infrared.

Hi @MartyG-RealSense , Thanks for your quick response. It's quite useful!
I'd like to know that the IR data from the left infrared imager is the pure IR data? Dose it contains the information from the visible wavelength?
If it's possible, I'd like to know the how the IR data from the left infrared imager is generated?
Because currently I am doing some research on given wavelength, I want to know the spectral band of  the IR data I obtained.
Thanks a lot!

The infrared sensors of the D415, D435, D435i and D455 can see all visible wavelengths, including visible and near-infrared.
'f' models with a near-infrared pass filter such as D435f, D435if and D455f can allow near-infrared frequencies to enter into the sensor but block the lower visible-light frequencies.
The D405 has an IR Cut filter that can see visible light frequencies but blocks near-IR frequencies, making them invisible to the camera.
Intel have a guide to using optical filters with RealSense cameras and how different types of filters affect the frequencies.
https://dev.intelrealsense.com/docs/optical-filters-for-intel-realsense-depth-cameras-d400
The infrared sensors capture an infrared frame and if the Y8 infrared stream format is selected then it is adjusted (rectified) by the Vision Processor D4 hardware inside the camera before being transmitted along the USB cable to the computer.  If the Y16 infrared format is selected then the infrared image is not rectified because Y16 is used for camera calibration.
If the camera's IR projector component is enabled then a semi-random dot pattern is overlaid onto the infrared image.  The camera uses this dot pattern, which is cast onto surfaces in the real-world scene, to help to analyze the surfaces for depth information by using the dots as a readable surface texture.

Hi @MartyG-RealSense ,
So the IR data I received from the left IR imager of D415 by using the realsense SKD is actually including visible and near-infrared?
Dose the adjustment you mentioned of the Y8 IR stream contains any modification of the spectrum band?
Thank you!

Yes, with the D415 camera model it is possible for the camera to use light in visible or near-infrared frequencies ranging from 400-1000 nm as its IR sensors are not equipped with a filter.  Rectification adjustment will not affect the frequencies.  The link below describes what is involved in rectification.
https://en.wikipedia.org/wiki/Image_rectification

Well, thank you @MartyG-RealSense , This really helps me better undersanding it.
And by the way I want to ask that what's the relationship between the RGB data from the left IR imager and the IR data from the left IR imager?
Are they generated from two different pipelines? Like RAW2RGB and RAW2IR?

When RGB from the left IR imager is enabled, the left IR image cannot be accessed.  This is likely because although it is an RGB image, the infrared stream is being used and you cannot have two of the same infrared stream active at the same time.
Changing the Color Correction values in the Advanced Controls section of the Viewer changes the colors of the RGB from left IR image.  The left IR image is essentially a colorized infrared view.
The Y8 and RGB8 (RGB from left infrared) views can be compared below.
Y8

RGB8

More information about color from left IR can be found in the section of Intel's camera tuning guide linked to below.
https://dev.intelrealsense.com/docs/tuning-depth-cameras-for-best-performance#use-the-left-color-camera

Ok, I will do some experiments to find out more. Thank you for your help!


Leave leftpadded AST unchanged if visitor does not change it

Fixes #1380
The point is keep AST the same if visitor doesn't change it. This includes LeftPadded, i.e. value= (incomplete AST branch) should remain the same after blank java visitor goes through it.

Thanks for taking care of this @BoykoAlex

thanks @BoykoAlex


SWARM-1794: MP FT - remove CommandInterceptorTest.testTimeoutFallback().

this test was replaced with
org.wildfly.swarm.microprofile.faulttolerance.deployment.timeout.TimeoutTest

Passed on Linux but on Windows an FT TCK test failed.
Is it a problem or just an anomaly?

That's a known issue - BulkheadAsynchRetryTest fails intermittently, esp. on windows. Antoine was looking into this but so far we don't have a clue what's wrong. I'll create a jira issue and take it over.

Unable to reproduce the error in my dev env (macos + JDK 1.8.0_152) after more than 30 attempts. I'll probably have to install a windows VM and study this issue in it.

@antoinesd I'd guess it's a similar problem as with BulkheadSynchRetryTest. Let me check this particular test as well.

Ok so looking at the test output and source it seems that TestData.check() is invoked before most of the async BulkheadRapidRetry55MethodAsynchBean.test() wrappers are executed. This could happen for many reasons (e.g. the thread pool init may take some time). I think the test should be fixed (and excluded for now). I'm going to create a separate FT issue.


Team7

Summary

minor bug solved that made greediness too low
Additional Information

Test Plan

Please create a PR from a new branch, not your old branch.


Request: Add ability to pass custom arguments to compiler

Hello there,
I am currently evaluating gluon as a possible alternative to RoboVM and now Try to compile our JavaFX Windows App for iOS. However I noticed some issues when compiling. For example I do have a few Classes which contain optional dependencies. Those are currently not Available my Target machine as they are not needed and those methods are never called.
However GraalVM appears to try to compile those not needed Methods anyway and is now very unhappy that it cannot resolve these optional dependencies.
[Mi. Sep. 23 13:33:26 MESZ 2020][INFO] [SUB] Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.icepdf.core.pobjects.Document. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time. [Mi. Sep. 23 13:33:26 MESZ 2020][INFO] [SUB] Trace:  [Mi. Sep. 23 13:33:26 MESZ 2020][INFO] [SUB] 	at parsing SwingImageUtils.loadFromPDF(SwingImageUtils.java)
For my evaluation I could easily remove this specific Method as it was not used in this protect anyway but it would be neat I could just pass some custom flags like --allow-incomplete-classpath or --report-unsupported-elements-at-runtime to the GraalVM compiler.
Apparently Gluon/Substrate already has a list of compilerFlags but the Maven Plugin is currently not able to populate it with data.
If there already is a way to do so with the maven plugin, please let me know.

See https://docs.gluonhq.com/client/#_nativeimageargs

Thank you! This is indeed what I was looking for but I seem to have missed it.


Change decimal library

Use the str method of the cpp_dec_float class to serialize the object to an std string.
The string is wrapped inside a Binary for write.
When read, a Binary is read in first. Then, a string is obtained.
The cpp_dec_float class can then be reconstructed from a c string.
(The wrapped string includes the trailing '\0' character for easier handling.)

Merged another branch for this issue.


cognitiveservices/azure-cognitiveservices-search-newssearch - cspell found spelling errors in source code

Spell check scanning of package at sdk/cognitiveservices/azure-cognitiveservices-search-newssearch detected spelling errors in the source code and related files. This directory is opted out of PR spell checking in PR #22199 to keep PRs unblocked.
What to do

Ensure Node.js is installed (https://nodejs.org/en/download/).
Delete the entry in .vscode/cspell.json's ignorePaths field. It will look like: sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/**. You need to do this to enable checking the files.
From the root of the repo run spell check using ./eng/common/spelling/Invoke-Cspell.ps1 -ScanGlobs "sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/**"
Fix detections according to http://aka.ms/azsdk/engsys/spellcheck use the "False positives" section to fix false positives
Check in changes (including the change to .vscode/cspell.json where the ignorePaths is updated to remove the entry for this service.). You may need to run git add -f .vscode/cspell.json to force adding the changes to the file in git.

Spell checking output
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/models/_models_py3.py:1096:38 - Unknown word (Apim)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/models/_models.py:1096:38 - Unknown word (Apim)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:91:35 - Unknown word (MSIE)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:92:44 - Unknown word (Lumia)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:94:31 - Unknown word (KHTML)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:96:32 - Unknown word (KHTML)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:99:67 - Unknown word (KHTML)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:434:35 - Unknown word (MSIE)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:435:44 - Unknown word (Lumia)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:437:31 - Unknown word (KHTML)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:783:35 - Unknown word (MSIE)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/azure/cognitiveservices/search/newssearch/operations/_news_operations.py:784:44 - Unknown word (Lumia)
./sdk/cognitiveservices/azure-cognitiveservices-search-newssearch/CHANGELOG.md:57:19 - Unknown word (prefered)

Closing as we don't plan to never release a new version of this package


we need a shortcut to escape/close the control palette selection (when auto-selection is activated)

By pressing ctrl+P the command palette opens. If we keep pressing ctrl, we can move the selection down simply by pressing P. We only need to release ctrl to open the file. It's a great feature but once we are on it, it's difficult to escape (when I don't find the file I search, I often end up opening the random file that is currently selected).
It's possible to escape the auto selection by pressing esc while pressing ctrl, but this combination of key isn't really easy.
It would be much easier to escape the control palette using shift (or, even better, using a keyboard shortcut we could choose)

shift would be hard to discover. esc seems intuitive.

Closing as "wont fix" since there already is a way to do that and it is unclear how much value this would add for all but a few who would know about the additional shortcut.


Scheduler->Create

Posts
In Posts, text and post id are mutually exclusive, if there is text the post is original if there is Post ID it is not original and the rule to enable multiple selection of social networkscan be automatic depending on this rule.
Trending
I think this section can be only the search box and the resulting list with checkboxes for RT/FAV..etc

Fixes:
Posts label reordered.
Trending lists fixed


fix: rename variable from ui to uiAmino

possible cause of #20

Fixed. See here https://github.com/cosmos/snap/issues/20#issuecomment-1736773810


Display release notes upon updating Companion version

As proposed in https://github.com/ipfs-shipyard/ipfs-companion/issues/662#issuecomment-658764395, send user to https://github.com/ipfs/ipfs-companion/releases/latest upon updating version of Companion.

@lidel -- we could use runtime.onInstalled for this purpose, but we're already using that to display the welcome page. We could create two tabs, but not sure if that's simply too disruptive. Thoughts?

I think /latest will always link to the stable version, to make it work for Beta channel as well we should send user to version from manifest:
`https://github.com/ipfs-shipyard/ipfs-companion/releases/tag/v${browser.runtime.getManifest().version}`

https://github.com/ipfs-shipyard/ipfs-companion/pull/913 will close this.


Updates rubocop to 0.79.0

Coverage decreased (-0.1%) to 95.763% when pulling 42af0b10ac5cf747aaea1265fa833d6b30893558 on LeFnord:master into a4cb98fb41dbd39e8eef0667833bd9df13547557 on ruby-grape:master.