[regression?] (some?!) gtk/Qt apps suddenly have double cursor size (since 0.25.0)

(@fufexan ? Not sure whether this is nixos related, or indirectly via updated flake deps referring to wl libs?)
Since using v. 0.25.0 I appear to have issues, this one on AMD GPU and this one on my laptop with i915 (intel integrated) GPU.
This issue pertains to the second reference, but the first one might be relevant in relation to possible changed behaviour in WL libs?
At first I thought it might be a wider issue (not Hyprland specific, hence the post on NixOS discourse), but I tried running the same (in this case chrome) on sway on exactly the same system (i915 GPU) with the same libs and the problem did not occur.
Note the details on the behaviour of the respective apps in the above mentioned post. The strangest is that the scaling issue only affects the cursor (and for some the hotspot coordinates), but not the scaling of fonts and graphical elements.
Any ideas what might be causing this or how to debug this?

I've noticed the same problem but only on chromium. However, most GTK and Qt apps seem to work fine.
I would suggest trying this out in sway or some other Wayland compositor.

@fufexan yeah, I did try with sway (sorry, said i3 above, meant sway) and the problem isn't there then....

@vaxerski do you have the issue? I've tried changing the scale to 1, 2 and in between but it does not help. Also chromium's input seems to be warped top-left somehow.

git bisect plox. I don't seem to have the issue.

After my update propagated to my desktop (mostly the same config as the laptop, also nixos), I now see the same issue on it (amdgpu). For the desktop, I needed to use an overlay to force some dependencies to unstable (as mentioned above, and referred in #2213 ), notably mesa, to avoid Hyprland crashing.

This happens to me on discord too when running with ozone (only when hovering elements, otherwise i have the default super small cursor), but weirdly not vscode despite both using electron

okay can y'all stop repeating that there is an issue and do the git bisect?

Sorry i just wanted to point out it also happens on non gtk apps, but it turns out i was totally wrong. The cursor was buggy in discord just because i was running it through firejail, disabling it fixed the issue (on my side at least), sorry

okay can y'all stop repeating that there is an issue and do the git bisect? I realize there is an issue, I don't need it repeated 10 times

Might find some time later this week, very busy atm... One issue is the question to bisect what exactly, since there are reasons to believe that this is being caused somewhere in a dependency.
So first in the meantime here a few more measuring points:

to get back to a feasible system state to do actual work, I went back to hyprland 0.24.1 (by pointing the flake input to the respective commit), which on my 2 systems have the following issues:

interestingly the nix module didn't compile due to an "unused variable" issue in hyprctl (no big deal, just forked and solved it)
reverting to this version didn't solve the scaling issue, even though I suppose the dep packages (such as the portal and wlroots) in the nix definition must be pinned, so this is unexpected (!?)

firefox is not affected, but when I call a hyprland-portal dialog (in this case jitsi screen sharing selection), the cursor scale over that window is affected.

I've just moved over to Hyprland in the last day or so. I'm on NixOS using the overlays defined in the flake here. I get the same behaviour with google-chrome where the cursor is large, and the pointer location is off.
If I change the output config to scale = 1, the issue stops. I don't have the same issue with sway (where I just came from).
Happy to try previous versions or revisions in my flake and keep retrying - haven't tracked the history too closely as I've just migrated so if anyone can point to revisions of the flake to try out I'm happy to dive in.

One issue is the question to bisect what exactly

Hyprland, since the original reporter said it's "since 0.25.0"

One issue is the question to bisect what exactly

Hyprland, since the original reporter said it's "since 0.25.0" so I assume 0.24 works

That's indeed what I thought at first (note I am the OP), but since going back to 0.24.1 (see https://github.com/hyprwm/Hyprland/issues/2298#issuecomment-1549393939) the problem was not solved. So I'm confused by that, because the related dependencies seem to be pinned reproduceably in the included nix package... That's also the reason that I'm not sure how to leverage git bisect here, since (1) I haven't found the previous version to work after re-install (though I haven't gone back further), (2) it seems the nix package is less hermetic/reproduceable than expected.

@ppenguin I am using Brave on NixOS. config for reference if you need. Just checking which version of Brave are you running. Reason being.

For me ad-hoc installed brave still has the same issue (which doesn't mean that much, since it may still depend on what channel or flake input we are.

Just saw that #2280 more closely match the issue I faced with Brave v1.51.* @ppenguin does the screenshot on that issue similar to yours?

Just saw that #2280 more closely match the issue I faced with Brave v1.51.* @ppenguin does the screenshot on that issue similar to yours?

@Stewart86 No, for me the window and the program's output (area) look completely fine, it's only the mouse cursor and hotspot that are affected (i.e. cursor double size and actual hotspot at (cursor_x, cursor_y) / 2)

Just noting that on my machines that use the Hyprland flake, and track nixos-unstable this is now resolved for me using Google Chrome.

Since setting my nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05" and rebuilding nixos and my home-manager generation, for me the issue is solved as well...
Closing this as the problem was presumably caused by an incompatible but difficult to pinpoint combination of wayland libraries, possibly opengl, and hyprland.
Thanks to all for staying on it :muscle:


suspend the UWP title whilst dumping

This should hopefully fix some issues that can occur whilst dumping and would remove the need for process hacker

That...doesn't work. Game still crashes along with the uwp.


Confusion In Test Output

Describe the Issue
Occasionally users are confused by the test output, as changing the contents of FCC can result in a message about capitalizing the variable name.
Affected Page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword
Your code
const FCC = "FreeCodeCamp"; // Change this line
let fact = "is cool!"; // Change this line
fact = "is awesome!";
console.log(FCC, fact); // Change this line

Expected behavior
Two possibilities here.

add a sentence stating that the user should not change the variable contents

split the relevant test into two parts, one for changing the capitalization of the variable name and the other for not changing the contents

Screenshots
No response
System
All
Additional context
No response

I think a more lenient approach is to not care about the content of the variable, unless I am missing something.
assert.equal(FCC, 'freeCodeCamp');
assert.match(code, /const\s+FCC/);

Here is the file declare a read only variable

I think we should care about the content of the variable - I have seen learners blindly capitalize everything on the line instead of understanding that they should only make the variable name ALL_CAPS.

If I am understanding this correctly, people tried to capitalize const.
I am in favour of the second one, to make it clearer that they should focus only on variables.

split the relevant test into two parts, one for changing the capitalization of the variable name and the other for not changing the contents

They capitalize parts of the string itself, which can be an indication that they don't understand what all should and should not be changed.

they don't understand what all should and should not be changed.

Wait, I thought that's normal, I almost finished front-end frameworks projects without understanding React, jQuery, and bootstrap.😅
I like your intent. It isn't possible for everyone to understand the steps, and stopping them on something that isn't required in the test feels harsh to me.
So I am in support of the second possibility, which splits the test. Although I would prefer not stopping them at all, this can be too lenient from me.👍

https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword.md
Suggested test change:
FCC should be a constant variable declared with const.
assert.match(code, /const\s+FCC/);

The string assigned to FCC should not be changed.
assert.equal(FCC, 'freeCodeCamp');

Suggested lesson content change:
--instructions--
Change the code so that all variables are declared using let or const. Use let when you want the variable to change, and const when you want the variable to remain constant. Also, rename variables declared with const to conform to common practices. Do not change the strings assigned to the variables.

Thanks for opening this issue.
This looks something that can be fixed by "first time" code contributors to this repository. For details look at Jeremy's comment above, https://github.com/freeCodeCamp/freeCodeCamp/issues/46295#issuecomment-1145129600.
Please make sure you read our guidelines for contributing, we prioritize contributors following the instructions in our guides. Join us in our chat room or the forum if you need help contributing, our moderators will guide you through this.
Sometimes we may get more than one pull requests. We typically accept the most quality contribution followed by the one that is made first.
Happy contributing.


Add method for auxillary window to figure out its titlebar layout

This PR introduces a function shouldShowCustomTitleBar which allows to figure out if the titleBar of a window should be shown.
We newly export the title bar related settings as a array of setting names, allowing aux windows to listen on configuration changes and checing if TITLE_BAR_SETTINGS have been affected.
Fixes #203460

I did not end up adopting TITLE_BAR_SETTINGS but I think it works ok now for the main flow.


jenkins: Print go version

Signed-off-by: Michi Mutsuzaki<EMAIL_ADDRESS>

This change is

test-me-please

Coverage decreased (-0.04%) to 45.653% when pulling cf874478b7deb1bbaf8802a29a4cc32d36e84943 on pr/michi/jenkins into 19c3f5a12043d78d3154eabfb4c990428fab5d04 on master.


nixos-rebuild fails, saying "GRUB_ENABLE_CRYPTODISK=y" is missing in grub

nixos-rebuild boot fails on my machine while trying to run grub:
# nixos-rebuild boot
building Nix...
building the system configuration...
updating GRUB 2 menu...
installing the GRUB 2 boot loader on /dev/disk/by-id/ata-SAMSUNG_MMCQE28G8MUP-0VA_SE936B7450...
Installing for i386-pc platform.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b883c0] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b8af20] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b8af20] dtree
Internal error: Unreleased memory pool(s) found.
You have a memory leak (not released memory pool):
 [0x1b8af20] dtree
Internal error: Unreleased memory pool(s) found.
/nix/store/53xshnldp06n3cqfjg586lzia9hcak2f-grub-2.x-2015-11-16/sbin/grub-install: error: attempt to install to encrypted disk without cryptodisk enabled. Set `GRUB_ENABLE_CRYPTODISK=y' in file `/nix/store/53xshnldp06n3cqfjg586lzia9hcak2f-grub-2.x-2015-11-16/etc/default/grub'.
/nix/store/zldbbngl0f8g5iv4rslygxwp0dbg1624-install-grub.pl: installation of GRUB on /dev/disk/by-id/ata-SAMSUNG_MMCQE28G8MUP-0VA_SE936B7450 failed
warning: error(s) occurred while switching to the new configuration

I'm using master at 8a0f2e7025d1682f793f67f9364564851448479e with LUKS encryption enabled for the root disk.

This error usually occurs when the device that carries /boot is not mounted. Do you have a seperate partition for /boot? If you have one check if it is mounted. If it is not it might got unmounted due https://github.com/NixOS/nixpkgs/issues/11480. I had this same issue.

Duplicate of https://github.com/NixOS/nixpkgs/issues/11480. Run mount /boot to remedy the issue to the extend that nixos-rebuild boot can succeed again.


Add support for $ref to external schema from api.json

OpenAPI version
3.0.3
Is your feature request related to a problem? Please describe.
I have 197kb worth of schema that I keep separate from the api specification itself. This in turn means that path parameters, responses and requestBody use $ref to a different file to get those. This is currently not supported and that leaves me without option to use satisfyApiSpec in my tests. Example fragment of my api definition:
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "api-schema.json#/definitions/DatasetList"
        }
      }
    }
  }

Describe the solution you'd like
I would like support for external JSON Schema to be able to test against my api specification.
Describe alternatives you've considered
Manual validation of a couple key fields.
Additional context
The actual type of error I get with my api definition running tests with mochajs/chai:
     AssertionError: expected res to satisfy API spec

expected res to satisfy the '200' response defined for endpoint 'GET /dataset' in your API spec
res did not satisfy it because: response can't resolve reference ./api-schema.json#/definitions/DatasetList

res contained: { body: { artifact: 'DS', current: '0', total: '0', all: '0' } }

The '200' response defined for endpoint 'GET /dataset' in API spec: {
  '200': {
    description: 'List of dataset objects in the project',
    content: {
      'application/json': {
        schema: { '$ref': './api-schema.json#/definitions/DatasetList' },
        examples: {
          'example-1': {
            '$ref': '#components/examples/dataset-list-get-output-example-1'
          }
        }
      },
      'application/xml': {
        schema: { '$ref': './api-schema.json#/definitions/DatasetList' }
      }
    }
  }
}
      at Context.<anonymous> (test/paths.test.js:235:28)
      at processImmediate (internal/timers.js:456:21)

Are you going to resolve the issue?
No I don't have the knowledge for that

Hi @ahenket, thanks for this enhancement suggestion! Looks pretty valid. I don't have much time to implement it myself right now, but can support anyone who wants to do it.
Also, if other people would like this enhancement, please upvote, and we'll prioritise it.

Hi @ahenket, thanks for this enhancement suggestion! Looks pretty valid. I don't have much time to implement it myself right now, but can support anyone who wants to do it.
Also, if other people would like this enhancement, please upvote, and we'll prioritise it.

@ahenket If this is still causing you issues, I was able to work around this by using the SwaggerParser package to read the spec and give me an object to pass to jestOpenAPI. In my code:
const jestOpenAPI = require('jest-openapi');
const resolve = require('path').resolve;
const SwaggerParser = require("@apidevtools/swagger-parser");

const api = await SwaggerParser.validate(resolve('./api-spec-root.json'));
jestOpenAPI(api);


Roll Engine from 2eac514f26a6 to 48d837b7eef6 (38 revisions)

Roll Engine from 2eac514f26a6 to 48d837b7eef6 (38 revisions)
https://github.com/flutter/engine/compare/2eac514f26a6...48d837b7eef6
2020-10-08<EMAIL_ADDRESS>Perform selection check in DeleteSelected (flutter/engine#21711)
2020-10-08<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from ZJHmp3INU... to wrXNShr_8... (flutter/engine#21709)
2020-10-08<EMAIL_ADDRESS>Roll Dart SDK from 44fa3b9e566c to 4ba58cad60e4 (1 revision) (flutter/engine#21708)
2020-10-08<EMAIL_ADDRESS>Forbid android.util.Log (flutter/engine#21696)
2020-10-08<EMAIL_ADDRESS>fl_method_response.cc: fix lint failures (flutter/engine#21406)
2020-10-08<EMAIL_ADDRESS>Roll ICU to 146cb611fb2c1f53e63c2e59bd735d7a8ac6ec8c (flutter/engine#21606)
2020-10-08<EMAIL_ADDRESS>SecurityException: Permission Denial (flutter/engine#21290)
2020-10-08<EMAIL_ADDRESS>[web] Reland Support custom url strategies (flutter/engine#21702)
2020-10-08<EMAIL_ADDRESS>Roll Skia from 9c0b79a35489 to e17b0501963a (15 revisions) (flutter/engine#21707)
2020-10-08<EMAIL_ADDRESS>Clear the Minikin layout cache during engine destruction (flutter/engine#21473)
2020-10-08<EMAIL_ADDRESS>chrome driver for chrome 86 (flutter/engine#21705)
2020-10-08<EMAIL_ADDRESS>Fix engine Xcode projection for newer versions of Xcode. (flutter/engine#21701)
2020-10-08<EMAIL_ADDRESS>Roll Skia from 8d43858ed21a to 9c0b79a35489 (14 revisions) (flutter/engine#21698)
2020-10-08<EMAIL_ADDRESS>[macOS] Fix docs for loadAOTData and minor refactor (flutter/engine#21699)
2020-10-08<EMAIL_ADDRESS>Update PR template to include the presubmit flake form (flutter/engine#21697)
2020-10-08<EMAIL_ADDRESS>Roll Dart SDK from 98ea0b4971dd to 44fa3b9e566c (1 revision) (flutter/engine#21695)
2020-10-08<EMAIL_ADDRESS>[macOS] flutter_desktop_darwin_unittests can be enabled for all runtime modes (flutter/engine#21681)
2020-10-08<EMAIL_ADDRESS>fixing the autofill overlay problem (blue area for chrome) (flutter/engine#21610)
2020-10-08<EMAIL_ADDRESS>Remove dependencies on _product variants of libdart from the Fuchsia release mode build (flutter/engine#21668)
2020-10-08<EMAIL_ADDRESS>Roll Skia from ac0723a06b53 to 8d43858ed21a (1 revision) (flutter/engine#21692)
2020-10-08<EMAIL_ADDRESS>Preserve specified AssetResolvers when performing a hot restart or updating the asset directory (flutter/engine#21611)
2020-10-08<EMAIL_ADDRESS>Skip flaky test (flutter/engine#21694)
2020-10-08<EMAIL_ADDRESS>Roll Dart SDK from 8572b5c0f6dc to 98ea0b4971dd (1 revision) (flutter/engine#21691)
2020-10-08<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from m6w8tDXMm... to zhRBO0hCr... (flutter/engine#21689)
2020-10-08<EMAIL_ADDRESS>Roll Skia from 38e6d226f24e to ac0723a06b53 (3 revisions) (flutter/engine#21688)
2020-10-08<EMAIL_ADDRESS>Roll Dart SDK from 8f1a96317589 to 8572b5c0f6dc (1 revision) (flutter/engine#21686)
2020-10-08<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from kr1tNtZvZ... to ZJHmp3INU... (flutter/engine#21684)
2020-10-08<EMAIL_ADDRESS>Roll Skia from 041fd0ad7d93 to 38e6d226f24e (1 revision) (flutter/engine#21683)
2020-10-08<EMAIL_ADDRESS>Make TextInputModel::selection_start/end const (flutter/engine#21685)
2020-10-08<EMAIL_ADDRESS>Revert "[web] Support custom url strategies (#19134)" (flutter/engine#21687)
2020-10-08<EMAIL_ADDRESS>Store selection base/extent as integers (flutter/engine#21663)
2020-10-08<EMAIL_ADDRESS>Avoid leaking the FlutterEngineAOTData structure in FlutterEngineCollectAOTData. (flutter/engine#21680)
2020-10-08<EMAIL_ADDRESS>Roll Dart SDK from 9560a32779fc to 8f1a96317589 (12 revisions) (flutter/engine#21678)
2020-10-08<EMAIL_ADDRESS>Enabled metal on ios simulator (flutter/engine#17881)
2020-10-08<EMAIL_ADDRESS>[web] Support custom url strategies (flutter/engine#19134)
2020-10-07<EMAIL_ADDRESS>Roll Skia from a7f69c290667 to 041fd0ad7d93 (5 revisions) (flutter/engine#21676)
2020-10-07<EMAIL_ADDRESS>Ensure JNI is not called from raster thread (flutter/engine#21665)
2020-10-07<EMAIL_ADDRESS>[macOS] Allow loading of AOT snapshots and instructions from elf bundle (flutter/engine#21670)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from kr1tNtZvZ94L to wrXNShr_8ceu
fuchsia/sdk/core/mac-amd64 from m6w8tDXMmHQL to zhRBO0hCrBri
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
...

Commit queue failed; closing this roll.


Can you change the timeout for LDAP logins?

Hey there,
Can we change the timeout for LDAP logins? We're using Duo Proxy for MFA and it's doing a PUSH request to the user logging in, however unfortunately the timeout only seems to be like 2 seconds. Can we increase that to, say, 30 seconds?
https://duo.com/docs/ldap
If your clients allow you to configure the LDAP timeout, set them to values such that the clients will not give up for at least 60 seconds. This is necessary if your users choose to use Duo's out-of-band factors (phone callback, push) to log in, as the authentication proxy will not be able to respond to a LDAP authentication request until the user responds to the authentication challenge. If your clients do not allow you to configure the LDAP timeout behavior, then your users may be unable to authenticate with Duo's out-of-band factors.

At the moment it's not possible to set the timeout via a config key. However, the implementation would be relatively straight-forward, so let me add this to our backlog. Which version of ES/SG are you using?

This has been added to Search Guard 6.x-21 and 5.6.7-19, released today:
http://docs.search-guard.com/latest/active-directory-ldap-connection
http://docs.search-guard.com/latest/changelog-6-x-21


Are polygons supported?

I tried to display polygons and it didn't work with server.js, nor with static.js. Other types of geometry work fine.
My static.js for reference:
var fs = require('fs'),
    printlet = require('../lib/printlet'),
    tileJson = require('./osm.json');

// Create a printlet instance from a TileJSON
printlet(tileJson)({
  // Specify the image options
  width: 800,
  height: 600,
  zoom: 12,
  lng: 11.95,
  lat: 57.7,
  format: 'png',
  // Add the features to be drawn
  geojson: {
    "type": "FeatureCollection",
    "features": [
      {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              11.969261169433594,
              57.71941492162019
            ],
            [
              11.957588195800781,
              57.71588512774503
            ],
            [
              11.95638656616211,
              57.70726548342996
            ],
            [
              11.970462799072266,
              57.70630252339771
            ],
            [
              11.982049942016602,
              57.71368456258319
            ],
            [
              11.978273391723633,
              57.71748962217837
            ],
            [
              11.969261169433594,
              57.71941492162019
            ]
          ]
        ]
      },
        "properties": {
          "style": {
            "strokeStyle": "rgba(700, 0, 0, 1)",
            "lineWidth": "10"
          }
        }
    },

      // Draw a semi-transparent line
      {
        "type": "Feature",
        "geometry": {
          "type": "LineString",
          "coordinates": [[11.95, 57.7], [12, 58]]
        },
        "properties": {
          "style": {
            "strokeStyle": "rgba(200, 0, 0, 0.6)",
            "lineWidth": "5"
          }
        }
      },
      // Draw a point represented by a text marker
      {
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [11.95, 57.7]
        },
        "properties": {
          "style": {
            "font": "32px serif",
            "fillStyle": "rgb(20, 20, 120)",
            "marker": {
              "text": "Hello World"
            }
          }
        }
      }
    ]
  }
}, function(err, data) {
  if (err != null) throw new Error(err + '\n' + err.stack);
  // Get the image data as a stream and write save it to a file
  data.stream.pipe(fs.createWriteStream('image.png'));
});

I'm using latest version of Printlet.

I had implemented the parsing of GeoJson Polygon features incorrectly. It just treated polygons as linestrings ignoring the rings.
It should be fixed and published as version 0.4.2
Thank you for pointing this out.

Thanks, it's working nicely


Added 'England, Wales and Northern Ireland' option

Employer Skills Survey requires a grouping of England, Wales and Northern Ireland for their stats publication, so have added to the countries options.

@chfoster @cjrace finally figured out what was going on with shiny tests on this (although not quite figured out the why). Could one of you do a quick check through and approve?


Calling update() in GetxController with GetResponsiveView doesn't change anything

Is it on purpose or is it a bug? I mean do I have to use a GetBuilder/Getx/MixinBuilder wrapper in order to update the state like so:

Example
GetPage(
      name: '/posts/:id',
      page: () => PostDetailsPage(),
      binding: PostDetailsBinding(),
)

class PostDetailsBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut(
      () => PostDetailsPageController(repository: Get.find()),
      tag: Get.parameters['id'],
    );
  }
}

class PostDetailsPageController extends GetxController with StateMixin {
  final PostsRepository repository;

  PostDetailsPageController({required this.repository});

  Rx<PostModel?> post = Rx();

  @override
  Future<void> onInit() async {
    super.onInit();
    await load();
  }

  Future<void> load() async {
    final params = Get.parameters;
    change(null, status: RxStatus.loading());
    await 500.milliseconds.delay();
    post = await repository.getDetails(int.parse(params['id'] ?? '1'));
    change(null, status: RxStatus.success());
    update();
  }
}

class PostDetailsPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<PostDetailsPageController>(
      builder: (_) => _PostDetailsPage(),
      tag: Get.parameters['id'],
    );
  }
}

class _PostDetailsPage extends GetResponsiveView<PostDetailsPageController> {
  @override
  bool get alwaysUseBuilder => false;

  @override
  String? get tag => Get.parameters['id'];

  PostModel? get post => controller.post.value;

  @override
  Widget? phone() {
    return Scaffold(
      appBar: AppBar(
        title: Text('Post #${post?.id}'),
      ),
      body: controller.obx(
        (state) => Column(
          children: [
            if (post != null) ...[
              Text(post!.title),
            ],
            if (post?.description != null) Text(post!.description!),
            ElevatedButton(
              onPressed: () {
                logger.d('Controller post ${post?.id}');
                controller.update();
              },
              child: Text('Update'),
            ),
          ],
        ),
      ),
    );
  }

  @override
  Widget? tablet() {
    return Scaffold(
      appBar: AppBar(
        title: Text('Tablet post #${post?.id}'),
      ),
      body: controller.obx(
        (state) => Column(
          children: [
            Text('loaded on tablet'),
            ElevatedButton(
              onPressed: () {
                controller.load();
                logger.d('Update ${post?.id}');
                controller.update();
              },
              child: Text('Load'),
            ),
             ElevatedButton(
              onPressed: () {
                logger.d('Update ${post?.id++}');
                controller.update();
              },
              child: Text('Increment'),
            ),
          ],
        ),
      ),
    );
  }

  @override
  Widget? desktop() {
    return Scaffold(
      appBar: AppBar(
        title: Text('Desktop post #${post?.id}'),
      ),
      body: controller.obx((state) => Text('Loaded on Desktop')),
    );
  }
}

flutter: 2.0.1 stable
get: ^4.0.0-nullsafety.2

 @override
  Future<void> onInit() async {
    super.onInit();
    await load();
  }

onInit cannot be a Future.
controller.load();
logger.d('Update ${post?.id}');
controller.update();

You MUST NOT update a state from the view.
 Future<void> load() async {
    final params = Get.parameters;
    change(null, status: RxStatus.loading());
    await 500.milliseconds.delay();
    post = await repository.getDetails(int.parse(params['id'] ?? '1'));
    change(null, status: RxStatus.success());
    update();
  }

change and update doesn't make any sense.

onInit cannot be a Future.

Hmm for some reason it always worked🤔

You MUST NOT update a state from the view

What do you mean? I should not call update() such as:
// Controller
void increment() {
    post.value?.id++;
    update();
  }

// View
ElevatedButton(
  onPressed: controller.increment,
  child: Text('Increment'),
)

change and update doesn't make any sense.

change() updates state because it uses another widget under the hood, but if I try to use the same code but without GetBuilder id remains null in AppBar

Replace:
change(null, status: RxStatus.success());
update();

With:
change(post, status: RxStatus.success());

@eduardoflorence increment() won't work this way anyway
I expected to see updates without using controller.obx((state) => SomeWidget()) because it's just the same builder, but it doesn't update anything else. So I thought of is it necessary to wrap GetResponsiveView with GetxBuilder or not
P.S. I realised that I haven't provide some classes because they seemed to me too obvious. Or maybe I should share complete project source code?

onInit cannot be a Future.

Hmm for some reason it always worked🤔

Yes, it works, but you are changing the type of an inherited method which means that your project will break at one time or another, or onInit can be called after the build if the dart understands that this is a Future.microtask. You are going through a dangerous zone, I would not do that.

You MUST NOT update a state from the view

What do you mean? I should not call update() such as:
// Controller
void increment() {
    post.value?.id++;
    update();
  }

// View
ElevatedButton(
  onPressed: controller.increment,
  child: Text('Increment'),
)

Yeah, it's the right way

change and update doesn't make any sense.

change() updates state because it uses another widget under the hood, but if I try to use the same code but without GetBuilder id remains null in AppBar

Okay, I'm going to try your clearer now.
You have only one controller, you are triggering two simultaneous build events. As the dart event loop works, it is not possible to build between one line and another of the same instruction. If you used reactive programming, that would not be a problem, but in the mechanical update, you are responsible for calling rebuild at the correct time.
I would recommend you to change GetBuilder for controller.obx (contrary to what you are doing) or use Obx/.obs in the variable you want to change. If you really want to work the way you are working, you should schedule an update() after the controller.obx build, something like:
change (null, status: RxStatus.success());
SchedulerBinding.instance.addPostFrameCallback ((_) => update ());
But it's very hacky
Note that you are looking to practically reconstruct an entire screen 2 times, I would tell you to completely rethink what you are doing, and if you want to continue with GetBuilder, use at least 2 controllers for what you intend to do.

You are going through a dangerous zone, I would not do that.

And if I move those exact lines to Future<void> onReady() instead of void onInit(), would it be correct?

I would recommend you to change GetBuilder for controller.obx (contrary to what you are doing) or use Obx/.obs in the variable you want to change

So I should either put Scaffold in controller.obx like so
controller.obx(
  (state) => Scaffold(
    appBar: AppBar(
      title: Text('Tablet post #${post?.id}'),
    ),
    body: Column(
      children: [
        Text('loaded on tablet'),
        ElevatedButton(
          onPressed: () {
            controller.load();
            logger.d('Update ${post?.id}');
            controller.update();
          },
          child: Text('Load'),
        ),
        ElevatedButton(
          onPressed: controller.increment,
          child: Text('Increment'),
        ),
      ],
    ),
  ),
);

or wrap GetResponsiveView as I used, but do not use controller.obx in it, right?


Add resize trigger

There's no way to rezize the map, for example if I load map into hidden tab. In that case map will be not shown at all, it needs to be resized.

@koodikindral you mean this kind of calls, right?:
google.maps.event.trigger(map, 'resize');

I have that problem too. However, it can be work around by dispatch 'resize' event after hidden element is visible.
setTimeout(function(){
window.dispatchEvent(new Event("resize"));
}, 1);


ci: use archlinux/archlinux image which is the official archlinux image

Instead of an image that is build from an 3party that builds an arch linux based image, we should use the offical image, in my opinion.

Steps need to be updated in the yml file due to not using buildx anymore

We still use buildx and why should there be an update to the action task as it still uses this dockerfile as the entry. Can you explain it @uspasojevic96 ?

My bad, I was thinking that GHA supports Docker natively

FYI: I have been updating the base branch just now. Many thanks for your contribution @ResuBaka - I will see if that becomes green soon.

It's green! Happy Eastr! :egg: :hatching_chick:


A11y_AzureDataStudio(Schema,Dacpac,Backup)_RestoreDatabaseDialog_RestoreDatabaseGeneralTab_Keyboard: Keyboard Focus shifts to top of screen after expanding the combo box

“Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHub Tags: #A11yMAS; #A11yTCS; #A11y_ADS_Schema_Dacpac_Backup; #Azure Data Studio; #DesktopApp; #Win10; #Keyboard; #NVDA; #MAS1.3.2; #MAS2.4.3;
Environment Details:
Application Name: Azure Data Studio
Version: 1.10.0-insider (user setup)
Commit: 1ff9a2e
Date: 2019-08-09T07:49:00.254Z
VS Code 1.37.0
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
Additional Details:
Tool Name: Keyboard, NVDA
MAS References: MAS 2.4.3, MAS 1.3.2
Repro Steps:

Launch Azure Data Studio application.
Connect to server with windows credentials.
Navigate to Connections from left menu.
Expand the server connected in step 2.
Right click an on prem database and select Restore from Context menu.
Start navigating on page using keyboard tab key.
Navigate till Database or Restore from Combo box & hit enter or space bar to expand it.
Press tab key again & check focus order.

Actual:
After expanding combo box when we again hit tab key, keyboard focus shifts to General, Files & Options tab.
Same issue is also observed for combo box available on below screens:

Restore Database Options tab
Backup Database Dialog

Expected:
After expanding combo box when tab key hit, keyboard focus should shift to next control and not to top of screen. Focus order should be left to right & top to bottom.
User Impact:
Keyboard only users have to navigate again from top to combo box. Also screen reader users would not get correct idea about the content present on the screen as screen reader focus also shifts to top.
Recommendation:
Please refer to below URL which is repository for accessibility bug fixes.
https://microsoft.sharepoint.com/teams/msenable/mas/Pages/browse-fixes.aspx
MAS Reference:
MAS 2.4.3: https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={0de7fbe1-ad7e-48e5-bcbb-8d986691e2b9}
MAS 1.3.2: https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={1ee227a7-e3c5-47b8-ab18-48ca8595077b}
Attachment for reference:
6750_A11y_AzureDataStudio(Schema,Dacpac,Backup)_RestoreDatabaseDialog_RestoreDatabaseGeneralTab_Keyboard.pptx

Affects all combo-boxes...

Repros with dropdowns in VS Code itself, so marking as upstream.  Filed as https://github.com/microsoft/vscode/issues/79339

Reopening and reassigning to @fsteffi as per the Accessibility External Bug Process. @fsteffi, this is an upstream issue from VS Code. We have already filed this bug with vscode as microsoft/vscode#79339. Per the instructions in the External Bug Process, can you track it there?

Marking this for Exclusion. @AbhiramDeshmukh, please work with a SME to review.
https://microsoft.sharepoint.com/teams/ceacc/SitePages/External-Bug-process.aspx
Importance of Experience: somewhat important
This affects all combo boxes across Azure Data Studio and VS Code (where the bug originated). Combo boxes are most prominently used in wizards that must be installed as part of extensions.
Quality of Experience: annoying
User can tab from top to intended combo box or other element. Alternatively, instead of tabbing from combo box after opening it, user can first hit Enter to close it, then tab out as expected. Workaround is not complicated, but is certainly not ideal and may be annoying for affected users.
AAT Conformance Doc: https://cela-ra-aat-prod.azurewebsites.net/#/workflow/ee5c9007-47f4-4fcb-a4d7-a998a617edde?tab=default
External Remark: After expanding a combo box using the keyboard and then pressing Tab to move to the next element, keyboard focus will instead shift back to the first element in the User Interface. Keyboard users must manually TAB forward to the intended next element in the User Interface.

Closing this issue as per the below comment from SME.
"approve this one to close based on the workaround of closing the combobox before tabbing."


Ability to change main process keybinds

This issue was created in reference to the "Keybind options" thread in the "feature-request" forum.
Original request
Metropolitan sandwich
OP
 — Today at 2:18 PM
Because stubborn people (me) want to change the restart keybind from f10 to something else (me) and that this pressing issue affects my experience on this platform (it doesn't but I opened twitter earlier and needed to put a bullshit opinion somewhere)

Response
kate! — Today at 2:32 PM
Heya!

I will look into adding that as a feature in the next minor update/patch since it's been bugging me a bit on my deck. But this might take a bit longer than I'd want since we're currently going through a heatwave where I live.

The F10 keybind gets detected from a different process that doesn't have access to everything that the actual app does (just incase if something crashes).

Made initial prototype, not using the existing keybind system since I would have to port chord parsing to the main process which I don't want to do at the moment.
Here is a video demoing the current prototype which will be good enough to create a PR and close this issue.
https://res.kate.pet/upload/f2c598d09627/electron_GsS3wYn4gT.mp4
It might be viable in the future to move all of the keybind system to the main process then trigger events by calling the renderer from the main process which will then emit an event on a local event emitter which things would listen to inorder to implement the keybinds.


dev

Settings->Required Permissions->
Click Grant Permissions and click ok

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

ID: 692852cd-11a6-1d6b-9540-caec9d0f14a4
Version Independent ID: 4c376561-6015-6dab-e23e-feffe74ccc8b
Content: Authorize developer accounts by using Azure Active Directory - Azure API Management
Content Source: articles/api-management/api-management-howto-aad.md
Service: api-management
GitHub Login: @Juliako
Microsoft Alias: apimpm

@ananthrajagit Thanks for the feedback?  Could you clarify what step or where in the document you are referring to?

@Juliako
At step #25 in this document, it might be good to clarify that you must click the "Grant Permissions" button, then click the OK button to confirm.

@MicrosoftDocs/azure-cxp-triage Can you please reassign this issue to @vladvino?

@mike-urnun-msft please assign this issue to @miaojiang

Thanks for the feedback. "Grand permission" is mentioned at step #26.
#please-close


Enable multiple human safety

Allow safety for multiple humans in the scene.
If runtime becomes a concern, we can reduce the number of models (pos, vel, acc) that is checked to vel only.

Implement the functionality in sara-shield. It would be best if you had multiple human_reach models, I think.

Core functionality was added in https://github.com/manuelvogel12/sara-shield/pull/9, still some work to be done

Commit https://github.com/manuelvogel12/human-gazebo/commit/049a6552d7931d746746a0f5fa39cd4a84e66ce3 added the multiple humans functionality to the simulation. The code has now been successfully tested with multiple simulated humans.
Only things left to do:

[ ] decide on how to determine the max number of humans (mentioned in #9 )
[ ] make sure Profactor outputs a consistent label_id for the same human, and uses a new one whenever a new human enters the scene
[ ] Merge Pull Request #9


URL should be case insensitive

cheat.sh/perl/subroutines

and
cheat.sh/Perl/Subroutines

Should return the same thing.

@chubin Still actual.

https://cheat.sh/Perl/Subroutines now gives Internal Server Error. @chubin something is broken.

@abitrolly Should work now, but the issue is still actual. I agree with the proposal. The queries should be case-insensitive

The fix is to add query = query.lower() somewhere around these lines.
https://github.com/chubin/cheat.sh/blob/7f769d6f3697541e55fd3ea9b71f190296529e48/lib/cheat_wrapper.py#L90-L91
Or maybe after the query is parsed if search_options are still case-sensitive at this point.

Yes, but this change is not enough, because filenames are case insensitive. It is possible to make them lower case in our repositories, but we can't influence external repositories, so more changes needed, but it is not a problem


Zen DNN - Docker & Tests

Docker

CPU Only
GPU HIP

Tests

Convolution Test
Inference - MNIST
Inference - AlexNet

@kiritigowda @rrawther Seems like the test_utils.h file is replicated in all examples, can we have it as a common header file?

@kiritigowda you deleted the .hpp file altogether

@LakshmiKumar23 yes will use from zen dnn git source


init mysql tables on local (not run with docker, just for development on Mac), registry.sql report error for timestamp data type (Invalid default value)

1)Version of docker engine and docker-compose
$ docker version
Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      linux/amd64

$ docker-compose version
docker-compose version 1.8.0, build f3628c7
docker-py version: 1.9.0
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.2h  3 May 2016

2)Config files of harbor, you can get them by packaging "Deploy/config" directory
_nothing changed_
3)Log files, you can get them by package the /var/log/harbor/
_no log files_

reproduce steps:
just run mysql < ./Deploy/db/registry.sql -uroot --verbose
erro messager:
ERROR 1067 (42000) at line 39: Invalid default value for 'update_time'

I think maybe we should specify DEFAULT CURRENT_TIMESTAMP after each timestamp column

We'll review this before next release, since you have a workaround, this maybe low priority.

@reasonerjt good, i will send my PR for this issue .

Closing as fixed.


fix: Fix the permissions of /opt/conda

I noticed that the package installation fails in #11 with an image where the non-root user exists.
Adding a conda group, similar to the existing the conda Feature and the miniforge Feature, should fix this.

Sorry, this does not seem to be an issue with permissions. I will close this for now.