Dependency Not Found On Hot Reload Flutter Web

ATTENTION: DO NOT USE THIS FIELD TO ASK SUPPORT QUESTIONS. USE THE PLATFORM CHANNELS FOR THIS.
Fill in the template. Issues that do not respect the model will be closed.
Describe the bug
On Flutter web, when I inject a dependency through bindings, offAllNamed to a new page, hot reloading causes
"AuthService" not found. You need to call "Get.put(AuthService())" or "Get.lazyPut(()=>AuthService())"

The relevant error-causing widget was
    SecondTestPage
lib/main.dart:25
When the exception was thrown, this was the stack
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 212:49                throw_
packages/get_instance/src/get_instance.dart 265:9                                           find
packages/get_instance/src/extension_instance.dart 64:44                                     Inst.find
packages/get_error_test/features/test%20copy/presentation/second_test_controller.dart 6:40  new
packages/get_error_test/features/test%20copy/presentation/second_test_page.dart 10:13       build
...
════════════════════════════════════════════════════════════════════════════════

To Reproduce
Steps to reproduce the behavior:

Run the minimal reproduce code.

Expected behavior
On reload, injected dependency remains in memory.
Flutter Version:
Flutter Channel beta, 1.21.0-9.2.pre
Getx Version:
get: ^3.11.1
Describe on which device you found the bug:
Chrome(web-javascript).
Screenshot:

Minimal reproduce code
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      getPages: [
        GetPage(
          name: '/',
          page: () => TestPage(),
          binding: TestBinding(),
        ),
        GetPage(
          name: '/second',
          page: () => SecondTestPage(),
        )
      ],
    );
  }
}

class TestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<TestController>(
      init: TestController(),
      builder: (_) {
        return Scaffold(
          appBar: AppBar(title: Text('TestPage')),
          body: Center(
            child: Column(
              mainAxisSize: MainAxisSize.min,
              children: [
                Text(_.name),
                SizedBox(height: 40),
                FlatButton(onPressed: () => _.toTest(), child: Text('Move'))
              ],
            ),
          ),
        );
      },
    );
  }
}

class TestController extends GetxController {
  final AuthService _authService = Get.find();
  String get name => _authService.name;

  void toTest() {
    Get.offAllNamed('/second');
  }
}

class TestBinding implements Bindings {
  @override
  void dependencies() {
    Get.put<AuthService>(AuthService(), permanent: true);
  }
}

class SecondTestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<SecondTestController>(
      init: SecondTestController(),
      builder: (_) {
        return Scaffold(
          appBar: AppBar(title: Text('SecondTestPage')),
          body: Center(
            child: Text(_.name),
          ),
        );
      },
    );
  }
}

class SecondTestController extends GetxController {
  final AuthService _authService = Get.find();
  String get name => _authService.name;
}

class AuthService {
  String get name => 'Hello';
}

Looking at your code, I think everything is correct.
You start Binding on the first route, go to the second. Right after you directly access the second link (see, hot restart on the web behaves differently from mobile / desktop, you notice that the URL remains "/ second", because it tries to go directly to the route). As the second route does not have the preloading of the first Binding, it will not inject the controller.
Try to reproduce the problem with Android / iOS, or desktop. And you will see that this is not a problem, but if you want the solution, start your services in the InitialBinding. If you made this change, there would be no errors:
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      initialBinding: TestBinding(),
      getPages: [
        GetPage(
          name: '/',
          page: () => TestPage(),
        ),
        GetPage(
          name: '/second',
          page: () => SecondTestPage(),
        )
      ],
    );
  }
}

class TestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<TestController>(
      init: TestController(),
      builder: (_) {
        return Scaffold(
          appBar: AppBar(title: Text('TestPage')),
          body: Center(
            child: Column(
              mainAxisSize: MainAxisSize.min,
              children: [
                Text(_.name),
                SizedBox(height: 40),
                FlatButton(onPressed: () => _.toTest(), child: Text('Move'))
              ],
            ),
          ),
        );
      },
    );
  }
}

class TestController extends GetxController {
  final AuthService _authService = Get.find();
  String get name => _authService.name;

  void toTest() {
    Get.offAllNamed('/second');
  }
}

class TestBinding implements Bindings {
  @override
  void dependencies() {
    Get.put<AuthService>(AuthService(), permanent: true);
  }
}

class SecondTestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<SecondTestController>(
      init: SecondTestController(),
      builder: (_) {
        return Scaffold(
          appBar: AppBar(title: Text('SecondTestPage')),
          body: Center(
            child: Text(_.name),
          ),
        );
      },
    );
  }
}

class SecondTestController extends GetxController {
  final AuthService _authService = Get.find();
  String get name => _authService.name;
}

class AuthService {
  String get name => 'Hello';
}

Thanks, the issue is not present on mobile. I plan to deploy the code for both mobile and web from one codebase, does this mean I have to duplicate dependency injections.

You can use Get.isRegistered() in the binding of the second route as well, to initialize the dependency if it has not been initialized.
initialBinding is a option too.
As this is not a problem, but expected behavior, I am closing this.


[extractor/peloton] Add additional metadata to Peloton json

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Peloton provides a lot of useful information about the videos in their json such as the song playlist and equipment needed,   The current extractor is only saving the instructor_cues.  Including an additional area for the full dataset.
instructor_cues are currently stored under subtitles => cues
adding additional data in subtitles => peloton_data
Fixes #
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Can you provide an example of the data?

Can you provide an example of the data?

Here is an example of the full Peloton json: https://gist.github.com/ChuckMac/c1c6fc95665e6cd2890e3791f0f2e6cb

@seproDev thank you for your guidance here, I wrote a plugin instead.
https://github.com/ChuckMac/yt-dlp-peloton-meta


Uncaught TypeError: Cannot read property '141650' of null

I am getting of prototype.js  Error in console and also i am facing issues about gallery images not showing at Front end and it is showing on backend admin panel .Please help me how can i solve this issues.

are you using some custom javascript for your images? Check if it works on the default theme.

no i am not using any custom js


Taller square roots do not print

Square root types r1 through r3 don't seem to print. The symbols display within the built-in output panel and in other browsers, but they do not print using either the built-in print command or through other browsers (via HTML).
Source code

Display in built-in output panel (HTML display in other browsers similar)

Printed from built-in print command (printing from other browsers similar)

It turns out the symbols will print when the background image option is turned on, which was not turned on by default for me. This may deserve a mention in the documentation.

Yes, thank you. It should be the background image option.


Added Prime Factors.

Description
Prime Factors of any number
Fixes #438
Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist:

[x] I have read the contribution guidelines before making this PR.
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented in my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (Language folder or any other readme instructed to)
[x] My changes generates no new warnings
[x] I have added tests that prove my fix is effective or that my feature works

Hi @kaustubhgupta Please review this PR.


Adding geolocation in response. Class types Station and StationRespon…

Hi,
Congratulations for a fantastic tool for helping with the use of the API.
I think It would be great if geo_lat and geo_long fields will be available after the normalization of the stations.
Changes I've made:
Adding geolocation fields in normalization of response. Class types Station and StationResponse modified with optional fields geo_lat and geo_long.

Thanks! 👏


Put database in named volume

Put the database in a named volume for docker to manage permissions.

Merged in #12.


Update docs for chore: empty commit

A document change request is generated from https://github.com/tisonkun/greptimedb/pull/4

A test issue. Closed.


Some problems when trying to run large circuits (maybe just some missing instructions in the docs)

General description
I am trying to simulate quantum circuits using QiboTN and I would like to push the number of qubits to ~100.
As far as I understand, I have to set the approximation parameters via backend's runcard argument, as shown in the README.md.
I tried with qutensornet platform but it crashes:
File [~/Documents/PhD/envs/qibo/lib/python3.10/site-packages/quimb/tensor/tensor_core.py:2208](http://localhost:8888/home/matteo/Documents/PhD/envs/qibo/lib/python3.10/site-packages/quimb/tensor/tensor_core.py#line=2207), in Tensor.split(self, *args, **kwargs)
   2206 @functools.wraps(tensor_split)
   2207 def split(self, *args, **kwargs):
-> 2208     return tensor_split(self, *args, **kwargs)

File [~/anaconda3/envs/eqibo/lib/python3.10/functools.py:878](http://localhost:8888/home/matteo/anaconda3/envs/eqibo/lib/python3.10/functools.py#line=877), in singledispatch.<locals>.wrapper(*args, **kw)
    874 if not args:
    875     raise TypeError(f'{funcname} requires at least '
    876                     '1 positional argument')
--> 878 return dispatch(args[0].__class__)(*args, **kw)

TypeError: tensor_split() got an unexpected keyword argument 'qr_method'

Similarly, for the cutensornet crashes.

If I try to run the code without settings, it get killed if involving $\geq 28$ qubits (I guess because there is no approximation (?))

What is the way to set the approximation level?
And, is there a way to collect metrics quantifying this approximation?
To replicate
from qibo.models import QFT
import qibo

computation_settings = {
    "MPI_enabled": False,
    "MPS_enabled": {
        "qr_method": False,
        "svd_method": {
            "partition": "UV",
            "abs_cutoff": 1e-12,
        },
    },
    "NCCL_enabled": False,
    "expectation_enabled": False,
}

qibo.set_backend("qibotn", platform="qutensornet", runcard=computation_settings)

circ = QFT(nqubits=28)
probs = circ().probabilities()

Thanks @MatteoRobbiati for reporting this.
From the error messages, it seems that the argument fed into the quimb library function is unexpected, probably due to not being required or format not being compatible. @Vinitha-balachandran and I will take a look.
For the approximation, I remember there are some arguments for that in cutensornet. We haven't explored how to tune the approximation knob yet, so most likely, it's not set. @Tankya2  and I can think about how to expose this knob to users to experiment with the approximation impact.

Sorry @liweintu, the conversation has been (at least partially) solved in private.
So, the problem reported here is actually that the configurations are not uniform across qutensornet (i.e. Quimb, most likely we should rename it...) and cutensornet backends. And yes, qr_method is not a configuration exposed by the Quimb wrapper, though the entirety of the value associated to the "MPS_enabled" key is passed to a Quimb function.
Moreover, another problem that arose has been that "MPS_enabled" sounds like a flag, and it can be a flag (i.e. True/False), but it can also be a whole dictionary of specs (as in the case reported above), whose structure is specified nowhere in the docs (and the defaults applied are not reported as well), so you need to inspect the code to work them out
https://github.com/qiboteam/qibotn/blob/4f547726b616f73d074abf77811644cf2cb54383/src/qibotn/backends/quimb.py#L17-L25

From the error messages, it seems that the argument fed into the quimb library function is unexpected, probably due to not being required or format not being compatible. @Vinitha-balachandran and I will take a look.

Thanks! As mentioned by @alecandido (and my apologizes, because I discussed with him and then forgot to update the issue), it is now clear the two backends support different arguments when being initialized. My personal opinion is that we should try to standardize the features we can have access to. It doesn't mean we need to standardize the interface, but at least being able to replicate similar scenarios using the various backends.

For the approximation, I remember there are some arguments for that in cutensornet. We haven't explored how to tune the approximation knob yet, so most likely, it's not set. @Tankya2 and I can think about how to expose this knob to users to experiment with the approximation impact.

Ups, I kind of replied above. Indeed, it would be useful to have a documented list of metrics one can access :)
Thanks for your reply!


Use Typescript on the frontend.

These are the minimal changes to make the whole thing work with typescript. (Well I'm sure I could have done it more minimally, but it is pretty minimal).
Please take a quick look through the code changes, for the most part I just added : any all over the place.
As we work we will construct our own types, and start replacing the : anys that are all over the place.

Sho this is a monolith of changes. But excited to work in a different
space.
Center tag was quick development so happy to remove it but I also can't see
any browsers depreciating previous versions of HTML soon.
On that, though definitely a decent amount of neatening to happen and will
probably see a big facelift so most of this will fall away anyway.
Thanks My dooood!
Denham
On Wed, May 22, 2019 at 7:24 PM Jason Smythe<EMAIL_ADDRESS>wrote:

@JasoonS commented on this pull request.
In app/src/components/AnimalAdoptionApp/AdoptAnimalForm.tsx
https://github.com/wild-cards/dapp/pull/1#discussion_r286600409:

     <Input

     style={{width: '100%'}}

     key={valueLabel}

     type='number'

     name='value'

     value={this.state[valueLabel]}

     placeholder={valueLabel}

     onChange={this.handleInputChange}

     startAdornment={<InputAdornment position="start">ETH</InputAdornment>} />

Small note here: https://www.w3schools.com/tags/tag_center.asp HTML5
doesn't support the 'center' tag. So best to remove it.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/wild-cards/dapp/pull/1?email_source=notifications&email_token=AGJWUO4WZY3ACUT5CRBTJ23PWV6ULA5CNFSM4HOWLBL2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBZM6FFQ#pullrequestreview-240771734,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGJWUO6SR62MNL2A6AZDRFDPWV6ULANCNFSM4HOWLBLQ
.


Setting text depth result in graphics missing

Version

Phaser Version:3.80.1
Operating system:macos
Browser:chrome

Description
When adding a Text object to a scene that already contains Graphics, it causes parts of the Graphics to disappear. Specifically, when the Text object's depth is set to be greater than or equal to the Graphics object's depth, some lines of the Graphics rendering are missing.
Example Test Code
// main.js
import { Main } from './scenes/MainScene';
import { Game } from 'phaser';

const config = {
    type: Phaser.AUTO,
    width: 800,
    height: 800,
    parent: 'game-container',
    backgroundColor: '#028af8',
    scale: {
        mode: Phaser.Scale.FIT,
        autoCenter: Phaser.Scale.CENTER_BOTH
    },
    physics: {},
    scene: [
        Main,
    ]
};

export default new Game(config);

// MainScene.js
import { Scene } from "phaser";

export class Main extends Scene {
    constructor() {
        super('Main');
    }

    create() {
        const { width, height } = this.sys.game.canvas;

        const gap = 100;
        const verticalLineCount = Math.floor(width / gap);
        const horizontalLineCount = Math.floor(height / gap);
        const graphics = this.add.graphics();
        graphics.lineStyle(1, 0xfff);
        graphics.setDepth(1);

        for (let i = 1; i < verticalLineCount; i++) {
            graphics.lineStyle(1, {
                0: 0xffffff,
                1: 0x000000,
            }[i % 2]);
            graphics.beginPath();
            graphics.moveTo(i * gap, 0);
            graphics.lineTo(i * gap, height);
            graphics.strokePath();
        }

        for (let i = 1; i < horizontalLineCount; i++) {
            graphics.lineStyle(1, {
                0: 0xffffff,
                1: 0x000000,
            }[i % 2]);
            graphics.beginPath();
            graphics.moveTo(0, i * gap);
            graphics.lineTo(width, i * gap);
            graphics.strokePath();
        }

        const text = this.add.text(50, 50, 'a', { font: '16px Courier', fill: '#00ff00' });
        text.setOrigin(0.5, 0.5);
        text.setDepth(1); // <- this line results in graphics missing
    }
}

Additional Information

When text.depth is set to 0:

When text.depth is set to 1:

Thanks for opening this issue - however, it's already fixed in Phaser v3.85+ as you can see in this sandbox: https://phaser.io/sandbox/KoYBs7fw


Implement registry controller API server

1, provide API to start/stop/gc
2, use the secret as the auth.
3, update registry docker image and make process.

Close it, PR will be created later.
1, api/registry/gc - POST
2, api/registry/gc/history - GET
3, api/registry/gc/status - GET
4, api/regsitry/ping - GET
Bound the lifecycle of docker registry with http server, and redirect ouput to stdout.


debug stepping, hot replace and autosave ... one should be off when debugger is active

Type: Feature Request
while debugging, hot replace is on, and autosave is on, makes for a bad experience.
while debug stepping, its common to modify code, but if you do and autosave is on, it causes hot replace to make your location jump somewhere else as soon as you start typing a few characters.
autosave should probably be inactive temporarily if hot replace is on and you're actively debug stepping.
Alas, you might need to warn the user incase they continue to edit in debug mode...
VS Code version: Code 1.88.1 (e170252f762678dec6ca2cc69aba1570769a5d39, 2024-04-10T17:42:52.765Z)
OS version: Darwin x64 23.4.0
Modes:

Debugging what language?

Java

I think this should be filed on the Java debug extension repo, sounds like it's specific to features from there


chore(deps): update terraform terraform-ibm-modules/cos/ibm to v8.11.11

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
patch
8.11.10 -> 8.11.11

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.11.11
Compare Source
Bug Fixes

deps: update terraform-module (#724) (acbf18c)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 7.19.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add compatibility tests for Nightwatch.js

For investigating #2

Hmm... It seems working fine (https://circleci.com/gh/Kuniwak/html-dnd/40).
><EMAIL_ADDRESS>e2e:nightwatch /home/ubuntu/html-dnd
> nightwatch --config test/e2e/nightwatch/nightwatch.json

Starting selenium server... started - PID:  13061

[Index] Test Suite
==================

Running:  Drag and Drop with Nightwatch
 ✔ Testing if element <#result> contains text: "NG".
 ✔ Testing if element <#result> contains text: "OK".

OK. 2 assertions passed. (1.739s)


Transcription speed

Is there any interest in accepting a PR for adding transcription speed to the benchmark?

Is there any interest in accepting a PR for adding transcription speed to the benchmark?

Hi sure. I'm not developing this tool further but I could review a PR.


CCM FI countermeasures

This PR adds FI protection to the CCM and cipher modules. It is based on https://github.com/ARMmbed/mbedtls/pull/3481.
Please only review the two last commits.

Codesize footprint: 292 bytes from libmbedcrypto.a.

Codesize footprint: 292 bytes from libmbedcrypto.a compared to #3481.

@AndrzejKurek , did you compile it with aes 128 bit keys and aes encrypt only flags ?

Codesize footprint: 292 bytes from libmbedcrypto.a compared to #3481.

@AndrzejKurek , did you compile it with aes 128 bit keys and aes encrypt only flags ?

Yes, this was compiled with this flag, as discussed on Slack.

@AndrzejKurek , i think we should add double check of return value here
https://github.com/ARMmbed/mbedtls/blob/4dad978330986fc61aa6e2ed9fdf9aba0d366727/library/cipher.c#L381

Rebased to fix conflicts.

@AndrzejKurek , could you check code size increasing ?

Total of 376 bytes are added by this PR.

@AndrzejKurek , let's check with Alexander what can be omitted if we call to ccm encrypt/decrypt twice in user application

Closing as the changes are not mandatory.


Better error propagation while executing directives

Changes

Add rowIndex and directiveIndex fields to RecipeException to track which row and directive caused the error
Add a new response object returned by API call when RecipeException occurs
Change handlers to handle different exceptions being re-thrown as RecipeExceptions
Get and propagate row, directive indices from parser & recipe executor classes

Unexpected exception, expected<io.cdap.wrangler.api.DirectiveNotFoundException> but was<io.cdap.wrangler.api.RecipeException>
Seems to be a genuine test failure, can you please check?


Disable OSX ARM builds until cross compilation is fixed

Cross compilation currently broken, revert to merge_build_host and disable arm builds.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


Patch 1

Update reference in language from 0.1 to 0.2.  Also update tutorial assuming someone is on a new machine and calling out instructions on how to install AZ Poweshell module and how to install AZ CLI

Codecov Report

Merging #908 (4d45605) into main (99e3e99) will increase coverage by 0.52%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #908      +/-   ##
==========================================
+ Coverage   94.73%   95.26%   +0.52%
==========================================
  Files         302      298       -4
  Lines       13723    13561     -162
  Branches       12        0      -12
==========================================
- Hits        13001    12919      -82
+ Misses        722      642      -80

Flag
Coverage Δ

dotnet
95.26% <ø> (-0.12%)
:arrow_down:

typescript
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...cep.Core.UnitTests/FileSystem/FileResolverTests.cs
76.66% <0.00%> (-23.34%)
:arrow_down:

.../Bicep.Core.UnitTests/Assertions/BaselineHelper.cs
60.86% <0.00%> (-17.40%)
:arrow_down:

src/Bicep.Core/FileSystem/PathHelper.cs
96.15% <0.00%> (-3.85%)
:arrow_down:

src/Bicep.Core/Emit/ScopeHelper.cs
92.23% <0.00%> (-0.30%)
:arrow_down:

src/Bicep.Core/TypeSystem/DeclaredTypeManager.cs
89.23% <0.00%> (-0.09%)
:arrow_down:

...p.LangServer/Completions/BicepCompletionContext.cs
96.11% <0.00%> (-0.06%)
:arrow_down:

src/Bicep.Core/TypeSystem/TypeValidator.cs
91.28% <0.00%> (-0.04%)
:arrow_down:

src/Bicep.Core/Emit/ExpressionConverter.cs
95.65% <0.00%> (-0.02%)
:arrow_down:

src/Bicep.Core/Parser/Parser.cs
94.40% <0.00%> (-0.02%)
:arrow_down:

....LangServer/Completions/BicepCompletionProvider.cs
98.34% <0.00%> (-0.01%)
:arrow_down:

... and 6 more


Fix reports not propagated to detekt task with type resolution

Configuring detekt gradle extension as below does not actually generate SARIF reports when running detekt<SourceSet> like :detektMain. The problem here is that we are merely not passing the reports in DetektExtension to reports of Detekt as a gradle task.
detekt {
    reports {
        sarif.enabled = true
    }
}

In addition to integration testing, I also manually verified through a sample project that the above is working.

This PR is blocking me from testing the solution for #853. When possible, please merge this pull request.

@chao2zhang good to know. This PR will be merged asap if at least two maintainers review and approve it. Hence, I send out an review invitation.


Power

General

✏ Mark the necessary items without changing the structure of the PR template.

[ ] Pull request template structure not broken

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[ ] My code follows the style guidelines of this project
[ ] Is the code format correct
[ ] Is the git submission information standard?
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@krio6839 哥你咋把你公司项目提交上来了

不好意思哈，git 还不太熟练，想提交到自己 fork 的库上面的
1025125978
@.***

------------------ 原始邮件 ------------------
发件人: "invalid @.>;
发送时间: 2024年3月14日(星期四) 上午10:04
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [vbenjs/vue-vben-admin] Power (PR #3670)
@krio6839 哥你咋把你公司项目提交上来了
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@krio6839  先把你公司的仓库设为私有


editor.wordWrap ignored by Markdown when defined in multi-key language object

Type: Bug
Markdown file content:
Longer than 80 characters. Longer than 80 characters. Longer than 80 characters. Longer than 80 characters.

Issue:
// Multi-key.
"[markdown][plaintext]": {
    "editor.wordWrap": "bounded", // Ignored by Markdown.
    "editor.wordWrapColumn": 80,
},

But when edited to be:
// Single key.
"[markdown]": {
    "editor.wordWrap": "bounded", // Honoured by Markdown.
    "editor.wordWrapColumn": 80,
},

Other languages could possibly have similar setting issues, but only the documented case above has been observed.
VS Code version: Code - Insiders 1.78.0-insider (e410e7c66e7ce5c6bc31f73150d66857804a0ee9, 2023-04-28T12:24:04.788Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: Yes
Extensions: none

/duplicate
https://github.com/microsoft/vscode/issues/168411

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


How to trigger pipeline on dockerhub push?

"An error occurred while loading the YAML build pipeline. 'image' key is not defined for Docker hub container resource: argocd"
Trying to trigger a azure devops pipeline from an external dockerhub repositiory.
resources:
  -containers:
    - container: tools
      type: ACR
      azureSubscription: example
      resourceGroup: containerRegistry
      registry: crExample
      repository: tools
      trigger:
        tags:
          include:
          - "*"

    - container: argocd
      type: Docker
      azureSubscription: argoproj
      registry: argoproj
      repository: argocd
      trigger:
        tags:
          include:
            - "v*"

First container works and triggers the pipeline correctly but the second does not.
How to fix? Could you also make an example on this site.
Use case:
We append our tools to the argocd image in a custom dockerfile. Would like to automate the release for when argocd does a release or when we rebuild our tools

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

ID: ee4ec9d0-e0d5-4fb4-7c3e-b84abfa290c2
Version Independent ID: 3e2b80d9-30e5-0c48-49f0-4fcdfedf5eee
Content: Resources - Azure Pipelines
Content Source: docs/pipelines/process/resources.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

This is an older issue and an implementation questions. If you are still running into problems, can you please post in the Developer Community?

I think this is a very reasonable ask and I can attest to the fact that many of us are wondering about how to trigger an azure devops pipeline when a Docker Hub image is updated.
This is what the documentation currently says:
`"_A container resource can be a public or private Docker Registry, or Azure Container Registry.
If you need to consume images from Docker registry as part of your pipeline, you can define a generic container resource_"
Is this accurate? Can you actually trigger a pipeline when a docker hub image is updated?
The documentation also gives this example:
`resources:
containers:

container: smartHotel
endpoint: myDockerRegistry
image: smartHotelApp`

Is this correct? Could you give concrete examples on where the endpoint myDockerRegistry is stored? I assume this would need to be a Service Connection? Or a link to an image...?
Triggering off docker hub changes is a pretty mainstream and a very common case, and implementation question or not, merits a full clarification/example.

@gauravIoTEdge You can set up a classic release pipeline to trigger an Azure DevOps pipeline on Docker hub pushes. Unfortunately, there's not a way to do this currently in a YAML. Here's more details in a Developer Community post. I'll update the article to make this clearer.

Are there any plans on making this available in YAML?


Second try at correcting the table

I didn't get to see what it looked like before the backticks were added (https://github.com/openaps/docs/commit/1dba918aa63bb0c616c9b61c3af933a0ac2eb651), so I don't know if it was enough to get the Read the Docs page formatted correctly, but obviously there's something else wrong since the PDF stuff broke. This is my second attempt. I realized that there were some inconsistencies in the use of spacing characters, and an extra column on one of the rows. Hopefully this attempt will work better. :crossed_fingers:

Wow 😳😀😀😀
On Tue, Feb 14, 2023, 8:22 AM Caleb @.***> wrote:

For some reason triple backticks were added around the table during/after
the merge for #1588 https://github.com/openaps/docs/pull/1588, causing
it to become a code block instead of a table. I also realized that there
were some inconsistencies in the use of spacing characters, and an extra
column on one of the rows. Hopefully this attempt will work better. 🤞
You can view, comment on, or merge this pull request online at:
https://github.com/openaps/docs/pull/1589
Commit Summary

554cb9b
https://github.com/openaps/docs/pull/1589/commits/554cb9ba1b2cd95c5869d688958867d25d2f8980
Second try at correcting the table

File Changes
(1 file https://github.com/openaps/docs/pull/1589/files)

M docs/docs/Gear Up/edison.md
https://github.com/openaps/docs/pull/1589/files#diff-7b49d51c0fbb731a83e00c4f1b77760e7de8e9d98751ca50bdde627ec61a3d52
(10)

Patch Links:

https://github.com/openaps/docs/pull/1589.patch
https://github.com/openaps/docs/pull/1589.diff

—
Reply to this email directly, view it on GitHub
https://github.com/openaps/docs/pull/1589, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHL5ZSTOOKLDNRGYA6RKMTWXMXCBANCNFSM6AAAAAAU3GERZU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

You're doing REALLY cool stuff ☺☺☺☺
I want to understand better
On Tue, Feb 14, 2023, 8:22 AM Caleb @.***> wrote:

For some reason triple backticks were added around the table during/after
the merge for #1588 https://github.com/openaps/docs/pull/1588, causing
it to become a code block instead of a table. I also realized that there
were some inconsistencies in the use of spacing characters, and an extra
column on one of the rows. Hopefully this attempt will work better. 🤞
You can view, comment on, or merge this pull request online at:
https://github.com/openaps/docs/pull/1589
Commit Summary

554cb9b
https://github.com/openaps/docs/pull/1589/commits/554cb9ba1b2cd95c5869d688958867d25d2f8980
Second try at correcting the table

File Changes
(1 file https://github.com/openaps/docs/pull/1589/files)

M docs/docs/Gear Up/edison.md
https://github.com/openaps/docs/pull/1589/files#diff-7b49d51c0fbb731a83e00c4f1b77760e7de8e9d98751ca50bdde627ec61a3d52
(10)

Patch Links:

https://github.com/openaps/docs/pull/1589.patch
https://github.com/openaps/docs/pull/1589.diff

—
Reply to this email directly, view it on GitHub
https://github.com/openaps/docs/pull/1589, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHL5ZSTOOKLDNRGYA6RKMTWXMXCBANCNFSM6AAAAAAU3GERZU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@inventor96 sorry, the backticks were added by me! after I merged the PR, something in the RTD build broke, so I was trying to see if containing the table fixed it. I fixed the broken build issue separately but hadn't gone back to remove the backticks yet.
I can preview PRs in RTD now - here's a screenshot of how this version will render. It's still not turning into a table yet, but I'll go ahead and merge this regardless as it undoes the backticks and fixes the things you mentioned.

@danamlewis Yeah, I edited my comment after seeing finding the commit. 👍
It's a bummer the table still doesn't layout properly. It looks like we use HTML tables elsewhere in the docs, rather than Markdown tables, so I guess I'll create yet another PR and use that method instead.


feat(iter): add iterCuNoneBy function

This commit adds cunone-by package
Resolves #2337
Description

What is the purpose of this pull request?
The purpose of this pull request is to add the @stdlib/iter/cunone-by package which cumulatively tests whether no iterated value passes a test implemented by a predicate function.

Related Issues

Does this pull request have any related issues?
#2337

This pull request:

resolves #2337

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

HI @kgryte. Please review my PR


adding more fields in Request

I need access to set the request status to solved through api. It works only if solved field and its corresponding getters and setters are present in the Request. Create Request API was also failing as priority is mandatory field in the create request API. I also need access to couple of other fields, which I have added in the Request pojo.

Please merge the changes, so I can integrate the zendesk request creation in my application. Thanks for approving the changes

Could you please let me know how long will it take to get these changes merged? I am new to public github, so I am not familiar about how things work in public github.

Hi Mary,
It will take some time. In open-source communities, maintainers aren't active every day and I would prefer to have others reviews because myself I'm not actively using it.
Your changes are looking good when I compare with the documentation but without adding some new tests it is hard to guess if it will be completely fine. This part of the code has sadly a low test coverage : https://github.com/cloudbees/zendesk-java-client/blob/master/src/test/java/org/zendesk/client/v2/RealSmokeTest.java#L609
After the validation of active others developers like @duemir or @johnou you'll have to also wait for a release to grab the new version from maven central.
HTH

I worked on the review comments, but the PR is not getting updated. Can you tell me how to update the pull request?

Changes are done. But the pull request is not getting updated. Could you please tell me what should I do?

Pull request is now showing as updated. Sorry, this is the first time I am raising Pull request in public git hub, so I accidentally sent many comments regarding the pull request. Could you please review now?

@aheritier looking better.

@marydcouto can I assume you have tested these changes with your application?

Yes I have tested this code. I made changes for Requests only. I can see 2 tests are failing for createOrganization and deleteOrganization. I am not sure why these tests are failing in my build. Do you know why these tests are failing in my build?


Spurious write to BRAM after configuration on iCE40

The following code
module bram(
	    input clk,
	    output LED0,
	    output LED1,
	    output LED2,
	    output LED3,
	    output LED4,
	    output LED5,
	    output LED6,
	    output LED7
	    );

   wire 	   ramclk;
   assign ramclk = clk;

   reg [3:0] 	   cnt;
   reg [7:0] 	   leds;

   reg [7:0] 	   ram[511:0];

   assign {LED7, LED6, LED5, LED4, LED3, LED2, LED1, LED0} = leds;

   initial begin
      ram[0] <= 8'hAA;
   end

   always @(posedge clk) begin
      cnt <= cnt + 1;
   end

   always @(posedge ramclk) begin
      case (cnt)
	4: ram[7] <= 8'h55;
	6: leds <= ram[0];
      endcase
   end

endmodule // bram

should always (after 6 cycles at least :) read out the value 10101010
to the LEDs, since ram[0] is never modified by the code.  However,
sometimes (about half the time) all zeros are read out instead.  It appears
that a spurious write of data 0 to address 0 is sometimes happening
between configuration and the execution of the state machine.  (I have
confirmed in more complicated verilog that address 0 and only address 0
gets modified this way.)
If I remove the assignment to ram[7], then the problem goes away.
Is it a hardware bug in iCE40 that you can't both have init data in
BRAMs and use the write function, or is yosys (or arachne-pnr) doing
something wrong here?
Yosys 0.5+389 (git sha1 faa3da5, gcc 4.8.5 -mcpu=power4 -mtune=power4 -maltivec -mabi=altivec -fno-strict-aliasing -O2 -fPIC -Os)

Attached generated files
bram.blif.txt
bram.txt

I have already noticed a similar problem, but I wasn't able to determine the cause. It was a kind of random bug. I will make more tests using the information you have provided

I wonder if @laanwj's pull request fixes this.  It cleared up a heisen-bug @cliffordwolf was running into.  I'm at a work conference until Wed.  I won't be able to look at any of this before then.

I can confirm that this bug is still in Yosys 0.5+397
I am implementing a very simple educational microprocessor in verilog. I was having a lot of problems: the same program sometimes worked ok, but sometines not. It was a kind of random.  Now I am avoiding the 0 address (assuming it is always 0) and everything seems to work fine

That's basically my case as well.  I'm using the AVR core from opencores, and have added a module to upload code to the program memory (which is BRAM) runtime over a serial port.  When using the upload function the code always works, but if putting the same code into initdata, the first instruction frequently becomes a NOP (I can use the upload function to also download the current PM contents in order to verify this, which is the "more complicated verilog" I was talking about earlier).

Wow! That project is so cool!!! :-)

Looking into lattice synthesis results (1), I realized that the lattice tools use the RCLKE/WCLKE ports instead of RE/WE ports when inferring block memory. Theoretically this should not make a difference, but it seems to make a difference in this case.
When I instantiate the block-ram manually and use the RE/WE ports, then I can even reproduce the problem with the lattice tools. So this does not seem to be a place&route bug in our flow, but a general problem with iCE40 BRAMS when using the RE/WE ports.
I have now changed the bram mapper code for ice40 to use the RCLKE/WCLKE ports instead instead of RE/WE: 8ff229a3ead38f89b0dddde9d952c8677d89f980 This seems to fix the issue.
Btw: I have a large-ish SoC design with a similar setup (booting from BRAM that is writeable), but I never observed this bug in that design.. Interesting.
(1) You can't use your design for that: The Lattice tool completely ignore the initial section in your code and simply set all outputs to zero, no logic or memory is inferred.


Error creating a snapshot

The template below is mostly useful for bug reports and support questions.
Feel free to remove anything which doesn't apply to you and add more information where it makes sense.
Required information

Distribution: Ubuntu
Distribution version: 15.10
The output of "lxc info":

    apicompat: 0
    auth: trusted
    environment:
      addresses: []
      architectures:
      - x86_64
      - i686
      certificate: |
        -----BEGIN CERTIFICATE-----
        ...omitted...
        -----END CERTIFICATE-----
      driver: lxc
      driverversion: 2.0.0.rc10
      kernel: Linux
      kernelarchitecture: x86_64
      kernelversion: 4.2.0-27-generic
      server: lxd
      serverpid: 636
      serverversion: 2.0.0.rc3
      storage: dir
      storageversion: ""
    config: {}
    public: false

Issue description
lxc-snapshot of a new container fails with lxc_snapshot.c: do_snapshot: 185 Error creating a snapshot
Steps to reproduce
Ubuntu 15.10
sudo add-apt-repository ppa:ubuntu-lxc/lxd-git-master && sudo apt-get update
sudo apt-get install lxd
newgrp lxd
lxc launch ubuntu:14.04
lxc list
lxc-snapshot -n unpieced-marcelo

(replace with the name of actual container) fails with
lxc-snapshot: lxc_snapshot.c: do_snapshot: 185 Error creating a snapshot

running it with strace seems to look for
stat("/var/lib/lxc/unpieced-marcelo/config", 0x7ffe8d244470) = -1 ENOENT (No such file or directory)
stat("/var/lib/lxc/unpieced-marcelo/partial", 0x7ffe8d2443d0) = -1 ENOENT (No such file or directory)

but those files are absent on my system for some reason. (This was a clean install, I didn't change any config options of lxc/lxd)
root@ubuntu-lxd-test:~# ls -la /var/lib/lxc/
total 8
drwx------  2 root root 4096 Mar 11 15:34 .
drwxr-xr-x 45 root root 4096 Mar 16 15:44 ..

root@ubuntu-lxd-test:~# lxd --version
2.0.0.rc3
root@ubuntu-lxd-test:~# lxc --version
2.0.0.rc3

try "lxc snapshot unpieced-marcelo" instead.
You seem to be mixing the old LXC tools with the LXD tools, that's not gonna work.

:+1: Awesome, thanks @stgraber ! That worked :) It's hard to orient with all lxc guides around! Sorry for wasting your time :)
Thanks for a great job, guys!


WIP: specify machineset in set_scale.sh

Wasn't sure the best way to do argument validation with multiple optional arguments, so only the required args are validated.

I'd personally vote to move all the options in front of the real arguments as it has been a convention for years.  Nothing against this PR, the issue (options after arguments) was introduced prior to it. Options before arguments would simplify the parsing and you could then use something like this to process them.
while true
do
    case "${1:-}" in
        -f|--force)
            force=Y
            ;;
        -a|--another_option)
            another_option=Y
            ;;
        -*) echo "$0: invalid option '${1:-}'" >&2
            usage 1
            ;;
        *)  break
            ;;
    esac
    shift
done

my_arg1=${1}
my_arg2=${2} # or just use shift here

@kpouget WDYT?

@jmencak yes, makes sense
we really need to define a clean&common way to pass and parse arguments :#
@pamann, I think there is something off with the current PR:
 USAGE: ${0} <instance_type> <scale> [machineset] [--force]

reading the code, I think machineset is a number, like 0 for the 1st machineset, 1 for the second, etc, is that correct?
if yes, that's not the easiest way to go for the user, I would prefer:
BASE_MACHINESET=kpouget-20210519-kf6rn-worker-eu-central-1b
./toolbox/cluster/set_scale.sh g4dn.xlarge 1 $BASE_MACHINESET
# or maybe
./toolbox/cluster/set_scale.sh g4dn.xlarge 1 --base-machineset $BASE_MACHINESET

where $BASE_MACHINESET is the name of a machineset:
$ oc get machineset/$BASE_MACHINESET -n openshift-machine-api
...
$ oc get machinesets -n openshift-machine-api -oname
...

you can also add an ansible test task that fails if the machineset doesn't exist
name: Ensure that the base machineset exists
command: oc get machinesets/{{ base_machineset }} -oname

Give it a try this afternoon, and if not clear we'll see tomorrow morning (your time) how to get that working :)

we really need to define a clean&common way to pass and parse arguments :#

I have a branch in progress I'm working on from time to time to transform the toolbox to Fire...

@omertuc can you have a look and provide some feedback / guidance to @pamann?

ping @pamann , any update on this one?

@pamann seems to look good :)
only the yaml lint test if failing because of the missing new-line at the end of roles/cluster_ensure_machineset/tasks/main.yml
and could you add an entry in the changelog and in the documentation page?
@omertuc would you be able to give this PR a try (on monday)?
specify eg the machineset zone c, and make sure the new machines are created from this machineset (this is the thing I wanted to solve with this ticket)

closing this PR as @pamann won't be able to pursue the work
I've rebased the code from this PR on top of master in https://github.com/openshift-psap/ci-artifacts/pull/234
I didn't have to change anything for the Ansible part, the only unsolved points where in set_scale.sh, and this file disappeared as part of the rebase (move to Python)


Optimize and simplify notification logic

The new logic looks correct to me, but I'm not sure it is more efficient than what we had before:

Suppose there are 100 receivers blocked on an empty channel. Each receiver is consuming messages in a loop.
Then we send 100 messages into the channel at once, thus waking up 100 receiver tasks. It's very likely that the first receiver to wake up will consume more than one or maybe even all of the 100 queued messages.
Finally, the remaining 99 receivers wake up only to discover that the channel is empty again and go back to sleep. With the old logic, only 1 receiver would wake up and go back to sleep, while the other 98 would just keep sleeping.

I guess it depends on the use case and what you are measuring (e.g. if you care more about throughput or latency). However, at least in a general sense, I feel that the new logic does less work and could respond faster. Are there benchmarks available that we can use to compare relevant use cases? Otherwise I can write a few basic benchmarks to compare.
I am not sure how relevant your example is since if one receiver is so fast (in the normal case) it can process a large portion of the messages before the other tasks can even wake up, then there seems to be too many tasks processing messages? On the other hand, if messages continued to come in, the other tasks would already be awake and ready to receive new messages without having to wait on the notification "chain".

I don't have any benchmarks for channel - it would be good to write some and see the impact. My hypothesis is that this change would consume more CPU due to unnecessary wakeups. The current logic is also used in async-executor for waking up executor threads when new tasks are scheduled (the task queue is basically a channel), and that's how almost all popular executors work.

I am not sure how relevant your example is since if one receiver is so fast (in the normal case) it can process a large portion of the messages before the other tasks can even wake up, then there seems to be too many tasks processing messages?

The main question here is how many messages can be processed by a single task/receiver. And the answer is that we can't really know. This PR assumes that 1 message corresponds to 1 task/receiver, but it is often the case that receivers process small messages in batches.
In case of executors, it can be common for 10 small scheduled tasks to be processed quickly by a single thread, so it's not worth waking up all threads. Instead, we wake up just 1 additional thread in case help is needed, and if that thread picks up a task, then it wakes up another and so on. This adaptive strategy hits a sweet spot between latency, throughput, and CPU usage.
Here's an interesting comment in the Go runtime, which describes the wakeup strategy in this PR:
// 3. Unpark an additional thread whenever we ready a goroutine and there is an
//    idle P, but don't do handoff. This would lead to excessive thread parking/
//    unparking as the additional threads will instantly park without discovering
//    any work to do.

source: https://github.com/golang/go/blob/d42b32e321fa5c5d2c93b2ad22d48e804c9f45d2/src/runtime/proc.go#L49-L52

I think this can be closed now that PR #49 has been merged.


Design: consolidate yellow etherscan link design

The yellow etherscan link with right arrow are very similar components with different font weight / padding.
In consultation with design, we should consolidate these two:

cc @xraystyle1980

On second look, these links serve a different purpose, so don't necessarily need to be the same typeface.  Closing this one.


Deploy the Sierra indexer

This adds the infra and weco-deploy config to actually get it deployed, and it's running now with a reindex to populate the initial data set. Closes https://github.com/wellcomecollection/platform/issues/5052

I've created a separate ticket to track adding the architecture diagram properly: https://github.com/wellcomecollection/platform/issues/5071
Here's a quick sketch of how the indexer works:


Unable to scan using Playwright.Net version 1.23

Using Playwright.Net 1.23, when I hit my line of code that scans the page for accessibility issues I get the exception:
System.Text.Json.JsonException: 'The JSON value could not be converted to System.Collections.Generic.IList`1[System.String]. Path: $.incomplete[0].tags | LineNumber: 0 | BytePositionInLine: 40253.'
If I downgrade to Playwright.Net version 1.22 everything works fine again.
This is my method for scanning:
    public async Task<AxeResults> GetAccessibilityAxeResults()
    {
        IList<string> tags = _settings.AxeTags ?? new List<string>() { "wcag2aa", "wcag2a" };
        IList<AxeResultGroup> resultTypes = new List<AxeResultGroup> { AxeResultGroup.Violations };
        var options = new AxeRunOptions(
                runOnly: new AxeRunOnly(AxeRunOnlyType.Tag, tags),
                resultTypes: resultTypes,
                iframes: false
            );
        var reportOptions = new AxeHtmlReportOptions(reportDir: $"{Defaults.OutputFolder}\\AxeReports");
        //This next line breaks with Playwright 1.23
        **var results = await (await _page).RunAxe(options, reportOptions);**
        Log.Info($"Found {results.Violations.Count} accessibility violations for url [{results.Url}]");
        return results;
    }

Thanks, it's related to Playwright enabling recursive objects in v1.23.0.
I've added a temporary fix to 1.2.0 which seems to do the trick while I dig deeper.
Let me know if it fixes the issue for you.

Hi, that's great, it all seems to be working nicely again now. Thanks for the super quick fix!


MailChimp Merge Tags

In MailChimp you can use merge tags so they are editable in the template. The only issue I have is when using buttons - if I do this for example:
      <row>         <columns large="6">           <center>             <button mc:edit="recipe_link_2" href="#">View Recipe</button>           </center>         </columns>       </row>
Unfortunately it wipes out the "mc:edit" once it's compiled so I have to go and insert it manually. I was just wondering if you anyone else has come across this?
Thanks!

@carterm90 I would probably use a custom helper function or the raw.js helper function to render this. Many custom templating tags will get removed or altered by the inlining (and other) processes. My current employer uses Localytics, which uses Handlebars notation for template variables just like Foundation for Emails, so I've had to create a custom helper function to take care of this same issue. Here is a link to an example: http://bit.ly/2frPLEF

@davehoran Thanks for your reply. I'll give it a go!

@carterm90 you've probably already found your solution but if not perhaps you could put mc:edit on an element (e.g. a span) within the <button>?

Yeah - I second @t-wright on this. Though, it would be interesting if inky can pass over these attributes for such templating engines like Campaign monitor and Mailchimp. It would need to be a 3rd party plugin or add on for Inky.


list_ops.empty_tensor_list() crashed when element_shape is a two dimensional tensor

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 2.6.0, 2.7.0
Python version: 3.7.11
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: None
GPU model and memory:

Describe the current behavior
When running test cases for list_ops.empty_tensor_list(), the program crashed for core dump if I used 2-d tensor in the attribute of element_shape. The normal case is using 1-d tensor like [1], but getting crashed when using [[1]].
Describe the expected behavior
Since users might misuse some parameters, the program would show ValueError related to incorrect shape information.
Contributing

Do you want to contribute a PR? (yes/no):
Briefly describe your candidate solution(if contributing):

Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import dtypes
from tensorflow.python.ops import list_ops
from tensorflow.python.platform import test

class TensorsTest(test.TestCase):

    def test_is_tensor_array(self):
        # this case will pass if using [1] in element_shape
        return list_ops.empty_tensor_list(element_shape=constant_op.constant([[1]], dtype=dtypes.int32),
                                          element_dtype=dtypes.int32)

if (__name__ == '__main__'):
    test.main()

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
Here is a snapshot of the error log.
[ RUN      ] TensorsTest.test_is_tensor_array
2022-03-14 04:44:22.682042: F tensorflow/core/framework/tensor_shape.cc:46] Check failed: NDIMS == dims() (1 vs. 2)Asking for tensor of 1 dimensions from a tensor of 2 dimensions
Fatal Python error: Aborted

Current thread 0x00007ff0c7b02180 (most recent call first):
  File "/root/anaconda3/envs/tf2.5.0/lib/python3.7/site-packages/tensorflow/python/ops/gen_list_ops.py", line 49 in empty_tensor_list
  File "/root/anaconda3/envs/tf2.5.0/lib/python3.7/site-packages/tensorflow/python/ops/list_ops.py", line 62 in empty_tensor_list
  File "test_bug/bug2.py", line 11 in test_is_tensor_array
  File "/root/anaconda3/envs/tf2.5.0/lib/python3.7/unittest/case.py", line 628 in run
  File "/root/anaconda3/envs/tf2.5.0/lib/python3.7/unittest/case.py", line 676 in __call__
  File "/root/anaconda3/envs/tf2.5.0/lib/python3.7/unittest/suite.py", line 122 in run
......

*** End stack trace ***
Aborted (core dumped)

I could able to reproduce the issue on Tf v2.8. Thanks!

@JXRiver , I updated the link with Github Gist.

Hi @DLFrameworkBug !
Getting a crash in 2.9 and invalidArgument error in nightly.
Thank you!

Now, the session is not crashing with the nightly version,  it now throws an error saying
Shape must be at most rank 1 but is rank 2 [Op:EmptyTensorList]
Please find the attached gist here and close the issue. Thanks!

@sachinprasadhs  Is there any link to the  commit or pull request related to the patch with my issue?


try to repair the table of python-download

repair the table of python-download

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.fengshuai seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


common code between mirage-bootvar-xen and mirage-bootvar-solo5 should be extracted into a common library

see @hannesm 's comment in https://github.com/mirage/mirage-bootvar-xen/pull/23 .

https://github.com/ocaml/opam-repository/pull/7611 .  PRs for mirage-bootvar-xen and mirage-bootvar-solo5 coming once parse-argv lands in opam-repository.


Problem in first session request on EC2 instance

Running in AWS environment.
We've built an AMI with:
ubuntu 14.04
Docker version 17.09.1-ce, build 19e2cf6
aerokube/selenoid:latest (as to date 8/01/2017)
docker-compose version 1.18.0, build 8dd22a9
docker-compose.txt
Curl to create session:
curl -v 'http://localhost:4444/wd/hub/session' -X POST -d '{"desiredCapabilities": {"maxSessions": 100000, "browserName": "chrome", "acceptInsecureCerts": true, "loggingPrefs": {"browser": "ALL"}, "marionette": true, "maxInstances": 1, "logLevel": "DEBUG", "enableVNC": true}}'
When we start an instance from the AMI and call the Curl to create session for the first time we get:
404 page not found
After the first time, the creation always works.
We saw in the logs it receives a timeout on session creation:
2018/01/08 15:39:42 [0] [SERVICE_STARTED] [selenoid/firefox:57.0] [7b1edfeaaa7cd7cbf8964fd9eb7348982c62cc5b95af3670f0d014d965365094] [2.42670143s] 2018/01/08 15:39:42 [0] [PROXY_TO] [selenoid/firefox:57.0] [7b1edfeaaa7cd7cbf8964fd9eb7348982c62cc5b95af3670f0d014d965365094] [http://<IP_ADDRESS>:4444/wd/hub] 2018/01/08 15:39:42 [0] [SESSION_ATTEMPTED] [unknown] [http://<IP_ADDRESS>:4444/wd/hub] [1] 2018/01/08 15:40:13 [0] [SESSION_ATTEMPT_TIMED_OUT] [unknown] 2018/01/08 15:40:13 [0] [SESSION_ATTEMPTED] [unknown] [http://<IP_ADDRESS>:4444/wd/hub] [2] 2018/01/08 15:40:13 [0] [SESSION_FAILED] [unknown] [Bad response from http://<IP_ADDRESS>:4444/wd/hub - 404 Not Found]
What could be the problem?

@eyalhei sorry, it was almost a year ago. But is this issue still actual?

Hi @vania-pooh ,
We actually implemented a work around to wait for the service.
But in general yes it is still an issue


progress-bar.html not found

Rendertron used to have a progress bar while waiting for the rendering
https://github.com/GoogleChrome/rendertron/blob/3b75d5b7dfc4ceac47bb30568f417a4fc2b6a9b9/src/index.html#L237
This file doesn't exist anymore and we should replace it with a simple HTML progress element.

I guess we can just remove this, then. As far as I can tell that file hasn't existed since at least 2017.

I just saw that this does exist in several places:

I just tried to replace the path with the dependency path:
node_modules/progress-bar-element/progress-bar.html
But it doesn't work. What is the correct way to import a npm dependency into this project?

The fundamental problem here is that it uses a webcomponent which is imported via HTML imports. Those are deprecated and we'd need to find out how to implement this properly.
On top of that, Sam doesn't seem to maintain the progress bar anymore (last change was 3 years ago).
I think it's a nice-to-have, so I would turn this issue into a way for a new contributor to provide us with a simple HTML progress bar instead of using any additional dependency.

Hi @AVGP, I think this issue can be closed. It was related to pr #384


Improved feedback on mistyped subcommands

Hi,
I've had some feedback via our support team that including the command name and the subcommand suggestions would be helpful. I'm not sure if this is the accepted convention in CLIs.
Anyway, here's a branch with updated tests and my attempt to fix the code for your consideration.  https://github.com/mauvo/picocli/tree/subcommand-suggestions
Thanks,
David

Looks good. Can you turn this into a pull request please?

Done - thank you.


Realm causes Leaks instrument to crash

While this is unlikely to be Realm's fault I'm reporting it here just in case as
it seems to be the only thing triggering this.
With Xcode 7.0 and 7.1 Realm causes the injected liboainject library to crash
when collecting memory leaks:
    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application
        Realm.Configuration.defaultConfiguration = Realm.Configuration(
            schemaVersion: 0,
            migrationBlock: { m, old in () }
        )
        let _ = try! Realm()
    }

Causes the following crash when ran through Instruments:
https://gist.github.com/joamaki/132dd96729284f951cd5
Leaving out the default configuration does not seem to trigger it.
Any ideas?

I'm not able to reproduce this by dropping the code you pasted into a blank OS X Swift application and running under the Leaks instrument. Can you share a complete application that reproduces the problem?

Can you also please share which version of Realm you're using?

Realm versions I tested with were 0.96.1 and 0.95.2. I observed this behaviour with
Xcode 7.0.2 and 7.1. Also just tested on another machine and saw the same behaviour.
Complete app here: https://github.com/joamaki/leakcrash
Run "pod install", open leak crash.xcworkspace, Product -> Profile and select Leaks & record.

Thanks, I can reproduce using your project. The crash log I get is a little different:
Thread 7 Crashed:
0   liboainject.dylib             	0x000000010d1c102a _OARecordFinalEvent + 20
1   liboainject.dylib             	0x000000010d1c1276 _OARecordFinalEvent + 608
2   liboainject.dylib             	0x000000010d1c2aa3 _objectalloc_logger + 313
3   libsystem_malloc.dylib        	0x00007fff85d3d9de malloc_zone_calloc + 118
4   libsystem_malloc.dylib        	0x00007fff85d3e472 calloc + 49
5   libobjc.A.dylib               	0x00007fff90f63bcd class_createInstance + 88
6   libdispatch.dylib             	0x00007fff967f910e _os_object_alloc_realized + 38
7   libdispatch.dylib             	0x00007fff967fb832 dispatch_source_create + 156

I'm running into the same crash. Any news on this?

Unfortunately no progress to report on this yet. It's not quite obvious how to fix this.

Bump, I've been having the same issue. Crash is identical to the log @joamaki posted.

I'm also having this issue with Xcode 7.2 and RealmSwift 0.96.3.
I can't see any material difference between the crash log posted by @bdash and the original log posted by @joamaki (focusing just on the crashed threads).
The crash log I get is slightly different—in particular, the crashed thread is always designated as "RLMRealm notification listener", even when there is no code for Realm notification blocks.  Lines 0 to 4 are otherwise identical to the logs posted above.
Thread 8 Crashed:: RLMRealm notification listener
0   liboainject.dylib             	0x000000010a0d21bc _OARecordFinalEvent + 418
1   liboainject.dylib             	0x000000010a0d227a _OARecordFinalEvent + 608
2   liboainject.dylib             	0x000000010a0d3aa7 _objectalloc_logger + 313
3   libsystem_malloc.dylib        	0x000000010e6a568e malloc_zone_calloc + 118
4   libsystem_malloc.dylib        	0x000000010e6a5dcf calloc + 49
5   libobjc.A.dylib               	0x000000010aaf5916 allocateBuckets(unsigned int) + 30
6   libobjc.A.dylib               	0x000000010aaf5ab7 cache_t::reallocate(unsigned int, unsigned int) + 43
7   libobjc.A.dylib               	0x000000010aaf5f3f cache_fill + 174
8   libobjc.A.dylib               	0x000000010aafee17 lookUpImpOrForward + 420
9   libobjc.A.dylib               	0x000000010ab0d8bb objc_msgSend + 187
10  com.apple.Foundation          	0x000000010a685f21 +[NSNotificationCenter defaultCenter] + 248
11  com.apple.Foundation          	0x000000010a781db2 __NSThread__start__ + 1125
12  libsystem_pthread.dylib       	0x000000010e7e5c13 _pthread_body + 131
13  libsystem_pthread.dylib       	0x000000010e7e5b90 _pthread_start + 168
14  libsystem_pthread.dylib       	0x000000010e7e3375 thread_start + 13

The logic around notification listeners has changed in 0.97, which was just released today. It's possible that this was resolved in the process. Could one of you please verify this? /cc @joamaki @angerman @ReganBell @jamesk-au
Thanks!

Working for me now with RealmSwift 0.97.  Thanks very much!

We are getting the same error as @bdash on our mac app. When running on the iOS version, instruments and Realm are working well together. Is the fix should run well on mac too?

Yes, I'd expect this to work on OS X too. Which version of Realm are you using?

Never mind, just try again today and it's working well. Sorry to bother you!

No problem, happy to see this has been resolved.


.inv() in custom operations

Update: I thought this would only be a problem in the drawer but also the circuit does not yield the expected result.
A user (like myself) might want to define their own Operation and start from one of the PennyLane Operations, e.g., Rot.
Now, If I just copy the definition of Rot to my module and rename it to MyRot, then the operation is no longer natively supported by, e.g., the default.qubit device, but it has a decomposition (the same as that of Rot into supported gates) and so I can use it without problems in my qnode circuits. However problems start to occur when I use MyRot(...).inv().
A circuit such as
@qml.qnode(dev)
def circuit(*params):
    MyRot(0.1, 0.2, 0.3, wires=0).inv()
    Rot(0.1, 0.2, 0.3, wires=0)
    return qml.probs(range(wires))

does not yield the expected result (the two gates should cancel) and circuit.draw() looks the same irrespective of whether the .inv() is there or not. If I put the .inv() on Rot instead of the MyRot then the correct result is obtained.
As expected, the Rot gate is displayed as such by the circuit drawer and MyRot is decomposed into elementary rotations, but the individual rotations do not get an .inv when MyRot is inverted and their order is not reversed.

Hi @cvjjm, thanks so much for opening an issue for this! :blush:
Could you please provide more details on how exactly the definition of MyRot looks like in your case? In specific, was it decorated with @template?

It sounds like MyRot is not a template, but a custom operation, can you confirm @cvjjm? It might be useful if you could post your minimal (non)-working example 🙂
It sounds like this could be a bug in how either PennyLane or the default.qubit simulator is treating the inverses of decomposed operations!

I agree that for what I originally wanted to achieve I could just as well define a template, but I then found it more convenient to subclass Operation (for example because I can define num_params and num_wires) and in this way discovered what I think is indeed a bug in how PL (or default.qubit?) treats the inverse of decomposable operations. Inv on operations that need to be decomposed doesn't seem to do anything. Instead of queuing the inverse of the gates from the decomposition in the reverse order, the gates from the decomposition are applied normally.
MyRot is just of demonstration purposes and a plain vanilla copy of Rot() and consequently looks like this:
class MyRot(Operation):
    r"""MyRot(phi, theta, omega, wires)
    A simple copy or Rot() to demonstrate a problem.
    .. math::
        R(\phi,\theta,\omega) = RZ(\omega)RY(\theta)RZ(\phi)= \begin{bmatrix}
        e^{-i(\phi+\omega)/2}\cos(\theta/2) & -e^{i(\phi-\omega)/2}\sin(\theta/2) \\
        e^{-i(\phi-\omega)/2}\sin(\theta/2) & e^{i(\phi+\omega)/2}\cos(\theta/2)
        \end{bmatrix}.
    **Details:**
    * Number of wires: 1
    * Number of parameters: 3
    * Gradient recipe: :math:`\frac{d}{d\phi}f(R(\phi, \theta, \omega)) = \frac{1}{2}\left[f(R(\phi+\pi/2, \theta, \omega)) - f(R(\phi-\pi/2, \theta, \omega))\right]`
      where :math:`f` is an expectation value depending on :math:`R(\phi, \theta, \omega)`.
      This gradient recipe applies for each angle argument :math:`\{\phi, \theta, \omega\}`.
    .. note::
        If the ``Rot`` gate is not supported on the targeted device, PennyLane
        will attempt to decompose the gate into :class:`~.RZ` and :class:`~.RY` gates.
    Args:
        phi (float): rotation angle :math:`\phi`
        theta (float): rotation angle :math:`\theta`
        omega (float): rotation angle :math:`\omega`
        wires (Sequence[int] or int): the wire the operation acts on
    """
    num_params = 3
    num_wires = 1
    par_domain = "R"
    grad_method = "A"

    @staticmethod
    def _matrix(*params):
        a, b, c = params
        return RZ._matrix(c) @ (RY._matrix(b) @ RZ._matrix(a))

    @staticmethod
    def decomposition(phi, theta, omega, wires):
        decomp_ops = [RZ(phi, wires=wires), RY(theta, wires=wires), RZ(omega, wires=wires)]
        return decomp_ops

This together with the qnode above (and the usual boilerplate to set up a one wire device and such) is a minimal non, working example. Observe that the output of the above qnode is [1,0] in case the .inv() is on Rot() and it is not in case .inv is on MyRot(). Printing circuit.draw() reveals that MyRot() is deomposed but the resulting sequence of gates is not inverted.

Indeed looks like a bug in Operation.decomposition()! Thanks for alerting this to us @cvjjm

Hi @cvjjm, this was fixed in PR #543. You can use the new functionality when directly installing the latest master branch of PennyLane.

Thank you very much for fixing this so fast!


Import Data -> CSV -> File Chooser opens twice

System information:

Operating system (distribution) and version Debain/SID
DBeaver version Version <IP_ADDRESS>008302047
Additional extensions -

Connection specification:

Postgres 12
Driver name Postgres JDBC
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
Importing a CSV causes the file chooser for the CSV file to open twice -- after selecting the CVS , the chooser appears again
Steps to reproduce, if exist:

Database Navigator -> expand DB tree to table
rmc on the table node -> Import Data -> CSV -> [Next]
file chooser opens -> select CSV file -> [Open]
for a moment the wizard is visible again with all buttons inactive ...
... and then  the file chooser opens again
whether you cancel the chooser now or select the CSV file again and hit [Open] -- you are now at the "Input file(s)" pane of the wizard and may proceed as expected

Include any warning/errors/backtraces from the logs

thanks for the report

Fixed.

Fixed.

verified

verified


How to integrate with fetch client

Hi, I'm using this plugin and it works really good so far, great work. I have an issue though with the fetch client. When calling a controller method of my api, the authorization header is missing in the request. I guess I need to configure it with the access token from my user but when I debug and check for that info the access token is not set in the user object. Would normally be the access token the one to set in the header? I'm using Bearer authentication.
Is that the general approach to configure the fetch client headers to use that access token or how would that work? Any help is appreciated.

In docs in Aurelia all are specified. https://aurelia.io/docs/plugins/http-services#aurelia-fetch-client
At this case:
this.httpClient.configure(c => c.withDefaults({ headers: { "Authorization": bearer ${user.access_token} } }));

Thank you for your answer.
The reason why the access token was undefined in the user object was, a missing 'token' entry in the response_type in userManagerSettings. I changed it like so: response_type: "id_token token",
I managed to achieve to get the token in the header like so:
.withInterceptor({
    request(request): Promise<Request> {
        return oidc.getUser().then(u => {
            request.headers.append('Authorization', 'Bearer ' + u.access_token);
            return request;
        });
    }
});


Add telemetry on device characteristics

In order to get responsiveness right and provide a good experience for our customers, we first need to understand what devices and screen resolutions are most used.
The goal here is to add telemetry to capture screen resolution and other device characteristics that will help us understand usage patterns and build appropriately.

@gavinbarron please feel free to add anything I missed

Thanks for creating this issue @RabebOthmani
I'd suggest that we extend our base trackEvent method to enrich the custom properties being sent to Application Insights with clientWidth, clientHeight, and bucketing of the width that corresponds to the MADS layout guidance for break points
xxxl: width >= 1920px
xxl: 1366px <= width <= 1919px
xl: 1024px <= width <= 1365px
l: 640px <= width <= 1023px
m: 480px <= width <= 639px
s: width <= 479px (interestingly MADS doesn't define this but we should have a bucket for it)

Alongside the screen.width and screen.height, other device characteristics to be captured are:

Browser width and height (window.innerWidth and window.innerHeight respectively) to capture telemetry in a real scenario when a user resizes the browser.
Device pixel ratio (window.devicePixelRatio) to monitor screen resolution and zoom levels and to help identify where users are being bumped down to lower effective resolutions due to device settings.

The telemetry should be captured in a redundant manner (whenever a user resizes the browser) to help analyze how many graph requests are being sent by a particular screen size/browser size.


Reset when working on Kata does not reset tests, only code.

It's all in the title!
If you work on a kata, modify the code and modify the example tests, then hit reset and confirm, only the code is reset, the tests are not reset to their base state.

This may not be labeled as an actual "bug" from a development standpoint, but from a UI standpoint it sure feels like one.  There is a button that says "Reset" but does not fully reset.
I tend to think that anytime the software does not do what I expect, it is a bug.  On the other hand, different people have different expectations when it comes to UI.  Does that make every difference of opinion a bug?
Nevertheless, when I clicked reset the first few times, I expected it to also reset the test cases.  From experience I have learned it is unable do that.  Call it a missing feature or a bug as you will.
Sometimes the test cases are the only way to know what the author wants the result to be.  If you lose the tests, you are out of luck.  Then you must reverse engineer the test suite for clues.  Judicious logging is helpful with this.  Or you can hack something together that passes but may not be in the spirit of the kata, in order to start over with the original tests.  I don't cheat the kata, but that is definitely another option to start over with the tests.
Bottom line: don't mess up the tests -- you can't get them back!

+1

I cleared out the sample tests, but then I didn't remember which of mocha's silly sets of global asserts they were using.


Dataset Streaming

Dataset Streaming
API
Current API is
from datasets import load_dataset

# Load an IterableDataset without downloading data
snli = load_dataset("snli", streaming=True)

# Access examples by streaming data
print(next(iter(snli["train"])))
# {'premise': 'A person on a horse jumps over a broken down airplane.',
#  'hypothesis': 'A person is training his horse for a competition.',
#  'label': 1}

I already implemented a few methods:

IterableDataset.map: apply transforms on-the-fly to the examples
IterableDataset.shuffle: shuffle the data a la TFDS, i.e. with a shuffling buffer
IterableDataset.with_format: set the format to "torch" to get a torch.utils.data.IterableDataset
merge_datasets: merge two iterable datasets by alternating one or the other (you can specify the probabilities)

I would love to have your opinion on the API design :)
Implementation details
Streaming
Data streaming is done using fsspec which has nice caching features.
To make dataset streaming work I extend the open function of dataset scripts to support opening remote files without downloading them entirely. It also works with remote compressed archives (currently only zip is supported):
# Get a file-like object by streaming data from a remote file
open("https://github.com/davidsbatista/NER-datasets/raw/master/CONLL2003/train.txt")

# Get a file-like object by streaming data from a remote compressed archive by using the hop separator "::"
open("zip://snli_1.0_train.txt::https://nlp.stanford.edu/projects/snli/snli_1.0.zip")

I also extend the os.path.join function to support navigation in remote compressed archives, since it has to deal with the "::" separator. This separator is used by fsspec.
Finally I also added a retry mechanism in case the connection fails during data streaming.
Transforms
An IterableDataset wraps an ExamplesIterable instance. There are different subclasses depending on the transforms we want to apply:

ExamplesIterable: the basic one
MappedExamplesIterable: an iterable with a map function applied on the fly
BufferShuffledExamplesIterable: an iterable with a shuffling buffer
CyclingMultiSourcesExamplesIterable: alternates between several ExamplesIterable
RandomlyCyclingMultiSourcesExamplesIterable: randomly alternates between several ExamplesIterable

DatasetBuilder
I use the same builders as usual. I just added a new method _get_examples_iterable_for_split to get an ExamplesIterable for a given split. Currently only the GeneratorBasedBuilder and the ArrowBasedBuilder implement it.
The BeamBasedBuilder doesn't implement it yet.
It means that datasets like wikipedia and natural_questions can't be loaded as IterableDataset for now.
Other details
I may have to do some changes in many dataset script to use download instead of download_and_extract when extraction is not needed. This will avoid errors for streaming.
EDIT: Actually I just check for the extension of the file to do extraction only if needed.
EDIT2: It's not possible to stream from .tar.gz files without downloading the file completely. For now I raise an error if one want to get a streaming dataset based on .tar.gz files.
TODO
usual stuff:

[x] make streaming dependency "aiohttp" optional: pip install datasets[streaming]
[x] tests
[x] docs

I can make a separate PR if you want.
Basically these are the missing languages from OSCAR, which is a dataset that required minor changes to be compatible with streaming. Because of the change it triggered the metadata validation in the CI so I fixed the metadata, i.e. the languages.
The nez codes are ISO 639-3 codes and don't have ISO 639-1 nor ISO 639-2 codes.


Feat: Implement the function in the callback_utils library.

Description
Implement the validate_callback_gas_limit function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Validate that the callbackGasLimit is less than the max specified value.
    /// This is to prevent callback gas limits which are larger than the max gas limits per block
    /// as this would allow for callback contracts that can consume all gas.
    /// # Arguments
    /// * `data_store` - The data store to use.
    /// * `callback_gas_limit` - The callback gas limit.
    fn validate_callback_gas_limit(
        data_store: IDataStoreSafeDispatcher, callback_gas_limit: u128
    );

Implement the set_saved_callback_contract function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// It allows an external entity to associate a callback contract address
    /// with a specific account and market. This association is stored in a data store
    /// using the provided keys, enabling efficient retrieval for later interactions involving callbacks.
    /// # Arguments
    /// * `data_store` - The `DataStore` contract dispatcher.
    /// * `account` - The account to set callback contract for.
    /// * `market` - The market to set callback contract for.
    /// * `callback_contract` - The callback_contract address.
    fn set_saved_callback_contract(
        data_store: IDataStoreSafeDispatcher,
        account: ContractAddress,
        market: ContractAddress,
        callback_contract: ContractAddress
    );

Implement the get_saved_callback_contract function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// It retrieves a previously stored callback contract address associated with a given account
    /// and market from the data store.
    /// # Arguments
    /// * `data_store` - The `DataStore` contract dispatcher.
    /// * `account` - The account to set callback contract for.
    /// * `market` - The market to set callback contract for.
    fn get_saved_callback_contract(
        data_store: IDataStoreSafeDispatcher, account: ContractAddress, market: ContractAddress
    ) -> ContractAddress;

Implement the after_deposit_execution function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after a deposit execution.
    /// # Arguments
    /// * `key` - They key of the deposit.
    /// * `deposit` - The deposit that was executed.
    /// * `event_data` - The event log data.
    fn after_deposit_execution(key: felt252, deposit: Deposit, event_data: EventLogData);

Implement the after_deposit_cancellation function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after a deposit cancellation.
    /// # Arguments
    /// * `key` - They key of the deposit.
    /// * `deposit` - The deposit that was cancelled.
    /// * `event_data` - The event log data.
    fn after_deposit_cancellation(key: felt252, deposit: Deposit, event_data: EventLogData);

Implement the after_withdrawal_execution function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after a withdrawal execution.
    /// # Arguments
    /// * `key` - They key of the withdrawal.
    /// * `withdrawal` - The withdrawal that was executed.
    /// * `event_data` - The event log data.
    fn after_withdrawal_execution(
        key: felt252, withdrawal: Withdrawal, event_data: EventLogData
    );

Implement the after_withdrawal_cancellation function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after an withdrawal cancellation.
    /// # Arguments
    /// * `key` - They key of the withdrawal.
    /// * `withdrawal` - The withdrawal that was cancelled.
    /// * `event_data` - The event log data.
    fn after_withdrawal_cancellation(
        key: felt252, withdrawal: Withdrawal, event_data: EventLogData
    );

Implement the after_order_execution function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after an order execution.
    /// # Arguments
    /// * `key` - They key of the order.
    /// * `order` - The order that was executed.
    /// * `event_data` - The event log data.
    fn after_order_execution(key: felt252, order: Order, event_data: EventLogData);

Implement the after_order_cancellation function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after an order cancellation.
    /// # Arguments
    /// * `key` - They key of the order.
    /// * `order` - The order that was cancelled.
    /// * `event_data` - The event log data.
    fn after_order_cancellation(key: felt252, order: Order, event_data: EventLogData);

Implement the after_order_frozen function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Called after an order cancellation.
    /// # Arguments
    /// * `key` - They key of the order.
    /// * `order` - The order that was frozen.
    /// * `event_data` - The event log data.
    fn after_order_frozen(key: felt252, order: Order, event_data: EventLogData);

Implement the is_valid_callback_contract function in the callback_utils library.
File: src/callback/callback_utils.cairo.
Function signature:
    /// Validates that the given address is a contract.
    /// # Arguments
    /// * `callback_contract` - The callback contract.
    fn is_valid_callback_contract(callback_contract: ContractAddress) -> bool;

Acceptance criteria

Function is implemented and well commented.
Associated unit tests (nominal and failure) are implemented and passing.

Resources

validateCallbackGasLimit function in GMX repo
setSavedCallbackContract function in GMX repo
getSavedCallbackContractfunction in GMX repo
afterDepositExecution function in GMX repo
afterDepositCancellation function in GMX repo
afterWithdrawalExecution function in GMX repo
afterWithdrawalCancellation function in GMX repo
afterOrderExecution function in GMX repo
afterOrderCancellation function in GMX repo
afterOrderFrozen function in GMX repo
isValidCallbackContractfunction in GMX repo

I can continue with this one!

Of course ! Assigned 🔥


update gitignore

This PR updates .gitignore file.

Codecov Report

Merging #170 (897fe89) into master (0f73559) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #170   +/-   ##
=======================================
  Coverage   59.80%   59.80%
=======================================
  Files          35       35
  Lines        2458     2458
=======================================
  Hits         1470     1470
  Misses        883      883
  Partials      105      105

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 0f73559...897fe89. Read the comment docs.


'"contextmenu"' is not assignable to parameter of type '"tileunload" | "tileloadstart" | "tileload"'.

The error is as reads above.
I recently upgraded to the latest version of Leaflet, 1.6.0. I never had this issue before using the contextmenu. Here is the code snippet:
this.Map.on('contextmenu', (event: MouseEvent) =>
{
this.dropPinLatLong = event["latlng"];
const content: HTMLElement = this.DomUtil.create('div', 'DropPin');
//content stuff here
this.MapLayer.RawLayer.bindPopup(content, {
closeButton: false,
minWidth: 0,
maxWidth: 0
});
});
The error again:
Argument of type '"contextmenu"' is not assignable to parameter of type '"tileunload" | "tileloadstart" | "tileload"'.

I believe this is a Leaflet code issue, not an issue with my own code because I have checked over the new documentation and it looks like they did not change the syntax around the context menu.
I've haven't seen this error documented which is why I figured I would post.
-It could be related to a new environment issue, as I recently upgraded to Angular 8.

Steps to reproduce:
upgrade Leaflet from version 1.3.1 to 1.6.0
Any help is greatly appreciated. Thanks

Can you please provide a minimal reproducible live test case (e.g. on JSFiddle), preferably without external dependencies like Angular? This doesn't seem to be an issue on the Leaflet side.

thanks for getting back to me! I'll work on that live test case. If I do solve it in the meantime I will post what I did to resolve it.

Fix:

npm install @types/leaflet@latest
change code according to new types

So the issue here was the fact that leaflet is a javascript library and because I am using TypeScript when I upgraded leaflet I needed to make sure the types were upgraded as well. In my case I neglected to do upgrade this, not fully understanding how Typescript came in here.

I'm having the same issue here... recently upgraded to angular 7 on a project and then starting getting the same error above. I npm i @types/leaflet@latest = and npm i @types/leaflet-draw@latest
Also just upgraded the project to TS 3.5.3. Could this be part of the issue?
Also not really sure where I am supposed to upgrade types


mpd: fix cross compilation

Description of changes
mpd-aarch64-unknown-linux-gnu> /nix/store/vs2wgwqjchj436r2djj35n75gf4x3ib8-aarch64-unknown-linux-gnu-binutils-2.38/bin/aarch64-unknown-linux-gnu-ld: /nix/store/8qki5s206x5h0aapcbbc1s7csy0b511h-libid3tag-aarch64-unknown-linux-gnu-0.15.1b/lib/libid3tag.so: undefined reference to `id3_compat_lookup'
mpd-aarch64-unknown-linux-gnu> /nix/store/vs2wgwqjchj436r2djj35n75gf4x3ib8-aarch64-unknown-linux-gnu-binutils-2.38/bin/aarch64-unknown-linux-gnu-ld: /nix/store/8qki5s206x5h0aapcbbc1s7csy0b511h-libid3tag-aarch64-unknown-linux-gnu-0.15.1b/lib/libid3tag.so: undefined reference to `id3_compat_fixup'
mpd-aarch64-unknown-linux-gnu> collect2: error: ld returned 1 exit status

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

The nixos mpd test is broken.

By removing zlib from propagatedBuildInputs, it has broken package mindlna.


BUG - Make a backup and clear old collections from Mongo prod

Describe the bug
Make a backup from old collections and remove them from the database.
RT Ticket Number
If applicable
To Reproduce
Steps to reproduce the behaviour:

Go to page '...'
Click on button '...'
See error

Expected behaviour
What was expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Windows or Mac?
Browser Chrome, Firefox, Safari or other?
Browser version (use 'About' to look up)?

Additional context
Add any other context about the problem here.

Which collections are going to be removed?

@neilsycamore
We have adjusted the process so the 'samples' collection is persisted from day to day rather than creating a new one.
Katy has created a migration that takes the timestamps from those old collection sample rows and puts them in the table, so we know when the sample rows were created.
So once that is done we will be able to remove all the old sample collections (as we're out of space).
Does that cause you any issues??

I have a collection that I use
db.createView("ditinctNegPlateBarcode3", "samples", [{ $match : { Result : "Negative" } }])
Can I keep this?
It's actually misnamed but I created it way back with Phillip and don't now how to rename it but it's a list of -ve samples NOT grouped by plate barcode.
I need this to generate a SSR report which is run every Monday. Hoping this will be surpassed eventually by ongoing reporting.. but not yet

@neilsycamore
Think that should be fine as the 'samples' collection is still called 'samples'.
We've added some extra columns but not renamed any existing ones.
What used to happen is each day the samples collection would get renamed with the date, and a new, latest version 'samples' would be created with everything in it from before plus content from any new files. It's only those old backups we are proposing to remove.


(Main) Type error in KNNModelGraphController

Happens the Main branch.
Reproduce 1:

On the data page: Make two classes with 3 samples in each
Go to training page

Reproduce 2:

Go to training page without any data

The error does not appear with the example dataset.
Uncaught (in promise) TypeError: Reduce of empty array with no initial value
    at Array.reduce (<anonymous>)
    at new KNNModelGraphController (KNNModelGraphController.ts:60:8)
    at initSingle (KnnModelGraph.svelte:51:21)
    at KnnModelGraph.svelte:71:18
    at run (chunk-2WHOEU5V.js?v=39cc4ada:30:10)
    at Array.map (<anonymous>)
    at chunk-2WHOEU5V.js?v=39cc4ada:2136:50
    at flush (chunk-2WHOEU5V.js?v=39cc4ada:1333:9)

Added check to ensure the minimum number of values required are present


Add agent and curriculum names to logged info

Resolves #297

That's easy! 😄 Any thoughts on changing directory structure/name? e.g we could change the log directory to be ./<root>/<agent name>-<curriculum name>/...

That's easy! 😄 Any thoughts on changing directory structure/name? e.g we could change the log directory to be ./<root>/<agent name>-<curriculum name>/...

That seems like a good idea. Do you think it is better to be agent-curriculum or curriculum-agent?

What happens if I run the same curriculum/agent pair more than once?

That seems like a good idea. Do you think it is better to be agent-curriculum or curriculum-agent?

Not sure if it makes a difference, but I think my vote is curriculum-agent because then all agents on the same curriculum are next to each other in a sorted directory listing.

What happens if I run the same curriculum/agent pair more than once?

The current time stamped directory structure should still be under the agent-curriculum/ parent directory!